Začalo to všechno vlastně zcela nenápadně. Psal se rok 1949 a jistý Neumann János Lajos na universitě v Illionis držel přednášku s komplikovaným názvem “Teorie a organizace složitých automatů”. Pan Lajos věděl, o čem mluví. Širšímu publiku je znám pod svým přijatým jménem John von Neumann a je jedním z teoretických otců současných počítačů. Tématem jeho přednášky a pozdější eseje byly počítačové programy navržené tak, aby replikovaly samy sebe. Von Neumann je tak pokládán za autora konceptu počítačového viru, jakožto samočinně se šířícího programu.

Za viry pan von Neumann může také protože je to jím navržená architektura (nepříliš překvapivě se jí říká “von Neumannovská”), která šíření naprosté většiny z nich umožňuje. Na ní založené počítače totiž disponují operační pamětí, ve které jsou uloženy jak programové instrukce tak data. Konkurenční harvardská architektura má paměť pro program a data oddělenou (dnes se používá typicky v mikrokontrolerech) a to elegantně řeší řadu bezpečnostních problémů – ovšem za cenu mnoha omezení jiných, takže bychom na pana von Neumanna měli hledět spíše s vděčností.

Trvalo ale dalších více než dvacet let, než se ze samoreplikovatelných automatů staly viry. S tím pojmem přišel, pokud je mi známo, až v roce 1970 sci-fi spisovatel (a astrofyzik) Gregory Benford. Ve své povídce Zjizvený muž popsal škodící počítačový program, který sám sebe šířil a nazval ho VIRUS. Název to byl velice přiléhavý.

Virus, ten opravdový, nepočítačový, je vlastně jenom informace. Je to fragment “zdrojového kódu” (v lidsky čitelné podobě ho najdete v databázi NCBI, amerického Národního centra pro biotechnologické informace). Virus sám o sobě je v podstatě neškodný. Není živý, nerozmnožuje se, nic nejí ani nepije. Je to jenom sada instrukcí, které čekají na vhodného hostitele, na kterém by se mohly spustit. Pokud se virus dostane do vhodného organismu – jako třeba SARS-CoV-2 do toho lidského, začne se množit. Lépe řečeno, on sám nezačne dělat nic, ale buňky hostitelského organismu začnou vykonávat virový program a vytvářet jeho kopie. Podobnost mezi viry počítačovými a reálnými je až poněkud mrazivá.

Klasické počítačové viry se začaly objevovat v osmdesátých letech minulého století a největšího rozmachu dosáhly v letech devadesátých. Se současným malwarem mají ovšem společného jenom málo. Klasické viry musely být velice stručné a efektivní – už jenom s ohledem na technická omezení v množství paměti, úložiště, výkonu počítačů a podobně. 

Jeden z prvních počítačových virů byl Morrisův červ. Jako intelektuální cvičení ho napsal jistý Robert Tappan Morris, v té době student na Cornellově universitě v USA a vypustil ho do světa prostřednictvím Internetu 2. listopadu 1988. Červ využíval několik zranitelností v běžně používaných programech a během několika desítek hodin infikoval tisíce počítačů. Byl záměrně naprogramován tak, že se šířil i na počítače, které již napadl dříve, a to ho proměnilo z neškodného intelektuálního cvičení v jeden z prvních síťových Distributed Denial of Service útoků. Morris byl v roce 1990 odsouzen k pokutě a podmínce a o patnáct let později založil známý startup akcelerátor Y Combinator, který pomohl na svět projektům jako je Reddit, Dropbox nebo Airbnb.

Klasické počítačové viry se ovšem musely dokázat šířit i bez sítě, protože ostatně v osmdesátých a devadesátých letech většina počítačů fungovala izolovaně. Oblíbené byly také takzvané boot viry. Start tehdejších počítačů probíhal tak, že procesor slepě a důvěřivě vykonal kód, který našel na začátku (v boot sektoru) prvního disku, který počítač měl. Za normálních okolností se jednalo o zavaděč MS-DOSu (nebo jiného operačního systému). Ale bootovací viry infikovaly boot sektory disket. Pokud někdo zapomněl disketu při startu počítače, spustil se jako první virus na disketě uložený. Ten pak teprve spustil vlastní operační systém — ale sám měl kontrolu nad vším, co se v počítači děje. Takže mohl kopírovat sám sebe na další diskety do počítače vložené.

Kód typického jednoduchého boot viru této éry vidíte na obrázku. Jmenuje se Stoned a nedělá nic jiného, než že se šíří mezi disketami a za určitých okolností vypíše zprávu “Your PC is now Stoned!”.

