Počítačový virus

Jako virus se v oblasti počítačové bezpečnosti označuje program, který se dokáže šířit bez vědomí uživatele. Pro množení se vkládá do jiných spustitelných souborů či dokumentů. Takový program se tedy chová obdobně jako biologický virus, který se šíří vkládáním svého kódu do živých buněk. V souladu s touto analogií se někdy procesu šíření viru říká nakažení či infekce a napadenému souboru hostitel. Viry jsou jen jedním z druhů tzv. malwaru, zákeřného softwaru. V obecném smyslu se jako viry (nesprávně) označují i např. červi a jiné druhy malwaru.

Zatímco některé viry mohou být cíleně ničivé (např. mazat soubory na disku), mnoho jiných virů je relativně neškodných popřípadě pouze obtěžujících. U některých virů se ničivý kód spouští až se zpožděním (např. v určité datum či po nakažení určitého počtu jiných hostitelů), což se někdy označuje jako (logická) bomba. Nejdůležitějším negativním důsledkem šíření virů je však samotný fakt jejich reprodukce, která zatěžuje počítačové systémy a plýtvá jejich zdroji.
Některé viry mohou být takzvaně polymorfní (každý jeho „potomek“ se odlišuje od svého „rodiče“). Viry se na rozdíl od červů samy šířit nemohou.

Dnes (2017) jsou klasické počítačové viry na jistém ústupu oproti červům, které se šíří prostřednictvím počítačových sítí, hlavně Internetu. Některé antivirové programy se proto snaží chránit počítač i před jinými, nevirovými hrozbami.

Definice 
Označení virus zavedl do počítačové terminologie poprvé ve své odborné přednášce výzkumný pracovník Fred Cohen v roce 1984 (Experiments with Computer Viruses): „Počítačový virus je počítačový program, který může infikovat jiný počítačový program takovým způsobem, že do něj zkopíruje své tělo, čímž se infikovaný program stává prostředkem pro další aktivaci viru.“

Virus je typ programu, který se dokáže sám šířit tím, že vytváří (někdy upravené) kopie sebe sama. Hlavním kritériem pro posouzení programu jako viru je fakt, že k šíření využívá jiné soubory – hostitele. Virus se mezi dvěma počítači může přenést jedině tím, že někdo přenese celého hostitele, např. nějaký uživatel (obvykle neúmyslně) přenese soubor na disketě či CD-ROM nebo ho pošle prostřednictvím počítačové sítě.

Jako viry jsou někdy nesprávně označovány jiné druhy nebezpečných programů, hlavně červi. Rozdíl mezi červy a virem spočívá v tom, že červ je schopen se šířit sám, bez závislosti na přenosu hostitele. V dnešní době bouřlivého rozvoje Internetu se červi mohou šířit velice rychle. Ale i pro klasické viry je snadnost šíření souborů prostřednictvím internetu výhodou, takže se rozdíly mezi viry a červy do jisté míry ztrácí. S rozvojem internetu ztrácí jakékoliv paměťové nosiče jako CD-ROM nebo USB flash disk na významu. Dominantní se stal přenos virů skrze internet a to konkrétně skrze e-mail. Právě e-mail a nakažená příloha se zasloužila v minulých letech o největší množství šíření virů. Další nebezpečí může pramenit z připojení k zavirované síti. Tento způsob je naopak na vzestupu.

Druhy virů 
Viry je možno dělit podle různých hledisek, např.:

Podle hostitele 
Podle toho, prostřednictvím jakých hostitelů se virus šíří, je možné je dělit na několik druhů. Základními typy hostitelů jsou:
 Spustitelné soubory – COM a EXE programy v prostředí DOSu, EXE soubory v Microsoft Windows, ELF soubory v UNIXu atd.
 Boot sektory disket a diskových oddílů.
 Master boot sektor (MBR) pevného disku.
 Dávkové soubory a skripty – BAT v DOSu, shellové skripty na UNIXu.
 Dokumenty, které mohou obsahovat makra – např. dokumenty programů Microsoft Office.
 Specializované skripty některých konkrétních aplikací.

Podle způsobu činnosti 
Podle různých aspektů způsobu činnosti se některé viry označují specializovanými termíny:

Rezidentní viry 
Virus se může šířit dvěma základními způsoby: buď se ve chvíli spuštění hostitele (tzn. ve chvíli, kdy se při spouštění hostitele spustí kód viru) rozšíří do nalezených nenakažených souborů, nebo se pouze uloží do operační paměti počítače, ve které zůstane až do doby vypnutí počítače, a mezitím infikuje soubory (nebo např. diskety), se kterými uživatel pracuje.

