The different types of malware: explained