Internetbiztonsági Tippek és Tanácsok

Biztonsági megoldások, 2. rész: Antivírus szoftverek

Írta: Igor Pankov

Bevezetés

Második részét olvassa sorozatunknak, melynek célja, hogy segítsége azon kevésbé tapasztalt felhasználókat, akik tájékozottabbak szeretnének lenni a manapság választható biztonsági termékek körében.

A mostani részben az antivírus szoftverek működésére fókuszálunk, amelyek a tűzfalak mellett szintén nélkülözhetetlen részét alkotják a számítógépek védelmének. A tűzfalról szóló cikkünket elolvashatják itt.

Alapfogalmak

Ritkán találkozunk csak antivírus (azaz csak vírusvédelmet nyújtó) szoftverrel – a vírusok kezdenek teret veszíteni a gazdaságilag erősebben motivált egyéb kártevőkkel szemben, mint például a kémprogramok, billentyűzetfigyelők és az információkat lopó trójaiak. Ma, amikor antivírus szoftverről beszélünk, általában egy olyan keresőprogramról beszélünk, amely képes észlelni és eltávolítani a rosszindulatú programok (vírusok, kémprogramok, botnets, trójaiak, stb.) teljes skáláját.

Mi is pontosan az antivírus szoftver és hogyan működik?

Az antivírus szoftver lényegében a biztonsági szoftverek egy olyan típusa, amely önmagukat sokszorosító kártevőket (általában vírusokat és férgeket) keres a számítógépen, és semlegesíti azokat. Ennek érdekében több technológiát is képes lehet alkalmazni:

  • Minta- (vagy aláírás-) alapú észlelés

    Az antivírus programok manapság az aláírás-alapú észlelés módszerét használják leginkább. Ez a módszer a kártevő kódjának elemzését ismert „kártevő-ujjlenyomatok” alapján végzi. Ahhoz, hogy ezt el tudják végezni, ellenőrzik a fájlok tartalmát olyan adattöredékeket keresve, amelyek megegyeznek az adatbázisukban szereplő rosszindulatúnak azonosított mintákkal (vagy más néven aláírásokkal). Amennyiben ilyen mintát találnak, a fertőzött fájlt vagy fájltöredéket veszélyesnek minősítik, majd karanténba helyezik, hatástalanítják vagy törlik azt az adott antivírus program működésétől, beállításától függően. A módszer az egyszerű összehasonlítás elvén alapul, amely gyors és pontos út a létező és a gyártó által ismert vírusok fertőzésének észleléséhez.

    E módszer hátránya, hogy a felhasználónak mindig naprakész adatbázissal kell rendelkeznie, hogy a megfelelő védelemben részesüljön. Továbbá, a mintaalapú észlelés nem hatásos az új, polimorf (mutáns) vírusokkal szemben, amelyek bizonytalanná teszik saját jelenlétüket a károkozás mértékének részbeni megváltoztatásával.

  • Heurisztikus felismerés

    Ahogy azt fentebb írtuk, a fenyegetések mutálódásával a hagyományos észlelések veszítenek hatékonyságukból, hiszen az eredeti kód megváltozása miatt nem képesek a felismerésre. E hiány egyik lehetséges pótlása valósítható meg a heurisztikus felismeréssel, amely felbecsüli annak a valószínűségét, hogy a talált, valamelyest megváltozott kód, lehet-e egy eredeti minta utánzat verziója. Ez összetett és munkaigényes folyamat, de a technológiailag fejlettebb antivírus termékek által már nyújtott eljárás. Tökéletlenségének következtében a heurisztikus keresést is szükséges kiegészíteni más típusú észlelésekkel; mindemellett ez egyfajta hibalehetőséget is rejthet magában, amely nagyszámú téves besorolást eredményezhet (ártalmatlan elemek helytelen azonosítása rosszindúlatúként).

  • Virtuális szimuláció

    Ez egy ígéretes új megközelítés, amely segíthet az új, még ismeretlen vírusok felismerésében. Ahelyett, hogy egy hagyományos mintaalapú elemzést végezne egy gyanús fájlon, virtuálisan létrehoz egy megbízható ideiglenes környezetet, amelyben végrehajtja és alaposabban megvizsgálja a fájl tevékenységeit. Mivel a létrehozott virtuális környezet nem kapcsolódik a számítógép többi részéhez, egy esetlegesen fertőzött fájl anélkül futhat, hogy kárt tenne a felhasználó számítógépében – a virtuális működés ugyanis nem képes hozzáférni a felhasználó adataihoz.

    Miután a gyanús fájlt elindítottuk ebben a virtuális környezetben és annak fertőző része aktiválódott, a módszer, mellyel a kártevő el szeretné rejteni magát, nem működik tovább, mert ez esetben a kártevő kód leplezetlenül, „tiszta” körülmények között működik (ebben a virtuális környezetben csak ez az egy fájl működik, így minden tevékenysége jól megfigyelhető és elemezhető). Ez pedig azt jelenti, hogy a fájl belső működése láthatóvá válik az antivírus szoftver számára, így az már a hagyományos mintaalapú eljárással is észlelhetővé válik.

    Az újszerűsége és bonyolultsága következtében a virtuális szimuláció, mint víruskereső technológia, még gyerekcipőben jár, és személyes felhasználásra még nem terjedt el széles körben.

    A virtuális szimuláció kéz a kézben dolgozik együtt a többi kiegészítő technológiákkal, mint amilyen például a viselkedés-alapú blokkolás vagy az elszigeteléses (sandboxing) technológia, amelyekkel hírlevelünk következő részében foglalkozunk majd részletesen.

 

