Konference DEFCON 27. Vaše auto je moje auto. Část 1

Briefing projevu:

Pro mnohé z nás je auto jedním z nejdražších nákupů, jaké kdy uděláme. Ve světě, kde je vše propojeno, je přirozené chtít ovládat naše auto na dálku: nechat si připomenout, kde jsme ho zaparkovali, zkontrolovat, zda jsme nezapomněli zamknout dveře, nebo na dálku nastartovat motor, aby se interiér předehřál nebo ochladil. v závislosti na roční době.

Existuje mnoho výrobců, kteří nabízejí volitelné poplašné systémy, které poskytují toto pohodlí a klid. Ale jak moc můžeme věřit poskytovatelům těchto systémů, že ochrání přístup k našim autům v digitální doméně? V této přednášce bude Jmaxxz mluvit o tom, co objevil, když se podíval do jednoho z těchto systémů.

Jmaxxz je známý svou prací se systémy chytré domácnosti August Smart Lock (prezentace na DEFCON 24 „Backdooring The Frontdoor“). V posledních letech se zaměřuje na zařízení IoT. Zúčastnil se sekcí „IoT village zero day“ DEFCON 24 a DEFCON 25 a nakonec se rozhodl, že je čas prozkoumat produkt sekundárního automobilového trhu - vzdálený startér (dále jen RS).

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Takže, jmenuji se J-Max, jsem povoláním programátor a povoláním hacker. Zabývám se všemi věcmi souvisejícími se zámkem a v průběhu tohoto rozhovoru uslyšíte mnoho prohlášení, která vyjadřují pouze mé názory a nemají nic společného s názory mých minulých, současných a budoucích zaměstnavatelů. Jak jste pravděpodobně pochopili, budeme mluvit o autech, konkrétně o dálkových startérech a poplašných systémech. Začněme nějakým pozadím, které je v této souvislosti důležité, protože mnozí takové systémy považují za zbytečný luxus.
Takže tam, kde bydlím, je pěkná zima a můj přítel trpí stavem zvaným Raynaudův syndrom. Chlad způsobí křeč cév v rukou, prudce se sníží průtok krve do prstů, objeví se známky omrzlin včetně nekrózy tkání. Slide ukazuje, jak to obvykle vypadá.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Loni v listopadu jsem se ještě nerozhodl, co jí dám k Vánocům. Vrací se tedy domů z letiště naštvaná, protože se jí auto cestou domů nikdy neohřálo. V tu chvíli jsem si uvědomil, že bych jí dal systém dálkového startování motoru a začal hledat nejlepší možnost. Ukazuje se, že trh se vzdálenými startéry je poměrně velký a mnoho výrobců neposkytuje dostatečné informace o svém produktu.

Neřeknou vám, jak nainstalovat systém nebo jaké nástroje použít k naprogramování zařízení. To je pro mě problém, protože toto je moje auto, moje dálkové startování a potřebuji mít přístup k těmto nástrojům. Tak jsem trochu více hledal a našel firmu z Kanady Fortin, která takové startéry vyrábí a ochotně poskytuje veškerou potřebnou dokumentaci. Rozhodl jsem se pro tento produkt a začal jsem hledat vhodné dálkové ovládání. Faktem je, že pokud používáte standardní dálkový ovladač s dálkovým startérem, pak bude jeho akční rádius omezen na dosah standardního dálkového ovládání. Jsou nabízena dálková ovládání pro aftermarket, která fungují v rozsahu od půl míle do jedné a půl míle. Podle recenzí spotřebitelů se jedná o reklamní trik, protože ve skutečnosti je vzdálenost mnohem kratší. To je ten problém, protože moje kamarádka potřebuje nastartovat motor svého auta na parkovišti u letiště, jakmile vystoupí z letadla, což je asi půl míle.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Bylo by tedy skvělé, kdyby mohla vytáhnout telefon, otevřít aplikaci a stisknout Start. Našel jsem produkt třetí strany s názvem MyCar, který je plně kompatibilní se startérem Fortin. Jedná se o malou klíčenku se SIM kartou a GPS přijímačem, kterou můžete vložit do auta a připojit ji ke vzdálenému startéru. Pomocí mobilní aplikace pak můžete na dálku nastartovat motor, odemknout zámky a podobně.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Říkal jsem si, že by to bylo skvělé: kamarádka může hned po přistání letadla nastartovat motor, a než se dostane k autu, v kabině už bude teplo.

