Majitelé mnoha síťových disků řady My Book Live od společnosti Western Digital se v uplynulých týdnech dočkali nemilých překvapení. Jejich zařízení byla najednou zcela prázdná. Přišli o všechna data, která měli na NAS (datové úložiště připojené k místní síti LAN) uložena. Mnohdy o léta svých digitálních životů a práce. A dlouho nikdo nevěděl proč, i když bezpečnostní profesionálové pár nápadů měli. 

Nyní už víme, proč se to stalo: na vině bylo několik v zásadě triviálních chyb a ukončená podpora ze strany výrobce. Jenomže co s tím? Obětem aktuálního útoku nabízí Western Digital pomoc s obnovou dat, ale řešení příčiny problémů je v nedohlednu a neomezuje se jen na jednu značku.

Nedávno jste již předplatné aktivoval

Je nám líto, ale nabídku na váš účet v tomto případě nemůžete uplatnit.

Pokračovat na článek

Tento článek pro vás někdo odemknul

Obvykle jsou naše články jen pro předplatitele. Dejte nám na sebe e-mail a staňte se na den zdarma předplatitelem HN i vy!

Navíc pro vás chystáme pravidelný výběr nejlepších článků a pohled do backstage Hospodářských novin.

Zdá se, že už se známe

Pod vámi uvedenou e-mailovou adresou již evidujeme uživatelský účet.

Děkujeme, teď už si užijte váš článek zdarma

Na váš e-mail jsme odeslali bližší informace o vašem předplatném.

Od tohoto okamžiku můžete číst neomezeně HN na den zdarma. Začít můžete s článkem, který pro vás někdo odemknul.

Na váš e-mail jsme odeslali informace k registraci.

V e-mailu máte odkaz k nastavení hesla a dokončení registrace. Je to jen pár kliků, po kterých můžete číst neomezeně HN na den zdarma. Ale to klidně počká, zatím si můžete přečíst článek, který pro vás někdo odemknul.

Pokračovat na článek

Co se skrývá v NAS?

K počítačové síti – a zprostředkovaně i k internetu – dnes můžete připojit kdeco. Samozřejmě NAS, IP kamery, tiskárny, ale i žárovky, ledničky, pračky, kávovary a víceméně cokoliv, do čeho výrobce dal čip, který je levnější než obal, ve kterém jste výrobek dostali.

Existují v zásadě dva způsoby, jak vytvořit zařízení připojené k síti. Každý má své výhody i nevýhody, a to z bezpečnostního i praktického hlediska.

První způsob předpokládá, že mozkem celého zařízení je mikrokontroler, poměrně jednoduchý čip s velmi omezenými schopnostmi a zdroji. Jeho zdroje jsou tak omezené, že na něm neběží operační systém (jako na klasickém počítači), ale jenom firmware. Software, který řídí jeho funkce, s minimálními schopnostmi komunikující s hardwarem buďto přímo, nebo pomocí relativně jednoduchých jednoúčelových knihoven. Ve světě kutilské výroby (ale nejen tam) jde o platformy jako ESP 8266 nebo ESP 32.

Z hlediska bezpečnosti má tato cesta dvě základní výhody. Té první se odborně říká „malý attack surface“. Lapidárně řečeno, zařízení je tak jednoduché (hloupé, jednoúčelové), že na něm není na co útočit. Má malé úložiště, málo paměti, a tak zvládá akorát dělat to, co má, neumí nic navíc. Ta druhá výhoda je, že má obvykle takzvanou harvardskou architekturu. Paměti pro programy (instrukce) a pro data jsou oddělené, přičemž do té programové lze zapisovat jenom speciálními postupy. To výrazně snižuje možnosti úspěšného útoku, protože i pokud se útočníkovi podaří zapsat někam něco, co nemá, nedokáže změnit firmware, který je v zařízení „napevno“.

