Wirusy komputerowe - podstawy

Wyobraź sobie, że włączasz komputer - i nic. Przyczyną może być na przykład wirus atakujący bootsektor w rodzaju Parity.B. Ten prastary wirus z roku 1992 może skutecznie unieruchomić komputer pracujący pod kontrolą systemu operacyjnego Windows NT i z systemem plików NTFS.

Wyobraź sobie, że włączasz komputer - i nic. Przyczyną może być na przykład wirus atakujący bootsektor w rodzaju Parity.B. Ten prastary wirus z roku 1992 może skutecznie unieruchomić komputer pracujący pod kontrolą systemu operacyjnego Windows NT i z systemem plików NTFS.

Jeszcze bardziej nieprzyjemne mogą być robaki, szczególnie takie, które wyszukują luki zabezpieczeń Windows. Klez i Bugbear pokazały, że dostęp do wielu serwerów przypomina szeroko otwarte wrota stodoły. Wygląda na to, że administratorzy nie nadążają z instalacją łat, lub, co również prawdopodobne, testują je najpierw na ograniczonej liczbie wybranych systemów w celu sprawdzenia, czy poprawki Microsoftu same w sobie nie są zagrożeniem. Nawet Linux nie jest tak bezpieczny, za jaki uchodzi, co udowodniło masowe pojawienie się robaka Slapper, który zainfekował wiele serwerów Apache.

Mimo wszystkich, ciągle udoskonalanych taktyk ataku, natury technicznej czy psychologicznej, użytkownik nie jest bezradny wobec nieproszonych gości. Pokażemy, jak funkcjonują różne rodzaje złośliwych tworów i jak można się przed nimi bronić.

Budowa wirusów

Objazd - wirus umieszcza na początku programu-gospodarza rozkaz skoku, przejmując w ten sposób kontrolę nad dalszym wykonywaniem.

Objazd - wirus umieszcza na początku programu-gospodarza rozkaz skoku, przejmując w ten sposób kontrolę nad dalszym wykonywaniem.

Wirusy to programy, które same się powielają i w ten sposób rozprzestrzeniają się. Potrzebują do tego celu gospodarza, którego kod manipulują w ten sposób, by były regularnie uruchamiane, choćby dla realizacji swoich szkodliwych funkcji. Wirus komputerowy składa się zwykle z trzech modułów: procedury infekującej, procedury kopiującej i procedury statusu.

Część infekująca to podstawowy składnik wirusa komputerowego. Wyszukuje ona odpowiedni do roli gospodarza program i zaraża go. Oprócz tego moduł ten zawiera warunek aktywacji (trigger) i procedurę niszczycielską (payload). Aby uniknąć przedwczesnego rozpoznania, wirus próbuje zamaskować wszystkie podejrzane aspekty swojego działania. Może to polegać nawet na zatrzymaniu wszystkich aktywnych programów antywirusowych.

Procedura kopiująca przenosi kod wirusa do innych programów-gospodarzy. Ta część wirusa może dodatkowo przechowywać dane z programów przemieszczonych przez wirusa, np. z bootsektora lub MBR.

Trzeci moduł, tzw. procedura statusu, służy do kontroli i ma zapobiegać wielokrotnemu zarażaniu. Z reguły ta część wirusa dodaje do pliku-gospodarza znacznik w postaci bitu, który informuje wirusa o tym, czy plik jest już zarażony, czy też nie.

W razie infekcji wirus przykleja się do kodu programu-gospodarza i umieszcza na jego początku rozkaz skoku. Przy uruchomieniu zarażonego pliku rozkaz ten uruchamia przyklejonego wirusa. Może on teraz wykonać swoje instrukcje, a na koniec przekazuje kontrolę z powrotem właściwemu programowi, który dalej pracuje już normalnie. Dlatego właśnie użytkownik z reguły nic nie zauważa.

Jak wirus dostaje się do komputera?

