T: Profilaktyka antywirusowa.
Obrona przed szkodliwym oprogramowaniem:
- instalacja oprogramowania antywirusowego, włączona zapora sieciowa (firewall),
- aktualizacja oprogramowania,
- nie otwieranie załączników poczty elektronicznej niewiadomego pochodzenia,
- czytanie okien instalacyjnych aplikacji,
- wyłączenie makr w MS Excel i Word,
- regularne całościowe skany systemu programem antywirusowym,
- przy płatnościach drogą elektroniczną upewnienie się, że transmisja danych będzie szyfrowana.
Do złośliwego oprogramowania należą:
- Wirusy - programy lub fragment wrogiego wykonalnego kodu, który dołącza się, nadpisuje lub zamienia inny program w celu reprodukcji samego siebie bez zgody użytkownika. Ze względu na różne rodzaje infekcji wirusy dzielą się na:
- wirusy gnieżdżące się w boot sektorze twardego dysku (boot sector viruses).
- wirusy pasożytnicze (parasitic viruses).
- wirusy wieloczęściowe (multi-partite viruses).
- wirusy towarzyszące (companion viruses).
- Makro wirusy (macro viruses).
- Robaki - wirusy rozmnażające się tylko przez sieć. Nie potrzebują programu "żywiciela" tak jak typowe wirusy. Często powielają się pocztą elektroniczną.
- Wabbit - program rezydentny nie powielający się przez sieć. Wynikiem jego działania jest jedna określona operacja np. powielanie tego samego pliku aż do wyczerpania zasobów pamięci komputera.
- Trojan - nie rozmnaża się jak wirus, ale jego działanie jest równie szkodliwe. Ukrywa się pod nazwą lub w części pliku, który użytkownikowi wydaje się pomocny. Oprócz właściwego działania pliku zgodnego z jego nazwą, trojan wykonuje operacje w tle szkodliwe dla użytkownika np. otwiera port komputera, przez który może być dokonany atak hakera.
- Backdoor - przejmuje kontrolę nad zainfekowanym komputerem umożliwiając wykonanie na nim czynności administracyjnych łącznie z usuwaniem i zapisem danych. Podobnie jak trojan, backdoor podszywa się pod pliki i programy, z których często korzysta użytkownik. Umożliwia intruzom administrowanie systemem operacyjnym poprzez Internet. Wykonuje wtedy zadania wbrew wiedzy i woli ofiary.
- Spyware - oprogramowanie zbierające informacje o osobie fizycznej lub prawnej bez jej zgody. Występuje często jako dodatkowe i ukryte komponenty większego programu, odporne na usuwanie i ingerencję użytkownika. Spyware zmienia wpisy do rejestru systemu operacyjnego i ustawienia użytkownika. Potrafi pobierać i uruchamiać pliki pobrane z sieci. Rodzaje programów spyware:
- Scumware,
- Stealware/Parasiteware,
- Adware,
- Hijacker Browser Helper Object.
- Exploit - kod umożliwiający zdalne przejęcie kontroli nad komputerem poprzez sieć, wykorzystując do tego celu dziury w programach i systemach operacyjnych.
- Rootkit - jedno z najniebezpieczniejszych narzędzi hakerskich. W najnowszych wersjach potrafi zagnieździć się nawet w pamięci flash BIOS-u płyty głównej. W takim wypadku nie usunie go z komputera nawet całkowite formatowanie dysku twardego. Podstawowym zadaniem rootkita jest ukrywanie procesów określonych przez hakera, a zmierzających do przejęcia kontroli nad komputerem użytkownika.
- Keylogger - występuje w dwóch postaciach: programowej i sprzętowej. Odczytuje i zapisuje wszystkie naciśnięcia klawiszy użytkownika. Dzięki temu adresy, kody, cenne informacje mogą dostać się w niepowołane ręce. Pierwsze programowe keyloggery były widoczne w środowisku operacyjnym użytkownika. Teraz coraz częściej są procesami niewidocznymi dla administratora.
- Dialery - programy łączące się z siecią przez inny numer dostępowy niż wybrany przez użytkownika, najczęściej są to numery o początku 0-700 lub numery zagraniczne. Dialery szkodzą tylko posiadaczom modemów telefonicznych analogowych i cyfrowych ISDN, występują głównie na stronach o tematyce erotycznej.
- SQL/URL injection - forma ataku na bazę danych poprzez stronę WWW i komendy języka SQL. Służy wyciąganiu informacji z bazy danych niedostępnych dla zwykłego użytkownika. Atakujący może zmodyfikować zapytanie kierowane do bazy danych poprzez modyfikację adresu URL o nieautoryzowane polecenia języka SQL.
Mniej szkodliwe złośliwe oprogramowanie to:
- fałszywe alarmy dotyczące rzekomo nowych i groźnych wirusów (ang. hoaxes); fałszywy alarm to także rzekome wykrycie zainfekowanego pliku, które powodują programy antywirusowe z wysokim poziomem skanowania heurystycznego,
- żarty komputerowe, robione najczęściej nieświadomym początkującym użytkownikom komputerów.
Istnieje wiele programów służących do zwalczania pojedynczych tego typu problemów. Mało natomiast jest pakietów zapewniających całościową ochronę. Po angielsku określane są one jako programy typu internet security. Łączą one funkcje programu antywirusowego, firewalla, programu blokującego spam, blokad stron o niepożądanej treści oraz wielu innych modułów zapewniających bezpieczeństwo użytkownika.
Pierwsze wirusy komputerowe dla IBM PC pojawiły się już w 1986 r., ale jeszcze dwa lata później wiele postaci świata informatycznego wątpiło w ich istnienie. Peter Norton (wg „Patologii wirusów komputerowych” Davida Ferbra-che’a) nazwał wirusy komputerowe wielkomiejskim mitem i porównał ich istnienie z historiami o krokodylach w kanałach Nowego Jorku. Ta opinia dość dobrze oddaje stan wiedzy na temat wirusów w środowisku komputerowym u progu lat dziewięćdziesiątych. Sytuacja zmieniła się dopiero kilka lat później, po odkryciu wykreowanego przez media na pierwszą gwiazdę przemysłu informatycznego, wirusa Michael Angelo. Dzięki nagłośnieniu jego istnienia i masowej akcji ostrzegawczej Michael Angelo wywarł pozytywny wpływ i uświadomił milionom użytkowników komputerów na całym świecie grożące im (oraz ich danym) niebezpieczeństwo.
W ciągu minionych kilku lat zainteresowanie wirusami komputerowymi znacznie spadło. Wielu użytkowników oswoiło się z możliwością infekcji i nauczyło się minimalizować jej skutki. Niestety, w dalszym ciągu liczne grono osób korzystających z komputerów, co gorsza również na stanowiskach kierowniczych, nie zdaje sobie sprawy z potencjalnego zagrożenia. Grupa ta traktuje informacje i ostrzeżenia pojawiające się w środkach masowego przekazu jako wyssane z palca bądź uważa, że wirusy komputerowe są wyłącznie problemem użytkowników nielegalnego oprogramowania i samych „piratów”. Niestety, większość ludzi zaczyna wierzyć w istnienie wirusów dopiero po odkryciu ich we własnym komputerze. Ale wtedy jest już za późno...
Wirus komputerowy to niewielki program powielającym się poprzez zarażanie zbiorów wykonywalnych, jednostek alokacji plików lub sektora startowego nośnika danych (HDD, FDD) oraz dokumentów stworzonych za pomocą pakietów biurowych takich jak MS Office. Ogólna nazwa "wirus" kryje cztery zasadnicze rodzaje programów:
- Wirusy, których ogólna definicja pokrywa się z podaną wyżej.
- Konie trojańskie - wirusy te ukrywają się w pożytecznym (na pozór) oprogramowaniu, jak np. program antywirusowy czy przeglądarka plików graficznych. Program tego typu po jego uruchomieniu oprócz wykonywania swoich "oficjalnych" zadań dokonuje także spustoszenia w systemie.
- Bomby logiczne - rodzaj wirusa, który może pozostać w ukryciu przez długi czas. Jego aktywacja następuje w momencie nadejścia określonej daty lub wykonania przez użytkownika określonej czynności, takiej jak np. skasowanie określonego pliku.
- Robaki (worms) - małe, ale bardzo szkodliwe wirusy. Do prawidłowego funkcjonowania nie potrzebują nosiciela. Rozmnażają się samoistnie i w sposób ciągły, powodując w bardzo krótkim czasie wyczerpanie zasobów systemu. Wirusy tego typu są zdolne w bardzo krótkim czasie sparaliżować nawet dość rozległą sieć komputerową.
Szczegółowa klasyfikacja wirusów:
Wirusy plikowe (tzw. "zwykłe", file viruses) to najstarsza rodzina tych programów. Każdy wirus przed dokonaniem szkód najpierw ulega replikacji, dlatego rozwój "przemysłu" wirusowego wiąże się z wynajdywaniem nowych nosicieli. Początkowo na atak wirusów tego typu narażone były tylko pliki wykonywalne (*.exe, .com) oraz wsadowe (*.bat). Rozwój technologii wirusów powiększył grono zagrożonych plików o zbiory zawierające fragmenty kodu, biblioteki, sterowniki urządzeń (*.bin, *.dll, *.drv, *.lib, *.obj, *.ovl, *.sys, *.vxd).
Zasada działania:
Infekcja następuje poprzez dopisanie kodu wirusa na końcu pliku (wirusy starsze) lub modyfikację jego początku i dopisanie kodu w środku lub na końcu (wirusy nowsze, atakujące niewykonywalne pliki). Załadowanie zainfekowanego pliku do pamięci jest równoznaczne z uaktywnieniem wirusa. Wiele wirusów nie niszczy zaatakowanego pliku, dzięki czemu może po aktywacji wykonać program nosiciela, tak że użytkownik niczego nie podejrzewa.
Wirusy sektora startowego dysku (wirusy boot sektora, boot sector viruses). Innym nosicielem wirusa może być sektor startowy nośnika danych, takiego jak dysk twardy (MBR - Master Boot Record) czy dyskietka (Boot sector). Wirusy tego typu są szczególnie groźne. Wynika to z faktu, iż po uruchomieniu komputer próbuje wczytać system, który jest zapisany w pierwszym sektorze dysku lub dyskietki. Należy mieć świadomość, że każda sformatowana dyskietka, nawet nie zawierająca plików systemowych, posiada boot sektor, a więc jako taka może zawierać wirusa.
Zasada działania:
Wirus tego typu może ulokować się w MBR i np. zniszczyć jego zawartość, uniemożliwiając tym samym dostęp do dysku. W innym przypadku wirus przenosi kod
inicjujący system z sektora startowego w inny obszar dysku i zajmuje jego miejsce, co powoduje jego załadowanie jeszcze przed startem systemu, a więc także przed uruchomieniem jakiegokolwiek oprogramowania antywirusowego. Działanie tego typu umożliwia wirusom przejęcie kontroli nad oprogramowaniem przeznaczonym do ich zwalczania.
Wirusy FAT (wirusy tablicy alokacji plików, link/FAT viruses). Do replikacji wirusy mogą także wykorzystywać jednostki alokacji plików (JAP), na jakie tablica FAT dzieli DOS-ową partycję dysku twardego. W celu uzyskania dostępu do pliku DOS odszukuje w FAT numer jego pierwszej jednostki alokacji, po czym kolejno (zgodnie z FAT) wczytuje wszystkie jednostki zajmowane przez plik.
Zasada działania:
Wirusy atakujące JAP zmienia wartość pierwszej JA jednego lub wielu plików na numer wskazujący JA kodu wirusa. Wczytanie takiego pliku powoduje uruchomienie wirusa, który w dalszej kolejności może, ale nie musi, załadować właściwy program (w tym celu musi zapamiętać oryginalny numer jego pierwszej JAP).
Makrowirusy należą do najmłodszej rodziny wirusów. Ich powstanie związane jest z wprowadzeniem do pakietów biurowych (np. MS Office, Lotus SmartSuite czy Corel WordPerfect) języków pozwalających na tworzenie makr, takich jak np. Visual Basic for Applications (VBA).
Zasada działania:
Większość makrowirusów Worda wykorzystuje fakt, że szablony dokumentów mogą zawierać makra. Wirus uaktywnia się w chwili otwarcia zainfekowanego dokumentu, po czym zaraża zdrowe zbiory z rozszerzeniem *.doc i zapisuje je jako szablony (dokumenty nie mogą zawierać makr). W ostatnim kroku jedno
lub kilka automatycznie wykonywanych makr zostaje zastąpionych kodem wirusa.
Wirusy typu stealth i wirusy polimorficzne (stealth&polymorphic viruses). W zasadzie wszystkie wymienione wcześniej wirusy mogą (choć nie muszą) należeć do tej grupy. Ich powstanie związane jest z postępem w dziedzinie ich wykrywania. W pierwszych latach obecności wirusów każdy miał swoją sygnaturę (charakterystyczny tylko dla siebie ciąg bajtów). Sytuacja zmieniła się, gdy Bułgar o pseudonimie Dark Avenger opracował metodę pozwalającą tworzyć wirusy samo mutujące się.
Wirusy polimorficzne nie mają stałej sygnatury, ponieważ ich kod zmienia się samoczynnie przy każdej infekcji. Wirusy stealth są to wirusy, które podczas próby dostępu do zarażonego pliku lub sektora dysku przez program antywirusowy potrafią "w locie", chwilowo naprawić uszkodzone dane i zatuszować swą obecność.
Profilaktyka antywirusowa. Nie ma zasad, gwarantujących pełną ochronę przed wirusami. Istnieją jednak reguły, pozwalające zminimalizować ryzyko zarażenia, a w razie infekcji zmniejszające skutki działań niszczących wirusa. Wyróżniamy dwie uzupełniające się metody walki z
wirusami:
- obrona bierna - polegająca na maksymalnym ograniczeniu skutków działania wirusów poprzez niedopuszczenie do powstania logicznych usterek systemu zbiorów oraz robienie kopii zapasowych,
- obrona czynna - polegająca na zastosowaniu programów antywirusowych.
Podstawową zasadą jest posiadanie dobrego pakietu antywirusowego składającego się z wielu modułów o różnych funkcjach. Przy wyborze oprogramowania antywirusowego należy zwracać uwagę, czy posiada ono następujące elementy:
- Skaner użytkownika (tzw. "ręczny", On-demand scanner) - podstawowy moduł, występujący we wszystkich typach oprogramowania. Umożliwia skanowanie plików przez użytkownika w wybranym przez niego momencie. Standardem jest kontrola zbiorów skompresowanych.
- Skaner rezydentny - skaner, który pracuje w tle przez cały czas. Do jego zadań należy bieżąca kontrola wszystkich uruchamianych plików, otwieranych dokumentów czy wkładanych dyskietek. Powinien posiadać funkcję skanowania plików ściąganych z Internetu.
- Terminarz - pozwala na zaprogramowanie pakietu tak, aby szukał wirusów o określonej porze, np. w nocy. Dodatkowo oprogramowanie antywirusowe powinno umożliwiać generowanie raportów z bieżącej pracy. Bardzo ważne jest także, aby skaner wykorzystywał najnowsze metody wyszukiwania, takie jak np. heurystyczna metoda wykrywania wirusów (Chroni przed wirusami polimorficznymi, polega na analizie kodu pliku i symulacji jego wykonania. Pozwala na wykrycie operacji charakterystycznych dla wirusów, takich jak np. próba bezpośredniego dostępu do dysku.), czy sumy kontrolne.
Programy antywirusowe są najsilniejszym narzędziem, jakie powstało w celu walki z wirusami. Od momentu pojawienia się pierwszego wirusa powstał cały szereg różnorodnego oprogramowania. Istniejące i ciągle rozwijające się programy ułatwiają ochronę systemu przed inwazją, szybkie jej wykrycie i w większości przypadków usunięcie skutków.
Programy antywirusowe możemy podzielić na następujące grupy funkcjonalne:
- Blokery - są to jedyne programy, próbujące przeciwdziałać inwazji. Zasadą ich działania jest monitorowanie poczynań uruchamianych programów i w przypadku odkrycia "podejrzanych" operacji alarmowanie użytkownika i pozostawianie mu decyzji o dalszym działaniu. Jest to znakomita metoda, ale jak każda posiada oczywiście swoje wady. Jedną z nich jest przede wszystkim mała skuteczność, gdyż nowe wirusy bardzo często posiadają mechanizmy uniemożliwiające wyodrębnienie z nich operacji "podejrzanych". Kolejną wadą jest zajmowanie części zasobów komputera - pamięci operacyjnej oraz obciążanie w jakimś stopniu procesora. Ostatnią wadś jest to, iż programy owe mają tendencję do częstego "mylenia się" co związane jest z "fałszywym alarmem".
- Programy diagnostyczno-leczące - ta grupa programów opiera się na poszukiwaniu na dysku i w pamięci znanych już wirusów i w przypadku wykrycia (na podstawie charakterystycznych algorytmów zawartych w plikach) - usuwaniu skutków infekcji. Są to programy najczęściej stosowane i chyba najbardziej przydatne w profilaktyce. Niestety są nieskuteczne w przypadku zainfekowania nieznanym wirusem bądź wtedy, gdy wirus zadziała natychmiast po zainfekowaniu komputera i dokona nieodwracalnych zniszczeń. Do programów tego typu zaliczamy, już chyba legendę programów antywirusowych - Mks_Vir-a, autorstwa Marka Sella.
- Programy sprawdzające sumy kontrolne plików - istotą tej grupy programów jest zakładanie bazy danych, zwierających pewne cechy zbiorów dyskowych i newralgicznych obszarów dysków. Te programy, przez systematycznym stosowaniu, umożliwiają wykrycie źródła infekcji, a czasem odzyskanie pozornie bezpowrotnie straconych informacji.
W chwili uruchamiania zainfekowanego programu rozpoczyna się dwu fazowy etap działania wirusa. Pierwszy to maksymalne rozmnożenie wirusa polegające na umieszczeniu kodu wirusa w kolejnych miejscach systemu. Miejsca te są zależne od typu wirusa. Druga faza to destrukcyjne działanie wirusa. Najczęściej aktywowana ona jest w wyniku wystąpienia konkretnych warunków, głównie określonych przez twórców (np. wirus Czarnobyl, który uaktywniał się 26 dnia każdego miesiąca na pamiątkę wybuchu w elektrowni w Czarnobylu). Działanie wirusów jest różnorodne głównie zależne od pomysłowości i fachowości jego twórców. Najbardziej szkodliwe są wirusy niszczące nasze dyski twarde, unieruchamiające nasze systemy, kasujące biosy itp. Atak może polegać na:
- powolnym, zauważalnym dopiero po pewnym czasie, dokonywaniu zmian pojedynczych bajtów zapisywanych na dysku,
- bardzo niebezpiecznych, bo trudnych do szybkiego zauważenia, drobnych uszkodzeń logicznych systemowych zbiorów, prowadzących do powstania wielu zbiorów o różnych początkach, lecz tym samym fizycznie końcu,
- zniszczeniu na dysku obszarów systemowych w sposób uniemożliwiający odczyt zawartej na nim informacji,
- wykonywaniu formatowania całego dysku lub części jego ścieżek,
- spowolnienie pracy komputera,
- zniekształcenie wyświetlanej na ekranie informacji, obejmujące większość ekranu lub jego niewielką, selektywną część np. na trudnym do zauważenia przestawienia dwóch cyfr w każdej czterocyfrowej liczbie wyświetlanej na ekranie,
- próbie uszkodzenia sprzętu - drukarki, monitora, napędu dysku elastycznego lub dysku twardego.