Tento přístup má samozřejmě i bezpečnostní nevýhody. Napsat firmware pro mikrokontroler je těžší než napsat běžný software. Používají se typicky nízkoúrovňové jazyky (spíš C než C++ a rovnou zapomeňte na populární jazyky jako C#, Java, JavaScript, PHP a podobně) a programátor musí sám psát věci, které za něj ve světě větších počítačů dělají různé knihovny, frameworky a toolkity. Rozumí tomu méně lidí a je těžké je sehnat.

A také, jakmile někdo v programu objeví chybu, je těžké ji opravit. Tedy, ani ne tak opravit, jako dostat opravu na zařízení nainstalovaná v terénu. Aktualizace firmwaru může v extrémním případě znamenat nutnost fyzicky připojit zařízení k počítači a aktualizaci provést pomocí speciálního programu. Není snadné ji udělat automaticky po síti. Je to zpravidla možné, ale není jednoduché to udělat (zejména správně), aby se nainstaloval jenom skutečně důvěryhodný firmware od výrobce. Chyba v návrhu nebo implementaci aktualizačního mechanismu je velmi nebezpečným vektorem útoku, protože umožní útočníkovi dostat zařízení pod svou úplnou kontrolu a nahrát do něj vlastní software.

Druhý způsob návrhu těchto zařízení spočívá v tom, že se jedná o malý, ale plnohodnotný počítač, na kterém běží plnohodnotný operační systém. Nejčastěji se jedná o nějakou formu ořezaného Linuxu, ale lze se setkat i s Androidem a různými embedovanými verzemi Windows. A to včetně historických Windows CE (v zásadě generace Windows 95), Windows XP Embedded a podobně. Mimo jiné tohle je důvod známých obrázků s plochou Windows na bankomatech, reklamních displejích a podobně. Může se jednat o klasickou x86 nebo x64 architekturu, ale u novějších zařízení se nejčastěji setkáte s procesory postavenými na ARM, podobně jako ve vašem mobilu. ARM je pro tento typ zařízení vhodnější z mnoha důvodů. Taky je levnější a efektivnější z hlediska spotřeby. Z bastlířského světa se může jednat o ekvivalent Raspberry Pi a mnoha jeho klonů.

Výhody tohoto řešení jsou pro výrobce značné. Hardware sám o sobě může být o něco maličko dražší, ale jinak jsou tady samá pozitiva. Především to, že lze používat běžný dev stack, tedy běžné programovací jazyky, frameworky a technologie. Programátorů je sice pořád všeobecný nedostatek, ale pořád je snazší najít někoho, kdo umí vytvořit webovou aplikaci v PHP než někoho, kdo umí napsat firmware pro mikrokontroler v C. Softwarovou výbavu takového zařízení nelze formálně vzato napsat firmwarem, je to klasický aplikační software, ale přesto se tento pojem často používá.

Z hlediska bezpečnosti je výhodou možnost použití standardních knihoven a dostatek výkonu, což pomáhá zejména v kryptografii. A také snazší možnosti aktualizace softwarového vybavení, i když i tady se to musí udělat správně.

Zásadní nevýhodou z hlediska bezpečnosti je, že tato zařízení mají obvykle takzvanou von Neumannovu architekturu. Ta spočívá v tom, že vykonávaný kód a data sdílejí společnou paměť (operační paměť, RAM), a pokud se útočníkovi podaří obsah této paměti modifikovat (třeba vinou nějaké buffer overflow chyby), dokáže změnit vykonávaný programový kód a získat kontrolu nad zařízením. No a také mají větší attack surface, protože tam běží klasický operační systém, který dělá spoustu věcí, jež s hlavní činností zařízení nesouvisejí. A zařízení má obvykle výkonu i schopností nadbytek, takže může vykonávat spoustu práce i pro útočníka.

Pro úplnost dodejme, že existuje ještě třetí cesta v podobě takzvaných real-time operačních systémů (RTOS), které kombinují vlastnosti dříve zmíněných. Ty se ale v běžné spotřební a kancelářské elektronice prakticky nevyskytují a pro účely tohoto článku je pomineme. Navíc nejsou všespásné a mají svou vlastní sbírku průšvihů

Jak zjistit, zda vaše zařízení má nebo nemá operační systém, případně jaký? Z pozice běžného spotřebitele, laika, je to v podstatě nemožné. Jediná rada pro laika je, že čím déle zařízení startuje z vypnutého stavu, tím pravděpodobnější je, že v něm je operační systém. Zařízení s firmwarem obvykle naběhnou okamžitě, případně během několika sekund. Pokud start trvá desítky sekund nebo minuty, nejspíše probíhá boot operačního systému a start aplikací.

Odborník může poznat, o jaký typ zařízení je, analýzou chování zřízení v rámci sítě, tedy odhadnout to ze schopností zařízení či „firmwarů“ dostupných ke stažení. Také se vyplatí podívat do dokumentace, do části obvykle nazývané „open source notices“, kde mohou být údaje o použitých komponentách.

Konkrétně síťové disky WD dotčené útokem, byly vcelku výkonné počítače s Linuxem, i když schované v nic neříkající nenápadné krabičce.

Chatrné základy

Abychom mohli pochopit, jak síťová zařízení typu NAS vznikají, musíme se zaměřit na proces vývoje softwaru. Ten je ve většině případů stejný, resp. všude stejně příšerný. Cílem je vyvinout software co nejlevněji (což znamená zejména nejrychleji). Upřednostňují se nové funkce nad kvalitou těch stávajících, protože do reklamy se víc hodí napsat nějakou novou vlastnost s chytlavým názvem než „aktualizovali jsme deset knihoven a opravili patnáct chyb, které vás nejspíš nikdy nepostihnou“. Kontrola kvality kódu osciluje mezi symbolickou a žádnou.

Co jej činí pro tato zařízení nebezpečnějšími, je kombinace několika faktorů. V první řadě je to již zmíněná komplikovanost aktualizací, jejich vydávání a instalace.

Každá automatická aktualizace představuje riziko. Jednak bezpečnostní, protože se může stát cestou, jak na zařízení zaútočit. Ale i čistě technické a obchodní. Protože když uděláte chybu a včas ji neodhalíte, může se stát, že se aktualizace nainstaluje a části vašich zákazníků přestane zařízení fungovat. Stává se to, i když velmi zřídka, i větším „šajbám“, než je běžný producent spotřební elektroniky. Své problémy v tomto duchu má čas od času i Microsoft, Google nebo Apple. A občasné vedlejší účinky aktualizací posilují skupinku odpůrců aktualizací a zastánců přístupu „dokud to funguje, tak do toho nehrab“. Mindset je to stejně podivuhodný jako u odpůrců očkování.

Aktualizace navíc pro výrobce znamenají práci, která jim nic nevydělá, zato je o výdělky připravuje. Pro výrobce spotřební elektroniky je žádoucí, abyste si co nejdříve koupili nový model, ne abyste deset let používali ten starý, navíc s pravidelnými aktualizacemi, které vám výrobce bude zdarma dodávat. Výrobce po určitém čase (který obvykle dopředu není znám) prohlásí produkt za EOL (end of life – nadále nepodporovaný) a přestane se o něj starat. To byl ostatně i případ NAS od WD. Postižené modely přestaly být výrobcem podporované už v roce 2015.

Dalším problémem je to, co se odborně nazývá malá diverzita softwarového ekosystému. Obvykle existuje jenom velmi malé množství softwarových základů, které se pro daný typ zařízení používají. A ty jsou interně postaveny na ještě menším množství knihoven, které zajišťují vlastní podporu různých protokolů. Typický příklad? Před mnoha lety jsem potřeboval síťové úložiště, které podporovalo v rámci iSCSI připojení funkci „persistent reservation“. Není důležité, co to je, důležité je, že taková úložiště se vyskytovala v cenách okolo sto tisíc korun a výše, běžné SOHO NAS ji neměly. O rok později ji měly všechny lowendové modely. Proč? Protože za ten rok ji programátoři doplnili do jedné open source knihovny, kterou používala všechna řešení na trhu bez ohledu na označení a výrobce. Jednotliví výrobci píšou různé webové/grafické nadstavby, ale základ je stejný. A pokud je v tomto základu chyba, dokáže postihnout zařízení mnoha různých výrobců.

Na chatrných základech je pak postavena ta sexy dobře a prodejná funkcionalita, a to způsobem, který často připomíná pracovní metody chrobáka lesního, známějšího pod lidovým označením hovnivál. Ten před sebou tlačí kuličku, na kterou se bez změny vnitřní podstaty nabaluje další hromada… no, řekněme materiálu. Protože tak často probíhá vývoj softwaru: přidávají se nové a nové vrstvy, nové a nové funkce – a ty již implementované zůstávají bez péče a beze změny.

Jak to bylo u WD

 Prvním podezřelým byla zranitelnost CVE-2018-18472. Ta byla zveřejněna už v červnu 2019 (tedy až po ukončení podpory většiny napadených zařízení). Prostým HTTP požadavkem mohl kdokoliv se síťovým přístupem k NAS vykonat jakýkoliv příkaz operačního systému pod oprávněním správce (roota).

Posléze se ukázalo, že útočníci zneužívali novou zranitelnost, která dostala označení CVE-2021-35941. V roce 2011 se autoři webové nadstavby rozhodli změnit způsob, jakým funguje přihlašování k ní. Takže všude odstranili odkazy na starou přihlašovací logiku a místo ní přidali novou. Tedy, skoro všude. V souboru, který řešil factory reset zařízení, omylem odstranili starou, ale nepřidali novou. Stačilo tedy udělat jeden správný HTTP požadavek a kdokoliv se síťovým přístupem mohl vymazat všechna data v postiženém NAS.

Mnoho lidí má své NAS dostupné přímo z internetu. Někdy záměrně a vědomě (aby se ke svým datům dostali na dálku), někdy zcela nevědomě (měli nastavené přesměrování portů pro jiné zařízení, třeba herní konzoli, a NAS potom „zdědil“ nastavení víceméně náhodou). Tito lidé pak jednoduchým způsobem mohli přijít o data.

Jak z toho ven? 

Jaké si ze vzniklé situace můžeme vzít ponaučení? Paradoxně skoro žádné. Z hlediska běžného koncového uživatele nelze dělat prakticky nic. WD neudělal žádnou chybu, kterou by běžně nedělali jiní, a jeho produkty nejsou o nic horší než srovnatelné konkurenční. Jenom si vytáhl černého Petra. Za týden to může být jiná značka.

Uživatelům lze samozřejmě doporučit, aby svoje zařízení nepřipojovali na internet, protože pak omezí možnost útoku jenom na svou lokální LAN. To je ale rada dost hraběcí, protože řada NAS je výslovně navržena tak, aby byla dostupná z internetu, má tomu odpovídající funkce a začasté je to důvodem, proč si uživatelé takové zařízení kupují.

Lze jim také doporučit, aby si hlídali, kdy jejich zařízení končí podpora a nadále nepodporovaná zařízení nepoužívali. I to je rada hraběcí, v praxi nepoužitelná. Jasně definované podmínky záruky a podpory jsou běžné v podnikatelském sektoru pro zařízení násobně nebo řádově dražší, než jsou běžná udělátka pro domácí a menší firemní uživatele. U nich budete odpověď na otázku, jak dlouho bude dané zařízení podporováno, hledat v lepším případě dlouho, v horším marně. Najdete podmínky záruky, tedy doby, po kterou můžete zařízení reklamovat. Ta je ze zákona dva roky od koupě, někdy výrobci nabízejí různě omezenou delší dobu v rozmezí tří až pěti let. To ovšem neodpovídá na otázku, jak dlouho (a zda vůbec) bude výrobce udržovat software. Morální životnost výrobku je zpravidla mnohem delší než doba zákonné záruky.

Speciálně u NAS je situace o to složitější, že je uživatelé chápou jako zařízení spolehlivá a odolná. Mnoho lidí je používá, protože nabízejí možnost mirroru, tedy současného ukládání dat na dva disky, takže pokud jeden z disků uhyne, lze data získat z toho druhého. Jenomže co když se rozbije přímo NAS?

Nemluvme teď o softwarových chybách, ale třeba o tom, že odejde elektronika, a ne disk sám o sobě. Pokud se vám to stane v záruce, výrobce nebo prodejce vám samozřejmě zařízení vymění nebo vrátí peníze. Ale se zpřístupněním vašich dat vám záruka nepomůže, budete si muset zorganizovat odborníka, který to dokáže. Pokud už uplynuly dva, tři, pět let záruky, dává od toho výrobce ruce pryč. Zůstanou vám sice v ruce disky s daty, ovšem ve formátu, se kterým si běžný počítač s Windows neporadí, protože NAS typicky používají souborové systémy, se kterým počítače neumí pracovat. Opět budete potřebovat odborníka, který vám data z disku dokáže dostat. Nebo si budete muset koupit nové zařízení stejného výrobce, pokud zachovává zpětnou kompatibilitu.

Místo závěru

Společnost SonicWall většina běžných uživatelů nezná. Vyrábí totiž produkty pro střední a větší podniky, síťové prvky pro zajištění bezpečného vzdáleného přístupu. V současné době probíhá vlna ransomware útoků na starší zařízení této společnosti, která jsou už mimo podporu, ale pořád hojně používaná. Pořád se něco děje.