Wirus komputerowy
to rodzaj tzw. złośliwego oprogramowania (z ang. malware), którego uruchomienie powoduje jego replikację (najczęściej poprzez załączanie dodatkowego kodu do istniejącego oprogramowania), zarażanie tzw. czystych plików i rozprzestrzeniania się na inne jednostki komputerowe. Ma na celu wykonanie określonych szkodliwych działań, jak uszkodzenie, naruszenie integralności danych, przekierowanie ruchu internetowego. Warto zwrócić uwagę, że w dziedzinie cyberbezpieczeństwa do początku lat 90. XX w. wyrażanie z ang. malicious software (w skrócie malware) było synonimem określenia wirusów komputerowych. Obecnie termin „malware” się rozszerzył i odnosi się do dowolnego oprogramowania, które ma na celu naruszenie prawidłowego działania komputerów i sieci komputerowych – stało się to na skutek rozwoju technologii oprogramowania i wykształcenia wielu niebezpiecznych form, pod względem technicznym niezgodnych z właściwą definicją wirusa.
W zależności od intencji i rodzaju programu można wyszczególnić takie rodzaje wirusów komputerowych, jak:
- ransomware – oprogramowanie, które przejmuje kontrolę nad komputerem, i umożliwia jej odzyskanie dopiero po zapłaceniu „okupu” cyberprzestępcy;
- konie trojańskie – oprogramowanie, które ukrywa swoje szkodliwe działanie przed użytkownikiem;
- rootkit – maskując się w systemie operacyjnym, umożliwia dostęp do zasobów komputera nieupoważnionym użytkownikom;
- backdoor – ominięcie uwierzytelnienia do kodu źródłowego określonego oprogramowania;
- evasion – działania na poziomie strukturalnym, mające na celu ukrycie naruszenie uwierzytelnienia, integralności danych;
- scareware – oprogramowanie mające przerazić użytkownika, by kupił bezwartościowe oprogramowanie, które „ocali” jego system operacyjny;
- adware – program, który w sposób natarczywy wyświetla reklamy w systemie operacyjnym, spyware (oprogramowanie szpiegujące).
Mimo podobieństw w działaniu i skutkach subtelną cechą wirusów komputerowych jest ich zdolność do replikacji, więc np. oprogramowanie typu ransomware, którego kod umożliwia replikacje, jest wirusem.
Wirusy najczęściej są tworzone przez cyberprzestępców, hakerów blackhat, greyhat. Bardziej skomplikowane wirusy są tworzone przez cybergrupy państwowe, były także używane jako broń lub narzędzie nacisku politycznego (wirusy Petya, Stuxnet, Duqu etc.)
Ze względu na formę można wyszczególnić trzy rodzaje wirusów: infektory plików, które dołączały się do programu zainstalowanego w komputerze, wirusy sektora rozruchowego, których kod jest wykonywany w pamięci komputera po jego włączeniu oraz wirusy makr, które docelowo ukrywają się skryptach programów osadzonych w plikach danych, a nie w samych programach. Wirus, po uruchomieniu, działa przeważnie niezauważony w tle i wykonuje zaprogramowane działanie.
W teorii i względnej praktyce ochroną przed działaniem i rozprzestrzenianiem się wirusów są firewalle, oprogramowanie antymalware oraz antywirus, rozpowszechniane obecnie jako kompleksowy produkt. Działanie ochronne antywirusów odbywa się poprzez skanowanie dysku twardego, w tym kodu całego zainstalowanego oprogramowania oraz pamięci RAM jednostki komputerowej w celu wskazania malware’u. Skanowanie programu antywirusowego działa na zasadzie porównania docelowego kodu z bazą danych sygnatur wirusów zaimplementowanych w programie antywirusowym. Jeżeli jednostka komputerowa zostaje zarażona wirusem, ten wchodzi w tryb infektora, tzn. zmienia kod innych plików, wówczas antywirus bada pliki, w których doszło do infekcji, a następnie przywraca je do stanu pierwotnego. Taka sytuacja zdarza się jednak przeważnie wtedy, kiedy doszło do zarażenia komputera, który nie ma zaktualizowanej bazy wirusów lub w ogóle nie ma oprogramowania wirusowego – w przypadku gdy oprogramowanie ochronne jest zainstalowane i zaktualizowane, wirus zostaje natychmiast wykryty i skasowany.
Wyjątek stanowi sytuacja, w której atak jest przeprowadzany za pomocą narzędzi, które nie mają funkcji infektora plików – np. oprogramowaniem typu ransomware, które już zainfekowało dany system operacyjny: antywirus zmienia wówczas tryb działania na leczenie. Istnieją dwa warianty biegu wydarzeń w tym trybie: pierwszy – gdy antywirus został zainstalowany na zainfekowanej jednostce, i drugi – gdy antywirus nie ma jednoznacznej pewności, że konkretny kod pełni złośliwą funkcję, tzn. oznacza go jako „podejrzany” i przechodzi do monitorowania działań kodu oraz przesyła jego próbkę do analizy. W przypadku gdy diagnoza złośliwości kodu zostaje potwierdzona, oprogramowanie wirusowe, posiłkując się danymi z kopii zapasowej danych, może przywrócić poprzedni stan, sprzed okresu monitorowania złośliwego kodu.
J.R. Cares, Malware. [w:] Encyclopedia of Cyber warfare, P.J. Springer (ed.), ABC-CLIO, Santa Barbara 2017; W. Gogołek, Komunikacja sieciowa Uwarunkowania, kategorie i paradoksy, Oficyna Wydawnicza ASPRA-JR, Warszawa 2010; O. Heen, Ch. Neumann, On the Privacy Impacts of Publicity Leaked Databases, [w:] Detection of Intrusions and Malware, and Vulnerability Assesment: 14th International Conference, M. Meier, M. Polychrnakis (ed.), Springer, Bonn 2017; A. Matrosov, E. Rodionov, S. Bratus, Rootkis and Botkits: Reversing Modern Malware and Next Generation Threats, No Starch Press, San Francisco 2019; K.A. Monnappa, Learning Malware Analysis. Explore the concepts, tools, and techniques to analyze and investigate Windows malware, Packt Publishing, Birmingham 2018; H. Sanders, J. Saxe, Malware Data Science, No Starch Press, San Francisco 2018.