Mi történik, ha egy vírust felismertek?

Miután azonosítottunk egy rosszindulatú mintát, ennek megfelelően kell eljárni vele szemben. Ha egy szabályos fájlt egy vírus megfertőzött, és annak tartalmát megváltoztatta, szükséges a fájl ezen részének feltérképezése, megsemmisítése, és hogy újra biztonságosan használhassuk, az eredeti rész helyreállítása. E folyamat magában foglalhatja például egy támadás következtében megfertőzött végrehajtható (*.exe) vagy rendszerfájlok (*.sys) visszaállítását.

A helyreállítási folyamat meglehetősen összetett, és hatékonyan csak igen kevés kereskedelmi forgalomban lévő antivírus termék képes elvégezni. Ezen kívül a vírus fertőzések minden egyes típusa más-más bánásmódot igényel: egy adott vírus által megfertőzött fájlt kizárólag az az antivírus szoftver képes helyreállítani, amely tudja, hogy az adott vírus mit csinál. Pontosan kell ismernie az adott vírus működését ahhoz, hogy elháríthassa a kárt, amit az okoz. Ahhoz, hogy a védelemnek ezt a fejlett szintjét nyújtsa egy termék, víruselemzőkből és programvisszafejtő mérnökökből álló szakképzett csapatra van szükség, akik miután feltérképezték minden vírus működését, gondosan megszerkesztik a helyreállító folyamatokat.

Még akkor is hasznos lehet gondoskodni arról, hogy minden fontos programunkról és adatunkról rendszeresen biztonsági másolat készüljön (például arra az esetre, ha egy olyan új vírussal találkozunk, amelynek még nincs helyreállító folyamata), ha a számítógépünket valamilyen megelőző védelemmel már elláttuk, amely az ismeretlen fájlok bejutását blokkolja.

Szerencsére, manapság nagyon ritkák azok a fajta vírusok, amelyek fertőzést illesztenek be a már meglévő fájlokba. Leggyakrabban önálló program formájában érkeznek, és egyszerűen teljes egészükben törölhetőek a rendszerből. Ezek a kártevő programok semmi más céljuk nincs, mint fertőzni, lopni, vagy rombolni – meglehetősen különböznek a fentebb bemutatott részben megfertőzött fájloktól.

Amint egy rosszindulatú programot talál a védelmi rendszerünk, amilyen gyorsan csak lehet vagy törli azt, vagy egy speciális karanténba (az indítás ellen védett területre) helyezi, hogy ne legyen képes tovább működni, ahogy eredetileg szándékozott volna. A felhasználó bármikor megnézheti a karanténba helyezett elemek listáját, és választhat, hogy véglegesen törli-e azokat, vagy visszahelyezi-e az eredeti helyükre. Ez utóbbi csak akkor ajánlott, ha megbizonyosodott arról, hogy a fájl csakugyan nem rosszindulatú.

