| Příběh typické zranitelnosti |
|
|
|
|
Autor: Tomáš Přibyl, externí odborný redaktor ICTsecurity Princip záplatování nejlépe pochopíme na sledování životního cyklu zranitelnosti. Ta nejprve musí být nějak vytvořena. Zpravidla neúmyslně, ale jsou časté i případy, kdy k jejímu vzniku dochází záměrně – se zlým úmyslem buď někoho poškodit, nebo ji později zneužít ve svůj prospěch. Platí zde přitom pravidlo „chyba, o které nikdo neví, jako by neexistovala“. V počítačových programech zkrátka existuje ohromné množství chyb, které se při běžném provozu nikterak neprojevují a na které se tudíž nepřijde. A mnohé z nich zůstanou neodhalené i po podrobných analýzách hackery nebo bezpečnostními specialisty. Takovéto chyby nás ale netrápí (pokud se neprojevují třeba nestabilitou systému). Největší nebezpečí představují chyby, o kterých ví jen útočník (nebo se také dalo říci: o kterých ví kdokoliv, jen ne my). Právě proto je zapotřebí mít kvalitně zpracovanou politiku patch managementu (řízení záplatování). Tím jsme se v životní fázi bezpečnostní chyby dostali do dalšího stadia, do stupně objevení. K němu může dojít buď náhodně (studiem neobvyklého chování systému) nebo záměrně (aktivním hledáním). Velmi přitom záleží na tom, kdo chybu objevil. Ideální je, když na ni přijde přímo výrobce – a v tichosti vydá záplatu (nebo opravdu nenápadně přidá k jiné záplatě). Tímto vůbec neobhajujeme utajování chyb. Ale musíme si uvědomit, že chyba, o které útočníci nevědí, je nezneužitelná. To je častý problém zveřejňování informací o chybách: na jedné straně tyto informace mohou posloužit (a primárně slouží) k dobrým účelům, ale bohužel také bývají zneužívány k útokům. Po objevení následuje oprava chyby. Každá chyba je svým způsobem unikátní, proto vyžaduje určitý přístup. Stejně tak různí výrobci mají různé politiky aplikace záplat – někdo vydává záplaty „jak to jde“, jiný čas od času v pravidelných intervalech, jiný dává přednost vydávání celých nových verzí programu… Po opravě následuje publikování záplaty. Pro mnoho výrobců přitom právě v tomto okamžiku práce končí, ale to je chyba! Proč? Protože pouhým publikováním záplaty nedochází k vlastnímu záplatování zranitelných systémů. Je zapotřebí mít vypracovaný celý systém varování postižených a implementace záplat. To je případ třeba aplikací Adobe a Flash, které jsou instalované celosvětově na cca 98,9 procentech počítačů. Přestože jejich výrobce pravidelně vydává záplaty na známé problémy (tento měsíc jich byl 26 najednou!), statistiky smutně konstatují, že osmdesát procent z nich není aktualizováno. Důvodem je kromě jiného skutečnost, že starší verze těchto produktů nejsou vybavené automatickými aktualizačními systémy. Souběžně s životním cyklem zranitelnosti nastává někde po okamžiku odhalení i to, že dojde ke skriptování zranitelnosti. Jinými slovy: je vytvořený automatický kód, který tuto zranitelnost dokáže zneužít. Tímto úkonem dramaticky roste pravděpodobnost, že zranitelnost bude masově zneužívaná. V závěrečné fázi životního cyklu zranitelnost odumírá, a to buď díky tomu, že většina systémů je proti ní ošetřena – nebo prostě proto, že systémy ji obsahující jsou technicky i morálně zastaralé. I kritická zranitelnost ve Win 3.11 nebo Windows 95 nás asi dnes nechá zcela chladnými… Navíc s ošetřením všech systémů to často nebývá tak slavné a třeba po přeinstalaci počítače či serveru se na některé aktualizace zapomíná, takže zranitelnost se periodicky vrací jako kostlivec ze skříně… Příkladem budiž třeba chyba MS01-033 umožňující šíření internetového červa CodeRed (poprvé zaznamenaný v červenci 2001): stále znovu a znovu se vyskytují na světě nezáplatované servery, které slouží k udržování tohoto kódu při životě… |



















