Wstydliwy sekret antywirusów: ich definicje umieją mniej, niż się wydaje
Praktyka pokazuje, że skanery antywirusowe oparte o definicje zagrożeń są mało skuteczne w walce z najnowszymi zagrożeniami. Na przestrzeni lat dokonano jednak znaczącego postępu w kwestii inżynierii definicji. Nie tylko przestały one być zwykłą bazą próbek i skrótów, ale także zmienił się ich łańcuch dostaw. Aktualizacje definicji są dziś wydawane kilka razy dziennie, a ich gotowość następuje w ciągu kilku godzin od powstania nowego wirusa. Jak na "nieskuteczne" narzędzie, jest ono nieprzeciętnie pracochłonne.
Istnieją metody pomiaru skuteczności definicji, oparte zazwyczaj o arbitralnie dobrane kryteria popularności próbek. Takie metody nie pozwalają jednak odpowiedzieć na pytanie, czy sama metodyka przygotowywania aktualizacji nie jest przypadkiem błędna. A są poszlaki wskazujące, że może właśnie tak być. Na problem ten zwrócił kilka dni temu Jeff McJunkin. Jego analiza pozwoliła odkryć, że Windows Defender identyfikuje wirusa wykorzystującego dziurę w CTFMON nie na podstawie cech jego algorytmu, a... nazwiska autora.
Leniwe antywirusy
Defender, oraz 25 innych, konkurencyjnych silników, opiera swoją detekcję na podstawie cech szczególnych programu demonstrującego dziurę CTFMON, którego autorem był Tavis Ormandy. Innymi słowy, antywirusy nie nauczyły się wykrywać podatności, jaką Ormandy odkrył w Windows. Zamiast tego poszukiwały w pliku wirusa śladów po katalogu domowym użytkownika, który go zbudował. Kompilacja plików EXE w Visual Studio pozostawia bowiem w nich, domyślnie, "śmieci" ze ścieżkami dostępu do plików PDB. Dzięki temu możliwe jest odkrycie ścieżki do katalogu z projektem. W przypadku dziury CTFMON, demo zostało stworzone w katalogu o nazwie "Tavis Ormandy".
Czyżby zatem antywirusy były tu jednym wielkim oszustwem? Czy chodzi tu o to, że po opublikowaniu zagrożenia i pokazaniu demo (proof-of-concept), twórcy AV wzięli wersję pokazową, wybrali jej najbardziej oczywiste cechy i okrzyknęli "patrzcie, nasz produkt chroni przed dziurą w Windows"? Nie do końca. Nie jest tak, że opieranie się o nazwisko twórcy demo jest całkowicie nieuzasadnione. Takie próbki są często wklejane do prawdziwych wirusów jako "biblioteki". Cyberprzestępcy żywcem korzystają z gotowców, często nie adaptując ich szczególnie. Nie muszą bowiem tego robić.
Coraz trudniejsze podatności
Zwykłe zaciemnienie ścieżki sprawiło, że antywirusy oślepły na znane zagrożenie. Być może jednak nie wybrano owej ścieżki jako cechy dla definicji dlatego, że była najłatwiejsza, a dlatego, że była... jedyna? Kto wie, czy dziura w CTFMON jest wykorzystuje API tekstowych na tyle niewinnie, że nie da się ich ująć w definicji, więc lepiej wykrywać cokolwiek niż kompletnie nic?
Byłoby to problemem tylko wtedy, gdyby okazało się na przykład, że dziura w CTFMON nie jest wyjątkiem/rzadkością. Może istnieją setki lub tysiące definicji opartych o śmieci, bo skanery nie są wystarczająco wyrafinowane, by szukać bardziej szczegółowo? Tego się nie dowiemy. Heca z panem Ormandym jest jednak dobrą okolicznością, by przypomnieć sobie, w jak ograniczonym stopniu, z definicji (no pun intended), skuteczne jest oprogramowanie antywirusowe.
Dziurę w CTFMON załatano w sierpniu zeszłego roku.