Téves besorolások igenis előfordulhatnak, ezért is ajánlatos a gyanús fájlokat ideiglenesen egy speciális biztonsági helyen (a karaténban) tárolni mindaddig, amíg egy részletesebb vizsgálatot nem végzünk el rajtuk. Egy friss példa erre, amikor egy antivírus gyártó védelmi programja tévesen törölt egy Windows fájlt a felhasználó merevlemezéről, majd amikor a hibát felfedezték, vissza kellett állítani a fájlt.

Az egy újabb kihívás az antivírus programok számára, hogy mit tegyenek egy vírusfertőzés  egyéb következményeivel. Előfordulhat, hogy miután egy rosszindulatú program sikeresen el lett távolítva a számítógépről, mégis bizonyos nyomok maradnak utána. E „sebhelyek” okozhatnak akár az egész rendszerre kiterjedő következetlenségeket, ellentmondásokat, vagy fájlrendszer hibákat (pl. megváltozott rendszerleíró-adatbázis bejegyzéseket, hálózati vagy böngésző beállításokat, stb.), amelyek hatással lehetnek a számítógép teljesítményére illetve a Windows funkciók működésére.  Erre az esetre mindenképpen hasznos lehet egy „B terv”, hogy a kényes adatok védve legyenek. Ez lehet a megelőző védelem, de akár a gyakran készített biztonsági mentések is.

Nehézségi tényezők

A vírusok számos technikát alkalmaznak, ezáltal jóval nehezebbé teszik az antivírus szoftverek feladatát; legtöbbjük más és más fajtáját alkalmazza a bejutásnak, hogy elrejtsék a jelenlétüket, és így elkerüljék a felismerést.

  • Önbecsomagolók – egy lehetséges út a végrehajtó kód tömörítésére olyan speciális algoritmus használatával, amely az antivírus szoftver számára ismeretlen, így az nem tudja a fájlt kicsomagolni és megvizsgálni a kártevő kódot annak nyers alakjában.

  • Polimorf kódolók – hasonló a fent leírtakhoz, az eredeti végrehajtható fájlok változó kulcsokkal („jelszavakkal”) vannak titkosítva, melynek következtében a forráskód mintája minden alkalommal más és más lesz. Ez a módszer meghiúsít minden egyszerű mintaalapú felismerést.

  • Rootkitek – ártalmatlannak látszó maszkot létrehozó eszközök, amelyek elrejtik a kártevők jelenlétét a rendszerben.

 

Ahol az antivírus szoftver keres

Az optimális megbízhatóság eléréséhez egy antivírus megoldásnak a következő helyeket/folyamatokat kell megvizsgálnia:

  • Email. Csaknem az összes antivírus program képes a bejövő és kimenő levelek rosszindulatú tartalmának figyelésére és annak automatikus eltávolítására.

  • Internetes forgalom. Minden adatelem törvényességét, amelyet küldünk vagy fogadunk az interneten keresztül, figyelni és ellenőrizni kellene. Az internetes fertőzéseket – amikor is a rosszindulatú kód automatikusan betöltődnek a rendszerbe, ha fertőzött oldalra látogatunk – egy fejlettebb termék szintén képes vizsgálni és szükség esetén blokkolni.

  • Rendszerbeállítások. Ez magában foglalja a rendszerleíró adatbázist, az automatikusan induló programokat, a meghajtó programokat, a rendszerszolgáltatásokat, a hálózati infrastruktúra adatokat, a böngésző bővítményeket, és egyéb belső beállításokat.

  • Aktív folyamatok. Ide tartozik minden éppen futó program és más végrehajtható modul – minden, ami a számítógép memóriájában tartózkodik.

  • Helyi fájlrendszer. Ez a számítógépen lévő fájlokat, mappákat és a merevlemezes meghajtókat jelenti, beleértve azokat az adatokat is, amelyek az NTFS fájlrendszer alternatív (rejtett) adatfolyamában tárolódnak.

  • Cserélhető adathordozók. Ide tartoznak az optikai meghajtók (CD, DVD, …), a manapság egyre jobban elterjedt USB memóriák és más memóriamodulokkal rendelkező digitális eszközök, melyek USB porthoz csatlakoztathatóak, mint például a programozható telefonok és az iPod-ok.

  • Távoli tárolók. Ide soroljuk a megosztott helyi hálózati mappákat, biztonsági tároló egységeket és a web-alapú biztonsági mentések helyeit.

 