Pojďme si tedy říci něco málo o tom, jak vzdálené startéry fungují. Chcete-li to provést, musíte nejprve pochopit, jak motor automobilu startuje. Zhruba do poloviny devadesátých let byl startér do auta tradičním mechanickým zámkem v kombinaci klíč-spínač. K dokončení elektrického obvodu jste museli vložit klíč a otočit jím. Poté se ve Spojených státech staly populární zámky označené jako „imobilizér“. Zní to složitě, ale je to jen elektronický zámek. Máte tedy mechanický zámek, který je klíčem k elektronickému zámku, který je zase transpondérem a obsahuje některé informace, které lze přečíst. A dokud neotevřete elektronický zámek, vaše auto nenastartuje. Na pravé straně sklíčka vidíte 2 klíče: levý je pro imobilizér a pravý pro běžný spínač zapalování. Jednoduše ovládá mechanické součásti zámku, zatímco levý klíč odemyká elektronický zámek, který nastartuje motor vozu.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Proč vám o tom říkám? Dálkové startování funguje přes imobilizér. Na dalším snímku vidíte schéma připojení zařízení Fortin EVO One k imobilizéru - vlevo dole vidíte dvojici kontaktů označených jako IMO. V pravém horním rohu diagramu vidíte dva řádky: CAN LOW a CAN HIGH. Jedná se o kontakty pro připojení k automobilové sběrnici CAN. Důvodem, proč jsou vzdálené spouštěče připojeny ke sběrnici CAN, je snížení nákladů na instalaci, protože při instalaci se používá méně připojení. Pokud může vzdálený startér číst data ze sběrnice CAN nebo posílat příkazy přes sběrnici CAN, zkracuje to dobu instalace systému vzdáleného startování motoru.

V levé horní části diagramu je celá řada GPIO, které jsou spojeny s ovládáním nebo čtením informací o stroji. Chcete například, aby při stisknutí tlačítka zámku blikala světla nebo zazněl klakson. Věci, jako je tato, lze ovládat pomocí těchto GPIO. Vlevo dole na schématu můžete vidět velký neohrabaný konektor - to je rozhraní, které obchází mechanický zámek. To znamená, že nemusíte zasouvat a otáčet klíčkem do zapalování, protože toto rozhraní umožňuje relé dálkového startéru komunikovat přímo s elektrickým zámkem.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Následující snímky ukazují fáze instalace vzdáleného startéru. Spočívá především v odstranění krytu sloupku řízení, instalaci a připojení jednotky DS. Vypadá to docela děsivě, ale je to snadné.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Samotné dálkové ovladače se připojují k tomu, co Fortin nazývá datovým spojem. Systém využívá proprietární protokol fyzického přenosu dat UART - univerzální asynchronní vysílač, který si vyměňuje data rychlostí 9600 baudů. Dálkový startér Fortin se jednoduše připojí přes sběrnici UART ke dvěma dálkovým ovladačům, které vidíte na snímku.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Po instalaci DS jsem přemýšlel o tom, jak by taková zařízení mohla ovlivnit bezpečnost vozu. Je zřejmé, že DS musí obejít imobilizér, jak je to tedy bezpečné z hlediska možnosti krádeže nebo odposlechu ovládání vozu? To platí nejen pro přenos dat přes mobilní síť, ale také pro samotný signál vzdáleného startu. Začal jsem tedy na internetu hledat informace o výrobci o použitém protokolu přenosu dat a skončil jsem na fórech, kde lidé psali, že Fortin tento protokol odmítl poskytnout. Jeden z důvodů: „Takové informace nešíříme, protože EVO není hračka pro amatéry, je určeno pro profesionály.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Protože jsem profesionál, rozhodl jsem se postavit si vlastní stroj na desktopu. Sehnal jsem druhou systémovou jednotku EVO, sestavil jsem obvodovou desku, která představovala auto, přidal spínače pro simulaci zapalování, tlačítko pro brzdový pedál a spoustu LED diod pro zobrazení různých stavů.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Když jsem to všechno dal dohromady, připojil jsem zařízení pro sledování datového spojení FTI a začal sbírat tato data. Zpočátku to vypadá jako skluzavka a není úplně jasné, co se tu děje. Ale když se podíváte pozorně, můžete říct, že tady určitě nějaká struktura je.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Vezměte prosím na vědomí, že kdykoli stisknu tlačítko na dálkovém ovladači, zpráva, kterou anténa odešle do mého DS, vždy začíná 0C a končí 0D. Takže když rozdělíme to, co dostaneme, za předpokladu, že 0C je začátek a 0D konec, skončíme s něčím takovým.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Zde je již nějaká struktura jasně viditelná, takže můžete zjistit, co se děje. Tím, že jsem strávil čas sledováním toho, jaká zpráva se objevila po stisknutí konkrétního tlačítka, jsem byl schopen vytvořit tabulku příkazů, z nichž každý odpovídal určité akci. To znamená, že když stisknete tlačítko na dálkovém ovladači, anténa odešle příkaz modulu dálkového startu, který vypadá takto.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Takto vypadá typická týmová struktura.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Když stisknete tlačítko na dálkovém ovladači, anténa vyšle takový příkaz do dálkového startéru. Probouzí ho byte 0C, po kterém následují 2 byty, které myslím představují směr přenosu. To je zajímavé, protože UART již má směr signálu, takže jsem tyto bajty označil jako "smetí", prostě je zacházejte jako s konstantou. Poté následuje jeden bajt označující příkaz, který by uživatel chtěl provést. Může to být zamykání dveří nebo jejich otevření, vypnutí alarmu atd. Vše, co chcete dělat vzdáleně, je obecně spojeno s tímto příkazem. Užitná zátěž FF FF F1 je adresa nebo identifikátor, který identifikuje vzdálenou anténu, ze které zpráva přišla. Pokud jednotka DS nerozpozná identifikátor, příkaz je ignorován. Pokud DS přijme identifikátor, začne vícekrokový postup, který zahrnuje kontrolu přítomnosti klíčku v zapalování, zapnutí nebo vypnutí motoru, sešlápnutí brzdového pedálu atd. Ve skutečnosti tento proces nemá velký význam, jde pouze o to, že se zařízení v tuto chvíli učí ID.

