uppdrag 5: bilar och nyckelbrickor

översikt

nästan alla bilar har för närvarande en nyckelfob som låter dig öppna dörrarna och starta bilen. När du köper en bil är bekvämligheten den övertygande funktionen. Du kan lämna nyckelfoben i fickan och aldrig oroa dig för att ha en fysisk nyckel. Det låter bra.

det implicita antagandet du gör är att nyckelfob-systemet är säkert, och att någon slumpmässig person med $50 hårdvara inte kan köra av med din bil. Du har inget riktigt sätt att berätta om bilföretaget gjorde ett rimligt jobb med sitt system, så du måste lita på dem. Tyvärr är det förtroendet inte alltid motiverat. Och det är inte förrän folk försöker hacka dessa system som problemen kommer ut. Problem som mindre noggranna människor kanske redan har utnyttjat.

din bils nyckelfob

det finns många olika nyckelfob-system. Vi börjar med att titta på nyckelfob för min 2006 Prius. Key fobs använder något som kallas ett Remote Keyless System (RKS). I USA fungerar dessa vid 315 MHz, + / – 2,5 MHz. Min Prius-nyckel visade sig vara 312.590 MHz.Keyfobs är alla listade i FCC-databasen. Att titta på nya poster är ett av de sätt som människor kan berätta när nya bilmodeller kommer ut. Dessa kommer att visas långt före det officiella tillkännagivandet.

du kan ta reda på vilken frekvens din nyckelfob sänder på med din SDR och använda GQRX eller SDR# för att övervaka spektrumet. När du trycker på en knapp på fob bör du se ett kort hopp i spektrumet. Du kan behöva flytta frekvensbandet upp eller ner med ett par MHz för att hitta signalen, min var nästan 2,5 MHz låg.

ett varningens ord. Bli inte för borttagen genom att trycka på knappen! RKS-systemet använder en rullande pseudo-slumpmässigt genererad kod. Både nyckelfoben och bilen synkroniseras så att bilen känner igen nästa kod. Men om nyckelfoben blir för långt framåt i sekvensen (100s knapptryckningar) kommer bilen inte att känna igen den. Det gör nyckeln (och bilen) betydligt mindre användbar!

om vi fångar signalen visas resultatet nedan

den totala bredden på tomten är 10 sekunder, så du kan se att det finns en knapptryckning strax efter 2 sekunder och en annan kort efter 5 sekunder.

om vi plottar 100 ms från och med 2 sekunder kan vi se den digitala signalen vi letar efter:

zooma in till de första bitarna, vi får

bitarna är lätta att identifiera. En beslutsgräns på 15 ger nästan perfekt upptäckt. Om vi gör detta, och sedan rita första delen av den digitala data för de två knapptryckningar, vi får detta

även om de två börjar samma, avviker de snabbt. Det här är lyckligt, för om signalen var densamma varje gång, skulle du ha tillräckligt med information för att stjäla min bil nu!

data är igen on-off keying (OOK). Det är också nästan säkert delad fas (eller Manchester) kodning. Istället för att en ”1” är hög och en ” 0 ” är låg, kodar informationen i övergången från hög till låg eller låg till hög. Det betyder att en” 0 ”bit är en stigande övergång, och en” 1 ” bit är en fallande övergång. Ett bra sätt att känna igen split phase-kodning är att du bara kan ha ett eller två låga eller höga segment i rad. Det fina med Manchester kodning är att varje symbol har en övergång, och dessa är lättare att hitta då när signalen har varit hög eller låg under flera intervall.

detta exempel är OOK, som är den vanligaste för bil Fjärrkontroller. Vissa använder frequency-shift keying (FSK), där varje bit överförs som en annan frekvens, och kuvertet är konstant.

attacker på Bilfjärrkontroller

det finns många olika attacker som kan användas mot bilfjärrkontroller, beroende på hur de fungerar och vilken typ av åtkomst du letar efter. Det enklaste låter dig bara öppna bilen. Mer grundliga attacker ger dig fullständig kontroll genom att i princip klona fjärrkontrollen.