Amikor az antivírus szoftver működésbe lép

Egy antivírus termék elsődleges feladata a kártevők észlelése és a fertőzés szétterjedésének megakadályozása azáltal, hogy eltávolítja a fertőzést még mielőtt az a sértetlen fájlokat megtámadná. A vírusvédelmi termékek általában három lehetőséget kínálnak fel a vírus észlelésére és eltávolítására:

  • Valós idejű megfigyelés. Ez azt jelenti, hogy a program figyeli az éppen futó folyamatokat, és automatikusan blokkolja az ismert rosszindulatú tevékenységeket.

  • Kézi vezérlésű keresés. Ebben az esetben az antivírus szoftver csak akkor vizsgálja a számítógép állományait kártevőket keresve, ha erre külön utasítást kap a felhasználótól.

  • Ütemezett ellenőrzés. Ezáltal lehetőségünk van a vizsgálatok időpontjának beállítására, vagy néhány olyan különleges állapot kihasználására, mint például a gép hosszan tartó üresjáratban hagyása, vagy az újabb antivírus adatbázis-frissítés letöltése, mely eseményeket figyelve a keresés automatikusan el tud indulni.
  •  

Összefoglaló

Amire egy antivírus szoftver képes:

  • Képes a számítógépen tárolt fájlokban és adatokban az ismert vagy azonosítható fenyegetések felismerésére, illetve e fenyegetések eltávolítására vagy elhárítására.

  • Képes az egyedi fájlok, mint például az internetről legutóbb letöltöttek, ellenőrzésére, tisztaságuk megállapítására.

  • Képes egy már fertőzött fájl helyreállítására.

  • Képes az azonosítható vírusok szétterjedését megakadályozni.

Amire egy antivírus szoftver nem képes:

  • Nem képes észlelni és elhárítani azokat a fenyegetéseket, amelyek nem azonosíthatóak sem a mintaalapú sem a heurisztikus keresés által.

  • Nem képes blokkolni a hálózati betolakodásokat és a személyes adatok ellopását, amit egy ismeretlen kártevő támadása eredményezhet.

Az antivírus szoftverek lehetséges hátrányai:

  • Az ismeretlen fenyegetéseket nem tudja megállítani.

  • Az antivírus gyártók reaktív munkafolyamata (azaz, hogy az új vírust eltávolító kódot csak akkor kezdik el fejleszteni, amikor az már valahol felbukkant – megfertőzött valamit –, majd a védelmi vég alaposan megismerte annak viselkedését) késedelmet okoz a hatékony védelem elérhetőségében a felhasználók számára.

  • Felmerülhet az együttműködő-képesség (kompatibilitás) vagy a stabilitás problémája, ha ugyanazon a gépen egyszerre több antivírus termék is fut.

 

Tanulság

Mialatt ez a hírlevél egy tömör áttekintést nyújtott arról, hogy mi az, amit egy vírusvédelemtől várhatunk, és mit nem, egyben rá is világított arra is, hogy a vírusvédelem kötelező eleme a számítógép biztonsági rendszerének.

Következő hírlevelünkben a kiegészítő technológiák (elszigetelés, viselkedésalapú blokkolás) erősségeit és gyengeségeit nézzük meg részletesebben, de ha időközben kérdése lenne a biztonsági szoftverekkel kapcsolatban, ne tétovázzon kapcsolatba lépni velünk elérhetőségeinken keresztül, és mi mindent megteszünk, hogy segítsünk Önnek.

2008. 03. 30.