Talán egyesek nem is tudják, de még ezeken a gépeken is léteztek vírusok
(vagyis írtak rájuk), amelyek a manapság ismert vírusoktól
kisebb-nagyobb mértékben különböznek, de hatásmechanizmusuk azonos: apró
méretűek, rejtett állapotban céljuk a fertőzés továbbvitele (vagyis más
hordozókra átkerülni), kártékony tevékenység a fő céljuk, amelyet
kisebb-nagyobb mértékben valósítanak meg.
(A mai számítástechnika
kártékony programjai közé tartozó vírusok ritkábbá váltak – helyettük a
gazdagépek biztonsági réseit kihasználó férgek, illetve az adatok
megszerzésére irányuló kémprogramok a “divatosabbak”).
(A mai számítástechnika
kártékony programjai közé tartozó vírusok ritkábbá váltak – helyettük a
gazdagépek biztonsági réseit kihasználó férgek, illetve az adatok
megszerzésére irányuló kémprogramok a “divatosabbak”).
C64 vírusok
A C64-en csupán egy maroknyi (ebből háromról írunk) kártevő vírus garázdálkodott, leginkább lemezeken fertőzve.
A kezdet 1985 környékére tehető, amikor valószínűleg egy német
hacker-csapat létrehozta a BHP nevű vírust (a nevét elvileg a Bayerische
Hackerpost számítógépes klubról kapta), amely még a kezdetekben nem
volt kártékony, de a többi téren kiérdemelte a vírus megnevezést:
rejtőzködve futott, célja volt a terjedés/fertőzés.
Ezt pedig a 64 user magazin cikkére készült, amelyben kijelentették, hogy szerencsére a C64-re nem lehet vírust írni…
Működési metódusa az
volt, hogy normál BASIC programokat fertőzött meg, azokba beleírva a
saját programsorát – amellyel a program indulásakor a vírus indult el
hamarabb, majd utána a fertőzött program. A gépi kódú vírus ekkor
elhelyezte magát az I/O műveleteknek fenntartott memóriaterületen (ugye a
64 kByte megcímezhető memóriaterületen kívülre lehetett “kilapozni” az
épp nem szükséges adatokat). Ezután a gazdaprogramot visszahelyezve az
eredeti címtartományba lefuttatta azt, mintha problémamentes lenne a
fájl (futása).
Egyébiránt a vírus egy bizonyos memóriahelyre írt egy
jelzőbájtot, amelyet megfigyelt – fertőzött-e a gép, vagy aktivizálni
kell-e magát.
Ami a fontosabb, hogy megvédte magát – a MAIN, NMI,
CBINV és a RESET vektorok magára irányításával elérte, hogy Break,
reset, avagy run/stop/restore esetén se tűnjön el.
Emellett pedig a fájlok olvasásakor és írásakor használatos
rutinoknál dolgozik a fertőzés: ha nem fertőzött fájlt talált, beindult a
folyamat… Még a mentési fertőzés is lemezmeghajtóknál indult be csak-
bár még a lemezfertőzési folyamat összevisszasága miatt hosszabb és
feltűnőbb lemezkezelés jelentkezett, de a lemezen lévő szabad blokkok
számát nem módosította.
És hogy mit is csinált ez a 2030 byte méretű BHP vírus?
A futás eléggé véletlenszerű volt: ha a gép rendszerórája (amelyet a másodperc hatvanadrésze, 1 jiffy időközönként frissített a gép) másodperc állása 2-4 volt, a függőleges megjelenítés legalább a 128 sornál járt, akkor lefutott.
Ekkor karakterenként kiírt egy szöveget, miközben a keret színét
változtatta. A szöveg végén látható szám a vírus lefutásának (tehát nem
fertőzésének) számát jelentette, amely 65536 után nullázódott 🙂
HIV vírus
A legismertebb vírusnak mondható a C64-en; a lemezen az első 4 fájlt
fertőzte meg- bár ha a negyedik fájlt is fertőzöttnek találja, akkor
átlép az ötödikre, és az elsőt törli. A lemezek 18. sávját (a
könyvtárszerkezet, és a BAM “blokkelérhetőségi térkép” található itt)
használta fel a fertőzési információ tárolására. Mindezek mellett az is
fertőzőbbé tette, hogy a memórián és a lemezen kívül a lemezmeghajtó
memóriájába is átmásolta magát – tehát a gép kikapcsolása még nem
tüntette el a vírust.
A HIV2 elviekben (nem biztos, hogy kijutott)
egy fejlesztett HIV virus, amelynél a fertőzést áthelyezték a 19. sávra,
így a megfelelő víruskereső nem találta meg.
Starfire vírus
A vírus fertőzése: a lemezt átkutatja fertőzésmentes programokért,
majd azok sáv és szektorinformációit “megjegyezte”. Egy hivatkozást
helyezett el, hogy a megfertőzött program a virust inditsa el. Ilyenkor a
vírus mögé befűzésre került az eredeti program (tehát működött).
Ezeken
kívül volt még néhány típusú, működési mechanizmusában hasonló vírus,
amelyek különféle módon rejtőztek el, védték magukat és fertőztek
(ezeket nem részletezzük). A manapság ismert hamis vírusirtókhoz
hasonlatos “szívatás” is előfordult – vagyis a program olyan vírusokat
“talált meg” a lemezen, amelyek közül több még csak nem is létezett
soha…
Sőt ami azt illeti, voltak “közkézen” olyan programok is,
amelyek vírusírásra készültek nevükből adódóan; pl.: WAG virus
construction kit, Gentlemens virus maker
Amiga vírusok
Az Amiga számítógépen elterjedt és írt vírusokról elöljáróban azt
lehet elmondani, hogy több száz volt belőlük, fertőzésük többféle módon
volt megoldott – és még annyi, hogy jobban dokumentáltak is maradtak az
idők távolából is…
Disk-validator vírus
A diskvalidator vírusok a nevükből adódóan a diskvalidatort fertőzik
meg a lemezeken. A legismertebbek ezek közül a Saddam vírus különféle
változatai.
És
hogy mi az a diskvalidator? Nos egy gyári program (pontosan 1848 byte),
amely a hibás lemezeket – illetve a rootblock (a lemezt leíró, annak
fix helyen található része) lemezhibáját hivatott javítani. Ha egy
sérült lemez került behelyezésre, akkor az operációs rendszer ennek
érzékelése után megkereste az L mappában található Disk-Validator
programot, és automatikusan futtatta, hogy megkísérelje a javítást.
Nos, innen már egy lépés csak az, amire mindannyian gondolunk…
Vagyis a diskvalidator megfertőzésével, illetve a rootblock “hibájával”
operál – ha legközelebb csak behelyezzük (nem kell semmi programot
indítani), akkor már hibásnak tekinti a lemezt, és már indítja is a
vírust…
És a továbbfertőzést úgy éri el, hogy futáskor áthelyezi
magát reset-rezidens területre (vagyis sima resettel ne törlődjön a
rendszerből), és várakozik. Egy másik lemez behelyezésekor – ha az még
nem fertőzött, akkor már legközelebbi beolvasáskor az lesz. De fertőzés
alatt, közben még ez nem észlelhető, de legközelebb, mondjuk amikor nem
fut a vírus, de vírusos lemez kerül bele, olvasási hibát jelez.
Ekkor esetleg egy másik lemezt rakunk be, és folytatódik a rombolás –
hiszen a fertőzés mellett ugye a lemez blokkjait rombolja annak
megváltoztatásával; a bittérkép elrontásával újra elindíttatja a vírust;
végül pedig írni kezd a floppyra úgy, hogy közben mozgatja a
meghajtófejet… ezután képünkbe nyomja a saját hibaüzenetét, majd onnan
pedig csak egérgombra aktiválódó reset következik.
Ez a fajta vírus a régebbi Amiga rendszereken (vagyis 1.3 Kickstart
és korábbi ROM esetében) terjedhetett, hiszen az újabb KS-ek esetében a
szóban forgó disk-validator már azok részét képezte. Az Old File System
fájlrendszernél fejlettebb (vagyis minden más) környezet hasonlóan
fertőzésmentes volt.
Bootblock vírus
A legfőbb tulajdonságuk, hogy a lemezek bootblockjába (a lemezek első
két szektora, 1024 byte, amelyből a rendszer tudja, hogy kezelje a
lemezt- pl. ide kerültek még bootmenük, introk is programoknál) helyezik
el magukat.
Link-vírus, file-vírus
A korai változatok a DOS rendszerű lemezek startup-sequence
programját fertőzik meg (az Amiga autorun.inf fájlja:), Így a fertőzött
lemezek behelyezésekor indul is a vírus. Az újabb, más szervezésű
vírusok különféle kritériumok alapján fertőzik a lemezeket (ezek
vírusonként mások), és csak a kiválasztottak kerülnek módosításra –
olykor nem válogat, hogy futtatható, vagy rendszerállomány, eszközleíró
vagy library (korabeli .dll).
Innentől már magától a vírustól függ, hogy mikor indul el (bizonyos feltételek – újraindítások, ugyanaz a lemez beolvasási száma, stb.), mikor kezdi el a romboló munkát
(mondjuk 15 fertőzésenként leformázza a lemez könyvtárszerkezetét- mint
egy gyorsformatálás; bizonyos idő elteltével lassítja a gépet, majd
reseteli; bizonyos mennyiségű fertőzés/újraindítás után üzenettel
tudatja jelenlétét és/vagy az aktuális lemez bizonyos részébe beletöröl,
formáz).
Az esetek legnagyobb részében ezek (sőt a legtöbb) vírus a fertőzés
érdekében memóriában rejtőző rezidens vírus, sokszor a reset ellen is
védve vannak. A felkutatásukat kódolt programkóddal, rejtőzködő futással
teszik nehezebbé (pl. egyes vírusok a megfertőzött fájl méretét nem
növelik meg, mégis ott vannak – a maguk elhelyezésére szükséges bájtokat
csomagolással tömörítik, így a megspórolt helyre pont beférnek).
Voltak
olyan káros programok, amelyek csak bizonyos (1.3 és az előtti, vagy
2.0 és az utáni) Kickstart verzión működtek, egyesek több féle módon is
fertőztek (lásd fentebb).
Nos, ennyi volt a kis szösszenet a C64 és Amiga vírusok
“lelkivilágáról” – írhattunk volna analízishoz hasonló vírusfutási és
fertőzési folyamatokat, telezsúfolva állományok és utasítások neveivel,
memóriacímekkel, de nem tettük. Akit bővebben érdekel (angolul), az itt
tájékozódhat az Amiga vírusokról (ez a poszt is nagyban ezeken alapult):
Agn antivirus center archív- hamburgi egyetem informatika tanszék (link)
The Amiga virus encyclopedia (link)
Forrás: