Opgave 5: biler og nøglefob

oversigt

næsten alle biler leveres i øjeblikket med en nøglefob, som giver dig mulighed for at åbne dørene og starte bilen. Når du køber en bil, er bekvemmeligheden den overbevisende funktion. Du kan efterlade nøglefob i lommen og aldrig mere bekymre dig om at have en fysisk nøgle. Det lyder godt.

den implicitte antagelse, du laver, er, at nøglefob-systemet er sikkert, og at en tilfældig person med $50 af udstyr ikke kan køre med din bil. Du har ingen reel måde at fortælle, om bilfirmaet gjorde et rimeligt stykke arbejde med deres system, så du er nødt til at stole på dem. Desværre er denne tillid ikke altid berettiget. Og det er ikke før folk forsøger at hacke disse systemer, at problemerne kommer ud. Problemer, som mindre omhyggelige mennesker måske allerede har udnyttet.

din bils nøglefob

der er mange forskellige nøglefob-systemer. Vi starter med at se på nøglefob for min 2006 Prius. Key fobs bruger noget, der hedder et Remote Keyless System (RKS). I USA opererer disse på 315 MHG, +/- 2,5 MHG. Min Prius nøgle viste sig at være på 312.590 MHG.Keyfobs er alle opført i FCC-databasen. At se efter nye poster er en af måderne folk kan fortælle, hvornår nye bilmodeller kommer ud. Disse vises længe før den officielle meddelelse.

du kan finde ud af, hvilken frekvens din nøglefob sender ved hjælp af din SDR og bruge SDR# til at overvåge spektret. Når du trykker på en knap på fob, skal du se et kort spring i spektret. Det kan være nødvendigt at skifte frekvensbåndet op eller ned med et par MHS for at finde signalet, min var næsten 2,5 MHS lav.

et ord af forsigtighed. Bliv ikke for båret væk ved at trykke på knappen! RKS-systemet bruger en rullende pseudo – tilfældigt genereret kode. Både nøglefob og bil holder synkroniseret, så bilen genkender den næste kode. Men hvis nøglefobet kommer for langt frem i sekvensen (100 ‘ erne af knaptryk), vil bilen ikke genkende det. Det gør nøglen (og bilen) betydeligt mindre nyttig!

hvis vi fanger signalet, vises resultatet nedenfor

den samlede bredde af plottet er 10 sekunder, så du kan se, at der er et tastetryk kort efter 2 sekunder, og en anden kort efter 5 sekunder.

hvis vi plotter 100 ms fra 2 sekunder, kan vi se det digitale signal, vi leder efter:

når vi går ind i de første par bits, får vi

bitene er lette at identificere. En beslutningstærskel på 15 vil give næsten perfekt detektion. Hvis vi gør dette, og derefter plotte første del af de digitale data for de to tastetryk, vi får dette

selvom de to starter det samme, afviger de hurtigt. Dette er heldigt, for hvis signalet var det samme hver gang, ville du have nok information til at stjæle min bil nu!

dataene er igen on-off keying (OOK). Det er også næsten helt sikkert split fase (eller Manchester) kodning. I stedet for at en “1” er høj, og en “0” er lav, koder informationen i overgangen fra høj til lav eller lav til høj. Det betyder, at en “0” bit er en stigende overgang, og en ” 1 ” bit er en faldende overgang. En god måde at genkende splitfasekodning på er, at du kun kan have et eller to lave eller høje segmenter i træk. Det gode ved Manchester-kodning er, at hvert symbol har en overgang, og disse er lettere at finde, når signalet har været højt eller lavt i flere intervaller.

dette eksempel er OOK, som er den mest almindelige for bil Fjernbetjeninger. Nogle bruger frekvens-shift keying (FSK), hvor hver bit transmitteres som en anden frekvens, og konvolutten er konstant.

angreb på bil Fjernbetjeninger

der er mange forskellige angreb, der kan bruges mod bil Fjernbetjeninger, afhængigt af hvordan de fungerer, og hvilken slags adgang du leder efter. Den enkleste lader dig bare åbne bilen op. Mere grundige angreb giver dig fuld kontrol ved grundlæggende at klone fjernbetjeningen.

