Programy jsou děravé jako ementál, jen o některých chybách ale víme. Pokud některé z nich odhalíme, je to kupodivu podceňovaný Microsoft, který zareaguje jako první.
Reportáž z letošního ročníku konference Technet, kterou jste si na Živě.cz mohli přečíst minulý týden, spustila pod článkem vášnivou diskuzi, publikoval jsem v něm totiž statistiku, kterou Radim Petratur z Microsoftu otevřel v pondělní dopoledne již tradiční konferenci, která se letos nesla především v duchu serverové virtualizace. Microsoft je podle statistiky softwarový výrobce, který reaguje na dohlaené bezpečnostní chyby ve svých programech nejrychleji ze všech. V prvním pololetí roku 2008 mu to v průměru trvalo 24 dnů. Analýza byal zpracována na základě veřejně dostupných dat.
Děravý je Windows i Linux
Jak vlastně taková záplata vzniká právě v Microsoftu, jehož produkty jsou přirozeně nejčastějším a nejsnadnějším cílem nejrůznějších hackerů?
Programy, včetně operačních systémů, jsou dnes plné chyb a zranitelností a nezáleží na tom, jestli se jedná o „zlý“ Windows nebo „svobodný“ Linux. Ve všech případech jsou to totiž už natolik komplikované aplikace, které se skládají z milionů řádků zdrojového kódu, že ani ten nejlepší testovací program nebo armáda betatesterů před finálním vydáním nezjistí všechno. Z toho plyne, že program má tolik děr, kolik děr v průběhu času objeví analytici, hackeři i běžní uživatelé. Je to vlastně stejné jako s fyzikálními zákony – Newtonův gravitační zákon tu byl již před tím, než na Newtona spadlo jablko, jen o něm nikdo nevěděl, nikdo jej nepopsal.
Microsoft zaměstnává armádu hackerů
O chybách ve svých aplikacích se Microsoft může dozvědět od svých smluvních partnerů, bezpečnostních analytiků (Secunia aj.) a v nejhorším případě chybu odhalí nějaký záškodník a napíše například trojského koně, který využije bezpečnostní díry v systému, otevře zadní vrátka a stáhne ještě nebezpečnější malware, který pak třeba zapojí nakažený počítač do botnetu.
Aby taková situace nastala v co možná nejmenším množství případů, zaměstnává Microsoft rozsáhlý tým hackerů, reverzních inženýrů, kteří se v kostce snaží hacknout cokoliv, s čím přijde Microsoft na trh. Pokud budou rychlejší než skuteční záškodníci, oznámí zranitelnost speciálnímu oddělení Microsoft Security Response Center a v jeho produkci už je pak celá tvorba záplaty.
Záplata je hotová za několik hodin, testuje se ale dlouho
Samotná oprava kódu zabere několik hodin, v těžších případech pár dní, a vždy ji realizuje tým, který vyvíjí konkrétní program nebo modul. Jakmile je záplata vytvořena a otestována produkčním týmem, nastoupí armáda testerů, která záplatu zkouší v nejrůznějších podmínkách a ze všech pomyslných stran. Tento proces trvá ze všeho nejdéle, oddělení MSRC totiž na Windows/Microsoft Update službu nepustí nic, co by sice opravovalo jednu chybu, ale díky nepozornosti by mohlo zavdat příčinu ke druhé chybě.
Poslední částí celého řetězce je oficiální oznámení chyby a její nápravy v tradičním Security Bulletin dokumentu a umístění opravného balíku do aktualizační služby. Za zmínku stojí, že jedna záplata může mít až třicet variant pro nejrůznější kombinace verzí programu nebo operačního systému.
Analýza Jeffa Jonese: Microsoft je nejrychlejší
Tak tedy alespoň ve zkratce vypadá celý životní cyklus jedné opravy chyby ve Windows nebo třeba v kancelářském balíku Office. Podobný scénář samozřejmě používají i další velcí výrobci softwaru a operačních systémů.
Bezpečnostní analytik Jeff Jones, který v současné době zastává post šéfa Microsoft Security Technology Unit, na svém blogu na podzim minulého roku publikoval zajímavou zprávu, kterou nakonec minulý týden citoval i Radim Petratur z české pobočky.
Jones z veřejně dostupných zdrojů za první pololetí loňského roku zjistil, jak dlouhý byl průměrný časový úsek mezi objevením chyby a vydáním záplaty u předních softwarových výrobců na americkém trhu. Jednalo se tedy o Microsoft, Apple a linuxové distribuce Red Hat a Ubuntu.
Průměrná doba, během které vybraní výrobci zareagují na chybu a množství opravených chyb v prvním pololetí 2008
Zatímco Microsoft průměrně zareagoval během 24,2 dnů, konkurenční Apple potřeboval k vydání záplaty téměř 98 dnů. Mnohem lépe je na tom se 72 dny Ubuntu a pro každého bude jistě překvapením pozice legendárního Red Hatu, který podle Jonese potřebuje k vydání opravy celých 105 dnů. Vzhledem k tomu, že se jedná společně se SLES (SUSE) o majoritní linuxový systém pro servery, stojí vysoké číslo za zamyšlení.
Zajímavý je také pohled na koláčový graf, z něhož je patrné, že s největším počtem objevených a opravených chyb loni na jaře bojoval Apple a Red Hat, často zatracovaný Microsoft obsadil až třetí příčku.
Rychlost není výsada, je to potřeba
Rychlost Microsoftu je ale zcela přirozená, pokud ne přímo životně důležitá. Věnuje-li se totiž drtivá většina hackerů výhradně operačnímu systému Windows, musí bezpečnostní tým okolo MSRC s trochou nadsázky vydávat záplaty jako na běžícím pásu. Linuxové systémy tak ke všemu paradoxně těží ze svého minoritního tržního podílu.
Samozřejmě to není dokonalé, samozřejmě že bude Windows i nadále děravý, dovolím si nicméně položit řečnickou otázku, na kterou ale můžete reagovat v diskuzi pod článkem.
Jak děravý by byl Linux, kdyby se mu věnovalo stejné množství hackerů, kteří po nocích pomocí reverzního inženýrství objevují a zneužívají chyby ve Windows?
Zajímavé zdroje: