Jste zde

Secure by Design: třináct přikázání vývojáře IoT

Zapomeňte na default hesla, chraňte data uživatelů, upgradujte, hlídejte a ověřujte. Z perspektivy odpovědnosti vývojáře i poskytovatele služby opravdové základy, které nejsou samozřejmostí. Brzy budou.

Kybernetická bezpečnost se týká i oblasti IoT, kde dominují zařízení z kategorie embedded systémů. Řada odpovědností, vyplývajících z jejich nasazení a používání je tedy plně spojena s výrobcem a vývojářem zařízení. Provider je na něm závislý a to v dobrém i zlém. Jako držitel záruky pro zákazníka přebírá rizika na sebe.
Britský National Cyber Security Centre (NCSC)ve spolupráci se státní agenturou pro digitalizaci, kulturu, média a sport (DCMS) na základě regulací připravily řadu dokumentů a jednoduchých návodů, které se týkají jak uživatelů technologií, tak jejich výrobců a poskytovatelů služeb.

Dokument Code of Practice for Consumer IoT Security přináší praktické kroky pro výrobce IoT zařízení a poskytovatele služeb, ale také pro vývojáře mobilních aplikací. I když jde o úplné základy, řadě lidí jistě otevře oči. V první řadě je vhodné si uvědomit, že IoT zasahuje soukromí lidí prostřednictvím rádoby nevinných věcí:

  • Dětské hračky, chůvičky nebo učební pomůcky a stavebnice
  • Chytré kamery, televize a reproduktory
  • Nositelná elektronika
  • Bezpečnostní vybavení (senzory, zámky)
  • Domácí automatizace
  • Chytré spotřebiče (pračky, trouby, chladničky)
  • Asistenti a smart home aplikace

Jak tedy jednotlivé body vypadají?

  1. Neaplikujte univerzální hesla (Admin/Admin) - trefa do černého
    I když by se mohlo zdát, že vývojáře se tyto problémy netýkají, hned první bod ukazuje, že ano. Hesla pro přístup do zařízení by měla být unikátní, aby znemožnila sériové napadení více zařízení. Útoky tohoto typu jsou snad už i v učebnicích, ale stejná defaultní hesla, napsaná v návodu používá většina výrobců.
    Pokud jste se jen usmáli, věřte, že za pár let nebo měsíců si potenciální zákazník objedná vzorek vašeho zařízení a projde si jej podle tohoto doporučení, ze kterým pochopitelně stojí i nějaké nařízení. Když získáte NEUSPĚL hned v prvním bodě, asi zákazníkovi i sobě ušetříte práci.
  2. Zajistěte transparentní podporu bezpečnosti
    Výrobce zařízení nebo poskytovatel služby by měl zřídit veřejně přístupný bod, kde budou k dispozici informace o hrozbách pro zařízení, dostupné podpoře, upgrade nebo způsobu řešení problémů a to po celou dobu životního cyklu produktu.
  3. Implementujte update software
    Zařízení, připojitelná na internet by měla mít implementovány funkce pro softwarový update. Výrobce by měl garantovat dobu, po kterou bude poskytovat aktualizace, tak jak je to běžné u software nebo mobilních zařízení.
  4. Ošetřete bezpečnost citlivých dat z hlediska software
    Vývojáři by měli využívat dostupné služby šifrování úložišť a dat, potřebných pro chod zařízení. Jakékoli pokusy skrýt citlivá data nebo know-how jen v kódu jsou neúčinné. V době pokročilého reverzního inženýrství a návodů, které skýtají moduly a platformy je tato otázka velmi aktuální.
  5. Zajistěte všechny aspekty bezpečné komunikace
    Citlivá data, ale i vzdálený monitoring a ovládání by měly být během přenosu zašifrovány s ohledem na citlivost technologie. Samozřejmostí je bezpečné uložení klíčů.
  6. Minimalizujte  příležitostí k průniku
    Standardní postupy z IT by měly platit i pro jakákoli propojená zařízení. Software by měl ošetřit možnosti komunikace na nezbytně nutné pro provoz, uzavírání nepoužívaných portů i rozhraní, která nejsou využita.
  7. Udržujte integritu firmware zařízení
    Zařízení by měla implementovat postupy pro bezpečný upgrade i kontrolu integrity software, včetně informování uživatele či administrátora na případnou chybu. Vrací se doba LEDek, protože alert by měl být nějak funkční i v případě, kdy chyba vyřadí komunikaci a síťové spojení.
  8. Chraňte osobní data
    Co dodat? GDPR. U software a mobilních aplikací je třeba vzít v úvahu také reklamy třetích stran!
  9. Navrhujte zařízení odolná proti výpadkům
    Neboli, počítejte u IoT zařízení s tím, že konektivita ani elektrická síť není věčná. Zařízení by mělo v ideálním případě fungovat, sbírat data, a po obnovení sítě či napájení naběhnout do provozního režimu.
  10. Využijte data a telemetrii pro sledování stavu zařízení
    Zjistíte tak bezpečnostní anomálie.
  11. Umožněte snadnou odpersonalizaci.
    I když se může zdát, že vše vyřeší tovární reset, vždy to tak není (například auto nelze snadno resetovat). Uživatel by měl dostat jednoduchou možnost spolehlivě zbavit zařízení osobních dat, včetně jednoznačného návodu.
  12. Navrhněte jednoduchou instalaci a údržbu
    Jednoduše, bezpečně, krok po kroku. Tak by měl být uživatel schopen instalovat své zařízení.
  13. Validujte vstupní data
    Co se stane, když hacker chytrému domu podstrčí informaci, že teploměr ukazuje 1000°C? Vypne topení? Spustí alarm? Spustí hasící systém? Ve všech případech máte průšvih vy. Program musí ošetřit všechny varianty včetně situací, kdy datům nerozumí.

Je až překvapivé, kolik z těchto třinácti doporučení se týká vývoje embedded systémů, aplikací a software. Za každým z nich ale stojí přesné znění doporučení, směrnic nebo nařízení, která jsou v platnosti již dnes nebo se jejich platnost blíží. K témata se tak budeme vracet častěji.

https://www.gov.uk/government/collections/secure-by-design

Hodnocení článku: