Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Povzetek govora:

Za mnoge od nas je avto eden najdražjih nakupov, ki jih bomo kdajkoli opravili. V svetu, kjer je vse povezano, je naravno, da želimo svoj avto upravljati na daljavo: prejemati opomnike o tem, kje smo ga parkirali, preveriti, ali smo pozabili zakleniti vrata, ali na daljavo zagnati motor, da predgrejemo ali ohladimo notranjost odvisno od letnega časa.

Obstaja veliko proizvajalcev, ki ponujajo dodatne alarmne sisteme, ki zagotavljajo to udobje in brezskrbnost. Toda koliko lahko zaupamo ponudnikom teh sistemov, da bodo zaščitili dostop do naših avtomobilov v digitalni domeni? V tem govoru bo Jmaxxz govoril o tem, kaj je odkril, ko je preučil enega od teh sistemov.

Jmaxxz je znan po svojem delu s sistemi pametnega doma August Smart Lock (predstavitev na DEFCON 24 “Backdooring The Frontdoor”). V zadnjih letih se je osredotočil na naprave IoT. Sodeloval je v sekcijah “IoT village zero day” DEFCON 24 in DEFCON 25 in se končno odločil, da je čas, da razišče produkt sekundarnega avtomobilskega trga – daljinski zaganjalnik (v nadaljevanju RS).

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Torej, ime mi je J-Max, po poklicu sem programer in po poklicu heker. Ukvarjam se z vsem, kar je povezano s ključavnicami, in v tem pogovoru boste slišali veliko izjav, ki izražajo izključno moje mnenje in nimajo nobene zveze z mnenji mojih preteklih, sedanjih in bodočih delodajalcev. Kot ste verjetno razumeli, bomo govorili o avtomobilih, in sicer o daljinskih zaganjalnikih in alarmnih sistemih. Začnimo z ozadjem, ki je v tem kontekstu pomembno, saj se mnogim takšni sistemi zdijo nepotreben luksuz.
Torej, kjer živim, je precej hladno in moj prijatelj trpi za stanjem, imenovanim Raynaudov sindrom. Mraz povzroči krč krvnih žil v rokah, pretok krvi v prste se močno zmanjša, pojavijo se znaki ozeblin, vključno z nekrozo tkiv. Diapozitiv prikazuje, kako običajno izgleda.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Lani novembra se še nisem odločil, kaj ji bom podaril za božič. Tako se z letališča vrne domov razburjena, ker se njen avto na poti domov ni nikoli ogrel. V tistem trenutku sem ugotovil, da bi ji dal sistem za daljinski zagon motorja in začel iskati najboljšo možnost. Izkazalo se je, da je trg daljinskega zaganjalnika precej velik, saj številni proizvajalci ne zagotavljajo dovolj informacij o svojem izdelku.

Ne povedo vam, kako namestiti sistem ali katera orodja uporabiti za programiranje naprave. To je zame problem, ker je to moj avto, moj daljinski zagon in moram imeti dostop do teh orodij. Zato sem še malo iskal in našel podjetje iz Kanade Fortin, ki proizvaja takšne starterje in rade volje priskrbi vso potrebno dokumentacijo. Odločil sem se za ta izdelek in začel iskati primeren daljinski upravljalnik. Dejstvo je, da če uporabljate standardni daljinski upravljalnik z daljinskim zaganjalnikom, bo njegov obseg delovanja omejen na obseg standardnega daljinskega upravljalnika. Na voljo so poprodajni daljinski upravljalniki, ki delujejo v območju od pol milje do ene milje in pol. Glede na ocene potrošnikov je to reklamni trik, saj je v resnici razdalja veliko krajša. To je problem, ker mora moja prijateljica zagnati motor svojega avtomobila na letališkem parkirišču takoj, ko izstopi iz letala, kar je približno pol milje.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Zato bi bilo super, če bi lahko samo izvlekla telefon, odprla aplikacijo in pritisnila Start. Našel sem izdelek tretje osebe z imenom MyCar, ki je popolnoma združljiv z zaganjalnikom Fortin. To je majhen obesek za ključe s kartico SIM in sprejemnikom GPS, ki ga lahko vstavite v avto in ga povežete z daljinskim zaganjalnikom. Nato lahko z mobilno aplikacijo na daljavo zaženete motor, odklenete ključavnice in podobno.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Mislil sem, da bi bilo super: takoj po pristanku letala lahko prijateljica zažene motor in ko pride do avta, bo kabina že topla.

