A számítógépes vírus egy olyan rosszindulatú program , amely behatol más programok kódjába , rendszermemória területeibe, rendszerindító szektoraiba , és másolatait különféle kommunikációs csatornákon terjesztheti.
A vírus fő célja a terjesztése. Emellett gyakran együttjáró funkciója a szoftver- és hardverrendszerek működésének megzavarása - fájlok törlése, operációs rendszer törlése, adattárhely struktúrák használhatatlanná tétele, hálózati struktúrák megzavarása, személyes adatok ellopása, zsarolás, felhasználói munka blokkolása stb. a vírus szerzője nem programozott rosszindulatú hatásokat, a vírus a számítógép összeomlását okozhatja hibák miatt, figyelmen kívül hagyva az operációs rendszerrel és más programokkal való interakció finomságait. Ezenkívül a vírusok hajlamosak tárhelyet foglalni és rendszererőforrásokat fogyasztani.
A mindennapi életben "vírusokat" neveznek minden rosszindulatú programnak [1] , bár valójában ez csak az egyik típusa.
Az önreprodukáló mechanizmusok elméletének alapjait a magyar származású amerikai John von Neumann fektette le , aki 1951 -ben javasolta az ilyen mechanizmusok létrehozásának módszerét. Az ilyen programok működőképes példái 1961 óta ismertek [2] .
Az első ismert vírusok a Virus 1,2,3 és az Elk Cloner az Apple II PC-hez , amely 1981 -ben jelent meg . 1984 telén megjelentek az első víruskereső segédprogramok - a CHK4BOMB és a BOMBSQAD, Andy Hopkins ( angolul Andy Hopkins ) által. 1985 elején Gee Wong megírta a DPROTECT programot, az első rezidens víruskeresőt.
Az első vírusjárványok 1986-1989 - re nyúlnak vissza : Brain (a hajlékonylemezek rendszerindító szektoraiban terjedt, okozta a legnagyobb járványt), Jeruzsálem ( 1988. május 13-án, pénteken jelent meg, indításkor megsemmisítette a programokat [3] ), Morris féreg (több mint 6200 számítógép, a legtöbb hálózat legfeljebb öt napig üzemen kívül volt), DATACRIME (csak Hollandiában körülbelül 100 000 fertőzött PC).
Ezzel egy időben kialakultak a bináris vírusok fő osztályai: hálózati férgek ( Morris worm , 1987), " trójai falók " (AIDS, 1989 [4] ), polimorf vírusok (Chameleon, 1990), lopakodó vírusok (Frodó, Bálna ). , 1990. második fele).
Ezzel párhuzamosan formálódnak mind a pro-, mind az antivírus-orientált szervezett mozgalmak: 1990-ben megjelent egy speciális BBS Virus Exchange, Mark Ludwig "Kis fekete könyve a számítógépes vírusokról", az első kereskedelmi forgalomban lévő vírusirtó Symantec Norton AntiVirus .
1992 -ben megjelent az első víruskonstruktor a PC-hez, a VCL (az Amigához korábban is léteztek konstruktorok ), valamint kész polimorf modulok (MtE, DAME és TPE) és titkosító modulok az új vírusokba való beágyazáshoz.
A következő néhány évben a lopakodó és polimorf technológiákat végre tökéletesítették (SMEG.Pathogen, SMEG.Queeg, OneHalf , 1994; NightFall, Nostradamus, Diótörő, 1995), és kipróbálták a rendszerbe való behatolás és a fájlok megfertőzésének legszokatlanabb módjait ( II. rendező – 1991, PMBS, Shadowgard, Cruncher – 1993). Emellett megjelentek olyan vírusok, amelyek objektumfájlokat (Shifter, 1994) és programforráskódot (SrcVir, 1994) fertőznek meg. A Microsoft Office programcsomag elterjedésével a makróvírusok elszaporodtak (Concept, 1995).
1996- ban jelent meg az első Windows 95 vírus - Win95.Boza, és ugyanazon év decemberében - az első rezidens vírus - a Win95.Punch.
A hálózatok és az internet terjedésével a fájlvírusok egyre inkább rájuk, mint fő munkacsatornákra összpontosulnak (ShareFun, 1997 – MS Word makróvírus, amely MS-Mail-t használ a terjesztéshez; Win32.HLLP.DeTroie, 1998 – a vírusok családja kémvírusok ; Melissa , 1999 - egy makrovírus és egy hálózati féreg, amely minden rekordot megdönt a terjedési sebesség tekintetében). A "trójai falók" virágkorát a rejtett távoli adminisztrációs segédprogram, a Back Orifice (1998) és társai, például a NetBus nyitotta meg .
Win95 vírus. A CIH a szokatlan módszerek alkalmazásában tetőzött, felülírta a fertőzött gépek FlashBIOS-át (az 1998 júniusi járványt a korábbi évek legpusztítóbbnak tartották).
Az 1990-es évek végén – a 2000-es évek elején a szoftverek és a rendszerkörnyezet egyre bonyolultabbá válásával, a viszonylag biztonságos Windows NT családokra való nagymértékű átállással , a hálózatok fő adatcsere-csatornaként való megszilárdításával és a víruskereső technológiák sikerével a beépített vírusok észlelésében. összetett algoritmusokon a legújabbak egyre inkább felváltották a fájlokba való befecskendezést az operációs rendszerbe való befecskendezéssel (szokatlan autorun , rootkitek ), és a polimorfizmust hatalmas számú fajjal helyettesítették (az ismert vírusok száma exponenciálisan növekszik ).
Ugyanakkor a Windows és más általános szoftverek számos sebezhetőségének felfedezése megnyitotta az utat a kizsákmányoló férgek előtt . 2004-ben példátlan járványok okozták az MsBlast (a Microsoft szerint több mint 16 millió rendszer [5] ), a Sasser és a Mydoom (500 millió dollárra, illetve 4 milliárd dollárra becsült kárt [6] ).
Ezenkívül a monolitikus vírusok nagyrészt átadják helyét a szerepkörök szerint elválasztott rosszindulatú programcsomagoknak és kiegészítőknek (trójaiak, letöltők/eldobók, adathalász webhelyek, spambotok és pókok). A közösségi technológiák , mint például a spam és az adathalászat , szintén virágoznak , mint a szoftvervédelmi mechanizmusokat megkerülő fertőzési eszközök.
Eleinte a trójaikra épülő, majd a p2p hálózati technológiák fejlődésével - és ettől függetlenül - egyre nagyobb lendületet kap a legmodernebb vírustípus - a féregbotnetek (Rustock, 2006, kb. 150 ezer bot; Conficker , 2008-2009, több mint 7 millió bot; Kraken, 2009, körülbelül 500 ezer bot). A vírusok, más rosszindulatú szoftverek mellett, végre hivatalossá váltak a kiberbűnözés eszközévé .
Egy számítógépes vírust biológiai vírusokról neveztek el hasonló terjedési mechanizmus miatt. Úgy tűnik, a "vírus" szó első használatát a programmal kapcsolatban Gregory Benford (Gregory Benford) használta a " The Scarred Man " [7] című fantasy-történetben , amelyet a Venture magazinban 1970 májusában tettek közzé .
A „számítógépes vírus” kifejezést ezt követően „felfedezték”, és többször is újra felfedezték. Így a PERVADE szubrutin ( 1975 ) változóját, amelynek értéke meghatározta, hogy az ANIMAL program elosztásra kerül-e a lemezen, VIRUS-nak nevezték. Ezenkívül Joe Dellinger vírusnak nevezte programjait , és valószínűleg ez volt az, amit először helyesen vírusnak neveztek.
A vírusnak nincs általánosan elfogadott meghatározása. Az akadémiai környezetben a kifejezést Fred Cohen használta a "Kísérletek számítógépes vírusokkal" című munkájában [8] [9] , ahol maga Leonard Adlemannek tulajdonítja a kifejezés szerzőségét [10] [11] .
Formálisan a vírust Fred Cohen a Turing-gépre hivatkozva a következőképpen határozza meg [12] :
M : (S M , I M , O M : S M x I M > I M , N M : S M x I M > S M , D M : S M x I M > d)
adott S M állapothalmazzal I M bemeneti szimbólumok és leképezések (O M , N M , D M ) halmaza , amely aktuális s ∈ S M állapota és i ∈ I M bemeneti szimbóluma alapján kiolvasható a félvégtelen szalag, meghatározza: a szalagra írandó o ∈ I M kimeneti szimbólumot, a gép következő állapotát s' ∈ S M és a szalagon való mozgást d ∈ {-1,0,1} .
Adott M gépen a v : v i ∈ I M karaktersorozat akkor és csak akkor tekinthető vírusnak, ha a v szekvencia feldolgozása a t időpontban azt eredményezi, hogy a következő t időpontok egyikében a v′ sorozat (diszjunkt v ) létezik a szalagon, és ezt a v′ sorozatot M írta a t′ pontba t és t″ között :
∀ C M ∀ t ∀ j: S M (t) = S M 0 ∧ P M (t) = j ∧ { C M (t, j) … C M (t, j + |v| - 1)} = v ⇒ ∃ v' ∃ j' ∃ t' ∃ t": t < t" < t' ∧ {j' … j' +|v'|} ∩ {j … j + |v|} = ∅ ∧ { C M (t', j') … C M (t', j' + |v'| - 1)} = v' ∧ P M (t") ∈ { j' … j' + |v'| - 1}ahol:
Ezt a definíciót egy VS = (M, V) virális halmaz kontextusában adtuk meg – egy pár, amely egy M Turing-gépből és egy V karaktersorozatból áll : v, v' ∈ V . Ebből a meghatározásból az következik, hogy a vírus fogalma elválaszthatatlanul összefügg annak értelmezésével egy adott kontextusban vagy környezetben.
Fred Cohen [12] kimutatta, hogy „bármilyen önreprodukáló karaktersorozat: egy szimpla VS, amely szerint végtelen sok VS , és nem VS , amelyekre vannak olyan gépek, amelyekhez minden karaktersorozat A vírus és az olyan gépek, amelyeknek egyik karaktersorozata sem vírus, lehetővé teszi annak megértését, hogy egy véges karaktersorozat vírus-e bármely gép számára. Azt is bebizonyítja, hogy általánosságban elmondhatatlan, hogy egy adott (M, X) : X i ∈ I M pár vírus-e (vagyis nincs olyan algoritmus, amely megbízhatóan meghatározhatná az összes vírust) azonos eszközökkel. , amelyek a megállási probléma megoldhatatlanságát bizonyítják [13] .
Más kutatók bebizonyították, hogy vannak olyan vírustípusok (a vírusok, amelyek egy vírusfogó program másolatát tartalmazzák), amelyeket semmilyen algoritmus nem képes pontosan kimutatni.
Manapság számos vírusfajta létezik, amelyek eltérnek a fő elosztási módszerben és a funkcionalitásban. Ha kezdetben a vírusok hajlékonylemezeken és egyéb adathordozókon terjedtek, most a helyi és globális ( internet ) hálózatokon keresztül terjedő vírusok dominálnak. A vírusok funkcionalitása is növekszik, amelyeket más típusú programokból átvesznek.
Jelenleg nincs egységes rendszer a vírusok osztályozására és elnevezésére (bár a CARO 1991-es ülésén kísérlet történt egy szabvány létrehozására). A vírusok szétválasztása szokásos:
Interneten, helyi hálózatokon és cserélhető adathordozókon keresztül .
A vírusok úgy terjednek, hogy lemásolják testüket és biztosítják annak későbbi végrehajtását: más programok futtatható kódjába beírva magukat, más programokat lecserélve, regisztrálva magukat a rendszerleíró adatbázison keresztül az autorun-ba stb. Vírus vagy hordozója nem csak gépi kódot tartalmazó programok lehetnek , hanem bármilyen, automatikusan végrehajtható parancsokat tartalmazó információ is – például kötegfájlok és makrókat tartalmazó Microsoft Word és Excel dokumentumok . Ezenkívül a vírus a számítógépbe való behatoláshoz felhasználhatja a népszerű szoftverek (például Adobe Flash , Internet Explorer , Outlook ) sebezhetőségeit is , amelyek esetében a terjesztők beágyazzák azt a közönséges adatokba (képekbe, szövegekbe stb.), egy olyan kihasználással együtt , sebezhetőséget használ.
Ha egy vírus sikeresen behatolt egy program, fájl vagy dokumentum kódjába, alvó állapotban marad mindaddig, amíg a körülmények arra nem kényszerítik a számítógépet vagy eszközt, hogy végrehajtsa a kódját. Ahhoz, hogy egy vírus megfertőzze számítógépét, le kell futtatnia a fertőzött programot, ami viszont a víruskód végrehajtásához vezet. Ez azt jelenti, hogy a vírus alvó állapotban maradhat a számítógépen fertőzési tünetek nélkül. Ha azonban a vírus érvénybe lép, más fájlokat és számítógépeket is megfertőzhet ugyanazon a hálózaton. A vírusprogramozó céljaitól függően a vírusok vagy kisebb károkat okoznak, vagy pusztító hatást fejtenek ki, például adatok törlésével vagy bizalmas információk ellopásával.
Az MS-DOS idejében gyakoriak voltak a lopakodó vírusok , amelyek elfogták az operációs rendszer eléréséhez szükséges megszakításokat . A vírus így elrejtheti fájljait a könyvtárfából, vagy a fertőzött fájl helyett az eredeti példányt helyettesítheti.
A víruskeresők széles körben elterjedt használatával , amelyek futás előtt ellenőrzik az aláírásokat , vagy gyanús műveleteket hajtanak végre , ez a technológia elégtelenné vált. A vírusok elrejtése a folyamatlistából vagy a címtárfából, hogy ne vonja magára a felesleges felhasználók figyelmét , alapvető technika, de a víruskeresők kezeléséhez kifinomultabb módszerekre van szükség. A kódtitkosítás és a polimorfizmus az aláírás-ellenőrzés ellen használható . Ezeket a technikákat gyakran együtt alkalmazzák, mert a vírus titkosított részének visszafejtéséhez a visszafejtőt titkosítatlanul kell hagyni, ami lehetővé teszi, hogy az aláírásával felismerhető legyen. Ezért a dekódoló megváltoztatásához polimorfizmust használnak - a parancssor olyan módosítását, amely nem változtatja meg a végrehajtott műveleteket. Ez az Intel processzorok igen változatos és rugalmas parancsrendszerének köszönhető , amelyben ugyanaz az elemi művelet, például két szám összeadása, több parancssorral is végrehajtható.
A kódkeverés is használatos , ahol az egyes utasítások véletlenszerűen vannak rendezve, és feltétel nélküli ugrásokkal kapcsolódnak össze . A vírustechnológia élvonala a metamorfizmus, amelyet gyakran összekevernek a polimorfizmussal. A polimorf vírusok dekódolója viszonylag egyszerű, feladata a vírus törzsének visszafejtése az injekció beadása után, vagyis miután a kódját egy vírusirtó ellenőrizte és elindította. Nem tartalmazza magát a polimorf motort , amely a vírus titkosított részében található, és létrehozza a visszafejtőt. Ezzel szemben előfordulhat, hogy egy metamorf vírus egyáltalán nem használ titkosítást, mivel minden replikáció alkalmával átírja a teljes kódját [14] .
Jelenleg számos víruskereső program létezik, amelyek megakadályozzák a vírusok bejutását a számítógépbe. Arra azonban nincs garancia, hogy képesek lesznek megbirkózni a legújabb fejlesztésekkel. Ezért bizonyos óvintézkedéseket kell tenni, különösen:
Egyes víruskeresők azzal érvelnek, hogy a vírusok létrehozása mára magányos huligán tevékenységből komoly üzletté fejlődött, amely szorosan kötődik a spam üzlethez és más illegális tevékenységekhez [15] .
Több milliós, sőt milliárdos kárnak is nevezik a vírusok és férgek tevékenységéből [16] . Az ilyen állításokkal, értékelésekkel óvatosan kell bánni: a különböző elemzők becslése szerinti kárösszegek (esetenként három-négy nagyságrenddel) eltérnek, számítási módszerek nincsenek megadva.
Az 1988-ban Macintosh -felhasználóknak kárt okozó Scores vírus készítője ellen nem emeltek vádat, mert tettei nem tartoztak a Computer Fraud and Abuse Act vagy más törvények hatálya alá az Egyesült Államokban akkoriban. Ez az eset vezetett az egyik első számítógépes vírusokkal kapcsolatos törvény kidolgozásához: a Computer Virus Eradication Act (1988) [17] . Hasonlóképpen, a legpusztítóbb vírus , az ILOVEYOU megalkotója 2000-ben megúszta a büntetést, mivel a Fülöp-szigeteken nem léteztek erre vonatkozó törvények [18] .
A rosszindulatú programok (beleértve a vírusokat is) létrehozását és terjesztését egyes országokban külön bűncselekménytípusként büntetik: Oroszországban az Orosz Föderáció Büntetőtörvénykönyve ( 28. fejezet, 273. cikk ), az USA-ban a számítógépes csalás, ill . Abuse Act , Japánban [19] . Sok országban azonban a vírusok létrehozása önmagában nem bűncselekmény, és az általuk okozott kár az általánosabb számítógépes bűnözésről szóló törvények hatálya alá tartozik [20] .
2007-ben Stepan Ryabchenko ukrán médiaművész a számítógépes vírusok virtuális esszenciáját vizualizálta, formát és képet adva nekik [21] [22] .
![]() | ||||
---|---|---|---|---|
|
Rosszindulatú szoftver | |
---|---|
Fertőző rosszindulatú programok | |
Rejtős módszerek | |
Malware haszonszerzés céljából |
|
Operációs rendszerek szerint |
|
Védelem |
|
Ellenintézkedések |
|