de flesta nyckelbrickor använder en rullande nyckel. Detta ger en ny vågform som beror på NYCKELFOBENS ID, ett slumpmässigt frö och hur många gånger nyckeln har tryckts in. Bilen håller reda på den sista koden den fick och vet vad de kommande hundra koderna kan vara. Om den upptäcker en av de förväntade framtida koderna öppnar den bilen. Om den får en tidigare använd kod slutar den att svara på nyckelfob. För Prius måste du göra” kycklingdansen ” för att få den att fungera igen, förutsatt att du har en annan fungerande nyckelfob. Annars måste du ha återförsäljaren nyckel bilen, för många hundra dollar. Jag har varit tvungen att göra detta ett par gånger, nu (av andra skäl).

det finns flera attacklinjer. Man spelar helt enkelt in nyckelfobutgången för ett par knapptryckningar när den är borta från bilen, eller bilen fastnar. Med inspelade oanvända koder kan du öppna bilen.

en annan är att omvända rks-sekvensen. I allmänhet bör detta vara extremt svårt. Det har dock varit flera situationer där detta är väldigt enkelt.

slutligen finns det bilar som öppnas när ägaren kommer nära bilen. Detta är baserat på en låg effektsignal som endast kan tas emot när nyckelfoben är mycket nära. Detta kan besegras genom att förstärka dessa små signaler.

det finns många fler attacker, och dessa kommer att fortsätta att multiplicera när bilar blir mer komplexa och har fler inbyggda datorsystem att gå efter. Du kan titta på några av dessa för nästa vecka.

Replay-attacker

det äldsta och enklaste sättet var att spela in vågformen som en nyckelfob sätter ut (med din rtl-sdr) och sedan spela upp den. Detta fungerar bra för äldre garageportöppnare, som använde en enda fast nyckel. Det finns fortfarande bilar där ute som har nyckelfob som fungerar på detta sätt (vissa pre-2000 Mercedes till exempel).

för nyckelbrickor som använder en rullande nyckel, du kan fortfarande använda en replay attack. Om du kan få tillgång till nyckelbrickan när den är borta från bilen och spela in flera tangenttryckningar kan du spela upp dessa för att få bilen öppen.

om du inte kan få tillgång till nyckelfob är ett andra tillvägagångssätt att skapa en enhet som registrerar nyckelfobens utgång när den används och samtidigt fastnar bilen. Ett vanligt sätt att göra detta är att lyssna på nyckelfob-överföringen och börja sedan fastna när felkorrigeringsbitarna överförs i slutet. På så sätt fastnar du inte själv. Bilen känner inte igen paketet, men du kan återskapa felkorrigeringsbitarna och överföra vågformen senare.

slutligen kommer en jammer i sig att hålla fjärrkontrollen från början kunna låsa bilen. Om föraren inte är uppmärksam kan de gå bort från bilen och lämna den öppen.

Återutsändningsenheter

allt detta beror på din förmåga att både sända och ta emot RF. Dina rtl-sdr är bara mottagare och gör ett bra jobb med att skaffa signaler. Det finns många alternativ för överföring. Det finns ett antal usb-donglar som är baserade på TI CC111X-chips som används i nyckelfob, som den här

ett intressant, mer flexibelt tillvägagångssätt använder din Raspberry PI för att generera RF genom att skicka en noggrant utformad datasekvens till GPIO-porten. Detta beskrivs i detalj, Med videor och länkar till koden här:

Raspberry PI transmitter

med detta kan du generera ganska mycket vilken digital paketvågform du vill. Effektnivåerna är mer än tillräckliga för att emulera en nyckelfob. Rtl-sdr: erna stöds också bra på Raspberry PI, så de två tillsammans ger dig ett totalt key fob-hackningssystem för $50 eller så, som vi kommer att se inom kort.

Attacking Passive Keyless Entry and Start (PKES) system

många avancerade bilar använder ett passivt system för att öppna bilen när föraren närmar sig. En låg effektsignal överförs från bilen som en utmaning. Nyckelfoben svarar sedan med en autentisering. Eftersom kraften är så låg antar bilen att föraren måste vara i närheten om den får ett svar.

dessa system kan hackas genom att bygga en repeater som placeras nära bilen. Den fångar bilens signal och sänder den igen med högre effekt. Fjärrkontrollen kan vara var som helst med i ett par hundra meter, och det kommer fortfarande att höra signalen. Fjärrkontrollen svarar, och det fångas igen av repeatern och överförs igen. Bilen tror att nyckelfoben är i närheten och öppnar bilen.

