Hlavní navigace

Polemika: Přeceněná softwarová diverzita?

9. 3. 2004
Doba čtení: 5 minut

Sdílet

Největší virové záplavy bývají tak či onak spojovány s Microsoftem. V této souvislosti se proto objevují úvahy o tom, zda by bezpečnosti Internetu neprospěla větší softwarová diverzita. V polemice s článkem Aleše Miklíka, který na Lupě vyšel minulý týden, se pokusím ukázat, proč pokládám takové úvahy za spíše nikam nevedoucí. Microsoft je sice terčem dobře viditelným, nicméně právě proto je strefování do něj současně poněkud laciné.

První aspekt věci je lehce politický a zmiňuji ho zde jen na okraj: Pojem diverzita se stává jakousi módní až povinnou politicky korektní mantrou (což by se jistě dalo podrobně rozvést, nicméně v této souvislosti to řešit nebudeme). Média i jejich čtenáři mají dnes tendenci být texty obsahujícími slovo „diverzita“ jaksi uhranuti. Převedeno na Internet, dominanci Microsoftu a viry: Možná jsme také uhranuti a zabýváme se tématem, které zase tak nosné není, nebo jsme ho prostě uchopili ze špatného konce.

Teď se na chvíli přesuneme tam, kde má pojem diverzita nesporně smysl: do světa biologie. Diverzitou (variabilitou) se zde ovšem může myslet celá řada věcí, třeba počet druhů obývajících určitý systém nebo genetická variabilita existující v rámci druhu jediného. Diverzita se dává do poměrně volné souvislosti se stabilitou (je to zase složitější – pro stabilitu nějakého systému není rozhodující počet v něm žijících druhů, ale spíše počet „módů fungování“ – viz třeba článek Stabilita biologických systémů). U genetické rozmanitosti existující v rámci jediného druhu je pak skutečně jasné, že zvyšuje pravděpodobnost přežití druhu po úderu parazita. Podle vlivné neodarwnistické teorie Červené královny je dokonce tento věčný boj s parazity i příčinou existence sexuality (je prostě potřeba, aby potomci byli nějak odlišní od rodičů a parazité tak snadno nenašli klíče k zámkům jejich imunitních systémů).

No jo, ale jak to všechno převést do světa Internetu? Co jsou druhy a co jsou jedinci lišící se v rámci jediného druhu? Máme pokládat operační systémy za variabilitu existující v rámci jediného druhu, nebo za různé druhy? A čemu pak odpovídají různé verze jednoho operačního systému? Ani na druhé straně barikády, totiž u těch počítačových virů, není i přes jejich pojmenování zdaleka jasno (podrobněji o jejich odlišnostech od virů biologických viz např. článek Proč počítačové viry nejsou živé?).

Proveďme malý myšlenkový experiment. Co se stane, pokud nějaký parazit napadne druh s velkou genetickou variabilitou? Dejme tomu, že vyhubí polovinu jeho příslušníků. Druh s malou diverzitou pak má řekněme šanci v 50 % případů vyváznout bez úhony a 50% vyhlídku na úplné vyhynutí. Problém je ale v tom, že zatímco geny jednou vyhynulého druhu mají už v přírodě smůlu a do dalších generací se prostě nepředají, u počítačů to neplatí. Počítače se nereplikují, nevyrábějí další počítače-své kopie. Výrobu počítačů stále zajišťují lidé a v podstatě totéž platí i pro počítačové viry. I kdyby se v jeden okamžik zhroutily všechny počítače připojené k Internetu a využívající operační systém XY, ten tímto ze světa nezmizí a výrobci klidně zítra dodají záplatovanou verzi.

Coby uživatelé Internetu jsme navíc v poněkud nejasné situaci. Je skutečně horší, když nějaký červ občas postihne třeba 70 % připojených počítačů, než kdyby bylo s větší frekvencí vyřazeno procento menší? Nevím. Tady se samozřejmě bavíme o klientské straně, úplně jiná věc je infrastruktura serverů ISP a serverů doménových – vlastně si myslím, že budoucí skutečně ničivý internetový útok se zaměří spíše tímto směrem.