Pogovorimo se torej o tem, kako delujejo daljinski zaganjalniki. Če želite to narediti, morate najprej razumeti, kako se avtomobilski motor zažene. Približno do sredine devetdesetih je bil avtomobilski zaganjalnik tradicionalna mehanska ključavnica v kombinaciji ključ-stikalo. Za dokončanje električnega kroga ste morali vstaviti ključ in ga obrniti. Nato so ključavnice z oznako "imobilizator" postale priljubljene v Združenih državah. Sliši se zapleteno, a gre le za elektronsko ključavnico. Torej imate mehansko ključavnico, ki je ključ do elektronske ključavnice, ta pa je transponder in vsebuje nekaj informacij, ki jih je mogoče prebrati. In dokler ne odprete elektronske ključavnice, vaš avto ne bo vžgal. Na desni strani drsnika vidite 2 ključa: levi je za imobilizator, desni pa za običajno stikalo za vžig. Preprosto upravlja mehanske komponente ključavnice, levi ključ pa odklene elektronsko ključavnico, ki bo zagnala motor avtomobila.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Zakaj ti govorim o tem? Daljinski zagon deluje prek imobilizatorja. Na naslednjem diapozitivu vidite diagram povezave naprave Fortin EVO One z imobilizatorjem - spodaj levo vidite par kontaktov, označenih kot IMO. V zgornjem desnem kotu diagrama vidite dve vrstici: CAN LOW in CAN HIGH. To so kontakti za povezavo z avtomobilskim vodilom CAN. Razlog, zakaj so daljinski zaganjalniki priključeni na vodilo CAN, je zmanjšanje stroškov namestitve, ker se med namestitvijo uporablja manj priključkov. Če lahko daljinski zaganjalnik bere podatke iz vodila CAN ali pošilja ukaze prek vodila CAN, to skrajša čas namestitve sistema za daljinski zagon motorja.

V zgornjem levem delu diagrama je cel kup GPIO-jev, ki so povezani z nadzorom ali branjem informacij o stroju. Na primer, želite, da luči utripajo ali da se oglasi hupa, ko pritisnete gumb za zaklepanje. Takšne stvari je mogoče nadzorovati s temi GPIO. V spodnjem levem delu diagrama lahko vidite velik, okoren priključek - to je vmesnik, ki obide mehansko ključavnico. To pomeni, da vam ni treba vstaviti in obrniti ključa v ključavnico za vžig, ker ta vmesnik omogoča, da rele sistema za daljinski zagon neposredno komunicira z električno ključavnico.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Naslednji diapozitivi prikazujejo faze namestitve daljinskega zaganjalnika. Sestoji predvsem iz odstranitve pokrova volanskega droga, namestitve in priključitve enote DS. Videti je precej strašljivo, vendar je enostavno narediti.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Sami daljinski upravljalniki se povežejo s tem, kar Fortin imenuje podatkovna povezava. Sistem uporablja lastniški protokol fizičnega prenosa podatkov UART – univerzalni asinhroni oddajnik, ki izmenjuje podatke s hitrostjo 9600 baud. Daljinski zaganjalnik Fortin se preprosto poveže prek vodila UART z dvema daljinskima upravljalnikoma, ki ju vidite na diapozitivu.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Ko sem namestil DS, sem pomislil, kako bi lahko takšne naprave vplivale na varnost avtomobila. Očitno mora DS zaobiti imobilizator, kako varno je torej glede možnosti kraje ali prestrezanja nadzora nad avtomobilom? To ne velja le za prenos podatkov po mobilnem omrežju, ampak tudi za sam signal za oddaljeni zagon. Tako sem na internetu začel iskati podatke proizvajalca o uporabljenem protokolu za prenos podatkov in končal na forumih, kjer so ljudje pisali, da Fortin ni želel zagotoviti tega protokola. Eden od razlogov: »Takšnih informacij ne distribuiramo, ker EVO ni igrača za amaterje, ampak je namenjena profesionalcem.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Ker sem nekakšen profesionalec, sem se odločil zgraditi svoj stroj na namizju. V roke sem dobil drugo sistemsko enoto EVO, sestavil vezje, ki je predstavljalo avto, dodal stikala za simulacijo vžiga, gumb za zavorni pedal in cel kup LED diod za prikaz različnih stanj.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Če sem vse to sestavil, sem povezal napravo za spremljanje podatkovne povezave FTI in začel zbirati te podatke. Sprva je videti kot diapozitiv in ni povsem jasno, kaj se tukaj dogaja. Toda če pogledate natančno, lahko rečete, da tukaj zagotovo obstaja nekakšna struktura.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Upoštevajte, da se vedno, ko pritisnem gumb na daljinskem upravljalniku, sporočilo, ki ga antena pošlje mojemu DS, začne z 0C in konča z 0D. Torej, če samo razdelimo, kar dobimo, ob predpostavki, da je 0C začetek in 0D konec, bomo na koncu dobili nekaj takega.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Tukaj je že jasno vidna nekakšna struktura, tako da lahko ugotovite, kaj se dogaja. S tem, ko sem porabil čas za spremljanje sporočila, ki se je pojavilo po pritisku določenega gumba, sem lahko ustvaril tabelo ukazov, od katerih je vsak ustrezal določenemu dejanju. To pomeni, da ko pritisnete gumb na daljinskem upravljalniku, antena pošlje ukaz modulu za daljinski zagon, ki izgleda takole.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Tako izgleda tipična struktura ekipe.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Ko pritisnete gumb na daljinskem upravljalniku, antena pošlje tak ukaz na daljinski zaganjalnik. Prebudi ga bajt 0C, ki mu sledita 2 bajta, za katera mislim, da predstavljata smer prenosa. To je zanimivo, ker ima UART že smer signala, zato sem te bajte označil kot "smeti", le obravnavajte jih kot konstanto. Temu sledi en sam bajt, ki označuje ukaz, ki bi ga uporabnik želel izvesti. To je lahko zaklepanje ali odpiranje vrat, izklop alarma itd. Na splošno je vse, kar želite narediti na daljavo, povezano s tem ukazom. Koristni tovor FF FF F1 je naslov ali identifikator, ki identificira oddaljeno anteno, s katere je prišlo sporočilo. Če enota DS ne prepozna identifikatorja, se ukaz prezre. Če DS sprejme identifikator, se začne večstopenjski postopek, ki vključuje preverjanje prisotnosti ključa v kontaktu, vklop ali ugasnitev motorja, pritisk na zavorni pedal itd. Pravzaprav ta proces nima velikega pomena, le naprava se v tem trenutku uči ID-ja.

