Světová počítačová síť jako toxický Augiášův chlév

Boj s digitálními viry

Světová počítačová síť jako toxický Augiášův chlév
Boj s digitálními viry

Obsah dostupný jen pro předplatitele.
Přihlásit se můžete zde.

Pokud nemáte předplatné, nebo vám vypršelo, objednat si ho můžete zde.

Obsah dostupný jen pro předplatitele.
Předplatné můžete objednat zde.

Pokud nemáte předplatné, nebo vám vypršelo, objednat si ho můžete zde.

Úspěšné uvedení akcií firmy Avast na londýnskou burzu představuje pomyslný vrchol dosavadního úsilí českého antivirového průmyslu. Na desetimilionovou zemi je Česká republika v tomto oboru mimořádně úspěšná. Jakými cestami vlastně vývoj virového nebezpečí kráčel?

Nejstarší počítač světa, ENIAC, neměl s viry problém. Třicetitunové elektronkové monstrum chlazené leteckým motorem, jehož zapnutí rozblikalo pouliční světla v širokém okolí, bylo programováno pomocí fyzických přepínačů. Tým odborníků, kteří se o něj starali, byl americkou armádou pečlivě vybrán, rovněž z hlediska spolehlivosti. Jejich jednoduché programy vesměs dělaly, co měly, a nedělaly, co neměly – ideální stav počítačového systému, kterého dnes už nedosáhnete. Pokud někde něco přece jen selhalo, byla to chyba, nikoli zlý úmysl operátora.

Již v době spuštění ENIACu bylo patrné, že programovat stroje pomocí přehazování páček je dost neefektivní. Identifikovat nějakou neefektivitu je jedna věc, úspěšně ji vyřešit zcela jiná a mnohem těžší. Konkurenčních konceptů budoucích počítačů bylo mnoho a několik let nebylo jasné, jakým směrem se další vývoj bude ubírat.

Konkurenčních konceptů budoucích počítačů bylo mnoho a několik let nebylo jasné, jakým směrem se další vývoj bude ubírat. - Foto: archiv

Von Neumann a jeho stroje

Nakonec v tehdejším klání mozků zvítězil jistý John von Neumann, maďarský matematik. Byl jedním z těch géniů dvacátého století, kteří ve třicátých letech kvůli svému židovskému původu emigrovali do USA, našli tam pro svoji práci lepší podmínky než v Evropě, a položili tak základy poválečné americké vědecko-technické revoluce. Konstrukce, kterou navrhl, se na jeho počest nazývá von Neumannova architektura a časem zcela ovládla počítačový svět. Všechny běžné počítače jsou dnes na ní založeny. Nepracujete-li v nějakém speciálním oboru, nejspíš jste neneumannovský počítač nikdy ani neviděli.

Genialita von Neumannova návrhu spočívá v rozdělení počítače na několik sekcí. První z nich je procesor, tj. výpočetní jednotka, která vykonává programy. Druhá je paměť, v níž jsou jak programy, tak jejich data. Dalším elementem jsou vstupní a výstupní zařízení (klávesnice, tiskárna, obrazovka, myš, zvuková karta apod). Posledním stavebním blokem je sběrnice neboli bus, skrze kterou spolu procesor, paměť a všechna ostatní zařízení komunikují.

Jednou z výhod této architektury je nesmírná pružnost moderního počítače. Chcete-li ve svém PC vyměnit disk za větší nebo grafickou kartu za výkonnější, stačí vám vymontovat starou součástku z počítače (čímž ji odpojíte od sběrnice) a nahradit ji novější a lepší, kterou pomocí správného kabelu či zásuvky zase připojíte na sběrnici; a ostatní součásti systému se s ní začnou normálně bavit. O takové pružnosti si jiné průmyslové výrobky mohou nechat leda znát. Například automobily jsou koncipovány zcela opačným způsobem, takže dost často nedokážete prohodit jednotlivé díly ani mezi  různými vozidly téhož výrobce, natož napříč značkami. U letadel je podobná myšlenka úplným tabu a překročení tohoto tabu může vést ke katastrofám. Například let Air Transat 236 v roce 2001 jen tak tak unikl zkáze, když pozemní personál nahradil v motoru jednu součástku jinou, příslušející staršímu modelu téhož motoru; byl mezi nimi pár milimetrů rozdíl a těch pár milimetrů vedlo k prodření palivové hadice a tichému úniku veškerého paliva do oceánu. Obratní piloti naštěstí dokázali polomrtvý stroj dotáhnout plachtěním až na portugalské Azory. Zlaté PC, že?

