Jak zmírnit nedostatky v bezklíčových vstupních systémech

Systémy bezklíčového odemykání a zapalování se začaly ve výrobě objevovat na přelomu 90. let a roku 2000 a zpočátku byly k dispozici pouze u luxusních modelů a dalších vozidel vyšší třídy. Od té doby se funkce dálkového/pasivního bezklíčového odemykání a startování (RKE/PKE) staly stále běžnějšími v celém odvětví a v současné době jsou k dispozici jako standardní výbava naprosté většiny prodávaných vozidel.

Obliba a pohodlí bezklíčového vstupu jsou nesporné. Stejně jako mnoho jiných technologických vymožeností jsou však systémy RKE/PKE náchylné k útokům hackerů – a v tomto případě zlodějů aut. Vzhledem k této potenciální kybernetické krádeži automobilu se výrobci vozidel (OEM) a odborníci na bezpečnost automobilů snaží najít způsoby, jak tuto hrozbu zmírnit.

Systémy RKE

RKE znamená vstup do vozidla bez použití fyzického klíče (např. pomocí dveřní klávesnice nebo klíčenky). První klíčenka RKE používala generátor kódovaného pulzního signálu a infračervený zářič napájený z baterie. Byl nakonfigurován tak, aby vysílal specifický signál, a vůz byl naprogramován tak, aby na tento signál reagoval.

 

Replay útok

Hackeři využili tohoto nechráněného signálu a vymysleli „klasický“ útok replay, při kterém se pomocí zařízení nahrává a vysílá na stejné IR frekvenci jako klíčenka. Když řidič stiskne odemykací tlačítko, útočník tento signál zaznamená a může jej později přehrát a odemknout dveře. Všimněte si, že tento hack může fungovat pouze v případě, že klíčenka používá stejný odemykací signál při každém stisknutí odemykacího tlačítka.

Aby se takovému útoku zabránilo, bylo do zprávy odesílané z ovladače do vozu zavedeno pole s klouzavým kódem, které zajišťuje, že se odemykací signál nebude opakovat. Vůz a klíčenka sdílejí dvě kódové sekvence – jednu pro odemknutí a druhou pro zamknutí. Například Xn by byl n-tý klouzavý kód pro odemknutí, zatímco Yn by byl n-tý klouzavý kód pro zamknutí. Všechny sekvence jsou definovány pomocí kryptograficky zabezpečeného generátoru pseudonáhodných čísel (CSPRNG). Při n-tém stisknutí odemykacího tlačítka vysílá klíčenka kód Xn. Vůz pak porovná přijatý klouzavý kód s očekávaným klouzavým kódem a podle toho vůz odemkne nebo zamkne.

Toto vylepšení zabezpečení vyvolalo novou vlnu útoků typu „roll jam“, které byly navrženy tak, aby tyto rolovací kódy obcházely. Útoky typu Roll Jam zaznamenávají klouzavé kódy a ruší RF signál z klíčenky, čímž mu brání v přístupu do vozidla. Tento scénář útoku se skládá z následujících kroků:

  1. Řidič stiskne odemykací tlačítko a vyšle kód X1, který je prvním kódem pro odemknutí vozidla. Útočník ruší signál a zjistí hodnotu X1. Vůz v důsledku rušení signál nepřijme a zůstane zamčený.
  2. Řidič znovu stiskne odemykací tlačítko a vyšle signál X2. Útočník ruší signál a zjistí hodnotu X2. Stejně jako v kroku 1 zůstane vůz zamčený.
  3. Útočník vysílá X1, aby řidiči odemkl vůz.
  4. Po jízdě řidič zaparkuje a zamkne vůz odesláním Y1, což je očekávaný valivý kód pro zamknutí.
  5. Později v noci pak může útočník odeslat kód X2, který vůz odemkne.

 Roll jam attack

Roll jam útok

