Blog 24/7

malware polimorficzny

TAB. 1Hasłoobie formy
Po angielskupolymorphic malware
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formyzłośliwe oprogramowanie polimorficzne · kod polimorficzny · wirus polimorficzny
KategoriaZłośliwe oprogramowanie

Malware polimorficzny (polymorphic malware) to złośliwe oprogramowanie (malware), które przy kolejnych infekcjach zmienia swoją postać, zachowując to samo działanie. Zwykle robi to przez ponowne zaszyfrowanie właściwego kodu i wygenerowanie nowego, inaczej wyglądającego dekryptora [1]. MITRE opisuje kod polimorficzny jako oprogramowanie zdolne zmieniać swój ślad w trakcie działania, tak że każde wykonanie daje inną wersję o tym samym celu [2]. Celem jest ucieczka przed wykrywaniem opartym na sygnaturach [2].

Jak działa

Program antywirusowy w najprostszej postaci szuka w plikach znanych sygnatur, czyli skrótów albo charakterystycznych ciągów bajtów. Sekurak wyjaśnia, że nawet najdrobniejsza zmiana w kodzie złośliwego oprogramowania, na przykład nowy wariant albo malware polimorficzny, sprawia, że stara sygnatura nie wykryje nowej wersji [5]. Polimorfizm robi z tej słabości metodę.

Według przeglądu Sharmy i Sahaya polimorficzny malware składa się z dwóch części: dekryptora i zaszyfrowanego ciała [1]. Przy każdym rozmnożeniu tzw. silnik mutacji tworzy nowy dekryptor i dołącza go do zaszyfrowanego ciała, co daje nowy wariant [1]. Nowe dekryptory powstają przez techniki zaciemniania kodu: wstawianie martwego kodu, zamianę rejestrów, zmianę kolejności podprogramów i podmianę instrukcji na równoważne [1]. Autorzy piszą, że w ten sposób można wygenerować miliony dekryptorów [1].

Przebieg jednej infekcji pokazuje schemat poniżej.

RYS. 1Nowy wariant przy każdej infekcji

Odmiany

Przegląd Sharmy i Sahaya porządkuje techniki ukrywania w kolejne generacje, od najprostszej do najtrudniejszej do wykrycia [1].

OdmianaCo się zmieniaSłaby punkt
Szyfrowanytylko klucz, dekryptor stały [1]sygnatura dekryptora [1]
Oligomorficznydekryptor z niewielkiego zestawu [1]sygnatury wszystkich dekryptorów [1]
Polimorficznydekryptor generowany na nowo [1]emulacja ujawnia odszyfrowane ciało [1]
Metamorficznycałe ciało zamiast dekryptora [1]trudny do stworzenia bez wzrostu rozmiaru [1]

Przykładem odmiany oligomorficznej jest Win95/Memorial, który potrafił budować 96 wzorców dekryptora [1]. Pierwszy wirus metamorficzny, Win95/Regswap, powstał w 1998 roku [1]. Granica między pojęciami nie wszędzie jest ostra: MITRE podaje „metamorficzny” jako synonim kodu polimorficznego [2], a przegląd Sharmy i Sahaya traktuje metamorfizm jako osobną, trudniejszą technikę [1].

Polimorfizm łączy się z innymi sposobami ukrywania. MITRE wymienia pakowanie, czyli packer, zaciemnianie poleceń i szyfrowanie lub kodowanie plików [2].

W WordPressie

Na serwerach WordPress polimorfizm rzadko ma postać klasycznego silnika mutacji z plików wykonywalnych. Częściej jest to złośliwy kod PHP albo JavaScript, który przy każdej infekcji dostaje inne zaciemnienie.

Sucuri w listopadzie 2024 roku opisał taki przypadek [6]. Złośliwy kod wstrzykiwał się do aktywnych wtyczek i fragmentów kodu dodanych przez wtyczkę WPCode, za każdym razem w zaciemnionej wersji [6]. Autorka zauważa, że ponieważ malware za każdym razem zmienia wygląd, wykrycie staje się coraz trudniejsze, a czyszczenie skomplikowane [6]. Jeśli strona nie zostanie wyczyszczona do końca, nawet drobne pozostałości mogą szybko zarazić wszystko ponownie [6].