Zároveň však von Neumannova architektura zadělala světu počítačů na problémy, které dodnes nejsou zcela vyřešeny. Akademická sféra 40. let 20. století byla důvěřivým a konstruktivním místem, které nebralo v potaz možnost, že některé vlastnosti počítačových systémů se dají zneužít. Skutečnost, že programy „žijí“ v té samé paměti jako jejich data, je na jednu stranu mimořádně efektivní. K náhradě programu jiným (třeba novější a vylepšenou verzí) potřebujete jen zkopírovat nějaká data někam, což je velmi rychlé, takříkajíc na jedno kliknutí myši; zvláště srovnáte-li to s první verzí ENIACu, u které jste byli nuceni přehazovat desítky a stovky přepínačů a neudělat při tom ani jednu chybu z nepozornosti. Jenže tato skutečnost zároveň zakládá i velkou bezpečnostní slabinu. Programy, které jsou v té samé paměti, mohou přepisovat samy sebe – nebo svoje sousedy. A to je brána problémům otevřená.

Důsledky této skutečnosti nejsou pro laiky úplně jasné. Pojďme si tedy představit podobnou situaci v reálném světě. Jedete-li ranním autobusem do práce a sedíte na dvojsedadle, může vás spolucestující, který se uvelebí na vedlejším místě, obtěžovat jen omezeným počtem způsobů – třeba do vás strkat loktem, utlačovat vás břichem nebo přidusit tělesným odérem. Nemůže vás však pomocí nějaké telepatie přimět k tomu, abyste proti své vůli začali kvákat jako kachna nebo abyste si začali myslet, že se jmenujete Greta Garbo a místo na Maniny jedete do Hollywoodu. Mezi mozky lidí je přirozená bezpečnostní bariéra, kterou vesměs všichni považujeme za natolik samozřejmou, že se nad ní ani nepozastavujeme. Kdyby tam nebyla, stalo by se (nejen) dojíždění do práce značně zajímavější a mnohem méně předvídatelnou aktivitou.

Počítačové programy sdílející tutéž paměť si takové věci navzájem dělat mohou, a to bez ohledu na to, zda si to autor napadeného programu přál, nebo ne. To je důvod, proč je von Neumannova architektura tak úrodným polem pro malware všeho druhu. Chceme-li zabránit tomu, aby jeden program nežádoucím způsobem ovlivňoval chod druhého, musíme k tomu vynaložit značné a systematické úsilí, které nikdy nemá stoprocentní výsledky. Navíc přitom nesmíme zablokovat legitimní komunikaci mezi programy, aby počítač nepřestal plnit své zamýšlené úkoly. Najít co nejlepší vyvážení mezi těmito dvěma požadavky je těžká práce, kterou zvládá jen málokdo. Například právě český Avast.

Rozdělení počítače na několik sekcí je dílem maďarského matematika Johna von Neumanna. - Foto: Shutterstock

Viry, červi a další softwaroví škůdci

Už v 70. letech 20. století uvažovali teoretici o tom, že jednoho dne může vzniknout samoreplikující se program, který se bude šířit „na vlastní pěst“ a případně přitom vykonávat ještě další činnost, o kterou třeba provozovatel počítače nestojí. Kvůli podobnosti s biologickým infekčním agens nazvali tyto hypotetické konstrukty slovem „virus“, případně „červ“. (Zajímá-li vás rozdíl mezi virem a červem, spočívá v tom, že viry potřebují „zavléci“ na cílový počítač úkonem člověka, třeba spuštěním infikovaného programu, kdežto červi se šíří počítačovou sítí sami a bez lidského zásahu. Rozdělení je zajímavé hlavně pro odborníky. Z hlediska běžného uživatele je oboje průšvih, který může vést ke ztrátě dat nebo vynesení citlivých informací někam ven.) Kritickou podmínkou pro úspěšné šíření jakéhokoli viru či červa je množství strojů, které může infikovat. Dokud byly počítače mnohotunovými skříněmi v klimatizovaných místnostech a dokud u každého z nich seděli jeho vlastní programátoři, nedávala výroba takových druhů softwaru moc velký smysl, maximálně jako akademický projekt. Typicky jste dokázali infikovat jen svůj vlastní systém, případně jeden dva další, podařilo-li se vám přesvědčit jejich administrátory, aby důvěřivě spustili něco, co jim pošlete poštou. Začátkem 80. let se však začaly množit osobní počítače, které zabraly nanejvýš kus pracovního stolu a jejichž uživatelem mohl být kdekdo, i neškolená osoba. Tyto počítače existovaly jen v několika základních variantách (například IBM PC), což znamenalo, že program napsaný na jednom z nich dost pravděpodobně fungoval na všech ostatních exemplářích téhož typu – pokud se na ně dostal. Počítačoví nadšenci začali produkovat softwarové vybavení pro zbytek světa: operační systémy, kancelářské nástroje, první hry. Tím vznikl ekosystém, který měl dát vyrůst budoucím IT megakorporacím – a virům. Poslední dílek skládačky zapadl na své místo, když se jednotliví uživatelé začali navzájem propojovat pomocí sítí. Jakmile se rozšířily modemy, vznikl de facto předchůdce dnešního internetu. Už jste nemuseli posílat diskety poštou nebo s nimi jet do sousedního města. Programy jste mohli vyvěsit a rovněž stáhnout, ať už jste byli kdekoli. Tato skutečnost definitivně změnila světovou počítačovou síť v toxický Augiášův chlév.