Jak wirus może dostać się do twojego komputera? Najpierw otrzymujesz skądś - na dyskietce, płycie CD lub z Internetu - plik programu lub dokument zawierający makro, w którym jest ukryty wirus.

Gdy uruchomisz program lub otworzysz plik, wirus stanie się aktywny. Potrafi tak umieścić się w systemie, że aktywuje się automatycznie przy każdym uruchomieniu komputera - jak choćby makrowirusy szablonu normal.dot. który Word ładuje przy każdym uruchomieniu. Wirusy w postaci plików infekują pliki programów, które Windows wykonuje automatycznie przy każdym starcie systemu. Wirusy bootsektora aktywują się automatycznie już w chwili włączenia komputera.

Z punktu widzenia ochrony antywirusowej decydujące znaczenie ma zapobieganie przedostaniu się do komputera. Jak długo wirus nie jest uruchomiony, nie może wyrządzić szkód. W jaki więc sposób wirusy uruchamiają się po raz pierwszy?

Drogi infekcji

W przypadku makrowirusów programów Microsoftu sprawa jest prosta: makra są częścią dokumentów Office. Niektóre z nich, jak AutoOpen, Excel, Word czy Access wykonują się automatycznie w chwili otwarcia dokumentu. A sam makrowirus zagnieżdża się - w najprostszym przypadku - w makrze AutoOpen.

Wirusy bootsektora uaktywniają się przy starcie systemu tylko wtedy, gdy zainfekowana dyskietka przez przypadek znajduje się w napędzie. Jeżeli komputer próbuje uruchomić się z dyskietki, aktywuje wirusa. Najprostsza ochrona - wyłącz w BIOS-ie uruchamianie systemu z dyskietki. W razie potrzeby łatwo z powrotem włączyć tę funkcję.

Wirusy typu multipartite i droppery omijają to proste zabezpieczenie - wirusy multipartite wykorzystują jednocześnie wiele z dotychczas znanych technik, są na przykład jednocześnie wirusami plików i bootsektora. Droppery to proste programy, które przy starcie systemu zapisują wirusa bootsektora w obszarze systemowym twardego dysku lub dyskietki. Są nawet makrowirusy, których procedura niszcząca polega na zainstalowaniu klasycznego wirusa bootsektora.

Joe Wells i jego WildList - stan na grudzień 2002 według częstotliwości występowania

Joe Wells i jego WildList - stan na grudzień 2002 według częstotliwości występowania

W przypadku wirusów plików sprawa jest stosunkowo prosta - otrzymujesz skądś zainfekowany program i uruchamiasz go. W ten sposób uaktywniasz wirusa, który infekuje kolejne pliki lub instaluje się w systemie. Na koniec wirus uruchamia oryginalny program, więc nie zauważasz jego obecności - przynajmniej na razie.

Lista "przebojów"

Spośród ponad 20 000 różnych wirusów zaledwie ułamek funkcjonuje w przestrzeni publicznej, a więc ma znaczenie dla użytkowników komputerów PC.

Amerykanin Joe Wells zbiera od roku 1993 raporty z całego świata poświęcone atakom wirusów. Co miesiąc publikuje zestawienie, które nazwał WildList ( http://www.wildlist.org ). Około stu różnych wirusów odpowiada za 99 procent wszystkich ataków. Można zauważyć, że upowszechnienie Internetu sprawia, że nowe wirusy częściej pojawiają się na liście i szybciej z niej znikają.

W grudniu 2002 roku liczba makrowirusów na WildList znacznie się zmniejszyła. Drugą młodość przeżywają wirusy plików, zapewne w związku z łatwym rozpowszechnianiem w załącznikach poczty elektronicznej. Z drugiej strony, łatwo je znaleźć i usunąć. Długi żywot mają wirusy bootsektora, które przez całe lata mogą trwać niezauważone na dyskietkach.


Zobacz również