det fina med detta tillvägagångssätt är att du inte behöver veta något om nyckelfoben, förutom dess frekvens. Du behöver inte omvända protokollet som det använder, du använder faktiskt bara den riktiga nyckeln!

här är en video av några vårdtjuvar som stjäl en Tesla med detta tillvägagångssätt

passiv Fjärrattack, Tesla Model 3

Hur kan du minska denna risk?

Attacking the Rolling Key System

nästa attacker går efter själva rolling key-systemet. Det sätt som detta i allmänhet fungerar är att nyckelfob skickar ett ID, tillsammans med en räknare av hur många gånger en tangent har tryckts. Detta krypteras och överförs till bilen när du trycker på knappen.

om krypteringen är stark är det extremt svårt att ta reda på vad användar-ID och räknare är. Det finns flera intressanta fall. En är för 20 år av VWS (och Audi, Porsche, etc), som vi ska titta på här. En annan är för Subarus, som du kan titta på för ditt uppdrag den här veckan.

en beskrivning av VW RKS systemet ges här

VW Hack

detta pekar på en trådbunden artikel (som Tyvärr för närvarande bakom en betalvägg), och innehåller en teknisk papper som går in i detalj om hur det fungerar. Författarna till det tekniska papperet tittade på VW RKS-systemen under de senaste 20 åren.

för de senaste systemen var krypteringen relativt stark, vilket motsvarar en 90-bitars nyckel. Det visar sig dock att de använde samma nyckel i varje bil! 100 miljoner av dem!

utmaningen är då att ta reda på vad nyckeln är och vad krypteringsalgoritmen är. Bilen själv hjälper dig att lösa den. När knappen trycks in tar bilen emot signalen och avkodar den sedan i inbyggd dator (ECU). Nyckeln och algoritmen lagras i ECU-firmware. Författarna köpte några ECU på EBay, laddade ner firmware och omvandlade krypteringen (det är vanligtvis ganska enkla bitvis operationer som är lätta att identifiera). Med denna kunskap, efter att ha förvärvat signalen från en enda knapptryckning, kan användar-ID och räknare avkodas och nyckelfoben klonas, vilket ger fullständig kontroll över bilen.

det finns ett par intressanta saker här. En är att varje VW-bil avkodar varje nyckelfob, så genom att övervaka utförandet av din ECU kan du hitta användar-ID och räknare för alla bilar runt dig. Det finns rapporter om personer som använder system som detta för att stjäla andra bilmärken också.

anledningen till att din bil bara svarar på din fjärrkontroll är att din bil har en ”Tillåt lista” över nyckelfob-ID som den svarar på. Det är vad som ställs in när du rekey bilen.

allt detta låter ganska alarmerande. Men det blir värre, som vi får se nästa vecka.

uppdrag

du har flera alternativ för din uppgift den här veckan. För varje ämne, generera cirka 5 bilder för att beskriva dina tankar eller resultat. Registrera dig här

registreringsblad

och ladda upp dina bilder här:

Vecka 5 bilder

1. Denna artikel gäller Subaru RKS-systemet. Läs det, titta på videorna och beskriv vad du hittar.

Subaru RKS

2. Har du någonsin undrat hur dessa Hotellnyckelkort fungerar? Den här artikeln beskriver ett icke-RF-hack som utnyttjar samma ideer som key fob-attackerna.

Hotell Nyckelkort

3. Varför stjäla en bil när du kan ha en bulldozer! Läs den här artikeln och titta på videon för att se hur det fungerar.

Hacking Industriella Maskiner

4. Det finns många andra bilhackar där ute. Se om du kan hitta något intressant och beskriv det. Leta efter berättelser där du kan ta reda på hur det fungerar. Underhållningssystem är ett vanligt åtkomstläge (kontrollera Uconnect-hacket för Jeeps). Tesla och hackare har en lång kör katt-och-mus spel går. Det finns många intressanta exempel här

5. Om du har en Raspberry Pi, se om du kan få den att sända en signal. Detta borde vara ganska enkelt. Använd länken ovan. Jag skickar dig en Raspberry Pi om du vill prova detta.

slutligen, om du inte redan har, Skicka mig ett mail om hur klassen går för dig. Jag uppskattar att höra dina tankar. Tackar!

sidan genereras 2021-02-10 22: 57: 00 PST, av jemdoc.

Lämna ett svar

Din e-postadress kommer inte publiceras.