Na konci zprávy je bajt s kontrolním součtem a bajt označující konec příkazu. Nyní, když rozumíme tomu, jak protokol funguje, co s tím můžeme dělat? K tématu mám pár videí. Bohužel je video z nějakého důvodu bez zvuku, tak vám řeknu, co se děje na obrazovce. Vlevo od sloupku řízení na krytu přístrojové desky je bílá krabička, která obsahuje elektroniku s firmwarem Particle.IO, který si rozumí s protokolem Fortin. Drát s modrou špičkou je anténa. Tato věc mi umožňuje komunikovat s jednotkou dálkového startování zevnitř auta a sledovat, co se děje na obrazovce notebooku.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Posílám tedy povel k odemknutí zámku do auta ale nefunguje to, protože DS o této anténě neví. Jak jsem již zmínil, jedná se pouze o UART, jehož vlastností je podpora tzv. obousměrné komunikace, díky které můžete na dálku získávat informace o stavu vozu. Pokud byl například motor fyzicky nastartován nebo zastaven, jednotka DS odešle odpovídající zprávu do antény dálkového ovládání. V tomto případě bude zpráva obsahovat adresu právě této antény.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Problém je v tom, že komunikace probíhá pomocí protokolu UART a každý, kdo se připojí na sběrnici UART, vidí adresu, kam je daná zpráva odeslána, takže můj firmware má možnost naklonovat adresu stávající antény, což dělám s příslušným příkazem.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Pro vygenerování zprávy stačí otevřít dveře auta. Jak vidíte, DS odešle do antény zprávu, že dveře byly otevřené, a alarm se okamžitě zapne.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Pro vypnutí alarmu posílám příkaz „odemknout“, po kterém se zvuk alarmu vypne a auto se odemkne. Budete mi muset dát za slovo, protože se nám nepodařilo přehrát toto video se zvukem. Zkusme přehrát video znovu.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

No a zvuk se objevil (pozn. překladatele: na obrazovce se přehrává stejné video se zvukem). Takže jste viděli, jak jsem poslal příkaz DS a zapnul alarm, vše bez klíče. Nyní zkusme nastartovat auto stejným způsobem; k tomu se podívejte na následující video.

