K mému minulému článku o končící podpoře Windows 7 a Windows Server 2008 (R2) se na Facebooku rozběhla diskuze, kde se objevily i komentáře s názorem, že aktualizovat není potřeba. Na druhou stranu pak z médií slýcháme, že aktualizace jsou skoro až „životně“ důležité. Přijde mi to jako bezva téma k diskusi a rád přispěji svým pohledem a dosavadními zkušenostmi.
Aktualizace obecně přinášejí nové funkce a opravy chyb (bezpečnostních i funkčních). Aktualizace jsou v současnosti téměř vždy kumulativní – tzn. každá aktualizace obsahuje vše z předchozí aktualizace + něco navíc. Tzn. když 5 měsíců aktualizace vynechám a 6. měsíc nainstaluji poslední aktualizaci, dostanu se na plně aktuální program (který tedy obsahuje i ty předchozí aktualizace).
K aktualizacím se můžeme stavět 3 způsoby (viz další kapitoly):
- Instalujete všechny aktualizace, které vyjdou.
- Občas nějaké aktualizace vynecháte.
- Neinstalujete aktualizace vůbec.
Přičemž pro každé zařízení/program můžete volit jiný režim.
1. Aktualizovat pravidelně
Instalovat aktualizace hned, jak jsou dostupné, případně se zpožděním pár dní, aby byl čas na otestování funkčnosti aktualizace.
Výhody pravidelného aktualizování
Největším benefitem tohoto přístupu je z mého pohledu bezpečnost. Většina aktualizací (některé aktualizace jen přidávají funkcionalitu) totiž opravuje chyby v SW. Čím dříve aktualizaci nainstalujete, tím lépe.
Vydáním aktualizace se zvyšuje pravděpodobnost zneužití této chyby. Ptáte se proč? Jednak proto, že se celý svět dozví, že v aplikaci byla chyba a jakého typu (z release notes, nebo ze změn zdrojového kódu). Často i objevitel této chyby napíše článek (otázka prestiže) s popisem chyby včetně demonstračního exploitu (PoC – proof of concept). Pokud byla chyba opravdu „šťavnatá“, je pravděpodobné že se jí ujmou kyberzločinci a začnou ji hromadně zneužívat.
Čím je firma větší, tím větší bývají mezi jednotlivými systémy (počítači/servery/programy) závislosti (např. ověřování v rámci jedné Active Directory). Zneužití chyby na jednom PC tak může vést k řetězci událostí (lateral movement), které skončí nedostupností celé sítě během desítek minut (THE UNTOLD STORY OF NOTPETYA, THE MOST DEVASTATING CYBERATTACK IN HISTORY)
Za další plus pravidelných aktualizací (pro mne s menším významem) považuji okamžitou dostupnost nových funkcí, které s aktualizacemi často přichází. Například fanoušci Applu nebo Tesly čekají, co nového jejich zařízení budou s další aktualizací umět.
Nevýhody pravidelného aktualizování
Pravidelné aktualizovaní je snad nejpracnější, tudíž i nejdražší přístup. K nějakému produktu občas vyjde i několik aktualizací za týden (extrém). Většina aktualizací zároveň vyžaduje restart programu/systému a ne vždy to lze provádět během dne.
Zároveň musím říci, že ne všechny aktualizace se povedou. Buď se něco pokazí během aktualizace, nebo se po pár hodinách provozu zjistí, že aktualizace sice nějaké chyby opravuje, ale zároveň přináší chyby nové. 😊
Kdy je vhodné pravidelně aktualizovat
To, že se jedná o nejbezpečnější přístup (pokud neaktualizujete MeDoc 😉) neznamená, že je to přístup správný za každých okolností. 😊 Při výběru přístupu je nutné zvážit jeho náročnost (časovou – tudíž finanční) s ohledem na hrozící rizika (co by se stalo, kdyby ten systém někdo prolomil a ukradl/smazal data). Svému pejskovi taky nepořídíte atomový kryt místo psí boudy, i když je to nejbezpečnější řešení.
My tento přístup volíme pro programy, u kterých vidíme největší riziko (dle pravděpodobnosti zneužití a velikosti dopadu). To znamená hlavně programy provozující veřejně dostupné služby (poštovní servery, webové servery, databáze, VPN), operační systémy serverů/počítačů a webové prohlížeče (chodí přes ně velká část malware – jsou to v podstatě interpretery cizího kódu). 😊
2. Aktualizovat výběrově
Pravidelně sledovat informace o nově vydaných aktualizacích, procházet „release notes“ (informace o tom, co aktualizace řeší/mění) a na základě nich se rozhodovat o instalaci či vynechání aktualizace.
Pod výběrovým aktualizováním si určitě nepředstavuji to, že si někdo jednou za 4 měsíce vzpomene, že už dlouho nic neaktualizoval. 😊
Výhody výběrového aktualizování
O něco méně práce (protože neinstalujete každou aktualizaci) a vyšší uptime (není aktualizace => není restart + není riziko vzniku nových chyb s novou aktualizací). Vám zůstane více času, zákazníkovi více peněz a všechny strany jsou spokojené. 😊
Nevýhody výběrového aktualizování
Bezpečnost nemusí být na takové úrovni jako v případě pravidelného aktualizování. Občas se totiž stane, že výrobce SW najde vážnou bezpečnostní chybu, potichu ji opraví a v release notes adekvátně neokomentuje. Vy pak aktualizaci vynecháte, protože se domníváte, že není třeba. Z hlavy mne napadá např. „Attacking SSL VPN – Part 1: PreAuth RCE on Palo Alto GlobalProtect“ nebo „QNAP fails to reveal data corruption bug that affects all 4 bay and higher NAS devices“.
Na procházení „release notes“ potřebujete někoho zkušeného, kdo je schopen vyhodnotit význam a dopad jednotlivých položek. Takový člověk nemusí být vždy po ruce. :-/
Kdy je vhodné aktualizovat výběrově
Dle mne se jedná o metodu, kdy jste schopni udržet nejvyšší dostupnost služeb (až na výjimky u izolovaných systémů, kde se může vyplatit neaktualizovat vůbec). Pokud pak program/zařízení nevyžaduje nejvyšší míru zabezpečení, jedná se o vhodnou metodu.
My takovýmto způsobem aktualizujeme například bezpečnostní routery FortiGate. Máme totiž takové zkušenosti, že aktualizace často přinášejí chyby, které předčí dané opravy. Takže si vždy na základě release notes vybereme, zdali nám update za to stojí, nebo ne. Následně jej měsíc testujeme na pár boxech a pak teprve přecházíme na zbytek boxů.
3. Neaktualizovat vůbec, či aktualizace neřešit
O aktualizace se nikdo nestará. Aktualizace se neinstalují vůbec, instalují se náhodně, nebo skrze „auto update“ daného programu bez zpětné kontroly. Způsob také známý jako „co funguje, na to nešahám“. 😊
Výhody života bez aktualizací
Hlavní předností je jednoduchost této metody. Neaktualizovat mne nestojí žádný čas. Zároveň se vyhýbám výpadkům způsobeným restarty po aktualizacích. Také se mne netýkají komplikace způsobené aktualizacemi (pokažené updaty, nové chyby v updatech).
Nevýhody života bez aktualizací
S postupem času roste množství objevených a nezáplatovaných chyb v aplikaci. Spolu s tím roste riziko, že se stane něco špatného (záleží na tom, jak je program/počítač/server exponovaný do sítě a jak s ním uživatel pracuje). To pak znamená reinstalaci/obnovu ze záloh a několikahodinový výpadek.
Stejně tak vynechání některých aktualizací může mít vliv na funkčnost programu (program dělá chyby v datech, nezvládne rostoucí data), zdraví HW (například u 6. generace Intel NUC byla chyba v řízení napájení CPU, která způsobovala jejich úmrtí – https://downloadmirror.intel.com/28825/eng/SY_0071_ReleaseNotes.pdf BIOS verze 42) čí výkon HW (např. Samsung Releases Firmware Update to Fix the SSD 840 EVO Read Performance Bug).
Neaktualizováním také vzniká něco, co bych nazval „technologický dluh“. Po určité době začnou být programy a operační systém tak staré, že na počítačích není možné spouštět nové verze jiných programů, přenášet data mezi dalšími systémy či přistupovat k webu/poště (např. chybějící SMBv2, TLS 1.1+, starý .Net). Když pak aktualizujeme nějakou komponentu (závislost), zprovozníme tím sice novou aplikaci, ale znepřístupníme jinou starou aplikaci. Stejně tak mohou vznikat problémy typu: upgrade nelze provést na přímo, nelze sehnat staré verze aplikací, nelze sehnat vývojáře staré verze programu, se starou verzí programu nechce mít nikdo nic společného. 😊
Kdy je vhodné neaktualizovat
Rozhodnout se nějakou aplikaci/systém neaktualizovat je samozřejmě v pořádku. Důležité však je ono slovo „rozhodnout se“. Musí se totiž jednat o racionální rozhodnutí po zvážení pro a proti, nikoliv o liknavost.
My máme také pár systémů v režimu „nešahat na ně“. Jedná se o systémy řídící výrobu, kde není prostor provádět údržbu, výpadek stojí veliké peníze a dodavatel systémů již neexistuje. V takovém případě máme systémy izolované od zbytku prostředí (aby se vzájemně neovlivňovaly) a k systémům máme udělané diskové kopie (pro případ zotavení z SW/HW problému).
Závěr
Jakou strategii aktualizování/neaktualizování jste zvolili vy? Mám pocit, že (ne)aktualizování je věčné téma k diskusi, jsem proto zvědavý na vaše názory. Napište mi do komentářů a podělte se o vaše zkušenosti.