Lifehacks

Senzory tlaku v pneumatikách automobilu: Zkusme útok DoS / Habr

Senzory TPMS (systém monitorování tlaku v pneumatikách) jsou již mnoho let intenzivně studovány. Pravidelně přenášejí tlak v pneumatikách, teplotu a jedinečné ID, které lze zneužít ke sledování vozidla. Existuje však i další aspekt: moderní senzory TPMS mají také přijímač, který se obvykle používá k zahájení přenosu dat, když je v autě nainstalován nový senzor TPMS („procedura učení“).

Zde v Evropě senzory TPMS obvykle vysílají v pásmu 433 MHz (určeném pro ISM – průmysl, vědu a medicínu). Přijímač pracuje na frekvenci 125 kHz, což je velmi blízko k nízkofrekvenční RFID. Nejjednodušší způsob, jak přijímač použít, je vyhledat nosnou frekvenci 125 kHz a poté povolit přenos dat. Moderní senzory jsou obvykle sofistikovanější a používají modulovanou nosnou obsahující pakety příkazů; přenos dat je povolen pouze v případě, že je přijat správný příkaz.

Pokud máte přijímač, pak samozřejmě můžete dělat víc než jen povolit přenos dat: může například podporovat různé příkazy a některé senzory vám dokonce umožňují tímto způsobem aktualizovat firmware.

Jedním z těchto podporovaných příkazů je přepnutí senzoru do přepravního režimu. Proč je to potřeba? Když senzor funguje normálně, očekává pohyb (uvnitř je senzor zrychlení/nárazu) a začne periodicky vysílat data pouze tehdy, když se kolo otáčí. Důvodem je úspora energie baterie. Pokud senzor TPMS ještě není nainstalován v pneumatice, neměl by reagovat na pohyb, a proto se používá přepravní režim. V tomto režimu se senzor probouzí pouze každých několik sekund a kontroluje signál 125 kHz; pokud ano, senzor kontroluje správné příkazy, například příkaz pro povolení přenosu dat, což obvykle také ukončí přepravní režim a přepne senzor do normálního režimu.

Tento režim „Přeprava“ lze zneužít: pokud se nám podaří přepnout senzor TPMS kola automobilu do režimu „Přeprava“, senzor již nebude schopen přenášet data a po určité době se rozsvítí kontrolka sledování tlaku v pneumatikách. Zde je nutné upřesnit: tato varovná kontrolka řidiče pouze obtěžuje, ale neovlivňuje bezpečnost vozu, protože deaktivovaný senzor TPMS nemá vliv na samotný tlak v pneumatikách.

Rozhodl jsem se podívat na několik senzorů TPMS z různých aut, abych zjistil, zda by se to dalo deaktivovat. Vybral jsem senzory z vozů BMW a Ford. Stojí za zmínku, že to tak pravděpodobně bude i u jiných výrobců automobilů, protože existuje omezený počet výrobců senzorů TPMS, kteří dodávají senzory různým výrobcům automobilů. Volba BMW a Fordu byla způsobena tím, že jsem pro tato auta našel spoustu levných použitých senzorů.

Také jsem hledal pouze „OEM“ senzory pro BMW a Ford, což znamená, že tyto byly instalovány samotným výrobcem automobilu. Existují také „univerzální“ senzory, které obvykle instalují prodejci pneumatik; k těm jsou poznámky na konci příspěvku.

Nástroj pro přenos dat o frekvenci 125 kHz se dá poměrně snadno sestavit: existuje levný senzor TMPS EL-50448, který vysílá pouze nosnou frekvenci bez modulace. Hardware lze však snadno upravit tak, aby poskytoval modulaci nosné: většinou se k přenosu dat používá OOK (On-Off Keying); to znamená, že nosná frekvence se jednoduše zapíná a vypíná. EL-50448 používá k generování nosné frekvence výkonový zesilovač, který má nevyužitý pin „enable“, takže jej můžete použít k modulaci nosné. Přenosová rychlost je nízká, často 3900 baudů. Nejběžnějším kódováním je Manchesterské kódování datových bitů, což znamená, že nosná frekvence se mění dvakrát častěji (7800 změn za sekundu). Na tom není nic zvláštního a pravděpodobně to lze implementovat s jakýmkoli mikrokontrolérem. Cena takového systému bude nižší než 20 eur a vysílací poloměr bude přibližně 20 cm.

