Robak komputerowy to program, który
A. potrzebuje programu nosiciela.
B. ma zdolność samoreplikacji.
C. uaktywnia się, gdy nadejdzie odpowiednia data.
D. uruchamia się, gdy użytkownik zainfekowanego komputera uruchomi jakiś program.
Robak komputerowy to złośliwy program, którego najważniejszą cechą jest samoreplikacja, czyli zdolność do tworzenia własnych kopii i rozprzestrzeniania się bez dopinania się do innego programu. W praktyce taki robak może wykorzystywać lukę w usłudze sieciowej, słabe hasła, błędną konfigurację udziałów sieciowych albo załączniki pocztowe. Klasyczny przykład to sytuacja, gdy jedna zainfekowana stacja robocza zaczyna skanować sieć lokalną i próbuje infekować kolejne komputery, bo widzi otwarte porty lub niezałatane usługi. Moim zdaniem to jedna z tych definicji, które naprawdę warto kojarzyć praktycznie, nie tylko na pamięć. Dobre praktyki branżowe, zgodne z podejściem ISO/IEC 27001, NIST czy zaleceniami CERT, obejmują regularne aktualizacje systemu, ograniczanie niepotrzebnych usług, segmentację sieci, stosowanie zapory, EDR/antywirusa, zasadę najmniejszych uprawnień i kopie zapasowe offline. Robak jest groźny właśnie dlatego, że potrafi rozchodzić się automatycznie i bardzo szybko, czasem bez żadnej widocznej akcji użytkownika.
W tym pytaniu łatwo pomylić kilka różnych rodzajów złośliwego oprogramowania, bo w codziennym języku wiele osób mówi po prostu wirus na wszystko, co jest szkodliwe. Technicznie jednak robak komputerowy wyróżnia się tym, że sam się replikuje i rozprzestrzenia, najczęściej przez sieć, pocztę, komunikatory, podatne usługi albo źle zabezpieczone zasoby. Nie musi mieć programu nosiciela. To właśnie bardziej pasuje do wirusa komputerowego, który zwykle dołącza swój kod do pliku wykonywalnego, dokumentu z makrami albo innego obiektu i aktywuje się przy jego uruchomieniu. Stąd bierze się częsty błąd myślowy: skoro coś infekuje komputer, to pewnie zawsze potrzebuje pliku gospodarza. A robak niekoniecznie, on może działać jako osobny proces lub skrypt i dalej rozsyłać swoje kopie. Aktywacja w określonej dacie to raczej cecha bomby logicznej albo czasowej, ewentualnie element działania niektórych malware, ale nie definicja robaka. Podobnie uruchamianie po starcie jakiegoś programu przez użytkownika bardziej kojarzy się z wirusem, trojanem albo złośliwym załącznikiem. W praktyce administracyjnej trzeba więc patrzeć na mechanizm działania: czy program potrzebuje nosiciela, czy czeka na warunek, czy samodzielnie się replikuje. Z mojego doświadczenia ta różnica pomaga też przy reagowaniu na incydent, bo przy robaku szczególnie ważna jest izolacja hosta, blokada ruchu sieciowego, analiza logów i szybkie łatanie podatności.