Nazwa tego zagadnienia dobrze odzwierciedla funkcje jakie wykonuje ta grupa programów. Ich zadaniem jest utrudnianie pracy systemów ich użytkowników, bądź w skrajnych przypadkach niszczenie danych.Wirusy Zgodnie z definicją: wirus (ang. virus) jest to fragment kodu, który infekuje program (a nawet cały system operacyjny), aby móc się rozprzestrzeniać. Nie może pracować samodzielnie. Aby zadziałał musi być uruchomiony program-nosiciel. Wirusy są więc programami wyposażonymi w umiejętności samodzielnego replikowania oraz rozprzestrzeniania się. Proces przyłączania kodu wirusa do zawartości wybranych plików nazywany jest infekcją. Zainfekowany plik staje się nosicielem i sam może infekować inne pliki, niszcząc lub uszkadzając oprogramowanie zaatakowanego systemu. Zagrożenie wirusami wzrosło szczególnie wraz z upowszechnieniem się poczty elektronicznej. Wirusy najczęściej przebywają w pamięci jako programy rezydentne (tak zwany TSR od ang. terminate and stay resident). W ten sposób są w stanie kontrolować uruchomione programy, poprzez przechwytywanie przerywania. Ten rodzaj wirusów jest najbardziej popularny. Rzadziej spotykaną grupą są nierezydentne wirusy plikowe (nie pozostają w pamięci). W momencie uruchomienia zainfekowanego pliku, ładowane są do pamięci, znajdują sobie kolejną ofiarę, którą infekują, a następnie przekazują sterowanie programowi – nosicielowi. Ta metoda sprawia, że program przeglądający zawartość pamięci w poszukiwaniu wirusów, nie wykryje, że w takim systemie znajduje się wirus. Ostatnio spotyka się również wirusy polimorficzne. W hierarchii wirusów są one najbardziej skomplikowane Wirusy takie mogą się zmieniać, co sprawia, że są bardzo trudne do wykrycia. Programy antywirusowe najczęściej lokalizują wirusa poprzez przeszukiwanie w badanym pliku odpowiednich ciągów lub wartości (na przykład suma kontrolna, rozmiar czy data) i porównywanie ich z bazą informacji o wirusach. Wirusy polimorficzne bardzo często wykorzystują zaawansowane techniki szyfrowania, które są w stanie zmieniać wartość sumy kontrolnej, elementu świadczącego o ich obecności. Taka zmiana nazywana jest mutacją. Mutacja wirusa polega na zmianie jego rozmiarów i struktury. Jedynym sposobem walki z takimi wirusami są programy będące w stanie rozpoznać wzorce szyfrowania. Na przełomie ostatnich lat powstały tysiące nowych wirusów. Powodem tak szybkiego wzrostu ich liczby jest fakt, że do ich napisania nie jest już konieczna specjalistyczna wiedza. W Internecie możemy znaleźć łatwe w obsłudze pakiety, dzięki którym jesteśmy w stanie stworzyć w prosty sposób groźnego wirusa. Najpopularniejsze z nich to: Virus Creation Laboratories, Virus Factory czy The Windows Virus Engine. Najskuteczniejszą metodą walki z tego typu programami i zapobieganie, czyli unikanie programów pochodzących z niepewnych źródeł (na przykład ze stron poświęconym hakerom). Programy niewiadomego pochodzenia powinniśmy zawsze sprawdzać, czy nie zawierają wirusów. Zatem nasuwa się kolejna metoda obrony jaką są programy antywirusowe. W przybliżeniu co miesiąc powstaje kilkaset nowych wirusów, zatem powinniśmy pamiętać o częstym aktualizowaniu bazy danych wirusów, jaką posiadają programy antywirusowe.
Robaki Definicja robaka mówi, że: robak jest to program, który do swojego działania nie potrzebuje innych programów, zużywa na swoje potrzeby zasoby swojego gospodarza (w tym przypadku zainfekowanego komputera) i potrafi przenosić się na inne komputery. Pierwszym głośnym przypadkiem programu tego typu był robak Morrisa, który na początku listopada 1988 roku sparaliżował liczący wówczas ok. 60 tys. komputerów Internet, zatem był to atak pozbawienia usługi DoS. Autorem tego programu był Robert Morris, absolwent Cornell University, dobrze znający zagadnienia bezpieczeństwa komputerowego. Program ten spowodował kilkugodzinną przerwę w pracy około 5 tys. serwerów. Podstawowymi sposobami infekcji kolejnych komputerów były słabe hasła użytkowników (program miał wbudowany własny słownik zawierający 432 słowa, a także wykorzystywał standardowy słownik znajdujący się w każdym Uniksie w pliku /usr/dict/words), jak również błędy w oprogramowaniu systemowym. Program wykorzystywał również inne metody infekcji, na przykład niewłaściwa implementacja demona fingerd czy wykorzystanie protokołu rexec (ang. remote execution protocol – protokół zdalnego wykonywania poleceń). Robak w swoim działaniu nie był destrukcyjny, nie niszczył danych, nie próbował instalować koni trojańskich, czy różnego rodzaju bomb. Jedynym działaniem było zgadywanie haseł, rozmnażanie się i czekanie. Robert Morris przed sądem twierdził, że jego działanie nie było zamierzone i wydawał się być zdruzgotany skalą zniszczeń. Koszty usuwania zmian w systemach, które wynikły z działania programu wahały się od 200 dolarów, nawet do 53 tysięcy dolarów. Musimy jednak pamiętać, że w tamtych latach z Internetu korzystały głownie ośrodki akademickie i badawcze. W czasach współczesnych zdarzenie takie spowodowałoby straty liczone w dziesiątkach milionów dolarów. Za swój wybryk Robert Morris został skazany na 3 lata pozbawienia wolności w zawieszeniu, przepracowania 400 godzin w czynie społecznym i grzywnę w wysokości 10,5 tysięcy dolarów. Złożył apelację do tego wyroku w grudniu 1990 roku, jednak została ona odrzucona. Widzimy zatem, że konsekwencje i skala tego typu działań są bardzo poważne. Obrona przed tego rodzaju atakiem była efektem działania grupy kryzysowej, która została powołana do wyjaśnienia metody działania robaka. Obrona polegała na uniemożliwieniu dalszego rozprzestrzeniania się robaka. Stosowano zatem różne metody: odłączano sieci lokalne od Internetu, wyłączano program pocztowy, „łatano” demona fingered czy zmieniano hasła na bardziej skomplikowane.
Bomby Do omawianej grupy programów złośliwych możemy zaliczyć również różnego rodzaju bomby. Mogą to być4: bomby pocztowe, bomby logiczne (ang. logic bombs) lub bomby zegarowe (ang. time bombs). Zadaniem bomby pocztowej jest wysyłanie serii wiadomości (czasami ich liczba sięga tysięcy) do skrzynki pocztowej ofiary. Atak taki ma na celu zablokowanie skrzynki pocztowej poprzez wypełnienie ją dużą liczbą informacji „śmieciami”. Atak taki jest realizowany za pomocą specjalnych programów (na przykład Up Yours, KaBoom czy The Unabomber) automatycznie wykonujących bombardowanie wskazanej skrzynki. Obroną przed takimi programami są między innymi filtry poczty elektronicznej, popularnie nazywane killfile, za pomocą których możliwe jest odrzucanie wiadomości wysłanych od atakującego nadawcy. Innym rodzajem programów złośliwych są bomby logiczne i bomby zegarowe (nazywane również czasowymi). Tego typu programy są tak zaprojektowane, by wywołać zniszczenie, gdy spełnione zostaną konkretne warunki. Warunki mogą być zdefiniowane różnorako. Mogą to być: istnienie jakiegoś pliku, obecność konkretnego użytkownika w systemie, określony czas systemowy (taki program może na przykład sprawdzać czy jego autor ciągle figuruje na liście osób zatrudnionych w danej firmie, jeśli nie to program kasuje ważne dane). |