Počítače najdete všude. A kdekoliv je počítač, tam je příležitost k bezpečnostním problémům. Například ve fotoaparátech. Bezpečnostní výzkumníci z Check Point Research objevili utěšenou sbírku bezpečnostních chyb v celé řadě digitálních fotoaparátů společnosti Canon - od kompaktu PowerShot SX740 HS až po svou vlajkovou loď, profesionální EOS-1D X Mark II. Chyby se týkají implementace protokolu PTP (Picture Transfer Protocol) přes USB, Bluetooth nebo wi-fi.

PTP umožňuje nejenom přenos obrázků, ale kompletní dálkové ovládání fotoaparátu, včetně třeba aktualizace firmware. Eyal Itkin z Check Pointu v článku Say Cheese: Ransomware-ing a DSLR Camera popisuje, jak s kolegy v aktuálním firmwaru nalezli sbírku bezpečnostních chyb a jak je dokázali využít jak při připojení k nakaženému PC pomocí USB kabelu, tak pomocí wi-fi připojení.

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

Většina nalezených bezpečnostních chyb je typu buffer overflow. Co to znamená? Obecně je všechno, s čím počítač pracuje, uloženo v jeho operační paměti. Jak programový kód, který je vykonáván, tak data, s nimiž program pracuje. Přičemž tyto dva typy dat jsou u běžných počítačů v jednom druhu paměti. Buffer overflow chyba nastane ve chvíli, kdy útočník dokáže zadat větší množství dat, než s jakým program počítá a pro kolik má vyhrazeno místo v paměti. Program zadaná data zapíše i do té části paměti, kde se očekává spustitelný kód. Velmi zjednodušeně a nepřesně řečeno, program například očekává vstup o délce deseti znaků, takže si v paměti udělá "díru" o velikosti deset bajtů a na jedenáctém bajtu bude pokračovat s vykonáváním vlastních instrukcí. Pokud útočník zadá místo deseti znaků jedenáct a program je uloží do paměti, aniž by si zkontroloval délku, jedenáctý znak (a případné další) vykoná jako instrukci.

Nejméně špatná varianta znamená, že dotyčný program prostě spadne na interní chybu, protože zadaná data nelze vykonat jako smysluplné instrukce. V takovém případě lze postižený program (obecně web server, mail server, operační systém, v tomto případě firmware fotoaparátu…) na dálku shodit, což může být forma denial of service útoku - znepřístupnění služby.

V horším případě může útočník přímo zadat kód, který se na počítači vykoná, se všemi oprávněními původního procesu a s přístupem ke všem datům, kam má původní proces přístup. Tomu se říká code injection nebo také remote code execution (RCE). V případě napadení důvěryhodné součásti systému nebo obecně programu, který běží s vysokými oprávněními, se může jednat o nejhorší možný scénář, protože útočník tak může získat úplnou kontrolu nad systémem.

V tomto případě se podařilo - s jistými obtížemi - buffer overflow chybu dotáhnout až do RCE fáze a útočník pak může přimět fotoaparát, aby vykonal jím určené příkazy. V Check Pointu napsali proof of concept, který funguje jako ransomware a fotografie dokáže přímo ve fotoaparátu zašifrovat.

Ransomware on a DSLR Camera | Latest Research from Check Point

Další chyba ale umožňuje bez jakékoliv autentizace nahrát do fotoaparátu vlastní firmware. Ten je sice šifrovaný kvalitním algoritmem AES, ale bohužel s jediným klíčem, který může útočník relativně snadno získat.

Výrobce chybu potvrdil a vydal bezpečnostní upozornění, nicméně dosud není dostupná aktualizovaná verze firmwaru.

U běžného počítačového softwaru existují metody, jak se na různých úrovních chybám tohoto druhu (nejde jenom o buffer overflow, ale i sofistikovanější metody podobného ražení) bránit. Moderní vývojové nástroje a prostředí umějí na tyto chyby upozornit, nebo jsou navrženy tak, že je z podstaty vůbec neumožňují. Novější procesory zase disponují funkcemi, jak určité části paměti označit za vyhrazené pro data a kód v nich nevykonat (a do jiných zase data nezapsat). U vývoje embedded zařízení jsou ale možnosti omezenější.

Navíc se vývojáři firmwaru pro fotoaparáty v minulosti nemuseli bezpečnostními aspekty své práce příliš zabývat, protože neexistovaly prakticky využitelné vektory útoku. Nicméně i je dohnal propojený svět, a když se ke stávající platformě bez dalšího přilepil síťový stack pro wi-fi a Bluetooth, nemohlo to dopadnout dobře. Ostatně, s tímtéž problémem se potýkají výrobci automobilů nebo třeba SCADA systémů, když dosud bezpečně izolované systémy najednou připojí do sítě nebo rovnou do internetu.

V případě fotoaparátu nebudou následky tak žhavé jako v případě automobilu řítícího se po dálnici, ale i tak mohou být nepříjemné. Lze si například představit cílený útok na fotožurnalisty, kteří dokumentují události, které nejsou vhod v místě vládnoucímu režimu. Pomocí popsaného útoku lze snímky likvidovat ihned po pořízení nebo způsobit nefunkčnost fotoaparátu.

Chyby byly popsány pro Canon, ale není důvod předpokládat, že ostatní výrobci na tom budou podstatně lépe. Autoři studie popisují, že si Canon jako terč útoku zvolili, protože pro jeho digitální zrcadlovky existuje alternativní firmware Magic Lantern a obecně je platforma docela dobře prozkoumaná. Není ale pravděpodobné, že by se kvalita firmwaru u konkurence výrazně odlišovala.

Ransomware on a DSLR Camera | Latest Research from Check Point