Obvykle, pokud napíšete "start" a pokusíte se nastartovat motor, nebude to fungovat. Důvodem je, že se jedná o vůz s manuální převodovkou a systémy dálkového startování mají pro takové vozy speciální postup. V tomto případě musíte stisknout tlačítko dálkového startéru, když je klíč v zapalování a motor běží. Poté můžete vytáhnout klíč, vystoupit z auta, zavřít dveře, načež DS vypne motor a zamkne dveře. To se provádí proto, aby se zabránilo tomu, že auto za jízdy reaguje na dálkové nastartování motoru, protože je to nebezpečné. Nejedná se však o kompletní bezpečnostní prvek. To se dá docela snadno dokázat pohledem na jednotku dálkového startování EVO. Vidíte tento žlutý smyčkový drát, který je navržen pro práci s manuální převodovkou. Pokud je řezán, lze tento blok použít pro vůz s automatickou převodovkou. Tato konstrukce jednotky umožňuje nepoužívat žádná speciální nastavení při instalaci DS do vozů s různými typy převodovek.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Takže systém nereagoval na povel "start", takže vrátím tento blok na místo a přestřihnu tento drát, abych přerušil spojení. Nyní, pokud zopakujete příkaz „start“, zazní zvukový signál a na přístrojové desce se rozsvítí stavové indikátory systémů vozu, jako se to stane po vložení klíče do zámku.

Konference DEFCON 27. Vaše auto je moje auto. Část 1

Momentálně máme auto, které nastartujeme na dálku bez klíčku v zapalování, ale modul DS není vše, co potřebujeme. V autě nastartovaném na dálku za normálních okolností stejně neujedete, ale i tak to zkusíme.

Chcete-li deaktivovat zámek volantu, musíte do zámku zapalování vložit běžný klíč, který nemá žádný transpondér. Jak je vidět, stačí posunout klíček do polohy před nastartováním motoru a volant Subaru Impreza se začne otáčet zcela volně.

Pokud však žádný klíč nemáte, auto se po sešlápnutí brzdového pedálu zastaví. Obejít toto omezení je celkem snadné. Musíte zjistit, jak auto řekne dálkovému startéru, že je zabrzděna. V zadní části krytu modulu EVO vidíte několik vícebarevných portů - zde se připojí kabel ze sběrnice CAN. Tento kabel stačí po dálkovém nastartování vozu z jednotky DS jednoduše vyjmout a nereaguje na sešlápnutí brzdového pedálu. Jelikož je tato jednotka umístěna pod krytem sloupku řízení, dávám přes svůj notebook povel "start", auto nastartuje, otevřu dveře, vystoupím z auta a vyjmu konektor sběrnice CAN z jednotky EVO. Jak vidíte, motor auta běží, ale stále nemáme žádný klíček v zapalování.

Nyní, když sešlápnete brzdový pedál, nic se nestane, protože EVO neví, že byl sešlápnut. Poté mohu sednout za volant, stisknout brzdu, přesunout řadicí páku do polohy „Drive“ a auto se rozjede. To vše se děje bez jakéhokoli klíče.

21:40

Konference DEFCON 27. Vaše auto je moje auto. Část 2

Nějaké inzeráty 🙂

Děkujeme, že s námi zůstáváte. Líbí se vám naše články? Chcete vidět více zajímavého obsahu? Podpořte nás objednávkou nebo doporučením přátelům, cloud VPS pro vývojáře od 4.99 $, jedinečný analog serverů základní úrovně, který jsme pro vás vymysleli: Celá pravda o VPS (KVM) E5-2697 v3 (6 jader) 10GB DDR4 480GB SSD 1Gbps od 19 $ nebo jak sdílet server? (k dispozici s RAID1 a RAID10, až 24 jader a až 40 GB DDR4).

Dell R730xd 2krát levnější v datovém centru Equinix Tier IV v Amsterdamu? Pouze zde 2 x Intel TetraDeca-Core Xeon 2 x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbps 100 TV od 199 USD V Nizozemsku! Dell R420 – 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2 x 960 GB SSD 1 Gb/s 100 TB – od 99 $! Číst o Jak budovat infrastrukturu corp. třídy s využitím serverů Dell R730xd E5-2650 v4 v hodnotě 9000 XNUMX eur za cent?

Zdroj: www.habr.com

Přidat komentář