O wirusach i... Y2K R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski s-rg@siwy.il.pw.edu.pl
Miłe złego początki... Wirusy komputerowe były do roku 1983 sprawą bardziej teoretyczną niż praktyczną. Przełomowym momentem było opublikowanie przez Cohena wyników prac prowadzonych na uniwersytecie w Cincinati. Wirus komputerowy zaburza kod programów zapisanych i wykonywanych w systemie komputerowym. podmienia on niewielkie fragmenty programów zapisanych i wykonywanych w systemie przejmuje sterowanie systemem zwykle w nieograniczony sposób powiela swój kod. 2 08
Co to jest wirus i... jak! Wirus komputerowy to fragment programu, którego głównym celem jest powielanie własnego kodu i dołączanie go do innych programów. łatwo jest dokonać pewnych porównań między medycyną i komputerami, jeśli komputer porównamy do żywej komórki. Do podstawowych przyczyn zarażania wirusem zaliczamy: pożyczanie dyskietek innym użytkownikom, uruchamianie kopiowanych nielegalnie nielicencjonowanych programów udostępnianie własnego komputera innym użytkownikom 3 08
Klasyfikacja wirusów 4 08 Generalnie wirusy możemy podzielić na dwie kategorie: plikowe, które używają innych programów jako swoich nosicieli, dyskowe -zarażające dyskietki niezależnie od ich zawartości (aktywizują się one po włączeniu komputera). Innymi złośliwymi programami mylonymi z wirusami są: bomba, czyli program, który proponuje użytkownikowi zabawny pokaz, w trakcie którego niszczy zasoby dyskowe, koń trojański, który udając użyteczny program po pewnym czasie zdobywa zaufanie użytkownika, a następnie po spełnieniu określonych warunków ujawnia swoją niszczycielską naturę.
Wirusy dyskowe Wirusy dyskowe wykorzystują fakt, że każdy dysk i dyskietka w systemie DOS mają na początku niewielki program ładujący: w przypadku dyskietki systemowej służy on do załadowania systemu na dyskietce z danymi informuje on, że nie ma tam systemu. Wirusy dyskowe przenoszą program ładujący w inne miejsce a na jego miejscu zapisują swój własny kod. 5 08
Wirusy plikowe Wirusy plikowe najczęściej doklejają się do innych programów. Możliwe są dwa warianty ich działania: wirus rozpoczyna działalność natychmiast po uruchomieniu programu-nosiciela i usiłuje sobie znaleźć kolejną ofiarę; wirus zachowuje się bardziej agresywnie kopiując swój kod do pamięci i instalując się rezydentnie w systemie; dzięki temu zapewnia sobie uaktywnienie, ilekroć użytkownik odwoła się do systemu operacyjnego. 6 08
Objawy infekcji Najczęstszymi objawami infekcji wirusem są: powiększenie rozmiarów plików zmniejszenie wolnego obszaru na dysku i pamięci operacyjnej zwolnienie szybkości pracy komputera, różnego rodzaju efekty uboczne: rysunki, melodyjki itp., nieprawidłowości w pracy systemu takie jak: znikające i pojawiające się pliki, nietypowe komunikaty o błędach, zawieszanie się komputera, wzmożona aktywność operacji dyskowych. 7 08
Podejście do wirusów Najczęściej spotykane podejścia do wirusów to: szybkie poznanie zasad działania wirusa, a następnie tworzenie programu zwalczającego go, tzw. szczepionki, próba łapania wirusa w trakcie jego działania i tworzenie programów zwanych blokerami, których ideą jest bieżąca kontrola pracy systemu operacyjnego i informowanie o nieprawidłowościach przyjęcie założenia, że nowego wirusa nie można za wczasu rozpoznać ani złapać -o jego obecności można się przekonać po efektach działania; programy realizujące to to tzw. szperacze. 8 08
Jak nie złapać wirusa nie kradnij oprogramowania: kradzione nie tuczy a może zarazić, zaopatrz się w aktualny pakiet antywirusowy, każdą obcą dyskietkę sprawdź programem antywirusowym, PC to komputer osobisty, ogranicz możliwość korzystania z Twojego sprzętu nawet przez osoby najbardziej godne zaufania, uruchamiaj codziennie program antywirusowy, kilka minut jego pracy pozwoli Ci ocalić tygodnie wysiłku, wykonuj zapasowe kopie programów i danych, 9 08
Stosuj rutynowo bez wyjątku nie spiesz się z kasowaniem starych wersji: mogą się okazać jedynymi zdrowymi i nie zniszczonymi, posiadaj zabezpieczoną przed zapisem dyskietkę z systemem operacyjnym i programem antywirusowym, zabezpieczaj przed zapisem dyskietki, których nie będziesz zapisywać, nie używaj programów niewiadomego pochodzenia, zwracaj uwagę na nienormalne i nietypowe zachowanie komputera. 10 08
Y2K (1) Mimo iż sformułowanie Problemu Roku 2000 jest bardzo proste, jego rozwiązanie będzie (było?) najprawdopodobniej największym wyzwaniem przełomu XX i XXI wieku. Projekt Y2K (skrót od Year 2000, czyli Rok 2000), polegający na dostosowaniu urządzeń i oprogramowania do poprawnej pracy tuż przed i po roku 2000, będzie prawdopodobnie kosztować (kosztował?) ponad 600 miliardów USD. Istniało poważne ryzyko, że wiele firm na świecie zbankrutuje, a cały świat dotknie recesja. 11 08
Y2K (2) Problem zrodził się około dwudziestu lat wstecz, gdy programiści komputerowi zmuszeni byli do maksymalnego oszczędzania, bardzo kosztownej wtedy, pamięci komputerowej. Stąd, w naturalny sposób, pojawiła się idea używania dwóch cyfr dla zapisu roku w dacie. Idea, która przerodziła się w masowy, wieloletni zwyczaj stosowany przez miliony programistów na całym świecie. Dla przykładu: Rok 1980 był zakodowany w pamięci komputera za pomocą dwóch cyfr: 80 i podobnie 1998 jako 98. Jak widać, pozwoliło to dwukrotnie zaoszczędzić miejsce w pamięci, konieczne do zapisania roku. 12 08
Y2K (3) 13 08 Logika, jaką kierowali się programiści, podpowiadała im, że ich programy nie będą już używane po 2000 roku. W większości sytuacji tak się faktycznie stało - stare systemy zostały zastąpione nowymi. Nie przewidziano jednak, że podstawowa zasada programowania, doprowadzi do największej zarazy" oprogramowania w naszym stuleciu. Zasada ta to ponowne użycie kodu źródłowego". Podczas tworzenia programu, dąży się do maksymalnego wykorzystania kodów źródłowych programów napisanych wcześniej, ponieważ nie potrzebują one testowania. Każdy świeżo napisany program posiada błędy, które są zgłaszane przez użytkowników i poprawiane.
BIOS Najczęstszą przyczyną Problemu Roku 2000 w komputerach PC był problem związany z BIOS em (Basic Input/Output System). To właśnie BIOS jest odpowiedzialny za dostarczanie podstawowych informacji potrzebnych przy starcie ("boot owaniu") komputera. W BIOS ie zawarte są również informacje dotyczące aktualnej daty oraz godziny. 14 08
System operacyjny Gdy w roku 1984 projektowany był pierwszy IBM PC, inżynierowie nie brali pod uwagę problemu zmiany stulecia (do roku 2000 pozostało wtedy 16 lat), ponieważ znacznie istotniejszym problemem była oszczędność pamięci komputera. Również w późniejszych konstrukcjach problem nie został rozwiązany, częściowo również dzięki tendencji do bazowania na poprzednich rozwiązaniach i utrzymaniu zgodności z nimi. Z tego powodu większość starszych systemów niepoprawnie interpretuje przejście z 1999 do 2000 roku. 15 08
Kłopoty poczciwego DOS a MS-DOS 6.22 Polecenie DATE nie przyjmuje lat z zakresu 00-79 Polecenie DIR wyświetla lata w postaci dwucyfrowej Polecenie MSBACKUP Rozwiązanie: niestety nie stworzono żadnego patcha (poprawki systemu operacyjnego), który rozwiązałby problemy z datami. Najprawdopodobniej nigdy taki patch nie zostanie stworzony przez Microsoft, ponieważ DOS jest systemem starym, nie rozwijanym i nie wspieranym przez producenta. 16 08
Windows 3.1 Windows 3.1 Wszelkie problemy w Windows wynikają z faktu, iż Windows 3.1 oraz 3.11 są tylko nakładkami na DOS. W panelu sterowania nie można ustawić daty 29.02.2000. Rozwiązanie: niestety nie stworzono jeszcze żadnego patcha, który rozwiązałby problemy z datami. Microsoft jednak bada problem. 17 08
Windows 95 Windows 95 Polecenie DATE tak jak w DOS 6.22 Program File Manager źle wyświetla daty powyżej roku 2000 Polecenie Find działa niepoprawnie Rozwiązanie: Należy ściągnąć patch ze strony ftp.microsoft.com/softlib/mslfiles/win95y2k. EXE 18 08
Rodzinka NT WINDOWS NT Workstation 4.0, NT Server 4.0 Program User Manager nie traktuje roku 2000 jako przestępnego, nie obsługuje daty 29.02.2000 Problemy z ustawieniami daty w Control Panel u Błąd w polach daty programu Find W programie Windows Explorer przy modyfikacji własności plików MS Office w polu data wyświetlane są tylko dwie ostatnie cyfry interpretowane jako 19xx 19 08
Ważne daty (krytyczne...) Daty krytyczne Problem roku 2000 często utożsamiany jest z problemem zmiany stulecia przez systemy komputerowe, tzn. przejściem z dnia 31 grudnia 1999 roku na 1 stycznia 2000. Jednak takie podejście do problemu jest nieporozumieniem, a w konsekwencji może doprowadzić do ogromnych kłopotów nawet już przed rokiem 2000. 20 08
Inne problemy... Efekt Croucha Echlina polega na przypadkowych przeskokach daty i czasu, pojawiających się przypadkowo przy uruchomieniu komputera lub urządzenia z wbudowanym mikroprocesorem po 1 stycznia 2000 r. Dodajmy, że kłopoty te mogą się pojawiać po przeprowadzeniu wszystkich niezbędnych modyfikacji i napraw, które miały na celu uniknięcie skutków problemu roku 2000. 21 08
Koniec problemów? Nieoczekiwana, samoczynna zmiana daty i czasu nie jest jedynym symptomem efektu Croucha Echlina; Może się on również wiązać z utratą części konfiguracji systemu, z nie rozpoznawaniem przez system zainstalowanych urządzeń. Winę za całe to zamieszanie ponosi zegar RTC/CMOS, który może przekazywać nieprawidłowe informacje o dacie i czasie do BIOS. 22 08
23 08
24 08