Na koncu sporočila je bajt s kontrolno vsoto in bajt, ki označuje konec ukaza. Zdaj, ko razumemo, kako protokol deluje, kaj lahko storimo glede tega? Imam nekaj videov na to temo. Na žalost je video iz neznanega razloga brez zvoka, zato vam bom povedal, kaj se dogaja na zaslonu. Levo od volanskega droga na ohišju instrumentne plošče je bela škatla, ki vsebuje elektroniko z vdelano programsko opremo Particle.IO, ki razume protokol Fortin. Žica z modro konico je antena. Ta stvar mi omogoča interakcijo z enoto za daljinski zagon iz notranjosti avtomobila in vidim, kaj se dogaja na zaslonu prenosnika.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Torej pošljem ukaz lock unlock na avto pa ne deluje, ker DS ne ve za to anteno. Kot sem že omenil, je to samo UART, katerega lastnost je podpirati tako imenovano dvosmerno komunikacijo, zahvaljujoč kateri lahko na daljavo pridobite informacije o stanju avtomobila. Na primer, če je bil motor fizično zagnan ali ustavljen, bo enota DS poslala ustrezno sporočilo na anteno daljinskega upravljalnika. V tem primeru bo sporočilo vsebovalo naslov te same antene.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Težava je v tem, da komunikacija poteka s protokolom UART in vsak, ki se poveže z vodilom UART, lahko vidi naslov, na katerega je poslano dano sporočilo, zato ima moja vdelana programska oprema možnost kloniranja naslova obstoječe antene, kar tudi počnem z ustreznim ukazom.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Če želite ustvariti sporočilo, morate samo odpreti vrata avtomobila. Kot lahko vidite, DS pošlje anteni sporočilo, da so bila vrata odprta, in alarm se takoj vklopi.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Za izklop alarma pošljem ukaz “unlock”, po katerem se zvok alarma izklopi in avto se odklene. Verjeti mi boste morali na besedo, saj tega videa nismo mogli predvajati z zvokom. Poskusimo znova predvajati video.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

No, zvok se je pojavil (opomba prevajalca: na zaslonu se predvaja isti video z zvokom). Torej, videli ste, kako sem poslal ukaz DS in vklopil alarm, vse brez ključa. Zdaj poskusimo zagnati avto na enak način; oglejte si naslednji video.