de fleste nøglefob bruger en rullende nøgle. Dette producerer en ny bølgeform, der afhænger af nøglefobens ID, et tilfældigt frø, og hvor mange gange der er trykket på tasten. Bilen holder styr på den sidste kode, den modtog, og ved, hvad de næste flere hundrede koder kan være. Hvis den registrerer en af de forventede fremtidige koder, åbner den bilen. Hvis den får en tidligere brugt kode, holder den op med at svare på nøglefob. For Prius skal du lave “Kyllingedansen” for at få den til at fungere igen, forudsat at du har en anden fungerende nøglefob. Ellers skal du have forhandleren rekey bilen, for mange hundrede dollars. Jeg har været nødt til at gøre dette et par gange nu (af andre grunde).

der er flere angrebslinjer. Den ene optager simpelthen nøglefob-udgangen til et par knaptryk, når den er væk fra bilen, eller bilen sidder fast. Med optagede ubrugte koder kan du åbne bilen.

en anden er at reverse engineering rks sekvens. Generelt bør dette være ekstremt svært. Der har dog været flere situationer, hvor dette er meget let.

endelig er der biler, der åbnes, når ejeren kommer tæt på bilen. Dette er baseret på et lavt strømsignal, der kun kan modtages, når nøglefob er meget tæt. Dette kan besejres ved at forstærke disse små signaler.

der er mange flere angreb, og disse vil fortsætte med at formere sig, efterhånden som biler bliver mere komplekse og har mere indlejrede computersystemer at gå efter. Du kan se på nogle af disse til næste uge.

Replay angreb

den ældste og enkleste tilgang var at optage bølgeformen, som en nøglefob lægger ud (ved hjælp af din rtl-sdr), og derefter afspille den. Dette fungerer godt for ældre garageportåbnere, der brugte en enkelt fast nøgle. Der er stadig biler derude, der har nøglefobs, der fungerer på denne måde (nogle før 2000 Mercedes for eksempel).

for nøglefob, der bruger en rullende nøgle, kan du stadig bruge et replay-angreb. Hvis du kan få adgang til nøglefob, når den er væk fra bilen og optage flere tastetryk, kan du afspille disse for at få bilen åben.

hvis du ikke kan få adgang til nøglefob, er en anden tilgang at lave en enhed, der registrerer output fra nøglefob, når den bruges, og samtidig syltetøj bilen. En standard måde at gøre dette på er at lytte til nøglefob-transmissionen og derefter starte fastklemning, når fejlkorrektionsbitene overføres i slutningen. På den måde stopper du ikke dig selv. Bilen genkender ikke pakken, men du kan genskabe fejlkorrektionsbitene og videresende bølgeformen senere.

endelig vil en jammer i sig selv holde fjernbetjeningen fra starten i stand til at låse bilen. Hvis chaufføren ikke er opmærksom, kan de gå væk fra bilen og lade den være åben.

Retransmissionsenheder

alt dette afhænger af din evne til både at sende og modtage RF. Dine rtl-sdr ‘ er er bare modtagere, og gør et godt stykke arbejde med at erhverve signaler. Der er mange muligheder for transmission. Der er en række usb-dongler, der er baseret på ti CC111-chips, der bruges i nøglefobs, som denne

en interessant, mere fleksibel tilgang bruger din Raspberry PI til at generere RF ved at sende en omhyggeligt udformet datasekvens til GPIO-porten. Dette er beskrevet detaljeret, med videoer, og links til koden her:

Raspberry PI transmitter

med dette kan du generere stort set enhver digital pakkebølgeform, du gerne vil have. Effektniveauer er mere end tilstrækkelige til at efterligne en nøglefob. Rtl-sdr ‘ erne understøttes også godt på Raspberry PI, så de to sammen giver dig et samlet nøglefob-hackingssystem til $50 eller deromkring, som vi snart vil se.

Attacking Passive Keyless Entry and Start (Pkes) systemer

mange højere ende biler bruger et passivt system til at åbne bilen, når føreren nærmer sig. Et lavt strømsignal overføres fra bilen som en udfordring. Nøglefob reagerer derefter med en godkendelse. Fordi strømmen er så lav, antager bilen, at føreren skal være i nærheden, hvis den modtager et svar.

disse systemer kan hackes ved at bygge en repeater, der placeres i nærheden af bilen. Det fanger bilens signal og videresender det ved højere effekt. Fjernbetjeningen kan være hvor som helst med i et par hundrede meter, og det vil stadig høre signalet. Fjernbetjeningen reagerer, og det bliver igen fanget af repeateren og videresendt. Bilen mener, at nøglefob er i nærheden og åbner bilen.

