V dobe rastúcej počítačovej kriminality je už takmer nevyhnutné zaoberať sa ochranou proti programovým hrozbám. Tak ako nám počítačové programy uľahčujú život, tak nám môžu aj škodiť. Ochranou proti programovým hrozbám sa zaoberajú antivírové programy. Stále stúpajúce množstvo programových hrozieb nás núti brať antivírovú ochranu ako úplnú samozrejmosť. V dnešnej dobe je už pomerne vzácne nájsť niekoho, kto si tieto hrozby neuvedomuje a necháva svoj počítač bez ochrany.
Táto prednáška sa zaoberá prostriedkami ochrany proti programovým hrozbám, konkrétne antivírusovými programami. V prvom rade si povieme rozdelenie antivírusových programov. Ďalej si povieme ako takéto programy fungujú, ako sa aktualizujú, aké analýzy používajú a mnoho iného.
Antivírusové programy môžeme rozdeliť do niekoľkých skupín. Základné delenie od najjednoduchších po najzložitejšie programy vyzerá nasledovne.
Jednoúčelové antivírusové programy
Sú to najjednoduchšie antivírusové programy, ktoré sú zamerané na detekciu a liečenie jedného konkrétneho vírusu, poprípade menšej skupiny vírusov. Čo sa týka jednoúčelových antivírusov, nejde o plnohodnotnú ochranu počítača. Je to skôr spôsob poslednej záchrany, keď sa používateľ dozvie, že jeho počítač bol napadnutý špecifickým vírusom. Vtedy nie je nič jednoduchšie ako použiť práve túto skupinu antivírusov. Tieto antivírusy sú k dispozícii väčšinou zdarma a slúžia na odstránenie rozšíreného vírusu v danej dobe.
On-demand skenery
Táto skupina antivírusových programov väčšinou tvorí súčasť nasledujúcej skupiny, ale môže byť poskytovaná aj samostatne. Obyčajne ide o jednoduché verzie, ktoré sa používajú s operačným systémom MS DOS. Môžu to však byť aj rôzne on-line skenery, aplety. Takéto programy sa používajú na liečenie systémov, na ktorých nie je možné spustiť operačný systém MS Windows.
Antivírusové systémy
V súčasnej dobe ide o najčastejšiu formu antivírusových programov. Takéto systémy sa skladajú z častí, ktoré nepretržite sledujú všetky najpodstatnejšie vstupné a výstupné miesta v počítači, ktorými by sa mohol šíriť škodlivý softvér. Samozrejmosťou býva aj aktualizácia prostredníctvom internetu. Ide o komplexné antivírusové riešenie. Medzi najznámejšie produkty, ktoré patria do tejto kategórie, patria AVG, NOD32, Avast atď.
Bežné súčasti
-
vykonávajúce nepretržitú kontrolu - antivírusovú kontrolu na dátami, s ktorými používateľ pracuje (on-access skener)
-
umožňujúce urobiť antivírusový test na vybrané oblasti - test je vyvolaný na základe požiadavku používateľa (on-demand) a obvykle sa tak táto časť označuje ako on-demand skener
-
udržujúce antivírusový systém v aktuálnej podobe - zaisťuje sťahovanie aktualizácií z internetu
-
vykonávajúce automatickú kontrolu prijatej a odoslanej elektronickej pošty
Menej bežné súčasti
-
Plánovač akcií (scheduler), ktorý umožňuje v zvolenom termíne automaticky vykonať naplánovanú úlohu
-
Kontrola integrity dát
-
Karanténa (quarantine)
-
Monitorovací program
-
Antivírusový plug-in pre aplikáciu MS Office
-
Antivírusový šetrič obrazovky (screensaver)
-
ďalšie
Aktualizácia antivírusového systému prešla dlhým vývojom. Úplné počiatky siahajú do dôb, keď sa aktualizácia šírila prostredníctvom papierových časopisov, kde sa objavovali dlhé zoznamy detekčných reťazcov (sekvencií), ktoré si musel užívateľ sám prepísať do svojho antivírusového programu. Neskôr sa aplikovala aktualizácia prostredníctvom diskiet a CD. Tie rozosielali antivírusové firmy raz za mesiac, prípadne raz za štvrť alebo pol roka.
V súčasnosti je internet už súčasťou nášho každodenného života a pripojenie si môže dovoliť takmer každý. Práve preto sa dnes antivírusové systémy aktualizujú touto pohodlnou a najmä rýchlou cestou. Rýchlosť tu hrá veľmi významnú rolu, pretože niektorý škodlivý softvér sa dokáže rozšíriť po celom svete za pár hodín. Práve preto má modul, ktorý sa stará o aktualizáciu veľký strategický význam.
Pre efektívnu činnosť aktualizácie je nutné zaistiť:
-
Rýchlu reakciu zo strany spoločnosti
-
Správne nastavenie časti sťahujúcej aktualizácie na strane používateľa
Rýchlosť sťahovania aktualizácií ovplyvňuje najmä jej veľkosť. Jedna z metód, ako znížiť veľkosť aktualizácie je jej rozdelenie na dve nezávislé časti. To akým spôsobom sa aktualizujú vírusové databázy je závislé na konkrétnom type antivírusu. Všeobecne existujú dva spôsoby:
-
Plná aktualizácia - vždy sa sťahuje celá vírusová databáza znova. Veľkosť takejto aktualizácie sa pohybuje rádovo v megabajtoch.
-
Inkrementálna aktualizácia - sťahujú sa len tie časti vírusovej databázy, ktoré na servery výrobcu pribudli od poslednej aktualizácie, ktorú používateľ urobil. Výsledkom je, že sú sťahované len tie informácie, ktoré sa na stanici používateľa dosiaľ nevyskytujú (nesťahuje sa všetko opakovane ako v predchádzajúcom prípade). Pozitívom je zároveň aj rýchlosť a veľkosť aktualizácii (obvykle maximálne niekoľko desiatok KB).
Vírusová databáza je ďalšou dôležitou súčasťou antivírusového systému. Vírusová databáza obsahuje informácie, na základe ktorých dokáže antivírusový skener rozpoznať známy škodlivý softvér. Antivírusový skener dokáže rozpoznať iba vírusy, ktoré vznikli pred dátumom poslednej aktualizácie vírusovej databázy. Pravidelnou aktualizáciou je možné zabezpečiť, že rozdiel medzi aktuálnym dátumom a dátumom vydania bude čo najmenší a bude možné detegovať aj najnovšie prírastky medzi škodlivým softvérom.
Vírusová databáza obsahuje minimálne tieto položky:
-
názov škodlivého softvéru,
-
informácie, na základe ktorých je možné vírus detegovať. Napríklad signatúry, čo sú vlastne sekvencie znakov, ktoré sa stabilne vyskytujú v telách škodlivého softvéru. Rôzne kontrolné sumy statických častí škodlivého softvéru, ktorými možno minimalizovať falošné poplachy.
Patria medzi najdôležitejšiu a najstaršiu súčasť antivírusových systémov. Ako názov napovedá, ich úlohou je vykonávať proces skenovania, počas ktorého sú v počítači vyhľadávaný možný škodlivý softvér. V súčasnosti sú antivírusové skenery na takej úrovni, že dokážu rozpoznať škodlivý softvér aj napriek tomu, že sa nenachádza vo vírusovej databáze. Využívajú sa špeciálne metódy detekcie.
Antivírusové skenery je možné rozdeliť na dve hlavné skupiny:
-
on-demand - je taký, ktorý vyhľadáva vírusy(skenuje) až po vydaní požiadavku používateľom. Tieto skenery sa používali najmä v dobe operačného systému MS-DOS. On-demand skener dokáže prehľadávať aj zkomprimované súbory či už interne, alebo pomocou archivačných programov (RAR, ZIP,...).
-
on-access - úplne automaticky a neustále vyhľadáva vírusy v dátach (najčastejšie v súboroch), s ktorými prichádza používateľ do styku.
On-access tak môže skenovať:
-
spustené súbory/programy
-
otvárané súbory
-
ukladané súbory
Hľadať vírusy v spustených súboroch je nutným minimom pre on-access skener. Z princípu je jasné, že skener spraví antivírusovú kontrolu súboru ešte pred okamžikom, než príde k jeho spusteniu. Ak by súbor obsahoval vírus, skener k danému súboru zablokuje prístup do doby, než sa používateľ rozhodne, čo s ním spraví. „Otváranie“ súborov je veľmi širokým pojmom, dochádza k nemu napríklad aj pri presúvaní či kopírovaní. Bežný on-access skener tak dokáže kontrolovať aj e-mailové prílohy. Oba typy skenerov robia antivírusovú kontrolu len na tých súboroch či systémových oblastiach, ktoré sú pre vírusy nejako zaujímavé. Bohužiaľ je veľmi ťažké zistiť, či je, či nie je daný súbor pre vírus zaujímavý. Antivírusové skenery tento problém riešia nasledovne:
-
1. Prezerajú všetky súbory (*.*). Vírus sa síce nikam „neschová“, ale celý test trvá citeľne dlhšie a navyše môže priniesť aj veľa falošných poplachov.
-
2. Prezerajú súbory podľa dlhého zoznamu masiek (*.exe, *.doc, *.xls, *.scr ...). Vírus sa môže vyhnúť detekcii v prípade, že infikuje napríklad súbor typu EXE, ktorý má neštandardnú príponu (tj. nemá príponu .EXE). Proces skenovania je v tomto prípade najrýchlejší.
-
3. Pozerajú do hlavičiek všetkých súborov a na základe rýchleho úsudku rozhodnú, či bude súbor podrobený detailnému prieskumu v podaní skeneru (tj. či je súbor pre vírus dôležitý alebo nie). Obvykle je táto metóda kombinovaná s bodom č.2. Výsledkom je rýchlosť na úrovni medzi bodom č.1 a č.2.
Je spôsob podrobnej analýzy obsahov súborov na pevnom disku spojenej s vyhľadávaním rôznych podozrivých častí kódu (priame zápisy na disk, prevzatie kontroly nad operačným systémom). Heuristická analýza je všeobecne fungujúca metóda, ktorá nie je závislá na vírusovej databáze. Automaticky sa pri tejto metóde vykonáva test aj na známe vírusy. Ak je niektorý súbor označený ako napadnutý, prehľadáva sa v databáze vírusov a meno vírusu je vypísané, v opačnom prípade je vírus označený ako neznámy. Ak antivírusový program obsahuje tzv. plnú heuristickú analýzu (heuristická analýza s emuláciou kódu), vtedy sa antivírový program priamo pokúša emulovať činnosť počítača pri spustení programu. Touto metódou môže antivírový program nájsť a odhaliť úplne nový, neznámy vírus, ktorý nie je obsiahnutý v databáze antivírového programu, ktorý prehľadáva súbory metódou skenovania. Táto metóda odhaľovania vírusov môže označiť za nakazené neznámym vírusom aj tie súbory, ktoré sú v poriadku. Stačí, keď vnútorná štruktúra kódovania bude podobná kódovaniu vírusov alebo ich správaniu.
-
Pasívna - prehľadávala súbory a hľadala v nich typické príznaky (sekvencie znakov) pre vírusy. Nevýhodou bolo, že nedokázala preniknúť po „povrch“ kódovaných či polymorfných vírusov a tak zložitejšie nedokázala detegovať.
-
Aktívna - jej základom je emulátor kódu a s ním spojená existencia virtuálneho prostredia počítača. Dokáže spustiť súbor a jeho časť „odemulovať“ podobne ako by to spravil používateľ. Emulátor kódu však všetku činnosť prevádza vo virtuálnom prostredí a skutočný počítač užívateľa tak v prípade „spustenia“ infikovaného súboru nemôže ohroziť. Pokiaľ by bol spracovávaný súbor infikovaný, emulátor v podstate vykoná aj činnosť vírusu, preemuluje dekódovaciu slučku (dekryptor) a dostane sa tak priamo na povrch vírusu. Emulátor vykoná aj činnosť prípadného vírusu - preemuluje dekódovaciu slučku (dekryptor) a dostane sa tak priamo k „vnútornostiam“ vírusu, kde už môže skener pokojne vyhľadávať podľa sekvencií.