Spuštění palubního počítače Tesla Model 3 na testovacím stole: Od dílů z vrakoviště k síťovému přístupu
Nadšenec a výzkumník kybernetické bezpečnosti úspěšně zrekonstruoval funkční palubní počítač Tesla Model 3 za použití náhradních dílů získaných z havarovaných vozidel. Cílem projektu bylo vytvořit testovací prostředí pro hledání zranitelností a analýzu firmwaru v rámci programu odměn za nalezené chyby (Bug Bounty) společnosti Tesla. Tento případ ukazuje hluboké technické složitosti a nestandardní řešení nezbytná pro spuštění komplexní automobilové elektroniky mimo její standardní prostředí a zároveň zdůrazňuje důležitost přístupu k dokumentaci pro reverzní inženýrství.
Sestavení testovacího stolu: Od dílů k napájení
Projekt začal potřebou získat hardware Tesla Model 3 pro účast v programu Bug Bounty. Hlavními komponenty palubního počítače jsou řídicí jednotka multimédií (MCU) a řídicí jednotka autopilota (AP), které se obvykle nacházejí za přihrádkou spolujezdce. Tyto jednotky, velikosti tabletu a tloušťky asi 500stránkové knihy, jsou uloženy v kovovém pouzdře s vodním chlazením. Pro pořízení těchto komponent se výzkumník obrátil na eBay, kde objevil mnoho nabídek od společností specializujících se na demontáž poškozených vozidel. Cena MCU se pohybovala od 200 do 300 USD.
Kromě hlavní jednotky byly pro spuštění potřeba následující prvky:
- Stejnosměrný napájecí zdroj, schopný dodávat 12 V. Byl vybrán regulovatelný zdroj s proudem 10 A, což se ukázalo jako správné rozhodnutí, protože systém mohl ve špičce spotřebovat až 8 A.
- Dotykový modul (obrazovka) z poškozené Model 3. Obrazovky se ukázaly být překvapivě drahé, jedna z nich byla pořízena za 175 USD.
- Specializovaný kabel pro propojení MCU a obrazovky.
Poslední bod se ukázal jako nejsložitější. Počítač a obrazovka byly dodány s ustřiženými kabely, což vyžadovalo nalezení originálního konektoru. Díky otevřenému „Elektrickému schématu“ Tesla, dostupnému na jejich servisním webu, se podařilo zjistit, že displej používá 6pinový kabel se speciálním konektorem Rosenberger 99K10D-1D5A5-D. Hledání takového kabelu na trhu bylo bezvýsledné. Pokusy použít podobný automobilový kabel LVDS, používaný v BMW, se také nesetkaly s úspěchem kvůli nekompatibilitě konektorů.
Síťová infrastruktura a softwarová rozhraní Tesla
Po získání MCU a jeho připojení k napájení byly pozorovány blikající červené LED diody, což svědčilo o spuštění. Bez obrazovky byla interakce se systémem omezená, ale předchozí výzkumy naznačovaly přítomnost interní sítě s webovými servery na některých komponentech. Připojení ethernetového kabelu k portu na MCU umožnilo navázat síťové spojení s notebookem.
V této interní síti chybí DHCP, takže IP adresa musela být nastavena ručně. Doporučený rozsah IP adres: 192.168.90.X/24, přičemž X by mělo být vyšší než 105, aby se předešlo konfliktům s jinými hostiteli. Prostudování starých souborů /etc/hosts z vozidel Tesla pomohlo určit standardní přiřazení IP adres:
192.168.90.100 cid ice # mcu
192.168.90.100 ic # only in Model X/S | IC = instrument cluster
192.168.90.102 gw # gateway
192.168.90.103 ap ape # ap = autopilot
192.168.90.104 lb # no clue
192.168.90.105 ap-b ape-b # also autopilot
192.168.90.30 tuner # Also no clue
192.168.90.60 modem # this has the ftp server
Na MCU (IP 192.168.90.100) byly objeveny dvě hlavní služby: SSH server na portu 22 a REST-like API na portu 8080.
- SSH server: Při pokusu o připojení se zobrazila zpráva „SSH povoleno: vozidlo zaparkováno“. Pro přístup k němu jsou vyžadovány speciálně podepsané SSH klíče, generované společností Tesla. Je důležité poznamenat, že v rámci programu Bug Bounty poskytuje Tesla trvalý SSH certifikát pro root přístup výzkumníkům, kteří objeví platnou zranitelnost umožňující získání root práv. To výrazně zjednodušuje další hledání zranitelností.
- ODIN API: REST-like API na portu
8080, známé jako ODIN (On-Board Diagnostic Interface Network), vrací historii „úkolů“ a je určeno pro použití diagnostickým nástrojem Tesla „Toolbox“.
Vnitřní uspořádání MCU zahrnuje dvě desky umístěné nad sebou, což potvrzuje jeho modulární architekturu.
Překonávání hardwarových složitostí: Od LVDS k kabelovému svazku
Počáteční pokusy propojit obrazovku a MCU pomocí kabelu LVDS z BMW selhaly kvůli fyzické nekompatibilitě konektorů. Zoufalé pokusy propojit ustřižené dráty přímo vedly ke zkratu a selhání jednoho z mikrokontrolérů napájení na desce. To si vyžádalo objednání nového MCU. Díky příteli-expertovi se však podařilo identifikovat spálenou komponentu jako snižující kontrolér „MAX16932CATIS/V+T“. Mikročip byl objednán a úspěšně vyměněn v opravně, což umožnilo obnovit poškozený MCU a mít dvě funkční jednotky.
Uvědomujíc si nemožnost najít samostatný kabel Rosenberger, výzkumník dospěl k závěru, že ve skutečných automobilech Tesla se pro displej nepoužívají samostatné kabely. Místo toho se používají velké integrované kabelové svazky, které sdružují mnoho kabelů z okolních oblastí. Pomocí elektrického schématu Tesla se podařilo najít číslo dílu pro potřebný svazek (1067960-XX-E). Pořízení takového svazku, navzdory jeho objemnosti a ceně kolem 80 USD, se ukázalo jako jediné funkční řešení.
Po instalaci kompletního kabelového svazku systém začal správně fungovat. Dotyková obrazovka se zapnula a na stole se objevil plně funkční palubní počítač Tesla Model 3 se spuštěným operačním systémem. To se stalo důležitým krokem k vytvoření plnohodnotného testovacího prostředí pro další výzkum.
Perspektivy výzkumu a další kroky
Spuštění palubního počítače Tesla Model 3 na testovacím stole otevírá široké možnosti pro hluboký výzkum jeho funkcionality a bezpečnosti. S plně funkčním systémem se výzkumník plánuje zaměřit na následující oblasti:
- Studium uživatelského rozhraní (UI): Analýza interakce se systémem, odhalování skrytých funkcí a potenciálních vstupních bodů.
- Interakce se síťovými rozhraními: Detailnější výzkum objevených SSH a ODIN API, stejně jako hledání dalších otevřených portů a služeb.
- Výzkum sběrnice CAN: Analýza dat přenášených interní automobilovou sítí CAN pro pochopení komunikace mezi různými komponenty vozidla.
- Extrakce firmwaru: Pokusy o získání přístupu k firmwaru operačního systému pro jeho statickou analýzu a hledání zranitelností na nižší úrovni.
Tyto kroky umožní nejen hlouběji porozumět architektuře a fungování systémů Tesla, ale také potenciálně objevit kritické zranitelnosti, což je hlavním cílem účasti v programu Bug Bounty.
Co je důležité
- Přístup k hardwarové platformě: Pro efektivní výzkum kybernetické bezpečnosti automobilů Tesla je nesmírně důležité mít fyzický přístup k palubnímu počítači, čehož se dosáhne pořízením dílů z poškozených vozidel.
- Význam otevřené dokumentace: Publikace podrobných elektrických schémat společností Tesla výrazně zjednodušuje proces reverzního inženýrství a sestavování komponent mimo standardní prostředí.
- Složitosti specializovaného vybavení: Automobilová elektronika používá unikátní konektory a kabelové svazky, které mohou být obtížně dostupné nebo vyžadují nestandardní řešení pro integraci.
- Interní síťová architektura: Palubní počítač Tesla má vlastní izolovanou síť s předem definovanými IP adresami a specializovanými službami, jako jsou SSH a ODIN API.
- Motivace pro výzkumníky: Program Bug Bounty společnosti Tesla, zahrnující poskytnutí root přístupu za objevení zranitelností, motivuje odborníky k hluboké analýze a zvyšování bezpečnosti automobilových systémů.
— Editorial Team
Zatím žádné komentáře.