Z hlediska bezpečnosti je hlavní slabinou výše uvedené implementace to, že valivé kódy pro zamykání a odemykání jsou na sobě nezávislé. Pouhé sdílení rolovacího kódu však otevírá nové varianty útoku roll jam. Útočník může stále rušit po sobě jdoucí zprávy, vzít rolovací kód příkazu pro odemknutí a poté zkonstruovat platný příkaz pro zamčení (nebo opačný scénář, který začíná rušeným příkazem pro zamčení a konstruuje příkaz pro odemknutí). Proto je kromě sdílení rolovacího kódu důležité zprávy podepsat nebo zašifrovat, aby útočník nemohl sestavit zprávy na základě zaseknutého rolovacího kódu. To lze provést pomocí uznávaného a kryptograficky bezpečného kódu pro ověřování zpráv (MAC), například AES-CMAC nebo HMAC, s dlouhým sdíleným tajným klíčem.

Systémy PKE

Systém PKE posunul pohodlí na vyšší úroveň tím, že řidiči umožnil nastoupit do vozu a nastartovat, aniž by museli vytahovat z kapsy klíčenku. Základní komunikace PKE, která vychází z poznatků získaných při používání RKE, se skládá z výzvy vyslané vozidlem k ověření identity klíčenky a kryptograficky vypočtené odpovědi vyslané klíčenkou.

Ve většině implementací PKE sdílí klíčenka a automobil dlouhý náhodný tajný klíč, který se používá ke generování a ověřování odpovědi. Klíčenka provede kryptografickou funkci na výzvu a vygeneruje odpověď, kterou následně ověří automobil.

Protože implementace PKE jsou založeny na blízkosti klíčenky, mají přirozené omezení týkající se vzdálenosti, do které může vysílač dosáhnout. K obejití tohoto omezení vzdálenosti byl vymyšlen nechvalně známý „útok přes relé“. Uvažujme dvojici útočníků, kteří pracují společně. Jeden útočník je v blízkosti vozidla a druhý je v těsné blízkosti klíčenky. Každý z útočníků používá vysílač, který funguje na velkou vzdálenost (např. prostřednictvím 4G nebo WiFi), k předávání zpráv vysílaných autem a klíčenkou.

Jak je znázorněno níže, útočník A spustí výzvu a předá ji útočníkovi B, který ji poté přenese do klíčenky. Klíčenka na výzvu odpoví a útočník B ji předá útočníkovi A, který ji poté znovu přenese do vozidla.

 Relay attack

Relay útok 

Osvědčené postupy pro zmírnění relay útoků

Jednou z metod, jak zmírnit útoky na relé, je stanovit horní hranici doby odezvy. Vzhledem k tomu, že se vlny šíří rychlostí světla, je možné odhadnout horní hranici vzdálenosti měřením doby cesty tam a zpět od vyslání výzvy vozu do přijetí odpovědi. Pomocí technologie UWB lze dosáhnout velmi přesného měření.

Další metodou zmírnění je odhad polohy klíčenky pomocí RSSI (indikátor síly přijímaného signálu), který určuje vzdálenost mezi klíčenkou a vozem podle síly signálu. Vůz vysílá výzvu z několika antén. Klíčenka pak odpoví hodnotami RSSI z každé z antén a vůz tyto hodnoty použije k odhadu polohy.

Hackeři však stále mají možnost algoritmus pro odhad polohy „přelstít“. Vzhledem k tomu, že RSSI se měří na straně klíčenky, může se dvojice útočníků pokusit vysílat zesílený signál výzvy v blízkosti klíčenky, aby zvětšila hodnoty RSSI a „obelstila“ vůz, že je klíčenka blíže, než ve skutečnosti je.

Dalším problémem této metody zmírnění je, že její hodnoty nejsou podepsány ani zašifrovány. To znamená, že digitální útočník může pomocí demodulátoru extrahovat přenášená data, upravit hodnoty RSSI a poté signál znovu modulovat. Pokud se RSSI používá k lokalizaci, doporučuje se tyto hodnoty podepsat nebo zašifrovat.

