Badacze z firmy RACK911 Labs na to, że prawie wszystkie pakiety antywirusowe dla systemów Windows, Linux i macOS były podatne na ataki manipulujące stanem wyścigu (race conditions) podczas usuwania plików, w których wykryto złośliwe oprogramowanie.
Aby przeprowadzić atak, należy załadować plik, który antywirus rozpoznaje jako złośliwy (na przykład można użyć testowej sygnatury), a po pewnym czasie, po wykryciu złośliwego pliku przez antywirus, ale bezpośrednio przed wywołaniem funkcji jego usunięcia, podmienić katalog z plikiem za pomocą dowiązania symbolicznego. W systemie Windows osiąga się ten sam efekt, wykonując podmianę katalogu przy pomocy punktu łączenia (directory junction). Problem w tym, że prawie wszystkie programy antywirusowe nie dokonywały odpowiedniej weryfikacji dowiązań symbolicznych i, sądząc, że usuwają złośliwy plik, usuwały plik w katalogu, na który wskazuje dowiązanie symboliczne.
W systemach Linux i macOS pokazano, jak w ten sposób nieuprzywilejowany użytkownik może usunąć /etc/passwd lub dowolny inny plik systemowy, a w systemie Windows bibliotekę DDL samego programu antywirusowego, aby zablokować jego działanie (w systemie Windows atak ogranicza się tylko do usuwania plików, które w danym momencie nie są używane przez inne aplikacje). Na przykład, atakujący może utworzyć katalog „exploit” i załadować do niego plik EpSecApiLib.dll z testową sygnaturą wirusa, a następnie przed usunięciem podmienić katalog „exploit” na link „C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform”, co spowoduje usunięcie biblioteki EpSecApiLib.dll z katalogu antywirusa. W systemach Linux i macOS podobny zabieg można wykonać, podmieniając katalog na 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
zrobione

Ponadto w wielu programach antywirusowych dla systemów Linux i macOS stwierdzono użycie przewidywalnych nazw plików podczas pracy z plikami tymczasowymi w katalogu /tmp i /private/tmp, co mogło być wykorzystywane do podnoszenia uprawnień do użytkownika root.
Obecnie większość dostawców już rozwiązała problemy, ale warto zauważyć, że pierwsze powiadomienia o problemie zostały wysłane do producentów już w jesieni 2018 roku. Pomimo że nie wszyscy producenci wprowadzili aktualizacje, mieli oni co najmniej 6 miesięcy na poprawki, a RACK911 Labs uważa, że teraz ma prawo ujawniać informacje o lukach w zabezpieczeniach. Zauważono, że firma RACK911 Labs od dawna zajmuje się wykrywaniem luk, ale nie spodziewała się, że współpraca z kolegami z branży antywirusowej będzie tak trudna z powodu opóźnień w wydawaniu aktualizacji i ignorowania potrzeby pilnego rozwiązania problemów z bezpieczeństwem.
Produkty podatne na problem (darmowy pakiet antywirusowy ClamAV nie znajduje się na liście):
- Linuxa
- 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
- ŚREDNIA
- BitDefender Total Security
- Eset Cyber Security
- Kaspersky Internet Security
- McAfee Total Protection
- Microsoft Defender (BETA)
- Norton Security
- Sophos Home
- Webroot Secure Anywhere
Źródło: opennet.ru