Asi nejznámější virus tohoto typu se jmenoval Michelangelo. Dodnes nevíme, kdo byl jeho autorem, ale poprvé byl objeven 4. února 1991 v Austrálii (a vyvinul se z výše uvedeného viru Stoned). Na rozdíl od něj ale škodí. Pokud je datum nastaven na 6. března, přepíše prvních sto sektorů pevného disku nulami, což znepřístupní data na disku uložená. Šestý březen jsou narozeniny renesančního malíře a sochaře Michelangela, po němž virus získal své jméno (Michelangelo ale není nikde v kódu viru zmíněn a není pravděpodobné, že by jeho autor datum zvolil z tohoto důvodu). Pro svůj velký destrukční potenciál byl tento virus miláčkem mainstreamových médií a několik let bylo doporučováno šestého března počítače vůbec nezapínat (nebo na nich posunout datum o den dříve nebo později).

Zatímco lidské tělo má přirozený imunitní systém, který s viry dokáže s větším či menším úspěchem bojovat, počítače nic takového nemají. Proto vznikly antivirové programy. Ve své historické, klasické podobě se jedná o rezidentní (na pozadí běžící) programy, které se snaží na základě známých signatur virů detekovat nákazu a zabránit jí. Klasický antivir obsahuje rozsáhlou (a pokud možno často aktualizovanou) databázi, která obsahuje “kousky virů”, podle kterých lze viry detekovat a zároveň instrukce pro jejich zneškodnění.

Celé oficiální jméno populárního “koronaviru” je “Severe Acute Respiratory Syndrome Coronavirus  2″, tedy koronavirus způsobující závažné akutní selhání dechu, varianta 2, zkratkou SARS-CoV-2. Jím způsobovaná nemoc se nazývá “Coronavirus Disease 2019” (koronavirová nemoc 2019), zkratkou COVID-19.

Je zajímavé, že docela podobně fungují moderní vakcíny, včetně těch tolik diskutovaných “koronavirových” v současnosti. Historka o vzniku vakcinace jako takové je dostatečně známá: anglický venkovský lékař Edward Jenner v roce 1796 lidem píchal do těla hnis z kravských neštovic, aby jejich imunitní systém vytrénoval na boj proti těm lidským. Nicméně moderní mRNA vakcíny fungují jinak, podstatně elegantněji. Stejně jako viry samotné – na bázi informací, virových signatur, stejně jako ty počítačové antiviry.

Jakmile je virus samotný (lhostejno zda počítačový nebo ten z reálného světa) znám a izolován, je obrana proti němu principiálně jednoduchá. Stačí jeho signaturu přidat do databáze antivirového programu nebo na ni naučit imunitní systém. Vývoj klasických vakcín trval dlouho, protože bylo nutné pečlivě najít (nebo vypěstovat) takovou variantu patogenu, která byla dost podobná tomu opravdovému, ale zároveň byla neškodná. V současné době ale lze vakcínu “naprogramovat” na základě známého “podpisu” viru rychle. Velice rychle. V řádu hodin. První vakcína proti SARS-CoV-2, Moderna, byla vyrobena necelý den poté, co byl virus (tehdy ještě jako “SARS-NCoV”, nový koronavirus) do databáze NCBI nahrán. Od té doby probíhá testování a schvalovací proces.

Problém je, že viry – jak počítačové, tak ty organické – jsou polymorfní, mění se, mutují. V případě organických virů jde o proces nezamýšlený, náhodný. Informace, která virus tvoří, není příliš stabilní, takže vznikají chyby, jako u analogových kopií. Některé kopie obsahují takové množství chyb, že výsledek je nepoužitelné. Jiné vytvoří nové varianty viru. U počítačových virů je polymorfismus záměrný, kdy virus nevytváří prosté kopie sebe sama, ale aby snížil pravděpodobnost detekce antivirem, kopie různě modifikuje případně šifruje. Úkolem antiviru (nebo vakcíny) je vyhmátnout takovou signaturu viru, aby podchytil co nejvíc jeho variant. Jedná se o cílenou činnost (a mimo jiné proto je vakcinace obecně účinnější než prodělání nemoci – trénuje na širší spektrum mutací, protože je na to optimalizovaná).

Podobnost virů počítačových a biologických je v některých ohledech skoro až děsivá. Bylo by jistě zajímavé vědět, co by si o ní myslel syn židovského bankéře z Budapešti, zázračné dítě, válečný emigrant a jeden z otců americké atomové bomby von Neumann.