Számítógépes vírusok

1992 táján az egyik ismerősöm mondta, hogy odabent az irodájukban minden alkalmazott retteg a számítógépek által (!) terjesztett vírusoktól, így már a lehető legkevesebbet nyúlnak eme gépekhez. Megkérdezte azt is, hogy szerintem milyen betegségeket lehet kapni a számítógépektől!? Sajnos ez nem vicc, hanem komoly, megtörtént eset! Azóta már több, mint két évtized is eltelt, de sokan még most sem tudják, hogy mi fán terem a vírus. Akkor jöjjön most egy rövid összefoglaló a számítógépes vírusokról!

Szóval miről is van szó? A számítógépekben, mint tudjuk, a háttértárakon találhatók különböző programok, adatok. Eme adatok és programok sajnos nincsenek mindig biztonságban, mivel vannak speciális programok, melyek semmi másra nem jók, csak arra, hogy tönkretegyék, illetve elrontsák a fontos adatokat, illetve a hasznos programokat. Tudom, hogy ebben látszólag nincsen logika, de mégis van! Hogy miért van vírus? Jó kérdés! Leginkább azért, mert meg lehet írni! Mellesleg meg azért, mert sajnos több embertársunknak is jól esik, ha bosszantani tudják a többi felhasználót!

Egy kis történelem – állítólagos „városi legenda”

De a dolog megértéséhez elő kell venni a vírusok állítólagos történelmét. Tudom, hogy ez nem több, mint egy számítógépes körökben terjedő városi legenda, de tanulságos! Az 1980-as évek legelején a számítógépek már tudtak kommunikálni egymással telefonvonalakon keresztül és az amerikai telekommunikáció olcsósága (illetve itt-ott a helyi hívások ingyenessége) miatt ez nem volt ritkaság. Eme számítógépes vonalakon keresztül cseréltek egymással adatokat, illetve információkat. Eme információk között persze megbújtak (igen gyakran) egyes kisebb-nagyobb játékok. A számítógépek telefonszámaira persze amatőr felhasználók is rájöttek és szerették volna a nagy gépeken lévő játékokat ellopni a saját, otthoni gépeikre. Persze addig nem akarták használni a méregdrága távolsági hívásokat, így olyan speciális programkákat írogattak, amik eme játékokat megkeresik és elküldik az ő otthoni számítógépükre. A keresőprogram olyannyira profira sikeredett, hogy átment sok nagy számítógépbe is és ott tovább kutakodott. Egy idő után az USA szinte valamennyi nagy számítógépe csak ezt a keresőprogramot kutatta. A nagy gépeken dolgozó profi programozók persze fejvesztve kutatták az kereső program megállításának, illetve kiirtásának ellenszerét. A keresőprogram olyannyira elfajult, hogy már az interkontinentális ballisztikus (nukleáris robbanófejjel felszerelt) rakéták indítókódját is majdnem feltörte. Ekkor sikerült az első ellen-programot megírni. Az ellenprogram olyannyira sikeres volt, hogy valamennyi nagy gépen felrakták és így nem bénult le az USA teljes szuperszámítógép-parkja. A következő betörési kísérlet már a nagy programok speciális fajtáját akarta letörölni és a gépeket használhatatlanná tenni. Ezt is sikerült kicselezni. A programok és az ellenprogramok párharca azóta is tart. Az állítólag igaz történet legjobb részét még nem említettem: az eredeti keresőprogramot egy egyszerű tinédzser írta! Persze, ezt a történetet fenntartással kell kezelni, de azért lehet benne valami!

Hivatalosan a számítógépes vírus egy olyan speciális program(részlet), amely saját példányát vagy kicsit megvariált változatát helyezi el más programokban, tárhelyeken vagy adatbázisokban. Sok vírus nem csinál sok mindent, például csak szaporodik, de sajnos elég sok fajtájuk kifejezetten károkozásra terveztetett és igen komoly károkat tehet a gépekben, illetve az egyes emberek/cégek munkáiban és adataiban!