Dla administratora wniosek jest praktyczny. Szukanie „tego samego” fragmentu kodu we wszystkich plikach zawiedzie, bo każda kopia wygląda inaczej. Skuteczniejsze jest porównanie plików z wzorcem. Polecenie wp core verify-checksums sprawdza pliki rdzenia z sumami kontrolnymi z WordPress.org, a z opcją --include-root ostrzega także o obcych plikach w katalogu głównym [7].

wp core verify-checksums --include-root

To samo podejście w sposób ciągły realizuje monitorowanie integralności plików: każda zmiana pliku jest podejrzana, niezależnie od tego, jak wygląda nowy kod.

Zagrożenia i skutki

Polimorfizm nie jest osobnym rodzajem szkody, tylko sposobem ukrywania. Skutki zależą od tego, co niesie ciało: może to być tylna furtka (backdoor), wirus komputerowy, ransomware albo koparka kryptowalut. Polimorfizm wydłuża czas, w którym infekcja pozostaje niewykryta, i utrudnia pełne sprzątanie.

Kaspersky opisuje, że pojawienie się rodziny Chameleon w 1990 roku uczyniło ówczesne programy antywirusowe bezużytecznymi wobec tych wirusów [3]. W 1992 roku, mimo miesięcy pracy, wiele firm antywirusowych nie osiągało pełnej wykrywalności wirusów tworzonych generatorem MtE [4].

Jak się bronić

Obrona polega na tym, by nie polegać na samej sygnaturze.

  • Emulacja. Przegląd Sharmy i Sahaya wskazuje, że mimo wielu wariantów dekryptora oryginalny program da się rozpoznać po uruchomieniu go w emulatorze [1]. Kaspersky podaje, że w 1992 roku Eugene Kaspersky opracował do tego emulator procesora [3]. Współczesnym odpowiednikiem jest piaskownica (sandbox).
  • Heurystyka i zachowanie. Sekurak opisuje heurystykę jako wszystkie metody poza klasycznymi sygnaturami, w tym śledzenie wywołań API, piaskownicę z obserwacją zachowania i wykrywanie anomalii [5]; zob. wykrywanie sygnaturowe i heurystyczne.
  • Wskazówki MITRE. MITRE zaleca narzędzia antymalware z uczeniem maszynowym i analizą zachowania oraz monitorowanie plików wykonywalnych, które zmieniają skrót, entropię albo sekcje pamięci [2]. Takie funkcje mają rozwiązania klasy EDR (Endpoint Detection and Response).
  • Na stronie WordPress. Porównanie z wzorcem [7], stały nadzór nad zmianami plików i usunięcie przyczyny infekcji. Sucuri podkreśla, że trzeba znaleźć i usunąć podatność, przez którą malware się dostał [6]; zob. czyszczenie przejętej strony.

Historia i przykłady

Chameleon (1260). Kaspersky podaje, że pierwsze wirusy polimorficzne pojawiły się w 1990 roku jako rodzina Chameleon (1260, V2P1, V2P2 i V2P6) [3]. Autor, Mark Washburn, oparł się na wirusie Vienna i dodał cechy samoszyfrującego się wirusa Cascade [3]. W odróżnieniu od Cascade kod Chameleona zmieniał się przy każdej infekcji [3].

MtE. Na początku 1992 roku pojawił się pierwszy generator polimorficzny MtE, autorstwa Dark Avengera [4]. Był dostarczany jako gotowy moduł z dokumentacją, do dołączania do innych wirusów [4]. Według Kaspersky’ego od razu pojawiło się kilka wirusów polimorficznych, a MtE był poprzednikiem kolejnych generatorów [4].

BendyBear. Jako współczesny przykład MITRE podaje BendyBear, który zmienia swój ślad w trakcie działania, by unikać obrony opartej na sygnaturach [2].

TAB. 2

Przypisy

7
  1. [1] Evolution and Detection of Polymorphic and Metamorphic Malwares: A Survey (Sharma, Sahay) · arXiv
  2. [2] T1027.014: Obfuscated Files or Information: Polymorphic Code · MITRE ATT&CK
  3. [3] 1990 — Kaspersky IT Encyclopedia · Kaspersky
  4. [4] 1992 — Kaspersky IT Encyclopedia · Kaspersky
  5. [5] W jaki sposób działają programy antywirusowe? · Sekurak
  6. [6] PHP Reinfector and Backdoor Malware Target WordPress Sites · Sucuri
  7. [7] wp core verify-checksums — WP-CLI Commands · WordPress.org
TAB. 3

Hasła w tym artykule

11
TAB. 4

Linkują tutaj

4

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com