První typ se označuje jako nerezidentní vir, druhý jako rezidentní vir (v DOSu viz TSR).

Stealth viry 
Stealth viry se snaží zamaskovat svou přítomnost v souboru tím, že se zachytí na přerušení, kudy prochází veškeré požadavky na čtení dat ze souboru (tedy i požadavky antiviru). Virus si pak kontroluje, zda se požadavek týká i infikovaného souboru, v tomto případě pak vrátí aplikaci data původního neinfikovaného souboru. Poměrně rychle se ale na tento způsob maskování objevila obrana – antivirus si buď kontroluje, zda není adresa přerušení přepsána, případně na čtení používá přímo služby diskového řadiče.

Tato technika krytí se převážně týkala operačního systému MS-DOS, pro modernější operační systémy je nutno použít složitějších rootkitů (maskovacích zařízení).

Makro viry 
Jedná se o makra, která jsou schopna se kopírovat z dokumentu do dokumentu, případně i ovládat systém. Šíří se v dokumentech kancelářských balíků. V dnešní době se tyto viry příliš nevyskytují, jelikož balíky již mají ochranu proti neautorizovanému spuštění maker.

Ransomware 
Ransomware je druh škodlivého programu, který blokuje počítačový systém nebo šifruje data v něm zapsaná, a pak požaduje od oběti výkupné za obnovení přístupu. Některé formy ransomware šifrují soubory na pevném disku (kryptovirální vydírání), jiné jen zamknou systém a výhrůžnou zprávou se snaží donutit uživatele k zaplacení.

Zpočátku byl populární pouze v Rusku, ale jeho mezinárodní rozšíření roste; v červnu 2012 poskytovatel zabezpečení McAfee vydal zprávu, že nasbíral přes 250 000 unikátních vzorků ransomware. Pouze za první čtvrtletí 2013 se toto číslo zdvojnásobilo oproti roku 2012.

Historie 
Historie počítačových virů začíná počátkem osmdesátých let 20. století. V roce 1983 sestrojil jistý Dr. Frederik Cohen první samomnožící program, který začal označovat jako virus. V podstatě se jednalo o neškodný kód, který se uměl pouze sám množit.
První skutečný vir, který mohl nějak uškodit, naprogramovali v roce 1986 bratři Basid a Amjad Farooq Alvi, pojmenovali jej Brain (mozek). Objevil se 19. ledna 1986. Sice útočil jen na určitou část disku, ale na starších počítačích způsobil větší škody. Tím fakticky odstartovala éra virů, které se od té doby dále rozvíjely. Autoři virů si mezi sebou také předávají moderní techniky a mnoho dalších triků, které umožňují virům měnit svůj vlastní kód a být dokonalejšími a lépe se „schovávat“ před antivirovými programy. Současné viry jsou tak mnohem vyspělejší a dokážou zhroutit celou síť počítačů. Proto je nejlepší se jim bránit účinným antivirem.

Důvody vzniku virů 
Je několik důvodů vzniku virů.
 Vytvářejí je programátoři velkých softwarových firem, kteří byli propuštěni ze zaměstnání. Ti se svým zaměstnavatelům pomstí vytvořením nějakého viru a jeho vpuštěním do jejich lokální (firemní) sítě, aby zničili nebo poškodili firmu.
 Vytvářejí je mladí programátoři, kteří si chtějí vyzkoušet své schopnosti. Pokud se takové viry rozšíří, může to být důsledek chyby nebo neuvědomění si celkového dopadu svojí činnosti.
 Viry jsou jednou z cest, jak ovládnout a řídit větší množství počítačů a využívat je např. k rozesílání spamu.
 Jsou prostředkem, jak zdiskreditovat platformu, která není schopna sama sebe uchránit před jejich šířením.
 Jsou prostředkem k vydírání peněz z uživatelů.
 Mohou být prostředkem k ovládání DDos útoků.

Obrana před viry 

Některé operační systémy (např. Linux, BSD aj.) jsou vůči škodlivým kódům méně náchylné, tudíž pro svou vlastní potřebu antivirové programy prakticky nepotřebují (výjimkou jsou servery, které tyto programy používají zejména na ochranu svých klientů). I škodlivé kódy, zejména rootkity, pro ně existují, ovšem běžný uživatel se s nimi prakticky vůbec nesetká a když už, většinou se jedná o kódy dávno zneškodněné.

Reference

Externí odkazy 
 
 
 viry.cz – Igiho stránka o virech
 virovyradar.cz – Aktuální situace virů šířících se e-mailem
 viry.org – Viry ke stažení pro studování zdrojového kódu
 wildlist.org  – Seznam aktuálně hrozících virů a červů (anglicky)

Počítačové viry
Malware
Virus