Foi descoberta uma falha no modo que os antivírus interpretam o tipo de arquivo a ser examinado. A falha permite que um arquivo malicioso seja disfarçado de um arquivo “EXE” (executável) e não seja detectado como malware caso contenha códigos BAT ou scripts maliciosos ao se adicionar o ‘magic byte’ (byte mágico) ao arquivo.
O byte mágico (magic byte) é um byte no início de todos os arquivos EXE, DLL (e outros) que os identifica como um executável PE (para Windows). O magic byte possui o valor “MZ” devido ao seu criador, Mark Zbikowski.
Os antivírus não podem diferenciar um arquivo pela extensão, já que diversos arquivos maliciosos podem ser executados mesmo que não possuam uma extensão executável válida. Vários malwares são executados com a extensão TMP, por exemplo. Por este motivo, eles dependem na presença do “magic byte” no início do arquivo: caso o mesmo exista, o arquivo será tratado como um arquivo executável e será verificado apenas pela presença de malwares executáveis.
Mas existem códigos maliciosos em formato BAT, JS, HTML, entre outros, que não são executáveis. Esses formatos são chamados de códigos maliciosos de “script”. Scripts não podem ser incluídos em arquivos executáveis, portanto o antivírus separa sua detecção em scripts e executáveis para acelerar o processo do exame dos arquivos e não precisar verificar todos os arquivos pela presença de todos os vírus.
O problema é que os malwares de script podem possuir o “MZ” no início e ainda assim serem executados pelo sistema como scripts e não arquivos executáveis, já que o sistema diferencia os arquivos pela extensão. O antivírus, que não verifica a extensão por ela ser pouco confiável na maioria dos casos, verificará o script como se fosse um executável devido a presença do MZ e será incapaz de detectar o malware presente no arquivo.
A falha foi encontrada por Andrey Bayora e a lista de antivírus afetados (18 no momento que essa notícia está sendo escrita) pode ser conferida no documento publicado por ele sobre a descoberta da falha.
Bayora também escreveu um artigo detalhando a falha onde ele colocou um arquivo com três possíveis formas de execução: EXE, EML e HTML. Note que o arquivo é um malware real e não deve ser executado, mesmo que o seu antivírus não detecte nenhum problema no arquivo.