Aby se zabránilo útokům z relé, jsou v některých klíčenkách integrovány snímače pohybu, které detekují dlouhou dobu nečinnosti. Pokud po několika sekundách/minutách není detekován žádný pohyb, klíčenka přestane odpovídat na výzvy. Jinými slovy, pokud klíčenka leží celou noc na kuchyňském stole, útočník nemůže provést reléový útok na vozidlo.

Known challenge relay útok

Dalším teoretickým scénářem hackerského útoku je útok Known Challenge relay, který využívá implementace, kde jsou výzvy předvídatelné. Například další výzva je předchozí výzva plus 1: 0, 1, 2, …, 0xFFFFFFFFFF, nebo jsou výzvy generovány pomocí funkce generátoru náhodných čísel, která není kryptograficky zabezpečena, jako je LCG, LFSR atd. V takovém případě by útočník, který zná funkci PRNG nebo ji správně uhodne, mohl zkonstruovat celou posloupnost výzev.

Stejně jako u klasického útoku pomocí relé (popsaného výše) jsou i v tomto případě klíčenka a automobil od sebe vzdáleny, ale tentokrát je útočník pouze jeden. Ten spustí výzvu z auta a poté se snaží předpovědět další výzvu, kterou auto vyšle. Útočník se pak přiblíží ke klíčence a předpovídanou výzvu odvysílá. Klíčenka odpoví odpovědí. Poté se útočník vrátí k automobilu a spustí další výzvu. Pokud je spuštěná výzva taková, jakou útočník předpověděl, může ji útočník vyřešit tak, že přenese odpověď zaznamenanou z klíčenky, odemkne a nastartuje vůz.

 known challenge relay attack

Known challenge relay útok

Jednou ze strategií, jak tomuto scénáři předejít, je zajistit, aby výzvy nebyly předvídatelné, a to použitím uznávané CSPRNG s vysokou entropií osiva. Dalším návrhem je nechat vůz podepsat všechny výzvy. Tímto způsobem, i když je útočník schopen předvídat výzvu, nemůže se dotazovat klíčenky na odpověď.

Bezpečná implementace je základem hry

Krádeže vozidel jsou problémem již od vynálezu automobilů. Hra na kočku a myš mezi bezpečnostními profesionály a zloději pokračuje i dnes, jediným rozdílem je sofistikovanost používaných nástrojů.

RKE a PKE představují pro výrobce OEM řadu bezpečnostních problémů. Nezabezpečené implementace RKE jsou vystaveny různým variantám útoků typu replay a roll jam, jako je nedávno objevený útok Rollback. Zprávy by měly být podepsány nebo zašifrovány, aby útočník nemohl upravovat zprávy zaznamenané z klíčenky.

U implementací PKE je důležité zajistit, aby výzvy nebyly předvídatelné, a to použitím semínka s vysokou entropií pro randomizaci a použitím CSPRNG pro generování šifrovaných výzev. Pokud se k odhadu polohy používá RSSI, měly by být tyto hodnoty také podepsány nebo zašifrovány, aby se zabránilo manipulaci.

Některé chybné implementace lze navíc zmírnit pomocí vylepšených bezpečnostních protiopatření. V mnoha případech může k odstranění známých zranitelností stačit aktualizace softwaru BCM a/nebo klíčenky. Z tohoto důvodu jsou výrobci OEM, kteří nabízejí funkci aktualizace over-the-air, nejlépe připraveni účinně reagovat na nevyhnutelný další útok.

Stříbrná kulka pro prevenci krádeží automobilů neexistuje, ale správná implementace výše popsaných metod a postupů pro zmírnění následků by mohla sloužit jako pevný základ pro odvrácení naprosté většiny pokusů o hacknutí bezklíčového vstupu.

 

Zdroj: automotiveworld.com