SZ nr 15–16/2001
z 22 lutego 2001 r.
Wirusy komputerowe
Tomasz Kobosz
Wirusy komputerowe gnębią użytkowników maszyn cyfrowych od co najmniej 17 lat, ale warunki do ich rozprzestrzeniania się i namnażania nigdy nie były tak dobre jak teraz. Globalna sieć łączy ze sobą miliony komputerów, w większości pecetów pracujących pod kontrolą Windows 9x – systemu szczególnie podatnego na zakażenie.
Podstawy wirusologii komputerowej
Klasyczny wirus komputerowy to krótki program zdolny do powielania samego siebie tylko poprzez zarażenie innego programu (gospodarza). Oczywistych analogii do wirusów biologicznych jest tu wiele. Podobnie jak w naturze, zjadliwość komputerowch drobnoustrojów jest bardzo różna. Łagodne poprzestają jedynie na bezobjawowym replikowaniu się. Inne, wyświetlają na ekranie komunikaty tekstowe lub efekty graficzne. Bardziej złośliwe zawierają procedury destrukcyjne – np. kasowanie plików na dysku twardym. Najniebezpieczniejsze potrafią nie tylko pozbawić użytkownika danych, ale także uszkodzić płytę główną komputera, monitor, a nawet drukarkę.
W czasach, gdy Internet był jeszcze mało dostępną nowością, a dominującym systemem operacyjnym był DOS, typowa infekcja wirusowa zaczynała się od włożenia zainfekowanej dyskietki do stacji dysków i uruchomienia pliku, który był nosicielem mikroba. Wirus instalował się w pamięci RAM i infekował kolejne pliki na dysku twardym i dyskietkach. Mógł też umieścić własny kod w sektorze rozruchowym dysku twardego (tzw.
bootsector), dzięki temu jedną z pierwszych czynności, jakie wykonywał system operacyjny po włączeniu komputera, było uaktywnienie wirusa. Na tym etapie użytkownik zwykle nie zauważał żadnych niepokojących objawów, zresztą jedynym, który mógłby zauważyć, była niewielka zmiana wielkości zakażonych plików, spowodowana dołączeniem do nich kodu wirusa.
Bardziej widoczne objawy infekcji pojawiały się najczęściej dopiero w momencie uaktywnienia się procedur destrukcyjnych. Gdyby jednak destrukcja następowała bezpośrednio po zakażeniu, szanse wirusa na powielanie i rozprzestrzenianie swego kodu "genetycznego" byłyby marne. Dlatego złośliwa część kodu zwykle uaktywniała się z pewnym opóźnieniem, np. w Wigilię Bożego Narodzenia. Od momentu zarażenia do wystąpienia objawów mogło więc minąć wiele miesięcy, podczas których komputer był bezobjawowym nosicielem i czynnym źródłem zakażenia.
Inwencja i perfidia autorów
malware'u (czyli złośliwego oprogramowania) nie zna granic. Niektóre wirusy (tzw.
polimorficzne) wyposażono w możliwość szyfrowania i modyfikowania własnego kodu (automutacja) – w rezultacie, kolejne generacje mikrobów różnią się od swoich "przodków", co utrudnia wykrycie zakażenia. Jeszcze sprytniej zachowują się wirusy typu
stealth (niewidzialne). Potrafią one ukryć przed programem antywirusowym nie tylko swoją obecność, ale także efekty działania (np. modyfikacje dokonane w plikach, takie jak zmiana ich wielkości i zawartości). Ich wykrycie możliwe jest zazwyczaj dopiero po uruchomieniu systemu ze "zdrowej" dyskietki ratunkowej.
Niektóre rodzaje cyfrowych intruzów nie mieszczą się w ścisłej definicji wirusa.
Robaki (worms) są samodzielnymi programami – nie infekują innych zbiorów i nie potrzebują ich do powielania swojego kodu. Nie są jednak mniej niebezpieczne od wirusów – podobnie jak one, mogą zawierać procedury destrukcyjne i z łatwością zniszczyć dane zgromadzone na dysku twardym.
Konie trojańskie z pozoru wyglądają jak zwykłe programy (użytkowe lub rozrywkowe), dlatego użytkownik sam je sobie instaluje i korzysta z nich, nieświadomy tego, że prawdziwym ich zadaniem jest np. wykradanie haseł i przesyłanie ich do autora "trojana" lub brutalne sformatowanie dysku twardego.
W ostatnich latach coraz bardziej rozpowszechnione stają się
makrowirusy. Środowiskiem, w którym się rozmnażają, są aplikacje biurowe (np. Word, Excel) wyposażone w obsługę makropoleceń w językach skryptowych (np. Visual Basic Script). Tylko nieliczna grupa najbardziej doświadczonych użytkowników pakietów biurowych korzysta z zaawansowanych możliwości makropoleceń. Za to makrowirusy – bazując na nie udokumentowanych poleceniach języka skryptowego i lukach w bezpieczeństwie interpretera skryptów – potrafią wykorzystać je do najbardziej destrukcyjnych celów, ze sformatowaniem dysku włącznie. Nosicielami makrowirusów są m.in. pliki:
*.doc, *.dot, *.xls, *.vbs, a także – niesłusznie uznawane za bezpieczne –
*.rtf. Zakażenie dokonuje się w momencie otwarcia dokumentu (jeśli użytkownik zlekceważy pojawiające się wtedy na ekranie ostrzeżenie przed włączeniem makr –
ryc. 1). Makrowirus zagnieżdża się zwykle w szablonie
normal.dot, zatem każdy kolejny zapisany dokument staje się nośnikiem infekcji.
Ryc. 1 Niehigieniczny Internet
Wprawdzie większość wirusów może rozprzestrzeniać się przez sieć, ale tylko gdy jeden użytkownik, świadomie lub niechcący, prześle drugiemu zarażony plik. Istnieje już jednak nowa rodzina mikrobów (w większości są to robaki, makrowirusy i wirusy skryptowe), które potrafią aktywnie wykorzystać Internet do własnych, niecnych celów. Jednym z pierwszych, o których było głośno, był robak
Happy99.exe. Pojawiał się on w komputerze ofiary jako załącznik e-mailowy. Uruchomienie go przez beztroskiego użytkownika powodowało wyświetlenie okienka z animacją sztucznych ogni (
ryc. 2).
Ryc. 2 Miłe oku efekty wizualne usypiały czujność użytkownika. Robak instalował się w module systemowym odpowiedzialnym za wysyłanie poczty elektronicznej, a następnie dołączał swoją kopię do każdego e-maila wysłanego przez użytkownika. Bardziej zaawansowane robaki internetowe, "podróżujące" w załącznikach pocztowych, nie czekają aż użytkownik wyśle e-mail. Same analizują zawartość książki adresowej programu pocztowego (
*.wab) i bez wiedzy użytkownika rozsyłają się do wszystkich jego korespondentów. Najsłynniejszym przedstawicielem tego gatunku jest filipiński robak skryptowy
LoveLetter. Mimo że napisano go w prostym języku Vis
ual Basic Script (fragment kodu na
ryc. 3), potrafi on nie tylko samodzielnie się rozsyłać, ale także niszczyć różne rodzaje danych, np. zdjęcia w plikach
*.jpg czy utwory muzyczne
*.mp3.
Ryc. 3 Przez długi czas uważano, że zarażenia wirusami i robakami rozsyłającymi się w postaci załączników można łatwo uniknąć, nawet bez pomocy programów antywirusowych – wystarczyło nie otwierać podejrzanie wyglądających lub przychodzących od nieznanych osób załączników. Same programy pocztowe ostrzegały przed tym wyświetlając ostrzeżenie w momencie pierwszej próby otwarcia załącznika danego typu. Niestety, ambitni twórcy wirusów znaleźli sposób na ominięcie tego zabezpieczenia. Pod koniec 2000 r. pojawił się – napisany w Polsce – robak
Romeo (znany też jako Verona lub Blebla), a niedługo potem jego uzłośliwiona wersja (niszcząca aż 23 typy danych!) –
X-Romeo. Robaki te, wykorzystując jedną z luk bezpieczeństwa klientów pocztowych MsOutlook i Outlook Express, potrafiły wymusić automatyczne otwarcie zakażonych załączników w momencie, gdy użytkownik kliknął na nagłówek e-maila (jeśli włączona była opcja podglądu treści, ale tak właśnie bywa w większości przypadków).
Wirusy wykorzystujące pocztę elektroniczną do rozprzestrzeniania się nie są jedynym rodzajem zagrożeń czyhających w Internecie. Ubocznym skutkiem rozwoju nowych technologii stosowanych do przygotowywania tzw. aktywnych stron internetowych (
ActiveX, Java, języki skryptowe) jest pojawienie się "podstępnych", choć niewinnie wyglądających, stron WWW, których samo odwiedzenie może spowodować spustoszenia na naszym dysku twardym. Nie wszystkie programy antywirusowe chronią przed tym rodzajem zagrożenia. Lepiej więc nie włóczyć się po mrocznych zaułkach Internetu, jeśli nie mamy pewności, że jesteśmy dostatecznie zabezpieczeni.
Objawy i skutki zakażenia
Skutki działania jednych wirusów mogą pozostawać niezauważalne przez długi czas, w przypadku innych – nasz komputer dosłownie "wariuje" lub "umiera" na naszych oczach. Warto jednak wiedzieć o kilku dość typowych objawach infekcji, takich jak:
- wyraźne spowolnienie pracy systemu,
- podejrzany przyrost rozmiaru plików (istnieje nawet pewien rodzaj programów ochronnych, których jedynym zadaniem jest stałe analizowanie wielkości wybranych plików na dysku),
- nagła prośba systemu o połączenie z Internetem lub niewytłumaczalnie wysoka aktywność modemu podczas połączenia (ma to miejsce np. podczas samorozsyłania się robaków e-mailowych),
- pojawienie się na dysku twardym nowych, "dziwnych" plików,
- zmniejszenie ilości wolnej DOS-owej pamięci konwencjonalnej (w rezultacie, niektóre programy nie dają się uruchomić),
- wyświetlanie na ekranie dziwnych (zabawnych lub wulgarnych) komunikatów tekstowych, np. "Your PC is stoned!" ("Twój pecet jest naćpany!"),
- uszkodzenia danych lub programów na dysku twardym,
- niemożliwość uruchomienia komputera (np. gdy wirus uszkodził sektor startowy dysku lub go sformatował).
Najbardziej makabryczne skutki infekcji wirusowej w historii mogliśmy obserwować 26 kwietnia 1999 r., podczas pamiętnej, koszmarnej wręcz epidemii wirusa
WinCIH (w Polsce znanego jako
Czarnobyl). Wirus ten potrafi uszkodzić jedną z najważniejszych części komputera – płytę główną (a dokładniej – Flash BIOS). W niektórych przypadkach usterka nie daje się naprawić i konieczna jest wymiana sprzętu. Jakby tego było mało, WinCIH kasuje też zawartość twardego dysku. Wirus ten jednego dnia uszkodził ponad 600 tys. komputerów, głównie w Azji. Sparaliżowało to pracę kilku lotnisk, kilkunastu stacji telewizyjnych i radiowych, kilkudziesięciu banków, tysięcy urzędów i firm. Straty oszacowano na kilkaset mln dolarów. Autor tego wyjątkowo niebezpiecznego mikroba – Chen Ing Hou, student Uniwersytetu Tajpej w Tajwanie – trafił za kratki. Na
ryc. 4 widoczny jest komunikat wyświetlany przez DOS-ową wersję demonstracyjną programu MKS w chwili wykrycia pliku zarażonego wirusem WinCIH.
Ryc. 4 Zapobieganie bierne
Niezależnie od tego, czy używamy oprogramowania antywirusowego, czy nie, warto stosować kilka – przedstawionych poniżej – ogólnych zasad bezpieczeństwa. Może to znacznie ograniczyć mnożenie i rozprzestrzenianie się wirusów, a także zminimalizować przykre skutki infekcji.
- Pamiętaj, że nic i nigdy nie zabezpiecza cię w 100%.
- Jak najczęściej wykonuj kopie zapasowe najważniejszych danych. Jeśli twój komputer wyposażony jest tylko w jeden dysk twardy, zapisuj kopie danych na dyskietkach lub innym nośniku zewnętrznym.
- Rzadziej używane, ale cenne dane, przechowuj w spakowanych archiwach.
- Włącz sprzętowe zabezpieczenie antywirusowe w BIOS-ie płyty głównej (wprawdzie mało skuteczne, ale i tak warto).
- Nie ufaj nikomu. Wirusy można spotkać nawet na oryginalnych dyskietkach ze sterownikami do sprzętu, nie mówiąc już o pirackich kopiach gier i programów.
- Zablokuj możliwość programowej modyfikacji Flash-BIOS-u (zwykle służy do tego odpowiednia zworka lub mikroprzełącznik – sprawdź w instrukcji do swojej płyty głównej).
- Nie pozostawiaj dyskietek w stacji dysków, a jeśli się to zdarzy – wyjmij ją przed ponownym włączeniem komputera.
- Kolejność uruchamiania dysków w BIOS ustaw na "C:, A:" lub "C: only". Najniebezpieczniejsze jest ustawienie "A:, C:".
- Odbezpieczaj dyskietki tylko wtedy, gdy rzeczywiście chcesz coś na nich zapisać.
- Nie otwieraj podejrzanych załączników e-mailowych, zwłaszcza tych z rozszerzeniami: .exe, .com, .pif, .doc, .dot, .vbs.
- Pamiętaj, że praktycznie nie ma już bezpiecznych typów plików. Nawet pliki *.php mogą być nosicielami wirusów skryptowych. Co gorsza – wirusy opanowały też pliki *.pif. Problem polega na tym, że system Windows (w większości sytuacji) nie wyświetla w nazwie pliku rozszerzenia .pif. Dlatego niegroźnie wyglądający zbiór nazwa.txt, w rzeczywistości może być plikiem nazwa.txt.pif i zawierać np. wirusa MTX. Ryc. 5 przedstawia ten sam plik widoczny przez DOS i Windows 98 – dopiero pod DOS-em można zauważyć, że jego prawdziwa nazwa brzmi: wirus.txt.pif.
Ryc. 5
- Regularnie uruchamiaj programy do "konserwacji" dysku twardego (np. Norton Disk Doctor i Speed Disk).
- Popraw widoczność plików, włączając w ustawieniach folderów opcję "Pokaż wszystkie pliki" i wyłączając "Ukrywaj rozszerzenia plików znanych typów" (ryc. 6). Opcje te są standardowo ustawione niekorzystnie, tak jakby twórcom systemu Windows zależało na tym, aby użytkownik wiedział jak najmniej o tym, co się dzieje na jego dysku twardym.
Ryc. 6
- Nie igraj z wirusami! Nie ściągaj ich z Internetu w celach testowo-edukacyjnych, a okazy schwytane żywcem – bezlitośnie zabijaj.
- Zapoznaj się z bezpieczniejszymi niż Windows (i w dodatku darmowymi!) systemami operacyjnymi (np. Linux). Być może, kiedyś będziesz w stanie się "przesiąść".
- Przygotuj dyskietkę ratunkową, gdy jeszcze nie jest za późno.
Większość programów antywirusowych oferuje możliwość stworzenia takiej dyskietki, ale można też wykonać ją samemu. Dyskietka spreparowana samodzielnie może okazać się przydatna nie tylko w walce z wirusami, ale też w wielu innych sytuacjach kryzysowych (np. gdy zajdzie potrzeba reinstalacji systemu). Ważne jest, aby w momencie jej tworzenia mieć pewność, że komputer nie jest zarażony żadnym wirusem, a szczególnie jednym z wirusów bootsectora. Rozpoczynamy od włożenia do napędu czystej dyskietki. Następnie klikamy na ikonkę
"Mój komputer",
potem jeszcze raz, z tym że prawym przyciskiem myszki – na
"Dyskietkę A:" i wybieramy
"Formatuj".
W opcjach ustawiamy pełny tryb formatowania oraz funkcję
"Kopiuj pliki systemowe" (
ryc. 7).
Ryc. 7Najlepiej przygotować w ten sposób od razu dwie dyskietki. Na jednej należy dodatkowo umieścić programy
fdisk.exe, format.exe i
scandisk.exe (znajdziemy je w folderze
C:windowscommand), a na drugiej – niewielki, DOS-owy program antywirusowy (np. MKS dla DOS). Idealnym wyjściem byłoby umieszczenie wszystkiego na jednej dyskietce, ale niewielka objętość dyskietek (1,44 MB) na to nie pozwala.
Zapobieganie czynne i leczenie
Nie ma wątpliwości co do tego, że najskuteczniejszą metodą walki z wirusami komputerowymi jest stosowanie programów antywirusowych. Na rynku dostępnych jest kilkanaście tego typu programów. Ich ceny wahają się od 0 do 1500 zł. Szczegółowe omówienie zalet i wad każdego z nich znacznie wykroczyłoby poza ramy tego artykułu (zainteresowanych odsyłam do obszernego testu antywirusów autorstwa Sebastiana Kuniszewskiego pt.
"Przychodzi program do lekarza", w miesięczniku "Chip" nr 10/2000). Ograniczę się do kilku ogólnych wskazówek, które mogą być pomocne w wyborze i konfiguracji takiego programu.
Typowy program antywirusowy składa się z co najmniej dwóch modułów –
skanera i
rezydentnego monitora.
Skaner, uruchamiany ręcznie przez użytkownika, przegląda w poszukiwaniu mikrobów zawartość wskazanych partycji lub katalogów na dysku twardym. Warto uruchamiać go co najmniej raz w tygodniu, najlepiej z włączoną opcją skanowania wszystkich plików, niezależnie od ich typu i rozszerzenia oraz skanowania wewnątrz spakowanych archiwów, takich jak
*.zip, *.arj, *.rar itp. (
ryc. 8 – konfiguracja skanera darmowego programu Inoculate
IT).
Ryc. 8Nie jest istotne, czy skaner jest szybki, czy wolny. Ważne jest, ile wirusów potrafi wykryć i usunąć przywracając – o ile jest to możliwe – pierwotną zawartość zakażonych plików. Najlepsze programy rozpoznają ok. 98% z 50-60 tys. mikrobów istniejących "w przyrodzie". Wg testu miesięcznika "Chip", najlepiej pod tym względem spisują się programy: Kaspersky AntiViral ToolKit Pro (AVP), F-Secure AntiVirus 4.08 i PC-Cillin 2000.
Rezydentny monitor działa cały czas (w tle) i bada każdy plik (o zadanym typie) otwierany lub kopiowany przez użytkownika, a także bootsectory używanych dyskietek. Monitory niektórych programów analizują też zawartość odwiedzanych stron WWW i ściąganych z internetu plików, w tym załączników e-mailowych. W momencie wykrycia wirusa monitor blokuje dostęp do zarażonego pliku i pyta się użytkownika, co ma z intruzem zrobić (program McAfee wyświetla przy tym efektowną animację schwytanego za gardło robaka –
ryc. 9). Najbezpieczniej jest wybrać opcję
"Clean" (leczenie pliku) lub
"Delete" (kasowanie pliku wraz z wirusem). W przypadku monitora bardzo istotna jest szybkość działania, gdyż nawet najlepsze spowalniają system o co najmniej kilka procent.
Ryc. 9Zarówno skaner, jak i monitor rozpoznają wirusy na dwa sposoby. Pierwszy to porównanie kodu wirusa z sygnaturami (definicjami) znanych mikrobów przechowywanymi w bazie danych programu. Drugi, mniej skuteczny, polega na symulowanym uruchomieniu i analizie zachowania badanego kodu pod kontrolą programu antywirusowego. Jest to tzw.
analiza heurystyczna, która umożliwia wykrycie nowo powstałych wirusów, zanim jeszcze ich sygnatury trafią do bazy danych, lub – co ważniejsze – zanim aktualna baza sygnatur trafi do użytkownika. Istotną zaletą pakietu antywirusowego jest możliwość automatycznego pobierania z internetu uaktualnień bazy sygnatur. Ważne jest nie tylko to, jak często producent udostępnia nowe definicje, ale także to, czy można je pobierać w małych porcjach, gdyż tylko wtedy nie jest to kłopotliwe. Wymagania te dobrze spełniają np. pakiety AVP i PC-Cillin 2000, oferując niewielkie uaktualnienia niemal codziennie.
Sposób
leczenia skutków infekcji bywa bardzo skomplikowany i ściśle zależy od tego, który wirus zaatakował. Odzyskanie danych nie zawsze jest możliwe. Czasem jedynym rozsądnym posunięciem jest sformatowanie dysku twardego. Fachowe opisy postępowania w konkretnych przypadkach, a także obszerną encyklopedię wirusów, można znaleźć np. na stronie producenta jedynego rdzennie polskiego pakietu antywirusowego – MKS (
www.mks.com.pl).
Uciążliwe hoaxy
Wirusów nie wolno lekceważyć, na szczęście jednak trafiają one do naszych skrzynek e-mailowych stosunkowo rzadko. Znacznie częściej (w przypadku naszej redakcji – niemal codziennie) otrzymujemy tzw.
hoaxy, czyli ostrzeżenia przed nie istniejącymi wirusami. Cechą charakterystyczną fałszywego ostrzeżenia jest prośba o przesłanie go do możliwie dużej liczby osób – rzekomo w trosce o ich bezpieczeństwo. Początkujący internauci, głęboko przejęci misją ratowania świata przed "straszliwą zarazą", rozsyłają fałszywe alarmy do kogo się tylko da, co pozwala hoaxom krążyć po internecie całymi miesiącami, w milionach egzemplarzy, doprowadzając do wściekłości osoby, które otrzymują je np. po raz dwudziesty szósty...
Nie rozsyłajmy fałszywych alarmów! Jeśli trafi do nas ostrzeżenie, wystarczy wejść na stronę dowolnego producenta programów antywirusowych i sprawdzić tam, czy nie jest to hoax. Wygodnym rozwiązaniem jest zaprenumerowanie e-mailowego biuletynu na temat wirusów. Godny polecenia jest polskojęzyczny biuletyn MKS-a. Raz na parę dni do naszej poczty e-mailowej trafi wiarygodny raport o nowych wirusach oraz zbliżających się datach uaktywnienia się niebezpiecznych mikrobów atakujących z opóźnieniem. Autorzy biuletynu bezlitośnie demaskują też krążące po sieci hoaxy!
Tomasz Kobosz
Najpopularniejsze artykuły
10 000 kroków dziennie? To mit!
Odkąd pamiętam, 10 000 kroków było złotym standardem chodzenia. To jest to, do czego powinniśmy dążyć każdego dnia, aby osiągnąć (rzekomo) optymalny poziom zdrowia. Stało się to domyślnym celem większości naszych monitorów kroków i (czasami nieosiągalną) linią mety naszych dni. I chociaż wszyscy wspólnie zdecydowaliśmy, że 10 000 to idealna dzienna liczba do osiągnięcia, to skąd się ona w ogóle wzięła? Kto zdecydował, że jest to liczba, do której powinniśmy dążyć? A co ważniejsze, czy jest to mit, czy naprawdę potrzebujemy 10 000 kroków dziennie, aby osiągnąć zdrowie i dobre samopoczucie?