Običajno, če samo vtipkate "start" in poskusite zagnati motor, ne bo delovalo. Razlog je v tem, da je to avto z ročnim menjalnikom in imajo sistemi za daljinski zagon poseben postopek za take avtomobile. V tem primeru morate pritisniti gumb za daljinski zagon, medtem ko je ključ v kontaktu in motor teče. Nato lahko izvlečete ključ, izstopite iz avtomobila, zaprete vrata, nakar bo DS ugasnil motor in zaklenil vrata. To je narejeno zato, da se avto ne bi odzval na daljinski zagon motorja med vožnjo, ker je to nevarno. Vendar to ni popolna varnostna funkcija. To je zelo enostavno dokazati s pogledom na enoto za daljinski zagon EVO. Vidite to rumeno zanko, ki je zasnovana za delo z ročnim menjalnikom. Če je prerezan, se ta blok lahko uporablja za avto z avtomatskim menjalnikom. Ta zasnova enote vam omogoča, da pri namestitvi DS v avtomobile z različnimi vrstami menjalnika ne uporabljate posebnih nastavitev.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Torej se sistem ni odzval na ukaz "start", zato bom ta blok postavil nazaj na svoje mesto in samo prerezal to žico, da prekinem povezavo. Zdaj, če ponovite ukaz "start", se oglasi zvočni signal in na instrumentni plošči zasvetijo indikatorji stanja sistemov avtomobila, kot se zgodi, ko vstavite ključ v ključavnico.

Konferenca DEFCON 27. Tvoj avto je moj avto. 1. del

Trenutno imamo avto, ki ga lahko zaženemo na daljavo brez ključa v kontaktu, vendar modul DS ni vse, kar potrebujemo. V normalnih okoliščinah se še vedno ne boste mogli odpeljati z daljinsko zagnanim avtomobilom, a vseeno poskusimo.

Če želite onemogočiti ključavnico volana, morate v ključavnico za vžig vstaviti navaden ključ, ki nima transponderja. Kot lahko vidite, je dovolj, da ključ premaknete v položaj pred zagonom motorja, in volan Subaru Impreza se začne popolnoma prosto vrteti.

Če pa nimate nobenega ključa, bo avto ob pritisku na zavorni pedal obstal. Tej omejitvi je precej enostavno zaobiti. Ugotoviti morate, kako avto sporoči daljinskemu zaganjalniku, da je zavora aktivirana. Na zadnji strani ohišja modula EVO vidite več večbarvnih vrat - tukaj bo priključen kabel iz vodila CAN. Dovolj je, da po zagonu avtomobila na daljavo preprosto odstranite ta kabel iz enote DS in ta se ne bo odzival na pritisk na zavorni pedal. Ker se ta enota nahaja pod pokrovom volanskega droga, preko prenosnika dam ukaz "start", avto zažene, odprem vrata, izstopim iz avta in odstranim CAN bus konektor iz EVO enote. Kot lahko vidite, motor avtomobila deluje, vendar še vedno nimamo nobenega ključa v kontaktni ključavnici.

Zdaj, če pritisnete na zavorni pedal, se ne bo zgodilo nič, ker EVO ne ve, da je bil pritisnjen. Po tem se lahko usedem za volan, pritisnem na zavoro, premaknem prestavno ročico v položaj "Drive" in avto se začne premikati. Vse to se naredi brez ključa.

21:40

Konferenca DEFCON 27. Tvoj avto je moj avto. 2. del

Predvajaj video

Nekaj ​​oglasov 🙂

Hvala, ker ste ostali z nami. So vam všeč naši članki? Želite videti več zanimivih vsebin? Podprite nas tako, da oddate naročilo ali priporočite prijateljem, oblak VPS za razvijalce od 4.99 $, edinstven analog začetnih strežnikov, ki smo ga izumili za vas: Vsa resnica o VPS (KVM) E5-2697 v3 (6 jeder) 10 GB DDR4 480 GB SSD 1 Gbps od 19 USD ali kako deliti strežnik? (na voljo z RAID1 in RAID10, do 24 jeder in do 40 GB DDR4).

Dell R730xd dvakrat cenejši v podatkovnem centru Equinix Tier IV v Amsterdamu? Samo tukaj 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbps 100 TV od 199 $ na Nizozemskem! Dell R420 - 2x E5-2430 2.2 Ghz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB - od 99 $! Preberite o Kako zgraditi infrastrukturo Corp. razreda z uporabo strežnikov Dell R730xd E5-2650 v4 v vrednosti 9000 evrov za drobiž?

Vir: www.habr.com

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster