S uvedením nových Windows s číslem 8 bylo a je spojováno mnoho očekávání. Očekávání jsou velká mimo jiné i proto, že Windows jsou na více jak 90% počítačů běžných uživatelů po celém světě.

Mne víc než líbivé pozlátko zajímá základ, ze kterého konkrétní program vychází. Proto jsem i já s napětím očekával příchod Windows 8 a informace o bezpečnosti a spolehlivosti tohoto operačního systému. V minulosti jsem slyšel mnoho slibů, že XP budou lepší než Windows 2000, Windows 7 jsou lepší než Visty a XP.

Víc než změna vzhledu pracovní plochy a tlačítek mne zajímala bezpečnost a kvalita jádra Windows. Skutečnost je taková, že od září 2009 do listopadu 2012 bylo ve Windows 7 zveřejněno 268 slabin. Alarmující je fakt, že z toho bylo 185 chyb společných se starými Xpéčky. V listopadu 2012 bylo zveřejněno 5 chyb ve Windows 8, které jsou společné s Windows 7, Vista i XP!!

Proč se o slabiny v programu mají zajímat běžní uživatelé?

Chyby v programech na první pohled představují odbornou věc. Proč se běžní uživatelé zajímají o to, že mají občas automobilky problém a stahují nové vozy na mimořádné prohlídky? Proč se lidé zajímají o zdraví škodlivé látky v hračkách, nádobí nebo dokonce v potravinách? Ve všech případech se jedná o pochybení, jejichž popis je pro běžného zákazníka těžko srozumitelný. Přesto požadujeme, aby nás věci, které používáme, neohrožovaly.

V prostředí počítačů byla a je situace naprosto odlišná a úroveň znalostí, toho co je v pořádku a co je špatně, v prostředí počítačů chybělo. Na počátku chyběly zkušenosti a co hůř, někdy dokonce převážil hlas obchodníků nad názory programátorů a testerů. Takže jsme dnes v situaci, kdy byl uveden na trh operační systém, jehož tvůrci mají ambice prodat mnoho miliónů licencí a přitom tento výrobek obsahuje konstrukční vady, které již měly minimálně tři předchozí verze.

Když se uživatelé zajímají o kvalitu brzd automobilů, složení materiálu, ze kterého se vyrábí hračky nebo o obsah láhve s alkoholem, tak by se měli aktivně zajímat o kvalitu počítačových programů. Na následujících řádcích vám ukáži, že současné postupy jsou nedostatečné. Podle mne se dokonce jedná o stav, který je nebezpečný pro občany i firmy. Podobně jako methylalkohol v láhvi není úkol pouze pro chemiky, tak dlouhodobé chyby v programech nemají řešit pouze IT specialisté.

V každém programu jsou slabiny

Slabiny vznikají vinou spěchu a snahy být rychlejší než konkurence, z důvodu používání zastaralých programátorských postupů, případně i z jiných důvodů.

Podstatné je, jak dlouho chyby v programu existují. Přesněji řečeno, důležité je, jak dlouhá doba uplynula od uvedení programu s konkrétní slabinou na trh do zveřejnění slabiny, případně do vydání opravy.
Dobu existence slabin zmiňuji z toho důvodu, že pro případné zneužívání slabin je potřebný určitý čas. Čím delší je doba, která uplynula od uvedení programu na trh do objevení slabiny v tomto programu, tím větší je riziko, že slabinu bude zneužívat sofistikovaný škodlivý program.

Jasně, pokud se objeví velmi kritická slabina v nějakém programu, tak se mohou již během několika týdnů objevit nástroje, které jí budou zneužívat. Na druhou stranu viry Flame a Stuxnet zneužívali slabiny, které měly pouze střední nebo dokonce i nižší úroveň nebezpečnosti.

Přístup ke zdrojovým kódům

S počty slabin a dobou jejich existence úzce souvisí přístup tvůrců konkrétního programu k jeho zdrojovým kódům. Zdrojový kód je vlastně základ programu, konstrukční plány ve strojírenství nebo elektrotechnice jsou zdrojákům trochu podobné, bližší je notová partitura nebo text divadelní hry či románu.

Jsou dva hlavní přístupy ke zdrojovým kódům. Buď si vše utajujeme nebo naopak zveřejníme. Do první skupiny patřily a patří především operační systémy pro velké počítače (mainframe), které pracují jako centrální servery v bankách nebo zpracovávají matematické modely pro předpovědi počasí. Zde je vše pod kontrolou tvůrců a oni mohou upravovat funkce operačního systému.

Opačný přístup platí v prostředí Linuxu, kde je vše otevřené a ke zdrojákům má přístup každý. To však neznamená, že by byl tento přístup nebezpečný, i když to na první pohled tak může vypadat. Zdrojové kódy může skutečně zkoumat každý zvědavý student nebo programátor a velmi často se tak i děje. Výhoda tohoto přístupu je ukryta v přísloví „Víc očí, víc vidí.“ Ukazuje se, že volný přístup ke zdrojovým kódům nezpůsobí masivní vlnu útoků na konkrétní programy. Je třeba si také uvědomit, že otevřený přístup ke zdrojovým kódům neznamená anarchii v programech.