det gode ved denne tilgang er, at du ikke behøver at vide noget om nøglefob, undtagen dens frekvens. Du behøver ikke at reverse engineering protokollen det bruger, er du faktisk bare ved hjælp af den rigtige nøgle!

her er en video af nogle pleje tyve stjæle en Tesla med denne tilgang

passiv fjernbetjening angreb, Tesla Model 3

Hvordan kan du reducere denne risiko?

angreb på Rolling Key-systemet

de næste angreb går efter selve rolling key-systemet. Den måde, dette generelt fungerer på, er, at nøglefob sender et ID sammen med en tæller for, hvor mange gange der er trykket på en tast. Dette er krypteret, og overføres til bilen, når du trykker på knappen.

hvis krypteringen er stærk, er det ekstremt svært at finde ud af, hvad userid og counter er. Der er flere interessante tilfælde. Den ene er for de 20 år af VV ‘er (og Audi’ s, Porsche ‘ s osv.), som vi vil se på her. En anden er for Subarus, som du kan se på for din opgave i denne uge.

en beskrivelse af RKS-systemet er givet her

Hack

Dette peger på en kablet artikel (som desværre i øjeblikket ligger bag en betalingsvæg) og inkluderer et teknisk papir, der går i detaljer om, hvordan det fungerer. Forfatterne af det tekniske papir kiggede på VV rks-systemerne i de sidste 20 år.

for de seneste systemer var krypteringen relativt stærk, svarende til en 90 bit nøgle. Det viser sig dog, at de brugte den samme nøgle i hver bil! 100 millioner af dem!

udfordringen er så at finde ud af, hvad nøglen er, og hvad krypteringsalgoritmen er. Bilen selv hjælper dig med at løse den ene. Når knappen trykkes bilen modtager signalet, og derefter afkoder det i den indbyggede computer (ECU). Nøglen og algoritmen gemmes i ECU-programmet. Forfatterne købte nogle ECU ‘ er på EBay, hentede firmaet og konverterede krypteringen (disse er normalt ret enkle bitvise operationer, der er lette at identificere). Med denne viden, efter at have erhvervet signalet fra et enkelt tastetryk, kan Bruger-ID og tæller afkodes, og nøglefob klonet, hvilket giver fuld kontrol over bilen.

der er et par interessante ting her. Den ene er, at hver VV-bil afkoder hver nøglefob, så ved at overvåge udførelsen af din ECU kan du finde Bruger-ID og tæller for alle bilerne omkring dig. Der er rapporter om mennesker, der bruger systemer som dette til at stjæle andre mærker af biler, også.

årsagen til, at kun din bil reagerer på din fjernbetjening, er, at din bil har en “Tillad liste” over nøglefob-ID ‘ er, den reagerer på. Det er det, der bliver sat, når du rekey bilen.

alt dette lyder ret alarmerende. Men det bliver værre, som vi ser i næste uge.

opgave

du har flere muligheder for din opgave i denne uge. For hvert emne skal du generere omkring 5 dias for at beskrive dine tanker eller resultater. Tilmeld dig her

tilmeldingsark

og upload dine slides her:

uge 5 Slides

1. Denne artikel vedrører Subaru RKS-systemet. Læs det, se videoerne, og beskriv hvad du finder.

Subaru RKS

2. Har du nogensinde spekuleret på, hvordan disse hotelnøglekort fungerer? Denne artikel beskriver et ikke-RF-hack, der udnytter de samme ideer som nøglefob-angrebene.

Hotel Nøglekort

3. Hvorfor stjæle en bil, når du kan få en bulldoos! Læs denne artikel, og se videoen, for at se, hvordan dette fungerer.

Hacking Industrielle Maskiner

4. Der er masser af andre bil hacks derude. Se om du kan finde noget interessant, og beskriv det. Se efter historier, hvor du kan finde ud af, hvordan det fungerer. Underholdningssystemer er en fælles tilstand af adgang (tjek Uconnect hack for Jeeps). Tesla og hackere har et langt løbende kat-og-mus-spil i gang. Der er mange interessante eksempler her

5. Hvis du har en Raspberry Pi, se om du kan få den til at sende et signal. Dette skal være ret ligetil. Brug linket ovenfor. Jeg sender dig en Raspberry Pi, hvis du gerne vil prøve dette.

endelig, hvis du ikke allerede har, så send mig en mail om, hvordan klassen går for dig. Jeg sætter pris på at høre dine tanker. Tak!

side genereret 2021-02-10 22: 57: 00 PST, af jemdoc.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.