Od teorie k praxi

První virus, který infikoval PC, byl pákistánského původu a dnes je znám pod označením Brain. Jeho autoři podle všeho neměli v úmyslu škodit a jejich cílem bylo pouze zabránit neoprávněnému kopírování svých programů, které je poškozovalo finančně. Psal se leden 1986, když jejich produkt, šířící se pomocí infikovaných bootovacích sektorů disket, zamořil kromě Pákistánu rovněž Indii, Spojené státy americké, Velkou Británii, Německo, Japonsko a další země. Bratři Farúkové, kteří za jeho vznikem stáli, uvedli do programu svoje jména a telefonní čísla. Následný příval rozzuřených a zoufalých telefonátů ze všech časových pásem světa je ohromil. Tento druh omylu se v historii malwaru měl opakovat ještě několikrát. „Vypustit do divočiny“ experimentální kód, jehož schopnosti šířit se a škodit se ukážou jako daleko větší, než sám autor čekal, není tak složité. Trochu to připomíná vysazení králíků v Austrálii. Koncem 18. století jich bylo pár. Dnes se jich australské úřady nedokážou přes maximální nasazení zbavit a za úspěch je považováno i to, klesne-li jejich aktuální populace pod čtvrt miliardy.

Virárium 80. let se brzy rozrostlo o podstatně méně nevinné exempláře, než byl Brain. Další autoři závadného softwaru už na sebe telefon vesměs neuváděli a jejich motivy byly podstatně temnější než nepodařená snaha ochránit vlastní produkty před pirátským kopírováním. Výroba virů se nejprve stala zábavou mírně vyšinutých vývojářů, kteří si chtěli dokázat svoje kvality tím, že způsobí co největší chaos. Zanedlouho se však do katalogu škodlivého softwaru zařadil i ransomware, který vybíral od postižených uživatelů výpalné za to, že jim nezničí data. To už byla jednoznačně kriminální činnost. Po pádu komunismu se střední a východní Evropa, kde byla spousta kvalifikovaných techniků s dobrými znalostmi matematiky a algoritmizace, stala jednou ze softwarových dílen světa. K programování nebylo potřeba drahého strojního zařízení za miliony a v ekonomické mizerii transformačních let byly licenční poplatky od západních uživatelů (v konvertibilní měně!) výbornou motivací pro tvrdou práci. Tato softwarová dílna ovšem měla jeden špinavý kout, ve kterém se líhl škodlivý software. Postkomunistická policie vesměs nedisponovala odbornými schopnostmi k tomu, účinně vyšetřovat tento typ zločinu, takže po určitou dobu byli pachatelé ilegální počítačové činnosti na východ od Aše de facto nepostižitelní.


Prostor bývalého Československa o sobě dal celému světu vědět v roce 1994, když se z oblasti Košic začal šířit OneHalf, velice sofistikovaný virus, který nenápadně šifroval disk uživatele, a mohl tak způsobit úplnou ztrátu dat. OneHalf uměl přepisovat sám sebe tak, aby každý potomek vypadal jinak než rodič; tato schopnost, zvaná polymorfie, jej měla chránit před prvními antivirovými programy. Infikoval jak zaváděcí sektory disků, tak jednotlivé programy COM a EXE. Na rozdíl od mnoha dalších virů, které nastoupily do jeho stop, se nepokoušel vybírat od uživatelů žádné peníze, přesto však způsobil značné škody na napadených systémech. Bývalé Československo však rozhodně ve světě malwaru nehraje prim; pro nejpovedenější exempláře musíme jít dále na východ Evropy.