Hivatalosan az első észlelt vírus az 1970-es évek legelején az Internet elődjén, az ARPANET-en terjedő Creeper vírus volt. Magát az önreprodukáló programot Bob Thomas írta a BBN Technologies cégnél még 1971-ben. A Creeper vírus az akkori DEC PDP-10-es gépen futott Tenex operációs rendszer alatt. A vírus bemászott az akkoriban még teljesen védtelen távoli rendszerekbe és önreprodukálás után a következő üzenetet írta ki: „Én kúszónövény vagyok! Kapj el, ha tudsz!” (I'm the creeper, catch me if you can!) A Creeper elkapására és eltávolítására hozták létre a Reaper programot.

Aztán 1974-ben jött a Wabbit nevű vírus, amely folyamatosan reprodukálta önmagát olyan nagy sebességgel, hogy az egész rendszer elzáródásához és összeomlásához vezetett. 1974/’75-ben terjedt el az akkori UNIVAC 1108-as gépeken az Animal (állat) nevű vírus, amely az első nem rosszindulatú trójaiként ismert. Elterjedéséhez nagyban hozzájárult az akkoriban még gyerekcipőben járó felhasználói védelem és engedély-megosztás, valamint a korai számítógépes mágnesszalagok csereberéje.

Az első számítógépes laborokon kívül írt vírus az „Elk Croner” volt. 1982-ben középiskolásként írta a Mt. Lebanon Középiskolában (Pittsburgh közelében, Pennsylvania, USA) Richard Skrenta a saját gépének Apple DOS 3.3-as operációs rendszerében és floppy lemezeken terjesztette. Ez a vírus gyakorlatilag egy vicc volt, mivel az akkor még középiskolás Skrenta egy lemezen vitte be a számítógépes játékok közben floppy-n. Az 50. alkalmazásakor a vírus aktiválódott és a gép megfertőzése közben kiírt egy kis versikét: „Elk Croner: A program személyiséggel” (Elk Croner: The program with personality) A legelső vad IBM PC-vírust, ami a PC boot-szektorát szinkronizálta, 1986-ban írta a Farooq Alvi Brothers nevű cég Lahore városában (Pakisztán) állítólag azért, hogy az általuk írt szoftverek kalózmásolatainak terjedését megakadályozzák.

A számítógépes hálózatok elterjedése előtt a korabeli vírusok az akkor divatos adathordozókon, főleg az egyre olcsóbbá váló floppy lemezeken szaporodtak. Mivel akkoriban a felhasználók nagy része jóformán azt sem tudta, hogy mi az a számítógépes vírus, ezért a terjedésüket gyakorlatilag alig akadályozta valami. Egyes korai vírusok megfertőzték a futtatható fájlokat, az adatállományokat, de gyakori volt a boot-szektort támadó fajta is. Természetesen mindegyik vírusnak közös jellemzője volt, hogy saját magát másolta minden lehetséges és elképzelhető helyre.

Az 1980-as években a korai internet jellemzője volt a telefonos (értsd: modemes betárcsázós) kapcsolat.

(A hozzám hasonlóan „nem mai fiatalok” fel fogják ismerni betárcsázó hangját:

)

Itt az akkori idők szerteszét szórt, nem tökéletesen működtetett hálózatai szabad vadászterületet jelentettek minden computeres számára. Mivel egyes alkalmazásokhoz (adatokhoz és játékokhoz egyaránt) igen nehéz és többségében méregdrága volt hozzáférni, ezért gyakran illegális úton jutottak el a felhasználókhoz. Ebben viszont benne volt az esetleges fertőzött fájlok letöltésének kockázata is. Ráadásul az akkori vírusirtók viszonylag ritkán (1-4 hetente) frissültek, ezért a friss vírusok szabadon garázdálkodhattak! Talán annyit elég mondanom, hogy a rendszerváltás előtti román és szovjet (!) katonai vírusok voltak talán a legveszélyesebbek. Ezeket ugyanis az akkori szocialista országok rendkívül tehetséges programozók írták, hogy az USA atom- és egyéb fegyvertitkait kifürkésszék, illetve elpusztítsák a titkos állományokat. A legtöbb vírus persze a számítógépekkel legjobban ellátott USA-ból származott.

A '90-es évek közepétől terjedni kezdtek az ún. macro-vírusok, melyek közös jellemzője a Microsoft Word és Excel alatti script-nyelven megírt Office-segítségek kihasználása. Mióta a Microsoft Office megjelent Apple gépeken is, azóta megjelentek a vírusok az Apple Macintosh gépein is. A módszer megismétlődött pár évvel később, mivel eredetileg a Linux-os gépeken nem volt vírus, de sajnos ott is készült Windows-emulátor, így megjelentek a legelső Linux-os vírusok.

Sajnos a terjesztésben időnként besegítettek a számítógépes szaklapok is, mivel például a CHIP magazin 1997. júliusi számának CD-melléklete vírusos volt. A fő indítófájlba beágyazódott magyar készítésű vírus neve: HDD Cleaner 2.0. Neve alapján kitalálható, hogy mit csinál, ha elindítják a CD-t, de szerencsére az "áldásos tevékenységét" csak szeptember 8-án kezdte meg! Az újság kiadója, a Vogel több gyors megoldást is kínál a probléma kiküszöbölésére: bárki kicserélhette ingyen a CD-jét annál az újságosnál, ahol vette a lapot, illetve az előfizetőknek ingyen küldték a javított változatot. Szóval ilyen is volt! Íme néhány korai vírus:

Név: Mit fertőz? Gyorsaság Leírás: (MR=memória-rezidens)
AIDS *.COM, igen gyors Nem MR.
AIDS Test *.COM és *.EXE, közepes MR. Nem igen ártalmas.
Andromeda.1140 *.COM, közepes Megtámad néhány vírusirtót!
Andromeda.634 *.COM és *.EXE, lassú Üzenet kiírása.
Beer *.COM és *.EXE, gyors Zenél és csörög.
Bloody *.COM és *.EXE, gyors BOOT-vírus. Üzenetet is kiír!
Civil.6672 *.EXE, lassú BOOT-vírus. Lelassítja a gépet.
DBF *.COM, közepes MR. Hard disk átírás. Rejtett file-ok.
Disk eater *.EXE, közepes MR. Hibás szektorokat csinál.
Disk Killer ?, Igen gyors MR. Boot-vírus. HDD tönkretétele!
Friday 13th *.COM, közepes Péntek 13-án üzenetet ír ki.
Friday 13thdr *.COM, közepes Törli a fájlokat.
Gotcha.732 *.COM és *.EXE, lassú MR. Megtámadja és kiirtja az irtókat.
Hungarian *.COM, lassú MR. Disket megtámadja és törli.
Jerusalem *.COM és *.EXE, gyors MR. Gépet lassítja.
Lenin.943 *.COM és *.EXE, lassú Képernyőt összezagyválja.
Macrosoft *.COM és *.EXE, lassú Más programokat irt ki végleg.
Marijuana ?, igen gyors Disket átírogatja. BOOT-vírus.
Metallica.1103 *.COM és *.EXE, lassú MR. Megöli a vírusirtókat.
Michelangelo *.COM és *.EXE, lassú Boot-vírus. Diszket átírogatja.
Csak Michelangelo születésnapján öl!
Minsk Ghost *.COM és *.EXE, lassú MR. A belső órát állítgatja.
Red Devil *.COM, lassú File-okat töröl.
Thursday-12 *.COM és *.EXE, gyors Megtámadja a vírusirtókat.
Xmas Companion *.COM és *.EXE, közepes Felülírja a fertőzött file-okat.

A fenti adatokat a "Dr. Solomon's Anti-Virus Toolkit", valamint az "AVP Virus Encyclopedia" programokból fordítottam át. Természetesen számtalan sok másik vírus is létezik. Ez a pár régebbi darab mindössze egy kis szemelvény...

A 2000-es években az internet berobbant a hétköznapokba és ijesztő sebességgel nőtt, de ez magával hozta a vírusfertőzések nagyságrendi növekedését is. Az egyik leggyakoribb ok a felelőtlenül megnyitott ismerősöktől e-mailben kapott mellékletekben van, mivel ezek sajnos gyakran tartalmaznak vírust. De számtalan olyan fertőzés is létezik, amely megszerzi a megtámadott gépen lévő ismerősök listáját, majd mindegyiknek saját magát elpostázza. A technika további gyorsulásával és a közösségi oldalak sikerével a vírusok elterjedési sebessége is robbanásszerűen megnőtt, mivel egy ügyesen megírt féregnek a klasszikus 1-2 hónap helyett 1-2 óra alatt sikerült megfertőzni gépek százezreit. 2010 táján megjelentek a direkt mobiltelefonra írt vírusok is, amelyek az okostelefonok (smartphone) felhasználóinak laza és könnyelmű szabályait könnyedén kikerülik.

Észlelés

Hogyan ismerjük fel a fertőzést? Mikor fogjunk gyanút? Nos, erre nem egyszerű a válasz! Nincs általános recept! Néhány jó tanács azért akad:

  • A korábban elegendő memória rohamosan fogy.
  • A gép érthetetlenül belassul, pedig nem is telepítettünk semmit.
  • Rohamosan fogy a szabad lemezterület minden különösebb indok nélkül.
  • Érthetetlen és váratlan programhibák keletkeznek.
  • Egyes fájlok vagy könyvtárak eltűnnek, mások érthetetlen módon keletkeznek.
  • A monitor teljesen véletlen időközönként beremeg és mindenféle oda nem való szöveg keletkezik rajta.
  • Az ismerőseinktől olyan levelet jönnek, amelyekben megköszönik a kéretlen leveleket, de nem kérnek semmilyen nem kívánt terméket.
  • A vírusirtó jelez. Ezt mindig komolyan kell venni!

Virológia

A legtöbb vírusnak önmaga lemásolása és maga a víruskód lefuttatása érdekében meg kell engedni, hogy hozzákötődjön egy már létező, futtatható állományhoz. Ha a felhasználó elindítja a fertőzött állományt, akkor gyakorlatilag két programot indít el egyszerre: magát a némileg módosult eredeti programot és a frissen hozzákötődött vírust. A végrehajtásakor tanúsított viselkedése alapján a vírusokat két alapvető típusra lehet osztani: a nem-rezidens vírusok végrehajtáskor azonnal keresnek más megfertőzhető gépeket, ahová terjeszthetik magukat és az ottani alkalmazások felett átvehetik az ellenőrzést. Ez a fajta kórokozó általában két részből áll: egy kereső modul és egy replikációs modul. A kereső modul felelős az új, még nem fertőzött állományok megkereséséért, míg a replikációs modul csak akkor lép életbe, ha a kereső modul jelez egy még nem fertőzött részt, ahová az önismétlő modul a jelzés után önmagát bemásolhatja.

A rezidens vírusok végrehajtáskor nem keresnek azonnal fertőzhető külső célpontot. Helyette a rezidens vírus végrehajtható állományként betölti önmagát a memóriába és átadja a vezérlést a fogadó programnak. Maga a vírus programkódja ott marad a memóriában és amint más fájlok elérhetővé válnak (mert pl. az operációs rendszer megnyitja őket), azonnal megfertőzi azokat és így terjeszti önmagát. Terjeszkedése is általában úgy történik, hogy egy már meglévő, de fertőzött fájlt átküldünk egy másik gépre és a víruskód ott is elkezdheti "áldásos" tevékenységét. Az előző típushoz hasonlóan a rezidens vírusok is tartalmaznak egy replikációs modult, azonban ezt más nem hívja meg a kereső modul. A vírus betölti a replikációs részt az aktív memóriába és így a fertőzés az operációs rendszer minden egyes memóriahívásakor aktivizálható. Gyakorlatilag így az operációs rendszer minden egyes futtatott fájlt megfertőzhet. A rezidens vírusokat néha fertőzési sebességük szerint felosztják lassú és gyors rezidens vírusokra. A gyorsan fertőző vírusokat eleve arra tervezték, hogy minél hamarabb megfertőzzék az összes lehetséges elérhető fájlt. Ilyenek például a magukat vírusirtónak álcázó vírusok. Ezek különösen akkor jelentenek veszélyt, ha az adott ártatlannak tűnő fájl egy rendszerszintű kereséskor minden egyes, a háttértárolókon meglévő fájlt vizsgálat céljából ellenőriz. Gyakorlatilag a vírusirtók ezt teszik, így ha pl. egy vírus vírusirtónak álcázza magát, akkor a felhasználó engedélyével az összes a háttértárolókon lévő fájlt könnyedén megfertőzheti. A gyorsan fertőző vírusok egyik legnagyobb erénye, hogy igen gyorsan képesek megfertőzni szinte az egész operációs rendszert. Viszont hátrányuk éppen az, hogy a gyors terjedés miatt elég nagy memóriaterületet lefoglalnak és a processzort is eléggé leterhelik. Tehát a felhasználó vagy esetleg az elég jó vírusirtó program már ezen jelekből gyanút foghat, hogy esetleg valami fertőzés érhette el a rendszert. Ellenben a lassú fertőzők csak ritkán aktivizálódnak. Néhány lassan fertőző vírus csak akkor másolja át önmagát az eredeti fájlba, amikor az másolásra kerül. A lassan fertőző vírusokat eleve úgy tervezték, hogy titokban működjenek: igen kis mértékben lassítják le a számítógép sebességét, csak ritkán hódítanak új területeken, valamint elég nehezen ismerik fel a víruskereső programok. Ennek ellenére ezek a kevésbé sikeres vírusfajták közé tartoznak.

A 2010-es években a vírusok jelentősége és fertőzése bár nagyságrenddel kisebb lett, de ettől még nem szabad elhanyagolni az ellenük való védekezést. A Windows 10 megjelenésekor a rendszerbe ágyazva megjelent a Windows Defender is, ami egy egész megbízható alapvető védelmet ad a rendszernek. Az átlagos felhasználónak ez általában elég, de a professzionális számítógépeseknek ez még elég kevés!

Vírusok főbb típusai

  • Bináris végrehajtható vírusok (COM és EXE fájlok az MS-DOS alatt, hordozható EXE fájlok a Windows alatt, OSX formátum a Mac OS alatt, illetve ELF formátum a Linux alatt) Példa: W95/CIH.1003.A, W32/Nimda.A@mm, W32/Sircam.A@mm.
  • Boot rekord vírusok, melyek a floppy- illetve a HDD-lemezek boot-részét támadják meg. Például: Michelangelo, Elk Cloner, Polyboot.B, AntiEXE.
  • MBR-vírusok, melyek a merevlemez Master Boot Record-ját támadják meg. Példa: Brian, Stoned, Empire, Form, Azusa.
  • Általánosan végrehajtható script fájlok (például a Microsoft Office Word/Excel programban, a VBScript fájlok, illetve a Unix/Linux platformokon a shell scriptek) Példa: VBS/LoveLetter.A@mm
  • Alkalmazás-specifikus scriptek (például a Telix-scriptek)
  • Operációs rendszerben automatikusan futtatott (Autoexe) fájlok (például az autorun.inf a Windows alatt) Példa: Mexer.d Worm
  • Dokumentumban tárolt makróvírusok (például a Microsoft Office Word/Excel programjaiban tárolt kisebb/nagyobb végrehajtható makrói, vagy az Access hasonló férgei) Példa: W97M/Melissa.A, Relax, Bablas, O97M/Y2K
  • Webes alkalmazások rendszerközi scriptjei. Példa: XSS Worms, Freedesktop.
  • Tetszőleges számítógépes fájlok, amely kihasználhat vagy okozhat például puffer-túlcsordulást, string-formázást, hirtelen működési zavarokat, esetleg bebújhatnak valamelyik rendszerszintű szolgáltatás mögé. (például a Windows intézővel megnyitott fájlokat fertőzik meg a mappa megnyitásakor). Példa: W32.Extrat!gen1, Kazoa
  • PDF, illetve HTML fájlokban előforduló rosszindulatú kódok, melyek egy weblap megnyitásakor telepednek a felhasználó gépére. Példa: JS.Fortnigh, PSWBugbear.B, Lovgate.F, Trile.C, Sobig.D, Mapson
  • Trójai vírusok, melyek egy ártatlannak tűnő és amúgy a felhasználó által keresett állományban bújnak meg és az állomány megnyitásakor aktivizálódnak. Példa: I.Love.You, Trojan.FakeAV!gen96
  • Önálcázó vírusok, melyek önmagukat egy másik állománynak álcázzák. Ilyen lehet például a picture.jpg.exe állomány, amelyet a Microsoft Windows a kiterjesztés jelölése nélkül alapértelmezetten picture.jpg-nek jelez, így a felhasználó képként nyit meg, holott ez egy vírust is tartalmazó futtatható állomány. Példa: SWF/LMF-926, Donut, Dadinu, Petlil.A

Védekezés

  • Sok mindenre érdemes vigyázni, de ha ezeket az óvintézkedéseket betartjuk, akkor gyakorlatilag nem kell izgulnunk!
  • Csak eredeti programot használjunk! Ez nem marketingfogás, hanem tény! A különböző szoftvercégek nem véletlenül ragaszkodnak az eredeti kiadványaikhoz, mivel ez így biztosan vírusmentes és stabil lesz!
  • Mindig használjunk vírusirtót! Ez általában a megszokott, jól bevált vírusirtó legyen, de időnként érdemes egy másik termékkel is tesztelni a vírusmentességet. Nagyon fontos, hogy két telepített vírusirtó könnyedén összeakad, így a második terméket érdemes pl. pendrive-ról futtatható (portable) verzióban ráereszteni a gépre.
  • Törekedjünk jó minőségű vírusirtóra! Nem feltétlenül jobb a fizetős, mint az ingyenes. Lényeges a kiválasztásnál, hogy minél gyakrabban legyen frissítve a program adatbázisa. Ez min. naponkénti frissítést jelent, de lehet gyakoribb is. Ha nem frissül automatikusan az adatbázis, akkor azt min. naponként kézzel frissítsük! Tapasztalatom szerint megbízható vírusirtók: ESET NOD32, AVG, Avast, Symantech, ClamWin, Kaspersky, Vipre, … Látszik, hogy a választék meglehetősen nagy!
  • Vírusirtó alkalmazásánál nézzük meg azt is, hogy mennyire lassítja le a gépet. Pár éve például a Panda vírusirtóval jártam úgy, hogy a saját gépem sebességét nagyon erősen lecsökkentette. Fontos még, hogy ne foglaljon túl sok memóriát!
  • Csak olyan vírusirtót használjunk, ami képes a megszokott fájl-ellenőrzés mellett állandóan őrködni a ki-bemenő forgalom szűrése végett, valamint mindig megnézi az érkező és a fogadott leveleket is. Érdemes olyan megoldáson is gondolkodni, amely egyesíti a hagyományos vírusirtót a tűzfallal és a kéretlen levelek szűrőjével (spam/malware). Az ilyen csomagokat a forgalmazó cégek előszeretettel hívják Internet Security-nek. (Pl.: Comodo, Panda, Kaspersky, Norton, AVG)
  • Lehetőleg ne menjünk fel ellenőrizetlen (pl.: Torrent, illegális letöltő, szexuális, stb.) oldalakra, ahol hemzsegnek a vírusok és a fertőzések!
  • Az állandóan figyelő kapuőrök mellett rendszeres időközönként simán is ellenőrizzük végig a gép teljes belső tárolóit. Ez átlagos használat mellett heti-kétheti egy alkalom!
  • Soha ne tegyünk be a gépre ellenőrizetlen lemezt, Pendrive-ot vagy egyéb adathordozót!
  • Ha valamit kiír a vírusirtó, azt tessék komolyan venni és lehetőség szerint végrehajtani. Igen sok kellemetlenséget elkerülhetünk így!
  • A fontos adatokról, fájlokról és beállításokról mindig legyen egy biztonsági mentésünk! Életveszélyes például az összes családi fotót csak a munkára és internetezésre is használt laptopon tárolni, mivel az könnyedén sérülhet. A feltétlenül megőrizendő adatokat, fájlokat stb. írjuk ki egy külső HDD-re, illetve valamilyen optikai tárolóra (DVD, BR, stb.). Ezek frissítéséről időnként gondolkodjunk!

Mindenkinek kívánok jó, vírusmentes, nyugodt géphasználatot!

Kiegészítés 2020 őszéből: A Windows 10-be beépített vírusirtó nagy nyugalmat hozott, mivel a felhasználók tömegei feleslegesnek érzik a direkt vírusirtót. Tény, ha valaki nem csinál semmilyen illegális letöltést, nem szörfözik megbízhatatlan oldalakon, stb., akkor vélhetőleg nem lesz gondja. Kérdés, ez tényleg így van-e, vagy csak egy csalóka ábránd résztvevői vagyunk?!

Felhasznált irodalom

(c) TFeri.hu, 2013

Felújítva: 2016.febr., 2018.máj. és 2020.szept.