Pesquisadores da RACK911 Labs que quase todos os pacotes antivírus para Windows, Linux e macOS eram vulneráveis a ataques que manipulavam condições de corrida durante a exclusão de arquivos identificados como maliciosos.
Para executar um ataque, é necessário carregar um arquivo que o antivírus reconheça como malicioso (por exemplo, pode-se usar uma assinatura de teste), e após um certo período, após a detecção do arquivo malicioso pelo antivírus, mas imediatamente antes da chamada da função para sua exclusão, substituir o diretório do arquivo por um link simbólico. No Windows, para alcançar o mesmo efeito, o diretório é substituído por meio de uma junção de diretório (directory junction). O problema é que quase todos os antivírus não verificavam corretamente os links simbólicos e, pensando que estavam excluindo o arquivo malicioso, realmente estavam apagando um arquivo no diretório apontado pelo link simbólico.
No Linux e no macOS, foi demonstrado como um usuário não privilegiado pode deletar /etc/passwd ou qualquer outro arquivo de sistema, e no Windows, a biblioteca DDL do próprio antivírus para bloquear sua operação (no Windows, o ataque é limitado apenas à exclusão de arquivos que não estão em uso por outros aplicativos no momento). Por exemplo, o atacante pode criar um diretório 'exploit' e carregar nele o arquivo EpSecApiLib.dll com uma assinatura de teste de vírus, após o que, antes da exclusão, substituir o diretório 'exploit' pelo link 'C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform', o que resultaria na exclusão da biblioteca EpSecApiLib.dll do diretório do antivírus. No Linux e no macOS, uma técnica semelhante pode ser realizada substituindo o diretório por um link '/etc'.
#!/bin/sh
rm -rf /home/user/exploit ; mkdir /home/user/exploit/
wget -q https://www.eicar.org/download/eicar.com.txt -O /home/user/exploit/passwd
while inotifywait -m '/home/user/exploit/passwd' | grep -m 5 'OPEN'
do
rm -rf /home/user/exploit ; ln -s /etc /home/user/exploit
done

Além disso, em muitos antivírus para Linux e macOS foi identificada a utilização de nomes de arquivos previsíveis ao trabalhar com arquivos temporários nos diretórios /tmp e /private/tmp, o que poderia ser utilizado para elevar privilégios até o usuário root.
Atualmente, a maioria dos fornecedores já resolveu os problemas, mas é notável que as primeiras notificações sobre o problema foram enviadas aos fabricantes ainda no outono de 2018. Apesar de nem todos os fabricantes terem lançado atualizações, foi dado a eles pelo menos 6 meses para corrigir, e o RACK911 Labs acredita que agora tem o direito de divulgar informações sobre as vulnerabilidades. Observa-se que a RACK911 Labs já está há um tempo trabalhando na identificação de vulnerabilidades, mas não esperava que seria tão difícil trabalhar com colegas da indústria antivírus devido ao atraso na liberação de atualizações e à ignorância da necessidade de resolver urgentemente os problemas de segurança.
Produtos afetados pelo problema (o pacote antivírus gratuito ClamAV não está incluído na lista):
- Linux
- BitDefender GravityZone
- Comodo Endpoint Security
- Eset File Server Security
- F-Secure Linux Security
- Kaspersky Endpoint Security
- McAfee Endpoint Security
- Sophos Anti-Virus for Linux
- Windows
- Avast Free Anti-Virus
- Avira Free Anti-Virus
- BitDefender GravityZone
- Comodo Endpoint Security
- F-Secure Computer Protection
- FireEye Endpoint Security
- Intercept X (Sophos)
- Kaspersky Endpoint Security
- Malwarebytes for Windows
- McAfee Endpoint Security
- Panda Dome
- Webroot Secure Anywhere
- macOS
- AVG
- BitDefender Total Security
- Eset Cyber Security
- Kaspersky Internet Security
- McAfee Total Protection
- Microsoft Defender (BETA)
- Norton Security
- Sophos Home
- Webroot Secure Anywhere
Fonte: opennet.ru