Časy, kdy virové nebezpečí bylo jen vedlejším důsledkem činnosti nemotorných programátorských učedníků v Pákistánu, se již nevrátí. - Foto: Shutterstock

Slabiny v lidském softwaru

Od konce 90. let se čím dál častěji setkáváme se škodlivými programy, které ke svému šíření používají sociálněinženýrské metody. Jinými slovy, slabiny v našem vlastním „operačním systému“. Patrně nejúspěšnějším představitelem tohoto poddruhu byl ILOVEYOU, skript psaný v jazyce Visual Basic, který využil podivné vlastnosti tehdejších Microsoft Windows: přípona VBS, naznačující, že jde o spustitelný program, byla v seznamu příloh skryta. Uživatel, který červa dostal e-mailem a používal přitom poštovní program Outlook, tak viděl jenom nevinně vypadající soubor LOVE-LETTER-FOR-YOU.txt – lákavý název, že? Jenže jeho rozkliknutí do počítače nainstalovalo červa; ten se pojistil proti smazání vytvořením několika záznamů v registrech a vzápětí automaticky se rozeslal na všechny adresy, které našel v adresáři Outlooku. Bohužel se ve své činnosti neomezil jen na toto lavinovité šíření, ale na infikovaném systému rovněž ničil některé soubory.

ILOVEYOU se ze svého rodiště – Filipín – v květnu roku 2000 rozšířil po světě rychlostí blesku a nakazil zhruba každý desátý počítač připojený k internetu. Škody, které způsobil, včetně nákladů na vyčištění postižených strojů, se odhadují na více než 20 miliard dolarů. Autoři červa, Reonel Ramones a Onel de Guzmán, byli poměrně rychle identifikováni, nepodařilo se jim však prokázat zlý úmysl. De Guzmán při výsleších opakovaně ujišťoval, že ILOVEYOU byl jen experimentálním kusem kódu, který nikdy neměl opustit jeho počítač, a že k jeho vypuštění došlo náhodou. Jelikož psaní malwaru „do šuplíku“ nebylo tou dobou na Filipínách trestným činem, oba autoři byli bez dalšího propuštěni. Škodlivý software však dávno není jen doménou hackerů a kriminálníků. V čím dál větším množství jej vyrábějí a uplatňují i státní orgány, které chtějí proniknout do chráněných systémů svých nepřátel, vnitřních i vnějších. Že může jít o mimořádně sofistikované produkty, ukazuje například záchyt červa Stuxnet ruskou firmou Kaspersky Lab v roce 2010. Stuxnet nebyl typickým červem, jehož cílem by bylo nakazit maximální množství počítačů po světě; právě naopak, specializoval se na určitý druh průmyslových zařízení vyráběných firmou Siemens, kterých je poměrně málo. Patrně šlo o digitální zbraň americko-izraelského původu, jejímž cílem byla íránská jaderná zařízení. Na cílové systémy se dostal klasickým sociálním inženýrstvím: USB disky s červem byly pohozeny na parkovištích a zvědaví uživatelé, kteří je našli, si je do svých počítačů zapojili sami.

V červenci 2015 pak unikl na veřejnost balík zdrojových kódů italského špionážního systému Galileo, který se ukázal být přímo továrnou na specializované viry. Zákazníky italské firmy Hacking Team byly zejména policejní sbory po celém světě, evropskými zeměmi počínaje a režimy typu Uzbekistánu a Súdánu konče. Mezi vystavenými fakturami figuruje i Bull, s. r. o., prostřednická firma, která zakoupila licenci Galilea pro Policii České republiky. Software licencovaný za několik milionů korun byl rozsáhle používán a není zcela jasné, zda soudci, kteří jeho nasazení schválili, rozuměli charakteru činnosti, k níž vydali souhlas. Antivirové společnosti typu Avastu tak musejí počítat s tím, že kromě běžného kriminálního malwaru stojí jejich produkty i proti státním a státem využívaným prostředkům – a že jejich odhalení a neutralizace se potrefeným státům nemusí vždy líbit. Časy, kdy virové nebezpečí bylo jen vedlejším důsledkem činnosti nemotorných programátorských učedníků v Pákistánu, se již nevrátí. Dnes je to svého druhu válka.

Konkurenčních konceptů budoucích počítačů bylo mnoho a několik let nebylo jasné, jakým směrem se další vývoj bude ubírat.

 

Marian Kechlibar

26. května 2018