Uživatelé si mohou upravovat otevřené zdrojové kódy pro svojí potřebu. Pokud chtějí, aby se úpravy staly součástí jednotlivých distribucí Linuxu, musí tyto úpravy předložit správcům jednotlivých distribucí. Ti změny prověří a teprve potom přidají do nové verze operačního systému Linux. Podobně to platí i s odhalováním slabin. Uživatelé dávají přednost tomu, že upozorní správce jednotlivých distribucí. Je tu ještě jedna důležitá věc, pokud chyby našel ve zdrojovém kódu jeden programátor a ten by si tuto informaci chtěl nechat prosebe, tak je pravděpodobnost, že stejnou slabinu odhalí i jiný programátor a ten o ní bude informovat.

Přístup společnosti Microsoft

Microsoft přistupuje ke zdrojovým kódům jinak. Zdrojáky nejsou běžně přístupné, ale současně nejsou ani striktně utajované. Společnost Microsoft má již více než deset let pravidla pro spolupráci s vybranými vysokými školami a státními institucemi. Podle tohoto programu Microsoft poskytl například zdrojáky k Windows XP Izraeli, Číně, Ruské federaci a několika dalším zemím. Naproti tomu antivirové firmy neměly ke zdrojákům přístup a musely hledat jiné cesty k odhalování škodlivých programů (vir, Trojský kůň, atd.)

4000!!! dnů na přípravu viru

Jak jsem již uvedl, vedle objevení slabiny v operačním systému nebo nějakém nadstavbovém programu (Office, mail klient, prohlížeč, atd.) je velmi důležité, jak dlouho byla konkrétní slabina v programu. Tedy jak dlouhou nebo naopak krátkou dobu měli případní podvodníci na přípravu a na úspěšné zneužívání této slabiny. Někdy se jedná o týdny, někdy jsou to měsíce po jak dlouhou dobu byla slabina přístupná.

Velmi vážná a nebezpečná je situace okolo operačního systému Windows a prohlížeče Internet Explorer. V tomto případě se opakovaně vyskytují situace, kdy nově objevená slabina se týká nejnovější verze Windows a současně i předchozích verzí. Tedy slabina existovala například ve zdrojovém kódu Windows XP a zdědily jí i verze Vista, 7 a nejnovější Windows 8. V takovém případě existovala chyba v programu více jak 4000 dnů!!! To je dost dlouhá doba na přípravu profesionálního útoku, jeho otestování a umístění na počítače obětí. Důkazem jsou, mimo jiné, vlastnosti a schopnosti virů Stuxnet, Flame, Gauss.

Zástupci antivirových firem se po provedených analýzách mohou podivovat nad tím, jak byly viry Stuxnet nebo Flame profesionálně připravené a ukrývaly se takovým způsobem, že je antivirové programy nebyly schopné dokonce několik let odhalit. Za deset let dokázali vědci a technici v USA vymyslet, odzkoušet a zrealizovat cestu na Měsíc. Takže připravit za deset let sofistikovaný virus nepředstavuje nic neřešitelného.

Poplašná zpráva nebo tvrdé procitnutí

Zastánci současné situace mohou namítat, že je normální, když jsou v programu chyby. Možná. Rozhodně není normální, pokud se několik týdnů po uvedení do prodeje operačního systému Windows 8 objeví v tomto operačním systému slabiny, které jsou vážné a hlavně jsou společné i s 12 let starými Windows XP.

Stále zde existuje odstup mezi běžnými uživateli a tvůrci IT „vychytávek“. To by se mělo začít měnit. Podle mého názoru se nejedná pouze o jeden operační systém a laxní přístup jeho tvůrců ke zdrojovým kódům a k jejich modernizaci. Vážnější je skutečnost, že tento přístup přechází z tvůrců programů do uvažování informatiků a oni to následně předkládají jako samozřejmost běžným uživatelům počítačů.

Tento přístup je třeba změnit a je nutné začít hned. Mimo jiné proto, že prosazení změny bude trvat mnoho měsíců, spíše několik let. Druhým důvodem je fakt, že tvůrce programu požaduje za nové Windows 8 peníze a odmítá odpovědnost za konstrukční vady, které jsou v jeho výrobku už více jak deset let. Zatím dlouhodobé chyby způsobují pouze komplikace při práci, případně finanční škody. Obávám se situace, kdy deset let stará chyba, kterou zneužil sofistikovaný virus, způsobí dopravní nehodu nebo průmyslovou havárii.

Změna v uvažování lidí, prodej výrobku, který obsahuje konstrukční chyby a riziko ohrožení lidských životů jsou důvody, které se v žádném případě netýkají pouze informatiků.

 

Odkazy : http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1527
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1528
atd.

http://analyza2011.salamandr.cz