Professional Documents
Culture Documents
komputerowych
Bartłomiej Rudzki, Piotr Modzelewski
Artykuł w formie elektronicznej pochodzi z magazynu hakin9 Nr 5/2006. Wszelkie prawa zastrzeżone.
Rozpowszechnianie artykułu bez zgody Software Wydawnictwo Sp. z o.o. Zabronione.
Magazyn hakin9, Software-Wydawnictwo, ul. Bokserska 1, 02-682 Warszawa, pl@hakin9.org
Rodzaje wirusów
komputerowych
Teoria
stopień trudności
H
istoria wirusów komputerowych sięga Pierwszym wirusem dla komputerów PC był
przełomu lat 50 i 60 XX wieku, kiedy to Brain napisany w 1986 r. przez braci Basita i
amerykański naukowiec John von Neu- Amjada Farooq Alvi z Pakistanu. Był to prosty
mann, znany jako konstruktor pierwszej bomby wirus infekujący boot-sektory dyskietek o po-
atomowej, rozpoczął badania na temat samo- jemności 360 KB. Jego działanie ograniczało
powielających się automatów. Dało to naukowe się do zmiany etykiety dysku na (c) Brain. War-
podstawy budowy samoczynnie rozprzestrze- to zauważyć, że Brain był również pierwszym
niających się programów komputerowych, któ- wirusem, który potrafił się ukrywać. Po wykry-
re później zostały nazwane wirusami. ciu próby odczytu zainfekowanego sektora, wi-
Pierwszy znany wirus komputerowy poja- rus wyświetlał oryginalne, niezainfekowane da-
wił się w 1970, kiedy to w sieci wojskowej AR- ne. W przeciwieństwie do samego wirusa, je-
PANET pojawił się program Creeper. Był on go twórcom nie zależało na anonimowości – w
napisany pod system operacyjny TENEX. Po- kodzie wirusa zostawili swoje nazwiska, adres i
trafił nawiązać połączenie modemowe i sko- numery telefonów.
piować do zdalnego systemu. Zainfekowa-
ne systemy wyświetlały tekst I’m the creeper:
catch me if you can. (ang. Jestem CREEPER: Z artykułu dowiesz się...
złap mnie jeśli zdołasz). Ciekawostką jest
• czym są wirusy komputerowe,
fakt, iż szybko pojawił się program Reaper, • jak rozwijały się na przestrzeni lat,
który wyszukiwał i niszczył Creepera. • jak wirus zaraża komputer,
Od tamtego czasu coraz częściej po- • jak zmniejszyć ryzyko zarażenia.
jawiało się szkodliwe oprogramowanie, na
przykład Rabbit, Elk Cloner lecz dopiero w Powinieneś wiedzieć...
1983 roku, Len Adleman, naukowiec Lehigh
University po raz pierwszy zaproponował na- • podstawy języka assembler
zwę wirus oznaczającą samopowielający się • podstawy architektury mikroprocesorów x86.
program.
Tabela 1. Rekordy relokacji segmentu 0001h pliku, fałszywą ilość dostępnej pa-
Typ Przesunięcie Cel mięci lub nawet fałszywą zawartość
sektorów dysku. Wykrycie takiego
PTR 0053h USER.1
wirusa podczas gdy był on aktywny
OFFS 007Eh KERNEL.178 w pamięci było praktycznie niemoż-
PTR 0073h FAXOPT.12 liwe. Jedynym sposobem jego wy-
PTR 00D3h USER.5 krycia było uruchomienie systemu
PTR 005Bh FAXOPT.44 z czystej dyskietki i zapobieżenie w
ten sposób jego aktywacji.
PTR 00CAh KERNEL.30
PTR 0031h USER.176 Obecne zagrożenia
PTR 00A0h KERNEL.91 (INITTASK) W chwili obecnej wirusy nie są już
PTR 008Eh KERNEL.102 tak powszechne jak pod koniec XX
w. Celem twórców wirusów nie jest
Tabela 2. Nowe rekordy relokacji segmentu (segment 0001h) już, jak dawniej, chęć pokazania in-
nym swoich umiejętności, ale chęć
Typ Przesunięcie Cel
osiągnięcia zysku. Również środki
PTR 0053h USER.1 przy użyciu których rozprzestrzenia
OFFS 007Eh KERNEL.178 się szkodliwe oprogramowanie ule-
PTR 0073h FAXOPT.12 gły zmianom: dawniej były to dys-
PTR 00D3h USER.5 kietki, dzisiaj rolę głównego medium
przejęły sieci komputerowe (w tym
PTR 005Bh FAXOPT.44
internet).
PTR 00CAh KERNEL.30 Nie oznacza to, że twórcy szko-
PTR 0031h USER.176 dliwego oprogramowania spoczę-
PTR 00A0h 0003h:002Eh (VIRUS_SEGMENT:2Eh) li na laurach, wręcz przeciwnie: ro-
dzajów malware'u jest coraz więcej.
PTR 008Eh KERNEL.102
Poniżej znajduje się lista najpopular-
niejszych typów zagrożeń i sposoby
Instalacja w pamięci pod DOS łatwo może być zauważony przez ich uniknięcia.
Najprostszym sposobem instalacji użytkownika.
wirusa w pamięci jest nieprzejmo- Inne wirusy używają egzotycznych Robak (ang. worm)
wanie się w ogóle alokacją pamięci. metod takich, jak: alokowanie pamięci Robakiem nazywamy program, któ-
Wirus Stupid instalował się jak naj- na obszarze stosu (Lehigh), alokowa- ry powiela się bez wiedzy lub zgo-
wyżej w dozwolonym obszarze pa- nie pamięci w obszarze powyżej 1MB dy użytkownika, głównie za pośred-
mięci 640 kB, ale nie zmieniał war- (Starship, Tremor), instalowanie się w nictwem sieci. Rzadko infekuje pliki,
tości górnej granicy pamięci trzy- jądrze systemu DOS (Darth_Vader) chociaż zdarzają się przypadki ich
manej pod adresem [0000:0413h]. czy modyfikacja bloku kontroli pamięci modyfikacji. Mailery i mass-maile-
Liczył na to, że obszar ten nie bę- (Cascade, Shimmer). ry to podtypy robaków wykorzystu-
dzie zaalokowany przez żaden inny jące do rozprzestrzeniania protokół
program. Oczywiście wirus zosta- Ukrywanie w pamięci poczty elektronicznej (te drugie po
nie uszkodzony, kiedy jakiś program Wirusy ukrywające się w pamię- uruchomieniu rozsyłają się w dużych
użyje tego obszaru pamięci. ci (ang. Stealth) przechwytują funk- ilościach), najczęściej przesyłane są
Inną metodą jest zainstalowa- cję lub zestaw funkcji systemowych w formie załączników dołączonych
nie się w obszarze rzadko używa- w taki sposób, że użytkownik otrzy- do wysyłanych losowo e-maili.
nym. Przykładowo tablica IVT po- muje dane przetworzone przez wiru- Ciekawostką jest fakt, że niektóre
wyżej adresu [0000:0200h] jest bar- sa. W ten sposób wirus może poka- robaki nie występują w formie plików,
dzo rzadko używana, wirusy używa- zywać fałszywy rozmiar zarażonego ale odpowiednio spreparowanych
ją więc tego obszaru licząc na to, iż
przerwania powyżej INT 80h nie bę- Tabela 3. Nowe rekordy relokacji segmentu (segment 0003h – VIRUS_
dą przechwycone. SEGMENT)
Kolejnym sposobem jest mody- Typ Przesunięcie Cel
fikacja wartości trzymanej pod ad- PTR 2964h SHELL.6 (REGQUERYVALUE)
resem [0000:0413h] oznaczającej
PTR 2968h SHELL.5 (REGSETVALUE)
dostępną ilość pamięci. W ten spo-
sób wirus może bezpiecznie zain- PTR 296Ch KERNEL.91 (INITTASK ->
stalować się powyżej tego limitu, ale STARTHOST)