| Základy patch managementu |
|
|
|
|
Autor: Tomáš Přibyl, externí odborný redaktor ICTsecurity Záplaty, aktualizace, update, patche… Je jedno, jak jim říkáme. Implementovat je musíme a často se s nimi hodně trápíme – nebo naopak aktualizace trápí nás. Bez větší nadsázky se dá říci, že záplaty jsou nutné zlo, se kterým se musíme naučit žít (a pracovat). Protože bez nich by bylo hůř… Chyby v miliónech řádcích I malé záplaty mohou představovat velký problém – vytížení komunikačních linek, organizace nasazení apod. Také je nutné mít jistotu, že se záplata dostala na místo určení (např. je třeba nějak ošetřit, byť dodatečně, i počítače pracovníků, kteří jsou právě na dovolené, na cestách nebo na neschopence) a že byla úspěšně nainstalována. A že její instalace nebude mít vliv na chod celého informačního systému… Neb drobná změna na straně jedné může vyvolat lavinový efekt někde úplně jinde. Těmto úskalím navzdory se ale s procesem záplatování (aktualizování, patchování, updatování – ač jinými slovy, vždy hovoříme o tomtéž) musíme chtíc nechtíc vypořádat. Chyby a zranitelnosti v počítačových aplikacích jsou bohužel jejich neodmyslitelnou součástí. Statistiky pouze suše konstatují, že na tisíc řádků programového kódu připadá 5 až 20 chyb. Pro úplnost: třeba operační systém Win 3.11 měl cca tři milióny řádků programového kódu, Windows 95 už patnáct miliónů a Windows 2000 kolem 35ti miliónů. Vista má řádků padesát miliónů. Podobně typická instalace Linuxu v roce 1992 měla 170 tisíc řádků kódu, ale Red Hat Linux 7,1 z roku 2001 už měl třicet miliónů řádků. Drtivá většina chyb je nalezena a odstraněna při testování software, ale určité procento přesto vždy zůstává i po vydání k veřejnému používání. Přitom právě proces bezpečného programování, hledání a nalézání chyb je klíčový pro vývoj každé aplikace, protože nejlepší problém je takový, který vůbec nenastane. Se záplatami nebo bez nich? Přístup „mám všechny záplaty, takže jsem v bezpečí“ svoji železnou logiku sice má, ale to ještě neznamená, že je správný. Důvodů je povícero. Týdně se objevují stovky nových bezpečnostních problémů a čím dál více se šíří zero-day útoky (útoky nultého dne, kdy je zranitelnost zneužita bezprostředně po objevení, oznámení nebo vydání opravy – tedy v době, kdy prakticky žádné systémy nejsou chráněné). Obecně se zkracuje i doba mezi oznámením a zneužitím zranitelnosti, ale těžko se pod určitou hranici podaří zkrátit vydávání záplat (identifikace problému, programování, testování, distribuce). Z toho vyplývá jedna nepříjemná skutečnost: každý systém je nějaký čas nezáplatovaný. Proto je zapotřebí počítat nejen se záplatami, ale i s tzv. workarounds (ošetřeními). Jedná se o různá jednoduchá opatření, s jejichž pomocí bývá problém eliminovaný. Pokud se např. objeví zranitelnost v nějaké službě, tak je možné tuto službu dočasně vypnout nebo omezit – a tím ochránit systém před útokem. Pochopitelně, že je vždy zapotřebí hledat kompromis mezi zajištěním bezpečnosti na straně jedné a zajištěním kontinuity činnosti organizace na straně druhé. Nicméně většina chyb má ošetření takového charakteru, že se běžného provozu organizace nedotknou. Záplaty na záplaty I se záplatami to není tak jednoduché, jak by se na první pohled mohlo zdát („co nejdříve nainstaluj a pusť z hlavy“). Čím větší síť, tím větší mohou být dopady každého zásahu – včetně nepovedené aktualizace. Přestože se výrobci snaží záplaty co nejvíce testovat, přece jen jde při jejich vydávání o čas, takže jsou zkoušky redukované na nejnutnější možnou míru. Kromě toho největším testem jakékoliv aplikace je vždy až reálné prostředí, protože každý systém je unikátní kombinací hardware, software, jejich nastavení, zvyklostí uživatelů i správců apod. Dostáváme se tak k tzv. záplatovacímu paradoxu: „Bez záplaty je systém náchylný k problémům s bezpečností, s ní k problémům se stabilitou.“ Jinak by se také dalo říci, že máme proti sobě hrozbu průniku proti hrozbě chybné záplaty. Bohužel, záplata záplaty je ve světě ICT velmi častým jevem. Proto zvláště ve velkých systémech je dobré záplaty testovat na nějakém zkušebním prostředí – což jen dává vyniknout nutnosti instalovat výše zmíněná ošetření. Platí zde přitom nepřímá úměrnost: zatímco pravděpodobnost zneužití neošetřené zranitelnosti v čase roste, pravděpodobnost problémů způsobených špatnou záplatou klesá (protože už ji stihlo otestovat více subjektů). Ostatně i norma ISO/IEC 17799 zdůrazňuje, že „bezpečnost dosažitelná prostřednictvím technických prostředků je limitovaná a musí být podpořena odpovídající řízením a procesy“. |















