Polimorficzne wirusy coraz sprytniejsze

Nowy wirus W32.Bounds jest kolejnym krokiem w doskonaleniu technik ukrywania się złośliwego oprogramowania. Wirus wykorzystuje specyfikę architektury AMD64 do utrudniania pracy debuggerów.

Wirus stosuje środki z klasycznego arsenału technik utrudniających wykrycie - przede wszystkim polimorfizm, który powoduje ze każda kopia wirusa jest - dzięki szyfrowaniu ze zmiennym kluczem - innym ciągiem binarnym. Utrudnia to znacząco wykrycie wirusa przy pomocy stałej sygnatury, bo problematyczne staje się w ogóle stworzenie takiej sygnatury. Programy antywirusowe radzą sobie z tym problemem przy pomocy heurystyki, czyli symulacji uruchomienia procedury deszyfrującej, co pozwala na dojście do "schowanego" w środku prawdziwego kodu. Tutaj jednak wkraczają techniki antydebuggingowe, które mają za zadanie utrudnienie przeprowadzenia takiej symulacji.

Wirus W32.Bounds korzysta tutaj z techniki wykorzystującej optymalizację systemu Windows pod architekturę AMD64, w praktyce uniemożliwiając wykonanie swojego kodu przez inny proces. Technika nie jest ograniczona tylko do procesorów AMD, ponieważ architektura AMD64 została także wprowadzona do procesorów Intela (EM64T).

Zobacz również:

  • Wirusy na Androida - popularne i niebezpieczne zagrożenia

Nie należy się specjalnie obawiać tego wirusa, ponieważ nie został znaleziony "in vivo", a jedynie dostarczony do laboratorium antywirusowego jako przykład wykorzystania nowej techniki. Tym bardziej, że jako wirus testowy ma bardzo upośledzone funkcje rozmnażania.

Odkrycie to nie jest niczym specjalnie przełomowym, bo podobne techniki wprowadzano już do wirusów działających w systemie MS-DOS w okresie ich największego rozkwitu czyli w latach 90-tych. Polimorfizm, sztuczki antydebuggingowe i inne techniki utrudniania życia antywirusom w połowie lat 90-tych wręcz rozkwitały, a wykorzystywanie specyficznych cech procesorów Intela nie należało wówczas do rzadkości. Środowisko programistów assemblerowych urządzało regularne konkursy "hackme", w których należało zdisasemblować opublikowany przez autora programik i, na przykład, złamać hasło, którym był zabezpieczony. Jednym z ciekawszych tego typu programów był "hackme" Solar Designera czyli rosyjskiego programisty, który później zaangażował się w bezpieczeństwo kernela Linuxa (był m.in. twórcą projektu OpenWall).

Przykład W32.Bounds pokazuje jednak, że ewolucja współczesnych wirusów podąża bardzo podobną drogą jak wirusy MS-DOSowe w latach 90-tych i przed nami jest jeszcze sporo ciekawej twórczości...

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200