Směřujeme do bezpečného světa internetu věcí
Ale právě překotný rozvoj nových IoT senzorů a služeb s sebou přináší velká rizika, spojená zejména s bezpečností. Možná namítnete, že jsem paranoidní, ale obrovský rozvoj stále nových zařízení pro sběr dat v rámci IoT poskytuje hodně možností pro útočníky najít slabé místo. Vývoj senzorů se totiž řeší téměř pokaždé stejně – nejdřív je důležité, aby čidlo správně fungovalo, odesílalo korektní payload, nemělo vysokou spotřebu a celkově bylo dlouhodobě spolehlivé. Až je tohle všechno hotové, zabývají se vývojáři bezpečností.
Nedávno jsem slyšel zajímavý argument, že bezpečnost už je implementovaná na úrovni LPWAN sítě, tak co bych chtěl víc. V zásadě je pravdivý, protože na úrovni LoRa sítě skutečně funguje šifrování přenosového kanálu síťovým klíčem (Network Key) a šifrování payloadu aplikačním klíčem (Application Key). Na druhou stranu bezpečnost vlastního senzoru je vždycky v odpovědnosti výrobce, který by měl maximálně eliminovat například riziko kompromitace kryptografického materiálu anebo ovlivnění funkcí senzoru.
Z pohledu architektury fungování IoT jsou nejzranitelnějšími prvky právě senzory a případně koncové systémy, rozhodující o akcích na základě získaných dat, např. ovládání ventilů v továrně. Cílem útočníka je ovlivnit fungování systému IoT, a to buď jeho DDoS útokem, aby zcela zamezil fungování, anebo změnou parametrů fungování tak, aby senzor neposkytoval validní data.
Odmítnutí služby se dá relativně rychle detekovat a pro uživatele v konečném důsledku znamená nedostupnost dat, kdy čidlo není schopno data odeslat na back-end anebo nečitelnost tak, kdy čidlo šifruje jiným symetrickým klíčem, než který je na back-endu, a tím pádem omezené možnosti rozhodování. Ptáte se, jak by to útočník udělal? Stačí směrově zarušit frekvenční pásmo, aby čidlo nemohlo komunikovat. Trochu složitější je pak kompromitace šifrovacích klíčů, které jsou v současných čidlech většinou uloženy v paměti zařízení a ne v secure elementu dle odpovídajících bezpečnostních standardů, takže se dají odposlechnout, spíše pak zaměnit. Anebo do třetice, když už útočník nebude vědě kudy kam, hrubá síla se dá použít vždycky. V konečném důsledku to ale znamená to samé – data nejsou k dispozici tak, aby je bylo možné použít. Tyto případy se naštěstí dají ošetřit technickými a procesními opatřeními a provozovatel IoT řešení se na tyto případy může připravit.
Změna parametrů a fungování senzoru, resp. celého IoT řešení je mnohem nebezpečnější, protože není snadné takový útok detekovat. Kompromitované čidlo po úspěšném útoku poskytuje nevalidní data, která vstupují do dalšího rozhodování, a to je tím pádem nekvalitní s vysokým rizikem škody. Jeden příklad za všechny – čidlo výšky vodní hladiny poskytuje naměřenou hodnotu o 20 % nižší, než je skutečnost, takže stavidlo, které na tato data spoléhá, nezvyšuje odtok a dochází tak ke zvyšování hladiny a přetečení hráze, případně k jejímu protržení. Ovlivnění parametrů fungování jde docílit úpravou firmware, a to jak tou úmyslnou, tak neúmyslnou. V prvním případě se podaří útočníkovi do zařízení podvrhnout upravený firmware, který bude úpravu naměřených hodnot provádět, a pokud bude mít útočník obzvlášť vyvinutý smysl pro humor, naprogramuje tuto funkci jako nahodilou, aby byla složitěji detekovatelná. Stejně tak může dojít k chybě ve firmware neúmyslně na straně výrobce, takže pak třeba anemometr v běžném větru detekuje rychlost uragánu. Účinným opatřením je validace původu firmwaru, například pokud dochází k jeho upgradu v senzoru anebo vazba firmwaru na konkrétní čidlo, aby bylo pro útočníka složitější firmware podvrhnout a také důsledná analýza naměřených dat na back-endu s detekcí anomálií, které jsou následně podrobeny hlubšímu zkoumání, zda se skutečně nejedná o úspěšný útok na fungování zařízení.
Abychom skončili trochu pozitivně, bezpečnostní hádanka v IoT má řešení, a to kombinací technických a procesních opatření. A to jak důslednou ochranou kryptografického materiálu, zajištěním odolnosti proti podvrhnutí kompromitovaného firmware, ale také důkladnou analýzou získaných dat na straně back-endu s detekcí anomálních stavů, které mohou znamenat úspěšný útok a způsobit značné škody.
Autor: Zdeněk Lokaj