54 Â
WIAT
N
AUKI
Styczeƒ 1998
K
omputerowe wirusy przenikn´-
∏y do kultury masowej równie
skutecznie jak do Êwiatowej po-
pulacji komputerów. Wskutek po∏àczo-
nej z l´kiem fascynacji, którà budzà for-
my ˝ycia stworzone przez cz∏owieka,
takie jak choçby Frankenstein wymyÊlo-
ny przez Mary Shelley, wirusy sta∏y si´
tematem mitów, ˝artów, popularnych
programów telewizyjnych i filmów. Nie
doczeka∏y si´ jednak dotychczas powa˝-
niejszego opracowania naukowego.
Wiele rozpowszechnionych wyobra-
˝eƒ na ich temat bierze si´ z oczywistych
i zarazem g∏´bokich biologicznych ana-
logii: komputerowe wirusy replikujà si´
przez do∏àczanie swojego kodu do ko-
du nosiciela (programu lub komputera,
b´dàcych tu odpowiednikami ˝ywej ko-
mórki) i wykorzystanie jego mo˝liwo-
Êci do kopiowania samych siebie. Infek-
cje mogà byç tylko nieprzyjemne, zda-
rzajà si´ jednak fatalne w skutkach.
Komputerowe wirusy przenikajà z pro-
gramu do programu i z komputera do
komputera. Podobnie zachowujà si´
prawdziwe: najpierw namna˝ajà si´
w jednym organizmie, potem atakujà
pozosta∏e. Istniejà równie˝ inne kompu-
terowe „patogeny”, takie jak robaki ata-
kujàce od czasu do czasu sieci kompute-
rowe oraz tzw. konie trojaƒskie, których
mniej lub bardziej z∏oÊliwy kod jest ma-
skowany przez przyjazny wyglàd. Naj-
cz´stszà przyczynà komputerowych do-
legliwoÊci sà jednak obecnie wirusy.
Dla nas i naszych kolegów z Thomas
J. Watson Research Center w IBM ana-
logie biologiczne okaza∏y si´ bardzo po-
mocne w zrozumieniu mechanizmów
rozprzestrzeniania si´ komputerowych
wirusów w skali globalnej i znajdowa-
niu metod obrony. Wykorzystanie wy-
ników badaƒ prowadzonych od dzie-
si´cioleci przez epidemiologów mate-
matyków pozwoli∏o nam zrozumieç, ja-
kie czynniki decydujà o szybkoÊci roz-
przestrzeniania si´ wirusów. Poszuku-
jàc efektywnej metody wykrywania
wirusów i zwiàzków mi´dzy nimi, opie-
raliÊmy si´ cz´sto na technikach wyszu-
kiwania wzorców opracowanych przez
biologów informatyków. ObmyÊlajàc
strategie obrony przed patologicznym
oprogramowaniem, inspirowaliÊmy si´
ponadto funkcjonowaniem uk∏adu od-
pornoÊciowego kr´gowców i jego zdu-
miewajàcà zdolnoÊcià do unieszkodli-
wiania i niszczenia patogenów.
Rodowodu komputerowych wirusów
mo˝na doszukaç si´ w pracach nad ma-
tematycznymi modelami samorepliku-
jàcych si´ automatów, prowadzonych
Walka
z komputerowymi wirusami
Podobieƒstwa mi´dzy wirusami komputerowymi a prawdziwymi
pomagajà programistom obmyÊlaç skuteczne metody obrony
Jeffrey O. Kephart, Gregory B. Sorkin, David M. Chess i Steve R. White
JANA BRENING
Â
WIAT
N
AUKI
Styczeƒ 1998 55
przez Johna von Neu-
manna w latach czter-
dziestych naszego stule-
cia. Jednak, chocia˝ ide´
programów mogàcych
infekowaç komputery
sformu∏owano ju˝ w la-
tach siedemdziesiàtych,
pierwszy dobrze udoku-
mentowany przypadek
rozprzestrzenienia si´
komputerowego wirusa
zdarzy∏ si´ dopiero w
paêdzierniku 1987 roku.
Wtedy to w University of
Deleware na kilkudzie-
si´ciu dyskietkach wy-
kryto fragment kodu na-
zwanego póêniej „Brain” („Mózg”).
Dzisiaj komputerowe wirusy atakujà co
najmniej milion komputerów rocznie.
U˝ytkownicy tracà w tym czasie kilka-
set milionów dolarów na antywiruso-
we programy i us∏ugi. Liczby te gwa∏-
townie wzrastajà.
Wi´kszoÊç wirusów atakuje kompu-
tery osobiste (PC). Do dziÊ powsta∏o
ponad 10 tys. wirusów, a codziennie
pozbawieni skrupu∏ów programiÊci wy-
puszczajà oko∏o szeÊciu nowych. Szcz´-
Êliwie rozprzestrzeni∏a si´ jedynie garst-
ka. Istniejà trzy g∏ówne grupy wirusów
dzia∏ajàcych na PC (w innych systemach
te kategorie sà podobne): atakujàce pro-
gramy, atakujàce dyski oraz makrowiru-
sy. Mniej wi´cej 85% znanych wirusów
infekuje pliki zawierajàce programy
u˝ytkowe, takie jak arkusze kalkulacyj-
ne czy gry. Gdy u˝ytkownik uruchamia
program, najpierw wykonuje si´ kod
wirusa. Instaluje si´ on gdzieÊ w pami´-
ci komputera i mo˝e zaka˝aç kolejne
programy uruchamiane przez u˝ytkow-
nika. Po ulokowaniu si´ w systemie wi-
rus oddaje sterowanie programowi no-
siciela, u˝ytkownik zaÊ pozostaje zu-
pe∏nie nieÊwiadomy faktu, ˝e w jego
systemie pojawi∏ si´ nowy program. No-
siciel mo˝e dotrzeç do innego kompute-
ra przez wymian´ dyskietek lub sieç.
Replikacja trwa.
Wirusy dyskowe, stanowiàce oko∏o
5% populacji znanych wirusów na PC,
umieszczajà si´ w specjalnych obsza-
rach dysku, których zawartoÊç (za-
zwyczaj programy odpowiedzialne za
za∏adowanie systemu) jest zawsze wczy-
tywana i wykonywana po uruchomie-
niu komputera. Tak zainstalowany wi-
rus dyskowy mo˝e infekowaç ka˝dà
dyskietk´ umieszczonà w komputerze.
Ponadto zara˝a twardy dysk, b´dzie si´
wi´c uaktywniaç po ka˝dym w∏àcze-
niu komputera. Wirusy dyskowe sà wy-
jàtkowo skuteczne. Mimo ˝e jest ich
stosunkowo niewiele,
rozpowszechniajà si´
znacznie szybciej ni˝
te, które atakujà pro-
gramy.
Trzecià kategorià sà
makrowirusy. Sà nie-
zale˝ne od systemu
operacyjnego i ataku-
jà pliki, które zwykle
sà uwa˝ane za dane, a
nie za programy. Wie-
le arkuszy kalkulacyj-
nych, baz danych, edy-
torów tekstów mo˝e
wykonywaç tzw. ma-
kroinstrukcje. Auto-
matyzujà one rozma-
ite prace, poczàwszy
od wpisywania d∏ugich sekwencji zna-
ków po wykonywanie skomplikowa-
nych ciàgów cz´sto powtarzanych ob-
liczeƒ. Twórcy wirusów tworzà makra,
które do∏àczajà si´ do innych dokumen-
tów. Makrowirusy rozprzestrzeniajà si´
znacznie szybciej od innych „zaraz-
ków”, poniewa˝ wiele osób wymienia
mi´dzy sobà „pliki danych” (na przy-
k∏ad w grupie osób pracujàcych nad
wspólnym dokumentem). „Concept”,
pierwszy wirus tego typu, zosta∏ wy-
kryty w Êrodowisku Word for Windows
w koƒcu 1995 roku i jest obecnie najbar-
dziej rozpowszechnionym wirusem na
Êwiecie. Dzisiaj znamy ju˝ ponad 1000
takich wirusów.
Oprócz podstawowego kodu repli-
kacyjnego wirusy mogà zawieraç
dowolny wybrany
przez swoich twór-
ców. Niektóre ogra-
niczajà si´ do wy-
Êwietlenia jakiejÊ
wiadomoÊci lub ob-
razka, inne mogà
celowo niszczyç pro-
gramy i dane. Na-
wet jeÊli intencje
twórcy wirusa nie
by∏y szczególnie z∏e,
to i tak jego dzie∏o
mo˝e siaç zniszcze-
nie w systemach, których konfiguracja
jest inna, ni˝ za∏o˝y∏. Na przyk∏ad wi-
rus „Form”, który zazwyczaj ogranicza
si´ do wywo∏ywania raz w miesiàcu nie-
wielkiego ha∏asu, zamazuje jeden sek-
tor w obszarze g∏ównego katalogu dys-
ku. Starym komputerom PC nie czyni
to wi´kszej szkody, dla nowych jest
jednak zabójcze, poniewa˝ majà innà
organizacj´ przechowywanej na dysku
informacji.
Antywirusowa technika
Programy antywirusowe zacz´to two-
rzyç zaraz po wykryciu pierwszych wi-
rusów. Ju˝ na samym poczàtku wy∏o-
ni∏y si´ dwa podejÊcia do problemu.
Ogólne programy antywirusowe nad-
zorujà prac´ systemu operacyjnego pod
kàtem zachowaƒ charakterystycznych
dla wirusów (zmiany w pewnych bar-
dzo wa˝nych plikach lub fragmentach
pami´ci operacyjnej). Od czasu do cza-
su mogà one sprawdzaç, czy w progra-
mach nie zasz∏a jakaÊ podejrzana zmia-
na. Potrafià wykrywaç zupe∏nie nowe
wirusy, ale sà wra˝liwe na fa∏szywe
alarmy, poniewa˝ pewne ca∏kowicie
poprawne dzia∏ania programów mogà
wziàç za infekcj´.
W przeciwieƒstwie do antywiruso-
wych programów ogólnych skanery
przeszukujà programy, sektory starto-
we dysków i pami´ç operacyjnà kom-
putera, aby wykryç konkretne ciàgi baj-
tów charakterystycznych dla znanych
wirusów. By zachowaç skutecznoÊç,
muszà byç aktualizowane po wykryciu
ka˝dej nowej rodziny wirusów, ale za
to o wiele rzadziej wszczynajà fa∏szywe
alarmy. Sygnatury wirusów (ciàgi baj-
tów charakterystycznych) sà bardzo
krótkie: zazwyczaj jest to od 16 do 30
bajtów wybranych z kilku tysi´cy two-
rzàcych pe∏ny kod wirusa. (Podobnie
biologiczne receptory immunologiczne
ograniczajà si´ do rozpoznawania cià-
gów zawierajàcych od oÊmiu do pi´t-
nastu aminokwasów z tysi´cy zawar-
tych w bia∏ku wirusa.) Wyszukiwanie
drobnego fragmentu wirusa jest znacz-
nie bardziej wydajne od lokalizowania
pe∏nego kodu. Co wi´cej, fragment mo-
˝e byç wspólny dla wielu ró˝nych wiru-
sów. Wi´kszoÊç skanerów antywiru-
sowych korzysta z algorytmów dopa-
sowywania wzorców, które mogà szu-
kaç wielu wzorców jednoczeÊnie. Naj-
lepsze z nich potrafià w czasie krótszym
KOMPUTEROWE WIRUSY przekroczy∏y ju˝ licz-
b´ 10 tys. Zaledwie kilkaset spoÊród nich rozprze-
strzeni∏o si´ po ca∏ym Êwiecie. Na ilustracjach efek-
towne pokazy dzia∏ania ekranowych wirusów:
„Chada”, „Walkera” i „Rescue”, którym nigdy nie
uda∏o si´ zakaziç wi´kszej liczby komputerów.
ni˝ 10 min sprawdziç 10 tys. plików pod
kàtem wyst´powania jednej z 10 tys.
sygnatur.
JeÊli wirus zostanie wykryty, trzeba
go usunàç. Najprostsza, brutalna, ale
skuteczna metoda polega na zwyk∏ym
wymazaniu zaka˝onego programu, po-
dobnie jak uk∏ad odpornoÊciowy nisz-
czy zaka˝one komórki. Pojedyncze ko-
mórki organizmu sà ∏atwe do zastà-
pienia. Niestety nie dotyczy to progra-
mów komputerowych i zbiorów da-
nych. Program antywirusowy stara si´
wi´c naprawiaç zaka˝one pliki, a nie eli-
minowaç je. (Na szcz´Êcie wirusy, aby
pozostaç nie zauwa˝one i si´ repliko-
waç, nie mogà znacznie uszkodziç pro-
gramu, w którym si´ zagnieêdzi∏y.)
JeÊli skaner wykryje znanego sobie
wirusa, mo˝e dzi´ki opracowanemu
przez programistów algorytmowi usu-
nàç jego kod i przywróciç danemu pli-
kowi pierwotnà postaç. Istniejà równie˝
ogólne metody „dezynfekcji” dzia∏ajà-
ce skutecznie zarówno na znane, jak
i zupe∏nie nowe wirusy. Jeden z opra-
cowanych przez nas sposobów opiera
si´ na kolekcjonowaniu matematycznie
okreÊlonych charakterystyk wszystkich
plików w systemie. JeÊli któryÊ z nich
zostanie zainfekowany, nasza metoda
pozwoli go odtworzyç.
Sposoby wykrywania i usuwania zna-
nych wirusów wymagajà dok∏adnej ana-
lizy ka˝dego nowo wykrytego. Eksper-
ci muszà zidentyfikowaç nietypowe
ciàgi instrukcji, które wyst´pujà w jego
kodzie, a nie ma ich w typowych pro-
gramach. Niezb´dna jest tu g∏´boka wie-
dza oraz doÊwiadczenie. Nale˝y rów-
nie˝ opracowaç metod´ weryfikacji
poprawnoÊci rozpoznania wirusa oraz
usuni´cia go z nosiciela. Codziennie po-
jawia si´ pó∏ tuzina nowych wirusów,
stworzono wi´c narz´dzia i procedury,
które dzi´ki zautomatyzowaniu tych
czynnoÊci pomagajà specjalistom, a cza-
sem nawet ich zast´pujà.
Wykorzystujàc „brutalne” techniki
statystyczne, opracowaliÊmy metod´
bardzo szybkiego wyszukiwania wyso-
kiej jakoÊci charakterystycznych ciàgów
bajtów. Zacz´liÊmy od zmierzenia cz´-
stoÊci wyst´powania krótkich ciàgów
instrukcji w du˝ej grupie normalnych
programów. Gdy dostajemy do zbada-
nia nowego wirusa, nasze programy
wyszukujà w nim ciàgi o najmniejszym
prawdopodobieƒstwie wystàpienia w
typowym programie. Metoda jest znacz-
nie szybsza od „r´cznej” analizy, a wy-
niki testów wskazujà, ˝e tak wybrane
sygnatury powodujà mniej fa∏szywych
alarmów od sygnatur wybranych przez
ekspertów. Opracowana przez nas pro-
cedura uzyskiwania sygnatur przy-
pomina stosowanà niegdyÊ przez im-
munologów teori´ „szablonów”, wedle
której wytwarzane przez organizm
przeciwcia∏a sà modyfikowane odpo-
wiednio do pojawiajàcego si´ antyge-
nu; nasze sygnatury sà bowiem specjal-
nie dobierane do ka˝dego nowo na-
potkanego wirusa.
Stephanie Forrest z University of New
Mexico i jej wspó∏pracownicy z Los Ala-
mos National Laboratory opracowali
konkurencyjnà metod´, która z kolei
dzia∏a zgodnie z obecnie obowiàzujàcà
teorià dzia∏ania uk∏adu odpornoÊciowe-
go, czyli tzw. teorià selekcji klonalnej.
Wed∏ug niej organizm produkuje olbrzy-
mià liczb´ rozmaitych przeciwcia∏, a do
masowej produkcji któregoÊ z nich przy-
st´puje dopiero po wykryciu pasujàce-
go do niego antygenu. W metodzie za-
proponowanej przez Forrest sygnatury
sà generowane losowo, bez zwiàzku z ja-
kimkolwiek wirusem. Ka˝da zostaje
skonfrontowana z kodami w systemie.
JeÊli ˝adnemu nie odpowiada, zachowu-
je si´ jà w olbrzymiej bazie danych. Wy-
krycie sygnatury pobranej z tej bazy
w sprawdzanym programie jest nieza-
wodnym sygna∏em, ˝e zosta∏ on zmody-
fikowany. Niezb´dna jest jednak dalsza
analiza w celu stwierdzenia, czy nastà-
pi∏o to na skutek dzia∏ania wirusa.
Dzi´ki innej analogii do uk∏adów bio-
logicznych ∏owcy wirusów nauczyli si´
korzystaç z faktu, ˝e programiÊci cz´-
sto tworzà nowe wirusy z fragmentów
ju˝ istniejàcych. Na podstawie znajomo-
Êci wirusowych „genów” tworzymy hi-
stori´ wirusów komputerowych, podob-
nie jak biolodzy tworzà drzewa filo-
genetyczne pokrewnych gatunków.
Przetwarzajàc wielkà liczb´ kodów wi-
rusów, mo˝emy automatycznie wyse-
lekcjonowaç zestaw sygnatur danej ro-
dziny wystarczajàcy do wykrycia jej
pozosta∏ych cz∏onków, równie˝ wcze-
Êniej nie znanych. Metoda ta pozwala
na istotnie mniejsze u˝ycie pami´ci po-
trzebnej do przechowywania sygnatur.
Jedna 20-bajtowa „rodzinna” sygnatu-
ra umo˝liwia identyfikacj´ dziesiàtków
ró˝nych wirusów.
OpracowaliÊmy równie˝ techniki
oparte na sieciach neuronowych. Wy-
korzystujemy je do rozpoznawania wi-
rusów na podstawie kilku bardzo krót-
kich fragmentów kodu liczàcych od
trzech do pi´ciu bajtów. Te niewielkie
odcinki reprezentujà instrukcje maszy-
nowe niezb´dne w procesie wirusowej
infekcji. Co prawda tak krótkie fragmen-
ty mogà wyst´powaç w normalnych
programach, ale jednoczesne pojawie-
nie si´ wielu z nich jest niemal pewnà
oznakà zawirusowania. Programy an-
tywirusowe wyszukujà takie krótkie cià-
gi bardzo szybko, a co nawet wa˝niej-
sze, w ten sposób wykrywa si´ wirusy,
56 Â
WIAT
N
AUKI
Styczeƒ 1998
Gdy u˝ytkownik uruchamia zainfekowany program, kompu-
ter kopiuje jego kod z dysku, na którym jest przechowywany
w stanie nieaktywnym, do pami´ci RAM, gdzie mo˝e zostaç
uaktywniony.
W pierwszej kolejnoÊci wykonu-
je si´ kod wirusa, podczas gdy kod
zaka˝onego programu pozostaje
w uÊpieniu.
Wirus kopiuje swój kod do innego obszaru pami´-
ci RAM, nie zwiàzanego z programem nosicielem.
Dzi´ki temu mo˝e dzia∏aç nawet wtedy, gdy u˝yt-
kownik b´dzie uruchamia∏ inne programy.
Cykl
˝ycia
wirusa
plikowego
JAMES GARY
które jeszcze nie zdà˝y∏y si´ ujawniç,
poniewa˝ owe kawa∏ki kodów odpo-
wiadajà bezpoÊrednio za zdolnoÊç do
replikacji.
Polowanie
Poczàwszy od roku 1990 zbieramy
dane statystyczne dotyczàce kompute-
rowych wirusów z populacji kilkuset
tysi´cy komputerów PC nale˝àcych do
instytucji, które obs∏ugujemy. Notuje-
my miejsce, dat´, liczb´ zainfekowanych
komputerów i dyskietek oraz nazw´ wi-
rusa. Dane statystyczne umo˝liwiajà
nam zorientowanie si´ w zachowaniu
wirusów w realnym Êwiecie. Okazuje
si´, ˝e tylko niewielki ich odsetek stwa-
rza powa˝niejsze problemy. W badanej
populacji zaobserwowaliÊmy jedynie
oko∏o 5% znanych wirusów, wiele z nich
pojawi∏o si´ tylko raz. Dziesi´ç najbar-
dziej rozpowszechnionych odpowiada
za dwie trzecie wszystkich infekcji. Co
wi´cej, schemat rozprzestrzeniania si´
tych najbardziej skutecznych wirusów
wydaje si´ wspólny: liczba notowanych
infekcji roÊnie liniowo mniej wi´cej
przez rok, po czym si´ stabilizuje. Wi-
rus bywa potem wykrywany ciàgle z tà
samà cz´stoÊcià, zdarza si´ jednak,
˝e wyst´puje coraz rzadziej, w∏aÊciwie
wymiera.
˚eby zrozumieç te wyniki statystycz-
ne, musieliÊmy si´gnàç do modeli mate-
matycznych stosowanych przez epide-
miologów. Najprostsze przewidujà
rozwój choroby na podstawie kilku pa-
rametrów. Najwa˝niejsze z nich to
„wspó∏czynnik narodzin” okreÊlajàcy
tempo zara˝ania innych osobników oraz
„wspó∏czynnik umieralnoÊci” okreÊla-
jàcy tempo umierania chorych lub ich
zdrowienia. JeÊli stosunek tych dwóch
wartoÊci jest mniejszy od wielkoÊci kry-
tycznej, to dana infekcja szybko wyga-
sa. Im jest wi´kszy, tym bardziej praw-
dopodobne jest wystàpienie epidemii
(jeÊli brak mechanizmów obronnych), ro-
Ênie bowiem odsetek komputerów, któ-
re zostanà jednoczeÊnie zainfekowane.
Wyniki naszych obserwacji Êwiadczà,
˝e takie uproszczone podejÊcie w przy-
padku wirusów komputerowych nie
odpowiada rzeczywistoÊci. JeÊli stosu-
nek wspó∏czynników narodzin i Êmier-
ci nie jest bliski wartoÊci krytycznej, wi-
rus powinien bàdê ca∏kowicie wyginàç,
bàdê rozprzestrzeniaç si´ wyk∏adniczo
i staç si´ niemal wszechobecny. Tym-
czasem odsetek ca∏ej populacji kompu-
terów zaka˝onych danym wirusem
utrzymuje si´ na mniej wi´cej sta∏ym ni-
skim poziomie. Jednym z istotnych b∏´-
dów w tym uproszczonym modelu wy-
daje si´ przyj´cie za∏o˝enia, ˝e praw-
dopodobieƒstwo kontaktu dwóch do-
wolnych osobników zagro˝onej po-
pulacji jest takie samo. Bardziej zaawan-
sowane modele uwzgl´dniajà uwarun-
Â
WIAT
N
AUKI
Styczeƒ 1998 57
Zadanie wst´pne zosta∏o wykonane. Wirus
przywraca kontrol´ zara˝onemu programowi.
JeÊli u˝ytkownik uruchomi inny program, przy-
czajony wirus ponownie si´ uaktywnia.
Umieszcza kopi´ swojego kodu w pierwotnie zdro-
wym programie i cykl samoreplikacji si´ powtarza.
NA CYFROWYM POLU BITWY zmagajà
si´ ze sobà komputerowe szkodniki i specja-
listyczne oprogramowanie, które próbuje
zwalczyç intruzów i naprawiç wyrzàdzone
szkody. Wirusy przybierajà rozmaità po-
staç. Rozpoznaje si´ je zarówno po zacho-
waniu, jak i nietypowych fragmentach ko-
du. Programy antywirusowe mogà chroniç
oprogramowanie u˝ytkownika, po prostu
je „fotografujàc” i po stwierdzeniu zmian
przywracajàc pierwotnà postaç.
JAMES GARY
kowania Êrodowiskowe wp∏ywajàce na
wzorce zachowaƒ, które prowadzà do
wymiany oprogramowania. Ka˝dy wy-
mienia programy oraz dane jedynie z kil-
koma osobami i zazwyczaj dzieje si´ to
w jakiejÊ grupie. JeÊli Alicja wymienia
si´ z Bobem, a Bob – z Karolinà, to jest
wielce prawdopodobne, ˝e Alicja wy-
mienia si´ z Karolinà.
Komputerowe symulacje wskazujà,
˝e takie ograniczenie kontaktów spowal-
nia poczàtkowe rozprzestrzenianie si´
wirusa, co jest jakoÊciowo zgodne z na-
szymi obserwacjami. Rzadsze wymiany
zmniejszajà prawdopodobieƒstwo epi-
demii i ustalajàcà si´ po pewnym czasie
cz´stoÊç wyst´powania wirusa, nie na
tyle jednak, aby zgodnoÊç z danymi em-
pirycznymi by∏a pe∏na.
Dzia∏anie ewolucji
Podobnie jak czynniki zewn´trzne (su-
sze, poziom higieny czy migracje lud-
noÊci) majà silny wp∏yw na rozwój
epidemii biologicznych, tak zmiany
w technikach informatycznych wp∏ywa-
jà na rozwój komputerowych infekcji wi-
rusowych. Do roku 1992 wirusy ataku-
jàce pliki i dyski pojawia∏y si´ mniej
wi´cej w tej samej liczbie (stale rosnà-
cej). Nagle infekcje plików zacz´∏y byç
rzadkie, podczas gdy dyskowe nadal si´
rozprzestrzenia∏y. Od 1992 do koƒca
1995 roku wirusy dyskowe ca∏kowicie
zdominowa∏y konkurencj´. Dlaczego pli-
kowe niemal zupe∏nie wygin´∏y?
Uwa˝amy, ˝e g∏ównym powodem
by∏o powszechne wprowadzenie Win-
dows 3.1, nast´pcy systemu operacyjne-
go MS-DOS. Sta∏o si´ to w∏aÊnie oko∏o
roku 1992. W wyniku dzia∏ania typowe-
go wirusa plikowego system Windows
najcz´Êciej natychmiast si´ zawiesza∏
i zmusza∏ do usuni´cia intruza z systemu
(na przyk∏ad przez czyszczenie twarde-
go dysku i ponowne zainstalowanie
oprogramowania), nawet jeÊli u˝ytkow-
nik nie by∏ Êwiadom, ˝e to wirus spo-
wodowa∏ jego k∏opoty. Wirusy dysko-
we dla odmiany wspó∏˝yjà z Windows
3.1, nie niszczà swoich nosicieli przynaj-
mniej dopóty, dopóki nie nadarzy si´
sposobnoÊç do zamanifestowania swej
obecnoÊci.
Rozpowszechnienie Windows 95, ko-
lejnego systemu operacyjnego, prowadzi
obecnie do znacznego zmniejszenia licz-
by infekcji wirusami dyskowymi. Win-
dows 95 przewa˝nie ostrzega u˝ytkowni-
ka o próbach ingerowania w sektory
startowe dysku, równie˝ podejmowa-
nych przez wirusy. Dzi´ki temu wi´k-
szoÊç wirusów dyskowych nie mo˝e si´
rozprzestrzeniaç w tym systemie opera-
cyjnym. SpotkaliÊmy si´ ju˝ z kilkoma
58 Â
WIAT
N
AUKI
Styczeƒ 1998
OGÓLNE PROGRAMY ANTYWIRUSOWE reagujà
na przeprowadzanie przez system podejrzanych ope-
racji – takich jak modyfikowanie krytycznych ob-
szarów pami´ci operacyjnej lub wybranych plików
dyskowych – typowych dla komputerowych wiru-
sów. Przeciwdzia∏anie im nie eliminuje wirusa, ale
mo˝e zapobiec zainfekowaniu kolejnych programów
lub zaburzeniu funkcjonowania komputera.
SKANERY przeczesujà dyski u˝ytkownika
w poszukiwaniu fragmentów kodów wyst´-
pujàcych w znanych komputerowych wirusach.
ANTYWIRUSOWE „ZDJ¢CIA” zapisujà
matematyczne charakterystyki szczególnie
wa˝nych programów i plików danych.
Wszelkie póêniej zarejestrowane zmiany
najprawdopodobniej oznaczajà wystàpie-
nie infekcji. Zaawansowane algorytmy po-
trafià na podstawie zgromadzonych „zdj´ç”
odtworzyç pierwotnà postaç plików.
JAMES GARY
wirusami zaprojektowanymi specjalnie
dla Êrodowiska Windows 95 i innych
32-bitowych systemów operacyjnych,
jednak te konkretne okazy nie majà zbyt-
nich szans na rozprzestrzenienie.
Obecnie znajdujemy si´ w erze ma-
krowirusów. Wspó∏czeÊni u˝ytkowni-
cy znacznie rzadziej wymieniajà mi´-
dzy sobà programy inne ni˝ zawierajàce
makropolecenia, dokumenty i pliki da-
nych. W konsekwencji makrowirusy
charakteryzujà si´ znacznie wi´kszym
wspó∏czynnikiem narodzin i rozprze-
strzeniajà si´ du˝o szybciej ni˝ klasycz-
ne wirusy plikowe i dyskowe. Poczta
elektroniczna umo˝liwiajàca przesy∏a-
nie plików pozwala u˝ytkownikom na
szybszà i ∏atwiejszà wymian´ dokumen-
tów i programów ni˝ kiedyÊ, co zwi´k-
sza skal´ problemu.
Makrowirusy sà ponadto pierwszy-
mi, które wykorzystujà coraz powszech-
niejsze dà˝enie do jednolitego oprogra-
mowania ró˝nych komputerów. Na
przyk∏ad wirusy projektowane dla sys-
temu MS-DOS nie mia∏y szansy zaata-
kowaç komputerów Macintosh. Dla ma-
krowirusów istotne jest jedynie, by na
danej platformie by∏ dost´pny odpo-
wiedni program u˝ytkowy. Fakt, ˝e
Microsoft Word jest dost´pny na kom-
puterach wielu ró˝nych rodzajów, po-
zwoli∏ wirusowi „Concept” i jego ma-
krowym pobratymcom przekroczyç
granice wyznaczane dotychczas przez
w∏aÊciwoÊci poszczególnych systemów
operacyjnych.
Dzisiejsze wirusy przenoszà si´ po-
mi´dzy komputerami g∏ównie z powodu
Êwiadomej, „r´cznej” wymiany progra-
mów przez ró˝nych u˝ytkowników; jak
dotàd zespo∏y ekspertów dajà sobie z ni-
mi rad´ w wystarczajàco krótkim czasie.
Dobrze napisany wirus potrzebuje do
rozpowszechnienia si´ zazwyczaj mie-
si´cy, a nawet lat. W g´sto powiàzanym
Êwiecie najbli˝szej przysz∏oÊci wirusy
mogà si´ mno˝yç znacznie szybciej. Ju˝
w 1988 roku Robert Tappan Morris wpu-
Êci∏ do Êwiatowej sieci program, nazwa-
ny póêniej „Internet Worm” („Interne-
towy Robak”), wykorzystujàcy dziury
w systemach bezpieczeƒstwa – zaatako-
wa∏ on setki komputerów na ca∏ym Êwie-
cie w ciàgu nieca∏ego dnia.
Nowe narz´dzia (takie jak przeglà-
darki WWW, które wykorzystujà Acti-
veX), umo˝liwiajàce ∏adowanie progra-
mów i danych bez wiedzy i akceptacji
u˝ytkownika sprawiajà, ˝e problem sta-
je si´ coraz powa˝niejszy. Ju˝ dziÊ pro-
gramy pocztowe pozwalajà przesy∏aç
dokumenty tekstowe lub arkusze kal-
kulacyjne jako za∏àczniki do listów.
Otwarcie takiego za∏àcznika powoduje
automatyczne uruchomienie odpowied-
niej aplikacji, co z kolei aktywuje ma-
krowirusa zawartego w za∏àczniku.
Wkrótce do wysy∏ania i otwierania
poczty z za∏àcznikami mogà byç ruty-
nowo upowa˝niani tzw. agenci pro-
gramowi.* Poniewa˝ proces replikacji
odbywaç si´ b´dzie bez (choçby nie-
Êwiadomego) udzia∏u cz∏owieka, wiru-
sy zacznà si´ rozprzestrzeniaç znacznie
szybciej ni˝ obecnie.
Cyfrowy uk∏ad odpornoÊciowy
Te zmiany w cyfrowym Êwiecie
Êwiadczà, ˝e niezb´dny jest automatycz-
ny system odpowiadajàcy na pojawianie
si´ nowych wirusów, który móg∏by re-
agowaç szybciej i analizowaç ich wi´cej
ni˝ cz∏owiek. Systemy takie opracowu-
jà m.in. IBM, Symantec Corporation
i McAfee Associates.
W IBM tworzymy coÊ, co mo˝na by
nazwaç uk∏adem odpornoÊciowym cy-
berprzestrzeni. Podobnie jak uk∏ad od-
pornoÊciowy kr´gowców w ciàgu kilku
dni od wykrycia patogenów wytwarza
komórki mogàce je niszczyç, kompute-
rowy system w ciàgu kilku minut gene-
ruje przepis rozpoznania i eliminacji no-
wego wirusa. W obecnym prototypie
komputery PC z zainstalowanym pro-
gramem AntiVirus sà po∏àczone w sie-
ci z centralnym komputerem, który ana-
lizuje wirusy. Aby wykryç ewentu-
alnego intruza, program monitorujàcy
sprawdza ka˝dy PC, wykorzystujàc
Â
WIAT
N
AUKI
Styczeƒ 1998 59
wiele ró˝nych metod uwzgl´dniajàcych
dzia∏anie systemu – badajàcych niety-
powe zmiany w programach lub wyko-
rzystujàcych rodziny sygnatur. Program
monitorujàcy wykonuje kopi´ ka˝dego
programu podejrzanego o infekcj´ i
przesy∏a jà za poÊrednictwem sieci do
maszyny analizujàcej wirusy.
Po otrzymaniu potencjalnie zaka˝o-
nego programu komputer centralny
przesy∏a go na kolejnà maszyn´ pe∏nià-
cà rol´ cyfrowej po˝ywki. Tam specjal-
nie zaprojektowane programy wabiki
usi∏ujà przyciàgnàç wirusa i sk∏oniç go
do zainfekowania któregoÊ z nich pod-
czas uruchamiania, otwierania, czyta-
nia, kopiowania i innych operacji. Wi-
rus, by przetrwaç i skutecznie si´ na-
mna˝aç, musi infekowaç cz´sto wyko-
rzystywane programy. Wyhodowanie
na wzorcowym programie wabiàcym
wydobywa go z ukrycia. W tej fazie
mo˝na równie˝ zaobserwowaç charak-
terystyczny sposób jego dzia∏nia.
Ka˝dy zaka˝ony program wabik jest
nast´pnie analizowany przez kolejne
elementy uk∏adu odpornoÊciowego, któ-
re ekstrahujà sygnatur´ wirusa i opra-
cowujà algorytm jego identyfikacji i usu-
wania. Dysponujàcy takim programem
analizator wirusów potrzebuje zazwy-
czaj na t´ prac´ nie wi´cej ni˝ 5 min.
Uzyskana informacja jest przesy∏ana do
zainfekowanego komputera PC i w∏à-
czana do bazy danych zawierajàcej „re-
cepty” na usuwanie znanych ju˝ wiru-
sów. Korzystajàc z otrzymanych
danych, zaka˝ony PC eliminuje wirus
w swoich zasobach. JednoczeÊnie staje
si´ odporny na przysz∏e jego ataki.
JeÊli PC jest po∏àczony w sieci lokal-
nej z innymi maszynami, niewykluczo-
ne, ˝e wirus zaatakowa∏ równie˝ nie-
które z nich. W naszej prototypowej
instalacji nowe algorytmy identyfikacji
i usuwania wirusa sà automatycznie
wysy∏ane do wszystkich sàsiadów za-
ka˝onego komputera, które natychmiast
przyst´pujà do sprawdzenia swoich za-
sobów. Poniewa˝ wirusy do szybkiej
propagacji wykorzystujà sieç, wydaje
si´ s∏uszne, ˝e antidotum jest przekazy-
wane maszynom, które mogà go potrze-
bowaç, równie˝ za jej poÊrednictwem.
Przesy∏ajàc nowe algorytmy identyfika-
cji i leczenia do jeszcze nie zainfekowa-
nych komputerów, mo˝emy w zasadzie
bardzo szybko uodporniç na nowego
wirusa ca∏y Êwiat PC.
Niezale˝nie od tego, w jakim stopniu
rozwinà si´ antywirusowe techniki, wi-
rusy nie przestanà byç ucià˝liwymi
lokatorami naszych komputerów. Po-
szczególne rodziny maszyn b´dà po-
wstawaç i wymieraç, ale wirusy i tech-
niki antywirusowe nie przestanà razem
ewoluowaç, tak samo jak paso˝yty i ich
˝ywiciele. Zarówno na wirusy, jak i na
metody ich zwalczania wp∏ynà zmiany
w Êrodowisku informatycznym, na
przyk∏ad wprowadzenie tzw. w´drujà-
cych agentów programowych, czyli pro-
gramów, które b´dà musia∏y byç odpor-
ne na uszkadzajàce dzia∏anie odwie-
dzanych systemów operacyjnych, na-
wet jeÊli te systemy same si´ b´dà bro-
niç przed z∏oÊliwymi agentami. Byç mo-
˝e wspó∏czesne komputerowe wirusy
oraz komputerowe uk∏ady odpornoÊcio-
we sà tylko zaczàtkiem bogatego „digi-
tosystemu”, w którym powsta∏e w przy-
sz∏oÊci formy sztucznego ˝ycia b´dà si´
rodzi∏y, umiera∏y, wspó∏pracowa∏y lub
polowa∏y na siebie w cyberprzestrzeni.
T∏umaczy∏
Andrzej Kadlof
* Programowi agenci sà rodzajem programów, któ-
re mogà dzia∏aç w imieniu u˝ytkownika [patrz:
Âwiat Nauki, kwiecieƒ 1995] (przyp. red.).
60 Â
WIAT
N
AUKI
Styczeƒ 1998
Analiza
zachowania
i struktury wirusa
Wyodr´bnienie
sygnatury
Opracowanie
algorytmów
identyfikacji
i usuwania
MASZYNA
ANALIZUJÑCA
WIRUSY
INDYWIDUALNY
U˚YTKOWNIK
INNA
PRYWATNA
SIEå LOKALNA
PO˚YWKA
PRYWATNA
SIEå
LOKALNA
KOMPUTER
ADMINISTRATORA
SIECI
KOMPUTER
U˚YTKOWNIKA
U˚YTKOWNIK
U˚YTKOWNIK
U˚YTKOWNIK
KOMPUTER
ADMINISTRATORA
SIECI
KOMPUTER
U˚YTKOWNIKA
KOMPUTER
U˚YTKOWNIKA
ZAKA˚ONY
KOMPUTER
U˚YTKOWNIKA
5
6
3
2
4
7
1
UK¸AD ODPORNOÂCIOWY CYBERPRZESTRZENI zaprojektowany przez nas. Niezna-
ny wirus wymusza na komputerze u˝ytkownika przekazanie kopii zaka˝onego progra-
mu do maszyny administratora sieci (1), która z kolei przesy∏a zaszyfrowanà próbk´ do
centralnego komputera analizujàcego wirusy (2). Na tej maszynie nast´puje namno˝enie
wirusa na „po˝ywce”, a nast´pnie analiza jego zachowania i struktury (3). Opracowane
algorytmy identyfikacji i usuwania przekazywane sà z powrotem do komputera admini-
stratora sieci (4), który w pierwszej kolejnoÊci przesy∏a je do zara˝onej maszyny (5), a na-
st´pnie do innych komputerów w sieci lokalnej (6). U˝ytkownicy systemu na ca∏ym Êwie-
cie regularnie otrzymujà dane aktualizujàce programy antywirusowe, co chroni je przed
atakiem nowego wirusa (7).
Informacje o autorach
JEFFREY O. KEPHART, GREGORY B. SORKIN, DAVID M. CHESS i STEVE R.
WHITE sà obecnie pracownikami Thomas J. Watson Research Center IBM
w Yorktown Heights (Nowy Jork). Do oÊrodka badaƒ nad wirusami trafili w ró˝-
ny sposób. Kephart studiowa∏ elektronik´ i fizyk´ na uniwersytetach w Stanford
i Princeton. Pracujàc w Xerox PARC, zainteresowa∏ si´ analogiami mi´dzy du-
˝ymi systemami komputerowymi, ekosystemami i ekonomià. Sorkin uzyska∏
licencjat z matematyki w Harvard University, a nast´pnie doktorat z informa-
tyki w University of California w Berkeley. Specjalizowa∏ si´ w kombinatoryce,
modelowaniu matematycznym oraz optymalizacji. Chess, zanim poÊwi´ci∏ si´
konsekwencjom wyst´powania samoreplikujàcych si´ programów w rozpo-
wszechnionych systemach, zajmowa∏ si´ problemami zwiàzanymi z wydajno-
Êcià systemów komputerowych, procesami wspó∏bie˝nymi i bezpieczeƒstwem.
Uzyska∏ licencjat z filozofii w Princeton i magisterium z informatyki w Pace
University. White doktoryzowa∏ si´ z fizyki teoretycznej w University of Cali-
fornia w San Diego. Zapoczàtkowa∏ w IBM tworzenie programów antywiru-
sowych i obecnie nadzoruje ich rozwój oraz dalsze badania.
Literatura uzupe∏niajàca
ROGUE PROGRAMS: VIRUSES, WORMS AND TROJAN HORSES
. Red.
Lance J. Hoffman; Van Nostrand Reihold, 1990.
COMPUTERS AND EPIDEMIOLOGY
. J. O. Kephart, S. R. White i D.
M. Chess; IEEE Spectrum, vol. 10, nr 5, ss. 20-26, V/1993.
A SHORT COURSE ON COMPUTER VIRUSES
. Wyd. II. Frederick B.
Cohen; John Wiley & Sons, 1994.
ROBERT SLADE’S GUIDE TO COMPUTER VIRUSES
; Springer-Verlag,
1994.
BIOLOGICALY INSPIRED DEFENSES AGAINST COMPUTER VIRUSES
. Jef-
frey O. Kephart, Gregory B. Sorkin, William C. Arnold,
David M. Chess, Gerald J. Tesauro i Steve R. White, Pro-
ceedings of the 14th International Joint Conference on Artifi-
cial Intelligence, Montreal, 20-25 VIII 1995; Morgan Kauf-
mann Publishers, Inc.
ANTIVIRUS ONLINE.
Informacje o wirusach dost´pne w World
Wide Web pod adresem: http://www.av.ibm.com.
JEFFREY O. KEPHART