Badacze bezpieczeństwa z COSEINC znaleźli dużą liczbę możliwych do wykorzystania luk w zabezpieczeniach popularnych rozwiązań antywirusowych i ich silnikach. Udowodnili, że silniki AV są narażone na ataki zero day, tak samo jak aplikacje trzecie, twierdzą ponadto, że korzystanie z antywirusa może obniżyć poziom bezpieczeństwa systemu.

Przeprowadzona przez Joxean'a Koret'a z COSEINC analiza kilkudziesięciu programów antywirusowych: Panda, FortiClient, Kaspersky, Bitdefender, Bkav, ClamAV, ESET, Sophos, Comodo, Ikarus, AVG, F-Secure, G-Data, eScan, eScan for Linux, LavaSoft, Immunet, Dr. Web (i jak zaznacza autor – wiele innych) wykazuje, że silniki tych producentów zawierają większą i mniejszą liczbę błędów, które stwarzają zagrożenie dla bezpieczeństwa użytkowników.

Ważniejsze pytanie z raportu:

Dlaczego jeśli używam antywirusa obniżam swój poziom bezpieczeństwa systemu?

Jak twierdzi Joxean Koret, badacz z Coseinc Singapur, każdy zainstalowany program może zawierać luki nie okryte wcześniej przez nikogo. Z każdą kolejną aplikacją ryzyko wykorzystania podatności dla konkretnego programu zwiększa się. Jako że antywirusa należy traktować jak zwykły kolejny program, on również zmniejsza bezpieczeństwo systemu.

Joxean Koret, wyposażony w odpowiednie narzędzia do testowania sprawdził silniki używane przez BitDefendera, Comodo, F-Prot, F-Secure, Avast, ClamAV i AVG. Prawie wszystkie silniki napisane są w języku C lub C ++. Zawarte w nich błędy i stary kod powoduje, że napastnikowi zostają otwarte drzwi i może spowodować całkowite przepełnienie buforu, polegające na pobraniu do obszaru pamięci większej ilości danych, niż zostało to dla niego zarezerwowane. Błąd ten może prowadzić do nieprzewidzianego i niepoprawnego zakończenia działania procesu lub do dostarczenia przez proces niepoprawnych wyników. Błędy tego rodzaju stanowią ogromne zagrożenie dla bezpieczeństwa systemu, gdyż poprzez dostarczenie odpowiednich danych wejściowych mogą być świadomie wykorzystane do załamania systemu lub włamania się do niego. 

Badacze zwrócili również uwagę na:

  • Wykorzystanie większości z zainstalowanych sterowników systemu operacyjnego może pomóc atakującemu spowodować eskalację problemu. 
  • Według badaczy, większość (jeśli nie wszystkie) silników antywirusowych działa z najwyższymi uprawnieniami. Jeśli ktoś znajdzie błąd w kodzie, może go wykorzystać do napisania exploita na silnik antywirusowy i uzyskać przywileje roota.
  • Większość AV otrzymuje aktualizacje za pośrednictwem protokołów HTTP, co może skutkować atakiem man-in-the-middle, w efekcie którego zamiast dostarczać aktualizacji, haker może spowodować pobieranie złośliwego oprogramowania.

Rekomendacje od COSEINC dla użytkowników AV

Autor podkreślił: Nigdy nie ufaj swojemu antywirusowi, aby się zabezpieczyć musisz wyizolować swoją maszynę, skorzystać z narzędzi do kontroli sieci.

Rekomendacje od COSEINC dla producentów AV

  • Nie należy stosować najwyższych możliwych przywilejów dla skanowania pakietów sieciowych i plików.
  • Podczas wykrycia zagrożenia należy uruchamiać kod w emulatorze lub piaskownicy.
  • Nie ufaj własnym procesom wykreowanym przez antywirusa.
  • Używaj SSL / TLS do aktualizacji swojego produktu.
  • Stosuj cyfrowe podpisy dla każdego pliku z jakiego składa się antywirus.
  • Poproś firmy trzecie o audyt bezpieczeństwa.
  • Korzystaj z Bug Bounty do szukania dziur w oprogramowaniu.
  • Porzuć bezużyteczny stary kod – używaj bezpieczniejszego języka programowania niż C / C++, np. LUA

Artykuł ten nie wyczerpuje informacji zawartych w 90-stronnicowym raporcie. Pełny raport

przypisy:

1. students.mimuw.edu.pl/SO/Projekt06-07/temat5-g4/pc/Blad%20przepelnienia%20bufora.html

2. wikipedia.org/wiki/Przepe%C5%82nienie_bufora

AUTOR:

Adrian Ścibor

Podziel się