Domnívám se, že i v prostředí více operačních systémů se objeví kódy, které budou nějakým způsobem univerzální. Můžeme se jich dočkat nejspíš v souvislosti s útoky proti mobilním zařízením, které dnes monokulturní charakter nemá (podrobněji např. článek Evoluce počítačových virů). Ale i kdyby žádné univerzální zbraně neexistovaly, ve chvíli, kdy se třeba Linux na desktopech běžných uživatelů výrazněji rozšíří (dojde-li k tomu), stane se stejně lákavým cílem i pro útočníky. Dosud za to tvůrcům virům, kteří se chtěli hřát v zájmu médií, prostě nestál jako příliš řídce rozšířená a málo spektakulární kořist. A kdo by na tomto místě chtěl argumentovat různou mírou zabezpečení jednotlivých OS – vzpomeňte, že nejrozšířenější epidemie nevyužívaly žádnou konkrétní softwarovou chybu, ale naivitu uživatelů.

Podle mého názoru nelze navíc úplně zapomínat ani na škodlivé účinky diverzity. Takový stav disponuje sice možná větší odolností, na druhé straně zde může jen obtížně probíhat evoluce (ve chvíli, kdy určitý druh dosáhne velké genetické variability, jeho evoluce často paradoxně prostě zamrzne – podrobnosti. Kdybychom pokračovali v analogiích přitažených za vlasy, je představitelné, že třeba ve světě s mnoha operačními systémy nebo s mnoha verzemi OS jediného bude podstatně zpomalen vývoj aplikací – prostě proto, že se budou muset vyvíjet ve více verzích. A pokud namítnete, že by zde stejně mohly existovat nějaké standardy, které umožní platformovou nezávislost aplikace – pak totéž bude platit i pro škodlivé kódy.

Za rozhodně přínosnější myšlenku, než nějak shora propagovat či dokonce nařizovat povinnou diverzitu klientských počítačů, pokládám koncept, který podpořila grantem americká National Science Foundation. Výsledkem by mohla být taková filozofie instalace OS/aplikací do systému, díky níž by všechny počítače nesdílely stejné slabiny (byť pro uživatele by rozhraní muselo samozřejmě zůstat stále identické). Podrobněji o tom Science World nebo Root. Tady by se dalo spekulovat i s tím, že podobný proces určitého „rozmíchávání“ vlastností jednotlivých počítačů trochu připomíná výše zmíněnou Červenou královnu a sexualitu, která také skládá geny do nových kombinací. Samozřejmě – to je zase jen analogie sporné hodnoty.

Nakonec si myslím, že Microsoft má v podstatě pravdu, když tvrdí, že paralely mezi počítačovými a biologickými systémy je třeba používat uvážlivě – i když analogie zde zjevně jsou a dalo by se říct, že mezi kybernetikou a biologií existují nejspíš i nějaké „hlubinné strukturální podobnosti“ (uznávám, že takto řečeno to zní ovšem strašně).

Jednou věcí jsou skutečné bezpečnostní díry, druhou pak sociální inženýrství, kterého využívají nejúspěšnější viry. Proti tomu však není řešením určitý operační systém, ale spíše změna samotné filozofie, která by omezila možnosti chování koncového uživatele – v podstatě na několik předem definovaných činností (co není povoleno, nemusí být zakázáno, protože to v systému prostě učinit nelze). Taková filozofie (téměř „terminálová“) někde funguje odedávna. Pro domácí uživatele to asi akceptovatelné není, zde ale ani díky virům nevznikají hlavní škody. Co se pak firemní klientely týče, to už záleží na konkrétních subjektech. Třeba se to pak bude nějak zohledňovat např. při uzavírání pojištění nebo v soubojích o státní zakázky, co já vím.

Křisťálová Lupa 24 hlasovani

K popsané změně filozofie ale podle mého názoru dojde až ve chvíli, kdy se odehraje nějaký skutečně destruktivní útok, proti kterému byly všechny ty ILoveYou či MyDoom jen neškodnými vtípky. Současně bude nejspíš následovat změna legislativy a kroky směřující k mezinárodním dohodám o její celosvětové působnosti. Jestliže autora červa I Love You nebylo na Filipínách vůbec možné stíhat, soudím, že v budoucnu budou třeba do Internetu propojeny sítě jen těch států, kde bude počítačová kriminalita adekvátním způsobem ošetřena (nevím, jak se to ošetření připojení bude technicky řešit, třeba přes DNS, který má centralizovanou povahu).

Ale to všechno jsou jen spekulace. Prevence je samozřejmě hezká věc, nicméně moudřejší nejspíš stejně budeme až ve chvíli, kdy i na Internetu dojde k nějakému skutečně ničivému, plošně destruktivnímu ak­tu.

Co by podle vás nejvíce přispělo ke zvýšení bezpečnosti Internetu?

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).