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í.

Tento článek patří do placené sekce.

Pro vás jej odemknul někdo, kdo má předplatné.


Pokud budete předplatitelem, budete moci stejným způsobem odemykat placené články i pro své přátele.
A získáte i řadu dalších výhod.

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.

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ší.

Související

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.

Líbil se vám článek? Chcete víc takových článků?

Kupte si předplatné a můžete si je číst všechny. Navíc bez reklam a s možností sdílet přátelům.

Vyzkoušejte předplatné HN+
Newsletter

Týden s technologiemi Otakara Schöna

Události posledního týdne ve světě technologií podle Otakara Schöna

Editor rubriky Tech Otakar Schön pro Vás vybírá nejzajímavější nebo nejzásadnější události ze světa technologií, které se odehrály v uplynulém týdnu. Každý pátek v podvečer najdete ve své mailové schránce.

Přihlášením se k odběru newsletteru souhlasíte se zpracováním osobních údajů a zasíláním obchodních sdělení, více informací ZDE. Z odběru se můžete kdykoli odhlásit.

Přihlásit se k odběru