Wirusy, konie trojańskie, robaki internetowe itp. to specyficzna grupa programów, bynajmniej nie użytkowych. Malware (malicious = złośliwy + software = oprogramowanie), to ogólnie przyjęte określenie zbiorcze na programy, które w złej intencji udostępniają, zmieniają lub usuwają dane zarażonego komputera. Są zazwyczaj niewielkie, co utrudnia ich wykrycie, ale w kodzie zawierają funkcje i polecenia mogące zaszkodzić właścicielowi zarażonego komputera - od szpiegowania i przechwytywania danych osobistych po usuwanie plików z dysku. Dzieli się je na trzy podstawowe grupy: trojany (konie trojańskie), robaki i wirusy. W szerszym sensie określenie malware obejmuje też programy typu spyware oraz dialery.
Rootkit
Rootkit - narzędzie pomocne we włamaniach do systemów informatycznych. Ukrywa on niebezpieczne pliki i procesy, które umożliwiają utrzymanie kontroli nad systemem.
Historycznie rootkity były paczkami (ang. kit) zawierającymi zmodyfikowane kluczowe binaria systemowe w systemach uniksowych (inetd, sshd, ps), które zastępowały oryginalne tuż po dokonaniu włamania. Dzięki modyfikacjom w oryginalnym kodzie binaria z rootkita np. nie pokazywały wybranych procesów lub umożliwiały logowanie na roota za podaniem specjalnego hasła.
Rootkit infekuje jądro i usuwa ukrywane programy z listy procesów oraz plików zwracanych do programów. Rootkit może np. ukryć siebie oraz trojana przed administratorem oraz oprogramowaniem antywirusowym. Ukrywanie odbywa się najczęściej przez przejęcie wybranych funkcji systemu operacyjnego, służących np. listowaniu procesów lub plików w katalogu, a następnie "cenzurowaniu" zwracanych przez te funkcje wyników tak, by ukrywane przez rootkit nazwy nie znajdowały się na wynikowej liście.
Istnieją rootkity dla różnych systemów operacyjnych m.in. Microsoft Windows, Solarisa i Linuksa. Rootkity mogą działać w trybie użytkownika (usermode) lub systemu operacyjnego (kernel-mode).
Rootkit może się dostać do komputera użytkownika wraz z aplikacją będącą w rzeczywistości trojanem.
Wykrywanie Rootkit-ów
Rootkity w postaci pliku binarnego są wykrywane przez większość programów antywirusowych, ale tylko do momentu ich uruchomienia w systemie.
Wykrycie rootkita w zarażonym systemie jest skrajnie trudne, ponieważ rootkit jest w stanie kontrolować pracę nawet narzędzi specjalizowanych do jego wykrywania i oszukiwać je tak, by błędnie informowały użytkownika, że system jest czysty. Takie techniki stosowała m.in. komercyjna wersja Antidetection rootkita Hacker Defender[1] do początku 2006 roku, kiedy projekt został zamknięty.
Do wykrywania rootkitów stosuje się najczęściej technikę porównania krzyżowego (ang. cross-checking), w którym porównujemy listę plików w katalogu zwróconą przez API systemu operacyjnego oraz odczytaną bezpośrednio z systemu plików. Analogicznie weryfikuje się rejestr w Windows (wynik z API oraz bezpośrednio z pliku rejestru). W zdrowym systemie oba wyniki powinny być identyczne, rekordy istniejące na drugiej liście a nie zwrócone przez API są prawdopodobnie ukrywane przez rootkit.
Inna metoda to porównywanie kodu programów binarnych lub bibliotek dynamicznych (DLL) na dysku oraz po załadowaniu ich do pamięci operacyjnej. W części przypadków modyfikacja kodu wykonywalnego w pamięci operacyjnej jest wynikiem działania rootkita (metoda "System Virginity").
Ze względu na fakt, że w zarażonym systemie rootkit może kontrolować praktycznie wszystkie kroki narzędzia próbującego go wykryć, jedyną skuteczną metodą jest sprawdzenie zakażonego dysku tradycyjnym, sygnaturowo-heurystycznym programem antywirusowym, ale z systemu uruchomionego z pewnego, zewnętrznego nośnika (np. z LiveCD). Anti Rootkit Software, News, Articles and Forums (ENG) lub Rootkit na śniadanie
Trojan (koń trojański)
Podstępny program komputerowy zawierający ukryte procedury, umożliwiające jego autorowi komunikację i czasem wręcz przejęcie kontroli nad zainfekowanym komputerem. Metody ukrywania szkodliwych funkcji są przeróżne. Czasem polecenia potrafią być podpięte pod wiersz poleceń administratora systemu, czasem trojany przychodzą pocztą w formie skryptów, wygaszaczy ekranu lub udostępniane są do pobrania przez Internet pod nazwami znanych gier, programów lub cracków. Uruchomienie takiego załącznika, programu powoduje natychmiastową infekcję systemu.
Robak
Robaki rozpowszechniają się przez sieci komputerowe lub pocztą elektroniczną:
Robak sieciowy
Robak może infekować komputery zdalnie, przez sieć komputerową. Skanując porty komputera wynajduje słabe punkty systemu, konfiguracji lub zabezpieczeń i wykorzystuje je aby wedrzeć się do systemu - przykładem jest robak Sasser wykorzystujący błąd przepełnienia bufora w usłudze Local Security Authority Subsystem Service (LSASS). W 2004 roku Sasser zainfekował w ten sposób rekordowe ilości komputerów.
Robak pocztowy
Wysyła się jako załącznik do poczty elektronicznej. Może wykorzystywać w tym celu domyślny program pocztowy, ale zazwyczaj posiada wbudowany własny silnik poczty wychodzącej, a adresy mailowe pobiera z książek adresowych programów pocztowych lub wyszukuje je w plikach tekstowych. Poza generowaniem ruchu w sieci i absorbcją zasobów systemowych robaki mogą wyrządzać inne szkody, w zależności od woli autora. Typowymi przedstawicielami gatunku są Bagle i Netsky, najpopularniejsze wirusy w roku 2004.
Wirus
Wirusy to programy zajmujące się reprodukcją i przenoszeniem się na inne komputery. Infekują pliki lub bootsektory nośników danych. Przemieszczają się niezauważone na dyskietkach, dyskach, przez sieci komputerowe (także Peer-to-Peer), pocztą elektroniczną lub przez zwykłe pobieranie plików z Internetu. Umieszczają swoje kopie w różnych miejscach na dysku i działają na różne sposoby. Rozróżniamy następujące grupy wirusów:
Wirus bootsektorowy
Jest to szczególnie uciążliwy typ wirusa, na szczęście obecnie zdarza się już rzadko. Atakuje Master Boot Record dysku twardego lub dyskietki, umieszczając się tuż przed nim. W ten sposób do pamięci wczytywany jest najpierw wirus, a dopiero potem bootsektor. W ten sposób wirus niepostrzeżenie przenika do systemu i będzie uruchamiał się za każdym startem komputera z zarażonego dysku. Kod wirusa często pozostaje w pamięci komputera. Takie wirusy nazywamy rezydentnymi. Takie wirusy rozprzestrzeniają się głównie na dyskietkach, przeszły więc wraz z dyskietkami do historii. Wirusy bootsektorowe potrafiły być bardzo niebezpieczne - najgroźniejsze potrafiły uszkodzić dysk.
Wirus plikowy
Wirusy plikowe popularne niegdyś, dziś pojawiają się sporadycznie. Infekcja polega na doczepienie się do pliku uruchamialnego. Czasem wirus pozostawia plik żywiciela nietknięty, instalując się tuż przed lub tuż za nim, często jednak dochodzi do uszkodzenia pliku właściwego. W tym przypadku program antywirusowy nie jest w stanie przywrócić pliku do działania - może tylko usunąć go wraz zagrożeniem.
Makrowirus
Makrowirusy też infekują pliki, ale innego rodzaju. Pisane są w języku Visual Basic i doczepiają się do dokumentów programów obsługujących język makr, np. Microsoft Access, Excel czy Word. Poza tym w mechanizmach działania nie różnią się od wirusów plikowych.
Wirus Stealth
Niektóre wirusy wyposażone są w specjalne mechanizmy umożliwiające im ukrycie się przed programami antywirusowymi. Przejmują w tym celu kontrolę nad różnymi funkcjami systemowymi, a jeżeli to się uda, są w stanie oszukać skaner antywirusowy i nie wykazać obecności wirusa przy próbie dostępu do zarażonego pliku. Aby funkcjonować, wirus stealth musi rezydować w pamięci operacyjnej. W mechanizmy stealth wyposażone są często inne rodzaje wirusów.
Wirus polimorficzny
Wirusy polimorficzne tworząc kolejne swoje kopie modyfikują pewne parametry - nazwę, rozmiar itp. aby utrudnić wykrycie kolejnych infekcji. W tym celu fragmenty kodu wirusa są zaszyfrowane. Modyfikacje polegają m.in. na zmianie kolejności wykonywanych poleceń (np. poprzez losowanie). W ten sposób powstają miliardy wariantów jednego wirusa. Aby skutecznie wykrywać tego typu wirusy, nie wystarczy zastosowanie klasycznych sygnatur wirusów. Potrzebne są do tego specjalne, osobne procedury lub programy.
Wirus pocztowy
Wirusy pocztowe to modna obecnie mieszanka cech (Blended threats = zmiksowane zagrożenie) trojanów, robaków i wirusów. Możliwe dzięki temu jest stworzenie wirusa infekującego komputer już w momencie podglądania wiadomości pocztowej w formacie HTML. Dzieje się to z powodu błędu w zabezpieczeniach przeglądarki internetowej Microsoft Internet Explorer.
Fałszywy alarm
Często w Internecie krążą wiadomości o rzekomym, bardzo groźnym wirusie. Zazwyczaj autor namawia do przesłania maila do wszystkich znajomych w celu ostrzeżenia. Znamy takie metody z modnych swojego czasu listów-łańcuszków. Ogólnie chodzi chyba o wzbudzenie niepotrzebnej paniki i wywołanie niepotrzebnego ruchu w sieci.
Backdoor
Wielu administratorów sieci korzysta z procedur nasłucmałyących do zdalnego łączenia się z komputerami. Nie ma w tym nic złego, ale te same metody w rękach twórców wirusów umożliwiają zdalne łączenie się z zainfekowanymi komputerami i wykonywanie operacji na plikach, bez wiedzy ich właścicieli i użytkowników. Wystarczy, że wirus pozostawi otwarte tylne drzwi (backdoor), np. w postaci otwartego portu TCP.
Spyware
To grupa programów zajmująca się szpiegowaniem użytkowników. Potajemnie rejestrują procesy i czynności wykonywane na komputerze i przesyłają je do autora, lub serwera. Dane wykorzystywane są do analizowania zachowań użytkownika podczas pracy z Internetem, np. w celu dopasowania wyświetlanych odpowiednich banerów reklamowych. Istnieją programy wykrywające i usuwające spyware.
Dialer
Dialery instalują się w komputerze równie niepostrzeżenie jak wirusy. Potrafią przekierować połączenie Internetowe typu dial-up na droższy numer. Skutkuje to niezasłużenie wysokimi rachunkami za telefon. Istnieją nawet specjalne programy chroniące przed plagą dialerów.
Spam
Wiadomości masowe, niechciana poczta, propaganda elektroniczna - czyli po prostu spam. Dotyka to każdego użytkownika poczty elektronicznej. Nowoczesne programy antyspamowe stosują statyczne i statystyczne metody (analiza treści i filtry samouczące, np. Bayes Theorem) wykrywania i filtrowania niechcianej poczty.
Phishing
Phishing to określenie na działalność polegającą na wysyłaniu rzekomo w imieniu banków i innych instytucji, próśb o podanie prywatnych danych: nazwa użytkownika, hasło, numer karty kredytowej itp. Zaproszenie do przekazania danych zazwyczaj przychodzi pocztą elektroniczną z linkiem do fałszywej strony banku lub innej instytucji. Niestety coraz więcej osób daje się na to nabrać. Więcej informacji na ten temat można znaleźć na anglojęzycznej witrynie poświęconej tej tematyce: Anti-Phishing Working Group.