Jak najít příkaz pro povolení režimu „Přeprava“? Brute force s kontrolou všech možných příkazů je použitelná pouze v případě, že je příkaz krátký. Důvodem je, že senzor každých několik sekund hledá nízkofrekvenční signál 125 kHz. Pokud příkaz není delší než dva bajty, pak je brute force možná (bude to trvat několik dní), ale u delších příkazů není použitelná. Za zmínku také stojí, že je třeba najít způsob, jak rozpoznat, zda senzor TPMS reaguje na odeslané příkazy, například sledováním spotřeby energie senzoru nebo příjmem datového signálu 433 MHz (samozřejmě to bude fungovat, pokud vámi odeslaný příkaz způsobil přenos dat).

Přečtěte si více
15 záludných otázek, které si položit při koupi domu 13.06.2023. XNUMX. XNUMX |

Další možností je hledat nástroje pro testování TPMS senzorů, které používají prodejci pneumatik a opravny pneumatik k testování senzorů TPMS. Některé z těchto nástrojů mohou podporovat přepnutí senzoru TPMS do režimu „Přeprava“.

Zde jsou výsledky, které jsem našel (abych zabránil zneužití dat ke škodlivým účelům, nebudu zacházet do podrobností):

Jeden senzor používaný v mnoha modelech osobních automobilů a vyrobený výrobcem senzorů TPMS „A“ (stejný výrobce jako výše) lze přepnout do režimu „Přeprava“. Jedná se o stejný příkaz jako u senzoru BMW popsaného výše. Deaktivovaný senzor TPMS lze aktivovat jiným příkazem.

Jiný senzor používaný v mnoha modelech osobních automobilů a vyráběný výrobcem senzorů TPMS „B“ lze přepnout do režimu „Přeprava“. Deaktivovaný senzor TPMS lze aktivovat jiným příkazem. V tomto případě má příkaz pouze dva bajty, takže jsem otestoval všechny kombinace, což vedlo k objevení mnoha dalších „zajímavých“ příkazů. Zde je několik příkladů:

  • Je možné senzor TPMS zcela deaktivovat. V takovém případě již nebude reagovat na nic, budete muset otevřít kryt senzoru a provést tvrdý reset nebo odpojit baterii, abyste jej znovu aktivovali.
  • Senzor můžete přepnout do režimu nepřetržitého „přenosu nosné frekvence“ 433 MHz. V tomto režimu bude senzor nepřetržitě vysílat nosnou frekvenci 433 MHz. Dokud se nevybije baterie nebo neprovede hardwarový reset (viz výše), nebude na nic reagovat. Existují ještě dva podobné příkazy, které vysílají posunutou frekvenci nahoru nebo dolů (senzor při přenosu dat používá FSK modulaci, tzv. Frequency Shift Keying).

Jak se těmto problémům vyhnout? Ve skutečnosti je to docela jednoduché – příkaz k přepnutí do režimu „Přeprava“ by neměl být povolen, pokud je naměřený tlak v pneumatice nad určitou hranicí, protože to znamená, že senzor je instalován v pneumatice vozidla. Totéž platí pro další příkazy výrobce senzoru „B“, které jsou s největší pravděpodobností nějakým druhem testovacích nebo vývojářských příkazů. Všimněte si také, že během mých testů bylo možné popsané příkazy provést, i když byl naměřený tlak v pneumatice v rozsahu standardního kola automobilu.

Před zveřejněním tohoto článku jsem kontaktoval výrobce automobilů (BMW a Ford). Toto z toho vyplynulo:

Jako reklama

Servery s bezplatnou ochranou proti DDoS útokům – to je o nás! Všechny servery jsou chráněny před DDoS útoky „ihned po vybalení“, vytvořte si vlastní konfiguraci virtuálního serveru během několika kliknutí.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Back to top button