next up previous contents index
Next: Makrovírusok Up: Típus szerinti osztályozás Previous: Fájlvírusok

Boot-vírusok

A boot-vírusok az IBM PC (és más számítógépek, pl. Amiga, Enterprise) azon tulajdonságát használják ki, hogy az operációs rendszer betöltődésének lehetővé tételére kialakítottak a lemezen egy ún. boot-szektort, mely a lemez fizikailag legelső szektora4.1, és melyet a ROM BIOS automatikusan betölt, és végrehajt. Itt érdemes megjegyezni, hogy a modern BIOS-okban beállítható, hogy honnan próbálja meg a gép betölteni az operációs rendszert. Mivel ritkán van szükségünk floppy-ról boot-olásra, célszerű ezt a lehetőséget kikapcsolni.

A winchesteren az első szektor, amit a BIOS betölt, az ún. master boot record (MBR ), más néven partíciós tábla. Erről a butább BIOS nem is tud semmit, csak azt, hogy első szektor, és be kell tölteni, valamint azt, hogy érvényes kód van benne, mert a szektor végén megtalálhatő az 55AA kód. Ebben a szektorban egy olyan táblázat van (partíciós táblázat), amely a winchestert felosztja logikai részekre, partíciókra. A szektor elején egy betöltő kód van, mely az aktív partíció első szektorára adja a vezérlést. A legtöbb partíció egy logikai meghajtónak felel meg, azaz ugyanazok a területek találhatók meg rajta, mint hajlékonylemezen. Ezek közül számunkra most a boot-szektor az érdekes.

A boot-vírusok terjedhetnek kizárólag hajlékonylemezen (mint a Brain), de általában mind a hajlékonylemezt, mind a winchestert megfertőzik. Egy tisztán boot-vírus kizárólag akkor képes elindulni, amikor a BIOS rendszerbetöltést kisérel meg a fertőzött lemezről. Amikor a vírus elindult, akkor vírusa válogatja, hogy mi történik. Valamelyik (pl. a Michelangelo ) rögtön megfertőzi a winchestert, valamelyik megvárja, míg arra kerül a sor, hogy a rendszer a winchesterhez forduljon. Az is a vírus belátására van bízva, hogy a partíciós táblába, vagy valamelyik partíció boot-szektorába juttatja be magát.

Ha a boot-vírus bejutott a memóriába, akkor hagyományosan lecseréli a lemezkezelő megszakítást, melyet INT 13 -nak hívnak, és ezután minden lemezművelet rajta keresztül hajtódik végre. Ha a vírus új lemezt gyanít (mert például éppen nem forog a motor olvasás előtt, vagy az operációs rendszer a boot-szekort olvassa), akkor megfertőzi azt. A boot-vírusok többsége megfertőz minden lemezt, melyet a fertőzött gépbe helyezünk.

Azok alatt az operációs rendszerek alatt, melyek nem használják a BIOS megszakításokat, a boot-vírusok nem képesek terjedni. Ennek ellenére ezek a gépek is megfertőződhetnek, és induláskor a vírus kódja is lefut. Ha például linuxos gépünket március 6-án indítjuk el, és történetesen egy Michelangelo  van a partíciós tábla betöltő részének a helyén, akkor az szépen elkezdi felülírni a winchester szektorait.


next up previous contents index
Next: Makrovírusok Up: Típus szerinti osztályozás Previous: Fájlvírusok
Nagy Ferenc Laszlo
1999-05-21