Najgroźniejszy wirus świata zdemaskowany!
Felix Leder i Tillmann Werner z uniwersytetu w Bonn przedstawili dziś wyniki dokonanej przez nich analizy robaka Conficker. W publikacji z serii "Know your enemy" obaj autorzy opisują nie tylko sposób funkcjonowania "szkodnika", ale też prezentują pakiet narzędzi, za pomocą których można zabezpieczyć się przed atakiem Confickera lub wykryć go i usunąć. Poza tym obaj specjaliści wykryli prawdopodobnie także problem, dzięki któremu robaka będzie można pokonać.
31.03.2009 15:26
Wykorzystywanie słabości systemu
Jeśli do tej pory nie było bezpośrednich dowodów na to, że Conficker nie jest dziełem nowicjuszy, to analiza Ledera i Wernera ich dostarcza. Na przykład robak zawiera bardzo inteligentny mechanizm automatycznej aktualizacji: śledzi wywołania windowsowej funkcji NetpwPathCanonicalize() służącej do zmiany względnej ścieżki w rodzaju \a..\b w kanoniczną postać \b. Jeśli do mechanizmu dociera żądanie wykonania wspomnianej funkcji, to podstawiona procedura próbuje wykorzystać lukę w zabezpieczeniach w taki sam sposób, jak to robi sam Conficker. W funkcji zamieniającej ścieżki wywoływany jest błąd przepełnienia bufora i wstrzykiwany kod bajtowy, którego zadaniem jest pobranie kopii szkodnika. URL wykorzystywany do tego celu Conficker ekstrahuje z wstrzykniętego kodu maszynowego, a następnie sam ładuje główny program robaka.
Cyfrowo podpisane uaktualnienia
Na tym się jednak nie kończy. Conficker sprawdza bardzo dokładnie, czy na pewno chodzi tutaj o aktualniejszą wersję jego samego. Kryterium kontroli jest cyfrowy podpis, który musi być opatrzony tajnym kluczem RSA autora robaka. W ten sposób w zasadzie niemożliwe jest podsunięcie "szkodnikowi" czegoś innego; jego twórcy zaimplementowali tutaj zdecentralizowany mechanizm autoaktualizacji, który specjaliści uważają za praktycznie niemożliwy do pokonania.
Ochrona
Mimo tego wyniki pracy Ledera i Wernera można wykorzystać do precyzyjnego działania przeciwko robakowi. Poszukując w pamięci operacyjnej jednoznacznych kluczy RSA służących do sprawdzania cyfrowych sygnatur, specjaliści byli w stanie precyzyjnie wykryć i zakończyć wątki prowadzone przez robaka. Oprócz tego zanalizowali i odtworzyli zastosowany w Confickerze algorytm dla liczb pseudolosowych oraz powiązane z nimi parametry. Udało im się także stworzyć narzędzie, za pomocą którego można wyliczyć dobierane nazwy domenowe, z którymi Conficker o określonej porze nawiązuje kontakt. Korzystając z przygotowanego przez nich narzędzia, można także odtworzyć nazwy plików i wpisy w rejestrze. Poza tym Leder i Werner napisali program, który potrafi ustanowić w systemie odpowiednie elementy Mutex; powodują one, że Conficker przyjmuje, iż dany system jest już zainfekowany i nie stara się go ponownie zainfekować. Jeszcze wczoraj obaj informatycy zaprezentowali skaner, który rozpoznaje "szkodnika" przez sieć na podstawie
wartości zwrotnych określonych wywołań funkcji. Jednak w związku z porozumieniem z grupą Conficker Working Group nie chcą na razie zdradzać szczegółów.
Oprócz tego specjalistom od sieci pułapek (honeynet) udało się też wykryć słaby punkt Confickera. W opublikowanym dokumencie napotkamy jedynie na złowieszczą wzmiankę, że oryginalna wersja opisuje problem, który "daje się wykorzystać". Na zapytanie ze strony heise Security, czy w ten sposób można by oczyścić komputery z wirusa przez sieć, specjaliści odmówili odpowiedzi, powołując się na umowę z Conficker Working Group, która zabroniła im udzielania jakichkolwiek komentarzy w tej materii.
Kwestie formalnoprawne
Wcześniej, przy okazji walki z siecią Stormworm, specjaliści ze względu na kwestie prawne i moralne zrezygnowali z aktywnego udziału w walce z siecią zainfekowanych komputerów zombie. Z drugiej strony trzeba jednak zauważyć, że w tamtym czasie sieć stworzona przez robaka Stormworm była już zdziesiątkowana i nie stanowiła żadnego realnego zagrożenia. Inaczej wygląda za to sytuacja z Confickerem: mówi się już o wielu milionach zainfekowanych komputerów, a międzynarodowa branża producentów programów zabezpieczających skoncentrowała swoje siły w grupie Conficker Working Group. Grupa zarejestrowała już tysiące domen, aby uniemożliwić aktualizację Confickera w wariantach A i B do wersji C; wyznaczona została także nagroda w wysokości 250 tysięcy dolarów w zamian za wskazówki, które pozwolą na ujęcie twórców robaka. Wszyscy zadają sobie pytanie, czy grupa weźmie pod uwagę także środki, które doprowadzą do precyzyjnego wyeliminowania "szkodnika".
wydanie internetowe www.heise-online.pl