Od wirusów do botnetów: ewolucja złośliwego kodu
Od Creepera i eksperymentów Freda Cohena przez Morrisa, ILOVEYOU i botnety po ransomware. Poznaj techniczną historię malware i trwałe lekcje obrony.
- AUTOR
- Karol Rapacz / Pentester (OSCP, PNPT)
- PUBLIKACJA
- 17 marca 2026
- CZAS CZYTANIA
- 16 min czytania
- TEMAT
- Historia
Malware nie jest jedną technologią. To zbiorcza nazwa oprogramowania używanego do niepożądanego działania: replikacji, kradzieży, zdalnej kontroli, sabotażu, szpiegostwa albo wymuszenia. Wirus dołącza się do innego nośnika i potrzebuje jego uruchomienia. Robak rozprzestrzenia się sam przez sieć lub inne kanały. Trojan udaje pożądany program. Bot dołącza urządzenie do zdalnie sterowanej infrastruktury. Ransomware ogranicza dostęp do danych lub systemu, często łącząc szyfrowanie z kradzieżą.
Kategorie mogą się nakładać. WannaCry był ransomware z mechanizmem robaka, a nowoczesny loader może być trojanem instalującym infostealera i narzędzia ransomware. Historia malware to więc nie katalog nazw, lecz ewolucja mechanizmów dostarczenia, trwałości, sterowania i monetyzacji.
Oś czasu
| Rok | Przykład | Znaczenie |
|---|---|---|
| 1971 | Creeper / Reaper | Wczesny kod przemieszczający się w ARPANET i program go usuwający |
| 1983–1984 | Eksperymenty Cohena | Formalna definicja wirusa i analiza ograniczeń obrony |
| 1986 | Brain | Wczesny wirus sektora rozruchowego komputerów PC |
| 1988 | Morris worm | Internetowy robak wykorzystujący wiele dróg propagacji |
| 1989 | AIDS Trojan | Wczesny przypadek cyfrowego wymuszenia |
| 2000 | ILOVEYOU | Globalna propagacja przez pocztę i kontakty użytkownika |
| 2003 | SQL Slammer | Robak o ekstremalnej szybkości rozprzestrzeniania |
| 2008 | Conficker | Wielokanałowa propagacja i odporny botnet |
| 2010 | Stuxnet | Sabotaż systemu przemysłowego |
| 2016 | Mirai | Masowy botnet z urządzeń IoT i domyślnych haseł |
| 2017 | WannaCry / NotPetya | Robakowe rozprzestrzenianie ransomware i destrukcji |
Creeper nie był współczesnym wirusem
Creeper działał na systemach TENEX w ARPANET na początku lat 70. Przemieszczał się między maszynami i wyświetlał komunikat. Nie powstał jako masowe narzędzie zysku ani destrukcji. Nazywanie go bez kontekstu „pierwszym wirusem” zaciera różnicę między eksperymentalnym programem sieciowym a późniejszym kodem infekującym pliki.
Reaper wyszukiwał i usuwał Creepera. To wczesny przykład automatycznej odpowiedzi, ale również problemu zaufania: narzędzie obronne samo musi mieć możliwość przemieszczania się i ingerowania w system. Współczesny EDR działa za zgodą właściciela i pod kontrolą, podczas gdy robak robi podobne technicznie rzeczy bez autoryzacji.
Fred Cohen definiuje wirusa
3 listopada 1983 roku Fred Cohen przygotował eksperyment na systemie Unix. Po uzyskaniu zgody administratorów zaprezentował program, który dołączał do innych programów i nadawał im zdolność dalszej infekcji. Leonard Adleman zaproponował określenie „virus”. Wyniki opublikowano w pracy z 1984 roku.
Definicja Cohena koncentrowała się na zdolności infekowania innych programów przez umieszczanie w nich kopii, która może ewoluować. Ważniejsze od nazwy były wnioski: w ogólnym przypadku wykrycie dowolnego wirusa ma fundamentalne ograniczenia, a system z uniwersalnym wykonywaniem i swobodnym przepływem informacji trudno zabezpieczyć jedną kontrolą.
Dlatego antywirus nigdy nie był rozwiązaniem kompletnym. Sygnatura dobrze wykrywa znaną próbkę, heurystyka zachowanie podobne do znanego, a sandbox obserwuje wykonanie. Napastnik może zmieniać reprezentację kodu, wykorzystywać legalne narzędzia lub opóźniać działanie. Obrona potrzebuje kilku niezależnych warstw.
Era dyskietek i sektorów rozruchowych
Wirusy komputerów osobistych korzystały z wymiany dyskietek i automatycznie uruchamianego kodu rozruchowego. Brain z 1986 roku infekował sektor boot dyskietek. Użytkownik przenosił nośnik, uruchamiał komputer, a kod ładował się przed systemem operacyjnym. Mechanizm był skuteczny, bo zaufanie przypisywano fizycznemu nośnikowi.
Wirusy plikowe dołączały się do programów wykonywalnych, wirusy makr wykorzystywały dokumenty biurowe, a polimorfizm zmieniał kod lub szyfrował ciało z różnymi kluczami, by utrudnić sygnatury. Wspólną cechą była zależność od działania użytkownika lub procesu uruchamiającego zakażony obiekt.
Robak Morrisa: wielowektorowa propagacja
Robak Morrisa z 1988 roku wykorzystywał błąd przepełnienia bufora w fingerd, tryb debugowania sendmail, relacje zaufania i odgadywanie haseł. Mały program startowy pobierał właściwy kod dopasowany do platformy. Robak próbował ukrywać się i sprawdzać, czy maszyna jest już zainfekowana, ale celowo czasem infekował ponownie; w praktyce wielokrotne kopie wyczerpywały zasoby.
RFC 1135 odnotowuje, że zespoły z Berkeley i MIT analizowały próbki, tworzyły poprawki i przekazywały informacje telefonem oraz pocztą. Większość infekcji usunięto w ciągu 48–72 godzin. Bezpośrednio po incydencie powstał CERT/CC, co uczyniło robaka kamieniem milowym nie tylko malware, ale całej historii cyberbezpieczeństwa.
AIDS Trojan: wymuszenie przed erą kryptowalut
W 1989 roku rozesłano dyskietki zawierające program AIDS Information Introductory Diskette. Po określonej liczbie uruchomień trojan ukrywał nazwy plików i żądał zapłaty. Mechanizm był słabszy niż współczesne kryptograficzne ransomware, lecz model biznesowy jest rozpoznawalny: atrakcyjna przynęta, opóźnione działanie, utrudnienie dostępu i żądanie okupu. Szczegółową historię opisuje AIDS Trojan.
Incydent pokazuje różnicę między wirusem a trojanem. Trojan opiera się na fałszywej tożsamości i przekonaniu użytkownika do uruchomienia. Nie musi sam infekować kolejnych plików. Dzisiejsze fałszywe instalatory, cracki i aktualizacje używają tej samej zasady z lepszym interfejsem.
ILOVEYOU: socjotechnika plus automatyzacja
W maju 2000 roku wiadomość z tematem „ILOVEYOU” i załącznikiem udającym list miłosny rozprzestrzeniała skrypt Visual Basic. Systemy Windows często ukrywały znane rozszerzenia, więc plik mógł wyglądać jak tekst. Po uruchomieniu skrypt nadpisywał pliki, kopiował się i wysyłał do kontaktów z programu Outlook.
Globalna skala nie wynikała z jednego błędu pamięci. Złożyły się na nią ciekawość, zaufanie do znajomego nadawcy, mylący interfejs, możliwość uruchamiania skryptu i automatyczny dostęp do książki adresowej. To model nowoczesnego ataku: socjotechnika uruchamia nadmierne uprawnienie.
SQL Slammer: kiedy ograniczeniem jest przepustowość
SQL Slammer z 2003 roku wykorzystywał przepełnienie bufora w Microsoft SQL Server Resolution Service nasłuchującym po UDP. Robak mieścił się w pojedynczym pakiecie, nie zapisywał się na dysku i generował losowe cele. Brak potrzeby ustanawiania połączenia pozwolił mu rozprzestrzeniać się niezwykle szybko, powodując przeciążenia sieci.
Poprawka była dostępna przed epidemią. Problemem okazały się inwentarz i wdrożenie: organizacje nie wiedziały, gdzie działają podatne komponenty, albo nie miały procesu aktualizacji. Ten sam brak widoczności powraca przy Log4j, obrazach kontenerów i urządzeniach brzegowych.
Conficker: odporna dystrybucja i wiele dróg wejścia
Conficker od 2008 roku wykorzystywał lukę w usłudze Windows, słabe hasła udziałów sieciowych i nośniki wymienne. Aktualizował mechanizmy komunikacji i używał generowanych domen, utrudniając przejęcie infrastruktury sterującej. Pokazał, że botnet musi rozwiązać problem dostępności C2 pod presją obrońców.
Międzynarodowa Conficker Working Group połączyła dostawców, rejestry domen i badaczy. Odpowiedź wymagała koordynacji technicznej oraz administracyjnej—pojedynczy produkt bezpieczeństwa nie mógł sam usunąć globalnej sieci.
Stuxnet i malware procesowe
Stuxnet nie ograniczał się do infekowania Windows. Szukał określonego środowiska przemysłowego i modyfikował logikę sterowników PLC, wpływając na fizyczny proces. Jednocześnie próbował ukrywać prawdziwy stan przed operatorami. Historia Stuxneta jest lekcją o malware zależnym od wiedzy domenowej.
W OT standardowa odpowiedź „odizoluj i przeinstaluj” może zatrzymać produkcję lub stworzyć ryzyko bezpieczeństwa fizycznego. Potrzebne są inwentaryzacja, bezpieczne okna serwisowe, segmentacja i wspólna praca inżynierów procesu z zespołem security.
Mirai: botnet z domyślnych haseł
Mirai w 2016 roku skanował Internet w poszukiwaniu urządzeń IoT dostępnych przez Telnet i próbował krótkiej listy domyślnych danych logowania. Zainfekowane kamery i rejestratory tworzyły botnet zdolny do dużych ataków DDoS. Problemem nie był zaawansowany exploit, lecz produkty wdrażane z przewidywalnymi hasłami i słabym cyklem aktualizacji.
Publikacja kodu Mirai umożliwiła liczne warianty. Analiza botnetu Mirai pokazuje ekonomię skali: słabe urządzenie jest mało wartościowe pojedynczo, lecz setki tysięcy urządzeń tworzą usługę atakową.
Ransomware staje się biznesem usługowym
Kryptograficzne ransomware zyskało wygodną monetyzację dzięki płatnościom cyfrowym, anonimowym usługom i wyspecjalizowanym rolom. Model ransomware-as-a-service rozdziela twórców malware, brokerów dostępu, operatorów i negocjatorów. Podwójne wymuszenie łączy szyfrowanie z kradzieżą danych, więc backup nie usuwa całego ryzyka.
WannaCry automatycznie rozprzestrzeniał się przez SMB. NotPetya wykorzystywał między innymi mechanizmy ruchu bocznego i działał destrukcyjnie. Incydent Colonial Pipeline pokazał z kolei, że wpływ operacyjny może rozpocząć się od skompromitowanej tożsamości, bez robaka.
Co naprawdę działa przeciw malware
- Inwentarz i poprawki ograniczają znane drogi wejścia.
- MFA odporne na phishing utrudnia użycie skradzionych haseł.
- Allowlisting i najmniejsze uprawnienia zmniejszają możliwość wykonania oraz trwałości.
- Segmentacja i kontrola egress ograniczają propagację i C2.
- EDR oraz centralne logi zwiększają szansę wykrycia zachowania, nie tylko próbki.
- Kopie offline i test odtwarzania chronią dostępność, lecz trzeba również przygotować się na wyciek.
- Przećwiczony incident response skraca czas między sygnałem a izolacją.
Kompletny program obrony opisujemy w przewodniku ransomware — jak się bronić.
Współczesny łańcuch: loader, infostealer i broker dostępu
Dzisiejsza kampania rzadko kończy się na jednej próbce. Załącznik, reklama lub fałszywa aktualizacja uruchamia loader. Ten sprawdza środowisko, pobiera moduły i ustanawia trwałość. Infostealer zbiera hasła z przeglądarek, ciasteczka sesyjne, portfele i tokeny. Dane trafiają na rynek, gdzie inny podmiot może kupić dostęp do firmy. Dopiero później operator wykonuje rozpoznanie, eskalację uprawnień, eksfiltrację i ransomware.
Taki podział pracy utrudnia atrybucję i pokazuje, dlaczego usunięcie pliku nie kończy incydentu. Trzeba założyć kradzież tożsamości, unieważnić sesje, zmienić sekrety i przejrzeć logi chmurowe. Wskazówki zawiera analiza infostealerów i kradzieży haseł oraz przewodnik reagowania na incydent AI.
FAQ
Czym różni się wirus od robaka?
Wirus infekuje inny obiekt i zwykle potrzebuje jego uruchomienia. Robak sam wyszukuje kolejne cele i kopiuje się przez sieć lub inne kanały. Konkretne malware może łączyć oba zachowania.
Czy trojan musi się replikować?
Nie. Jego cechą jest podszywanie się pod pożądany plik lub funkcję, aby skłonić użytkownika do instalacji. Po uruchomieniu może pobrać kolejne komponenty.
Czy antywirus wystarcza?
Nie. Jest jedną warstwą. Nowoczesne ataki używają skryptów, legalnych narzędzi, skradzionych kont i technik bezplikowych. Potrzebne są tożsamość, hardening, segmentacja, telemetria i reakcja.
Źródła
- Fred Cohen, „Computer Viruses — Theory and Experiments”
- Eksperymenty Cohena z listopada 1983 roku
- RFC 1135: analiza robaka Morrisa
- SEI: powstanie CERT/CC
Jeśli chcesz sprawdzić, czy malware może przejść od pierwszej stacji do krytycznych systemów, zamów pentest sieci wewnętrznej.


