Luki "zero day" w/g Kasperskyego

Pojawienie się krytycznych luk w systemie Windows nieuchronnie prowadzi do zwiększenia aktywności wirusów, a czasem do globalnych epidemii. Byliśmy tego świadkami w sierpniu 2003 roku, kiedy Lovesan wykorzystał lukę RPC DCOM, oraz w kwietniu 2004 roku, gdy Sasser zainfekował kilka milionów komputerów na całym świecie wykorzystując do rozprzestrzeniania się lukę LSASS. Podobna sytuacja miała miejsce w związku z luką Plug'n'Play, opisaną szczegółowo w Biuletynie firmy Microsoft MS05-039. Jednak luki, o których mowa, znajdowały się na poziomie systemu, co oznacza, że szkodliwy użytkownik mógł przeniknąć do komputera ofiary z zewnątrz, poprzez port. (Czytaj Dalej) ...
W przypadku wirusów, które przenikają do systemu poprzez znane luki, rozwiązanie problemu stanowią łaty Microsoftu. Pozostaje jednak problem wirusów tworzonych w celu wykorzystania luk "zero day", czyli takich, dla których nie istnieją jeszcze łaty. Microsoft kontroluje sytuację poprzez bliską współpracę z firmami specjalizującymi się w identyfikowaniu luk. Czasami od wykrycia luki do opublikowania łaty może upłynąć kilka miesięcy, jednak informacje o lukach nie są do tego czasu publikowane, a tym samym nie są powszechnie dostępne.
Pod koniec roku 2005 miała miejsce sytuacja bezprecedensowa. W odstępie miesiąca w systemie Windows pojawiły dwie krytyczne luki. Informacje o nich przedostały się do opinii publicznej, zanim opublikowano łaty. W obu przypadkach luki te wykorzystano do rozprzestrzeniania złośliwych programów.
21 listopada brytyjska grupa naukowców, występująca pod dziwną nazwą "Computer Terrorism", opublikowała exploita typu proof of concept (demonstrującego nową technologię), który działał w całkowicie załatanej wersji przeglądarki Internet Explorer. Luka dotyczyła funkcji Java Script 'window()', a informacje o niej zostały po raz pierwszy upublicznione w maju 2005. Wtedy jednak Microsoft nie widział żadnego sposobu wykorzystania tej luki do wykonania dowolnego kodu na komputerze ofiary i nie ocenił jej jako krytyczną. W konsekwencji załatanie tej luki nie było traktowane jako priorytet.
Wygląda na to, że naukowcy z "Computer Terrorism" zrozumieli lukę lepiej niż firma Microsoft. Po niewielkich modyfikacjach kod wirusa typu proof of concept umożliwiał zainstalowanie i wykonanie pliku w systemie ofiary bez wiedzy i zgody samego użytkownika.
Twórcy wirusów potrzebowali niewiele ponad tydzień czasu, aby umieścić złośliwy kod na stronie internetowej. Wykryliśmy wiele trojanów rozprzestrzeniających się w ten sposób. Jedynym zabezpieczeniem przed takim trojanem było wyłączenie obsługi Java Script w przeglądarce Internet Explorer, jednak niewielu użytkowników skorzystało z tej opcji. Kilkadziesiąt, a nawet kilkaset milionów użytkowników na całym świecie było narażonych na infekcję tym trojanem. Był to pierwszy przypadek wykorzystania przez trojana luki w systemie Windows, dla której nie istniała łata.
Wydawałoby się, że Microsoft zrobi wszystko, co jest możliwe, aby naprawić ten błąd. W końcu firma chce, aby kojarzono ją z walką ze złośliwym oprogramowaniem. Wcześniej Microsoft opublikował własne oprogramowanie antywirusowe oraz zapowiedział, że będzie wstępował na drogę sądową przeciwko twórcom wirusów. Jednak w tym przypadku reakcja Microsoftu była dość nieoczekiwana. Firma ogłosiła, że chociaż luka została określona jako krytyczna, nie przewiduje się publikacji żadnej łaty poza zwykłym cyklem. Od roku 2002 Microsoft publikuje łaty w każdy drugi wtorek miesiąca. Najnowsze łaty miały pojawić się 13 grudnia i Microsoft planował trzymać się grafiku.
Od dnia pojawienia się kodu typu proof of concept minęły trzy tygodnie, natomiast od wykrycia luki - sześć miesięcy. Jest to dość długi okres czasu, w ciągu którego zainfekowanych mogło zostać wielu użytkowników przeglądarki Internet Explorer. Zaniepokojenie wzrosło, gdy w ciągu dwóch tygodni historia powtórzyła się, tym razem jednak konsekwencje mogły być o wiele poważniejsze.
26 grudnia niektóre firmy antywirusowe otrzymały tajemnicze pliki WMF. Analitycy wykazali, że pliki te zawierają kod wykonywalny, który pobiera pliki ze stron zawierających programy adware oraz spyware. Wykonanie złośliwego kodu następowało po otwarciu przez użytkownika pliku WMF. Inne czynności, takie jak wykorzystanie Exploratora Windows do otwarcia katalogu, w którym znajduje się plik, przeglądanie właściwości pliku itd. również powodowały wykonanie złośliwego kodu. Kod mógł zostać wykonany w każdej z dostępnych systemów Windows, łącznie z wersją Windows 95/98, nawet tych całkowicie załatanych.
Była to niewątpliwie najnowsza luka "zero day", a Microsoft nic o tym nie wiedział. Najbardziej niepokojące w całej sprawie jest to, że twórcy wirusów wyprzedzili w wykryciu tej luki nie tylko firmę Microsoft, ale także inne duże firmy specjalizujące się w identyfikowaniu luk.
Analizą najnowszej luki zajęło się w ciągu następnych dwóch dni wielu ekspertów z branży bezpieczeństwa. Informacje o niej zostały opublikowane, a większość firm antywirusowych dodała do swoich produktów heurystyczne wykrywanie zainfekowanych plików WMF. Jednak Puszka Pandory została już otwarta i w Internecie zaczęły krążyć nowe programy typu koń trojański, które wykorzystywały omawianą lukę. W jednym tygodniu wykryto aż tysiąc zainfekowanych "obrazków". Ponieważ luka była obecna we wszystkich wersjach systemu Windows, istniało ryzyko, że sytuacja wymknie się spod kontroli. Lukę wykorzystywano również do rozprzestrzeniania robaków i spamu.
Na szczęście wszystko to miało miejsce w Święta Bożego Narodzenia. Liczba użytkowników Internetu była znacznie mniejsza niż zazwyczaj i właśnie to pozwoliło na uniknięcie poważnej katastrofy.
Jednak reakcja Microsoftu na wykrycie nowej luki i tym razem była niezrozumiała. Firma opublikowała biuletyn KB 912840, w którym poinformowała o zidentyfikowaniu luki i wyszczególniła zagrożone wersje systemów Windows. Konkretne informacje pojawiły się 3 stycznia 2006 r., gdy Microsoft zapowiedział wypuszczenie łaty 10 stycznia w ramach comiesięcznego biuletynu. Swą decyzję firma argumentowała koniecznością przeprowadzenia dokładnych testów nad łatą i zlokalizowania jej dla wszystkich wersji systemu Windows. Microsoft zapewniał również, że chociaż problem był poważny, nie wykryto żadnej znaczącej epidemii wirusowej.
Branża IT była przerażona. Już drugi raz w miesiącu Microsoft nie tylko nie był w stanie właściwie zareagować na problem bezpieczeństwa, ale wydawał się nie rozumieć powagi sytuacji. Liczba krytycznych artykułów dorównywała ilości wykrytych zainfekowanych plików WMF. Jednocześnie nastąpił przeciek opracowanej przez firmę Microsoft łaty w wersji beta dla systemu XP. Łata ta została opublikowana na wielu stronach WWW i wraz z nieoficjalną poprawką opracowaną przez Ilfaka Gulfanova, stanowiła jedyne dostępne rozwiązanie.
6 stycznia firma Microsoft pod naciskiem krytyki wydała biuletyn MS06-001 zawierający łatę dla luki WMF.
Istotnym aspektem całej sprawy jest to, że luka ta została po raz pierwszy wykryta przez członków podziemia komputerowego. Eksperci z Kaspersky Lab przeanalizowali problem i doszli do następujących wniosków:
Luka została najprawdopodobniej wykryta przez anonimową osobę około 1 grudnia 2005 roku. Stworzenie exploita umożliwiającego wykonanie dowolnego kodu na komputerze ofiary zajęło kilka dni. Mniej więcej w połowie grudnia można było kupić exploita na różnych specjalistycznych stronach WWW. Wygląda na to, że program ten sprzedawały za 4 tys. dolarów dwie lub trzy rywalizujące ze sobą grupy hakerów z Rosji. Interesujące jest to, że grupy te nie w pełni rozumiały lukę. Jeden z nabywców exploita zamieszany był w przestępczą działalność dotyczącą rozprzestrzeniania programów typu adware/spyware. Najprawdopodobniej w ten sposób informacje o exploicie przedostały się na zewnątrz.
Nie wiemy, kto pierwszy wykrył lukę. Wiemy natomiast, kto brał udział w tworzeniu i rozprzestrzenianiu exploita oraz jego kolejnych modyfikacji. Na podstawie posiadanych przez nas danych oraz "rosyjskiego śladu" w tej sprawie, możemy wnioskować, że informacje o luce nie zostały przekazane firmom eEye oraz iDefence, które specjalizują się w identyfikowaniu luk. Po pierwsze, grupy hakerów nie zrozumiały w pełni, w jaki sposób funkcjonuje luka, po drugie, exploit został stworzony w celu sprzedania go cyberprzestępcom. Po trzecie, ponieważ exploit miał być oferowany na rosyjskim czarnym rynku, firmy wykrywające tego typu programy nie wiedziały o jego sprzedaży.
Alexander Gostev
Senior Virus Analyst, Kaspersky Lab