Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Briefing fan 'e rede:

Foar in protte fan ús is in auto ien fan 'e djoerste oankeapen dy't wy ea sille meitsje. Yn in wrâld dêr't alles ferbûn is, is it natuerlik om ús auto op ôfstân te kontrolearjen: herinnerings krije oer wêr't wy it parkeare, kontrolearje om te soargjen dat wy fergetten binne de doarren te sluten, of op ôfstân start de motor om it ynterieur foar te ferwaarmjen of te koelen ôfhinklik fan 'e tiid fan it jier.

D'r binne in protte fabrikanten dy't opsjonele alarmsystemen oanbiede dy't dit gemak en frede fan geast leverje. Mar hoefolle kinne wy ​​de oanbieders fan dizze systemen fertrouwe om tagong ta ús auto's yn it digitale domein te beskermjen? Yn dit petear sil Jmaxxz prate oer wat hy ûntduts doe't hy yn ien fan dizze systemen seach.

Jmaxxz is bekend om syn wurk mei August Smart Lock smart home systemen (presintaasje by DEFCON 24 "Backdooring The Frontdoor"). Yn 'e ôfrûne jierren hat syn fokus west op IoT-apparaten. Hy die mei oan 'e seksjes "IoT village zero day" fan DEFCON 24 en DEFCON 25 en besleat úteinlik dat it tiid wie om in produkt fan 'e sekundêre automerk te ferkennen - in starter op ôfstân (hjirnei oantsjutten as RS).

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Dat, myn namme is J-Max, ik bin in programmeur fan berop en in hacker fan berop. Ik bin belutsen by alle dingen slot relatearre, en yn dit petear sille jo in protte útspraken hearre dy't allinich myn mieningen útdrukke en gjin relaasje hawwe mei de mieningen fan myn ferline, hjoeddeistige en takomstige wurkjouwers. Sa't jo wierskynlik begrepen hawwe, sille wy prate oer auto's, nammentlik oer starters op ôfstân en alarmsystemen. Litte wy begjinne mei wat eftergrûn, wat wichtich is yn dit ferbân, om't in protte sokke systemen beskôgje as in ûnnedige lúkse.
Dus wêr't ik wenje is it frij kâld en myn freon lijt oan in betingst neamd Raynaud's syndroom. De kjeld feroarsaket in spasm fan 'e bloedfetten yn' e hannen, de bloedstream nei de fingers wurdt sterk fermindere, en tekens fan frostbite ferskine, ynklusyf weefselnekrose. De dia lit sjen hoe't it der gewoanlik útsjocht.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Ofrûne novimber hie ik noch net besletten wat ik har foar Kryst jaan soe. Sa komt se fan it fleanfjild ôf fan it fleanfjild werom, om't har auto op 'e wei nei hûs noait opwaarmde. Op dat stuit realisearre ik dat ik har in startsysteem op ôfstân soe jaan en begon te sykjen nei de bêste opsje. It docht bliken dat de merk foar starters op ôfstân frij grut is, mei in protte fabrikanten net genôch ynformaasje oer har produkt.

Se fertelle jo net hoe't jo it systeem moatte ynstallearje of hokker ark jo moatte brûke om it apparaat te programmearjen. Dit is in probleem foar my, om't dit myn auto is, myn start op ôfstân, en ik moat tagong hawwe ta dizze ark. Dat ik socht wat mear en fûn in bedriuw út Kanada, Fortin, dat sokke starters produsearret en wol alle nedige dokumintaasje leveret. Ik fêstige my op dit produkt en begon te sykjen nei in geskikte ôfstânsbetsjinning. It feit is dat as jo in standert remote control brûke mei in remote starter, dan sil har berik fan aksje beheind wurde ta it berik fan 'e standert remote control. Aftermarket-ôfstâns wurde oanbean dy't wurkje binnen in berik fan in heale myl oant ien en in heale myl. Neffens de resinsjes fan konsuminten is dit in publisiteitsstunt, om't de ôfstân yn werklikheid folle koarter is. Dit is it probleem, om't myn freon de motor fan har auto op it parkearplak fan 'e fleanfjild moat begjinne sa gau as se út it fleantúch komt, dat is sawat in heale kilometer.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Dat it soe geweldich wêze as se har tillefoan gewoan útlûke koe, de app iepenje en op Start drukke. Ik fûn in produkt fan tredden neamd MyCar dat folslein kompatibel is mei de Fortin starter. Dit is in lytse kaaifob mei in SIM-kaart en in GPS-ûntfanger dy't jo yn jo auto kinne pleatse en ferbine mei de starter op ôfstân. Dan kinne jo, mei in mobile app, de motor op ôfstân starte, de slûzen ûntsluten, en sa.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Ik tocht dat dit geweldich wêze soe: fuort nei it lâning fan it fleantúch kin myn freon de motor starte, en as se by de auto komt, sil de kabine al waarm wêze.

Litte wy dus in bytsje prate oer hoe't starters op ôfstân wurkje. Om dit te dwaan, moatte jo earst begripe hoe't in automotor begjint. Oant sawat healwei de jierren njoggentich wie in autostarter in tradisjoneel meganysk slot yn in kaai-skeakelkombinaasje. Jo moasten de kaai ynfoegje en it draaie om it elektryske circuit te foltôgjen. Dan sloten bestimpele "immobilizer" wurden populêr yn de Feriene Steaten. It klinkt yngewikkeld, mar it is gewoan in elektroanysk slot. Dat, jo hawwe in meganysk slot, dat is de kaai foar in elektroanysk slot, dat op syn beurt in transponder is en wat ynformaasje befettet dy't lêzen wurde kin. En oant jo it elektroanyske slot iepenje, sil jo auto net starte. Oan 'e rjochterkant fan' e slide sjogge jo 2 kaaien: de linker is foar de immobilizer, en de rjochter is foar de reguliere ignition switch. It betsjinnet gewoan de meganyske komponinten fan it slot, wylst de lofterkaai it elektroanyske slot ûntsluten, dat de motor fan 'e auto sil starte.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Wêrom fertel ik dy oer dit? Start op ôfstân wurket fia de immobilizer. Op de folgjende slide sjogge jo in diagram fan it ferbinen fan it Fortin EVO One-apparaat oan 'e immobilizer - linksûnder sjogge jo in pear kontakten oanwiisd as IMO. Rjochts boppe op it diagram sjogge jo twa rigels: KAN LOW en KAN HIGH. Dit binne kontakten foar ferbining mei de CAN-bus foar auto's. De reden wêrom't remote starters wurde ferbûn mei de CAN bus is te ferminderjen ynstallaasje kosten omdat minder ferbinings wurde brûkt by ynstallaasje. As de remote starter kin lêze gegevens út de CAN bus of stjoer kommando fia de CAN bus, dit ferleget ynstallaasje tiid foar de ôfstân motor start systeem.

Links boppe op it diagram binne d'r in hiele bosk GPIO's dy't ferbûn binne mei it kontrolearjen of lêzen fan ynformaasje oer de masine. Jo wolle bygelyks dat de ljochten flitse of in hoarn klinkt as jo op de slûsknop drukke. Dingen lykas dit kinne wurde kontrolearre mei dizze GPIO's. Linksûnder op it diagram kinne jo in grutte, clunky ferbining sjen - dit is de ynterface dy't it meganyske slot omgiet. Dat is, jo hoege net te ynfoegje en draaie de kaai yn 'e ignition omdat dizze ynterface makket it mooglik om te kommunisearjen op ôfstân starter systeem relais direkt mei de elektryske slûs.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

De folgjende dia's litte de stadia sjen fan it ynstallearjen fan in starter op ôfstân. It bestiet benammen út it fuortsmiten fan it stjoer kolom cover, ynstallearjen en ferbinen de DS ienheid. It sjocht der frij eng, mar it is maklik om te dwaan.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

De ôfstânkontrôles sels ferbine mei wat Fortin in gegevenskeppeling neamt. It systeem brûkt it proprietêre protokol foar fysike gegevensoerdracht UART - in universele asynchrone stjoerder dy't gegevens útwikselet mei in snelheid fan 9600 baud. De Fortin remote starter ferbynt gewoan fia in UART-bus mei de twa ôfstânkontrôles dy't jo sjogge op 'e slide.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Nei't de DS ynstalleare, tocht ik oer hoe't sokke apparaten de feiligens fan 'e auto kinne beynfloedzje. Fansels moat de DS de immobilizer omgean, dus hoe feilich is dit yn termen fan 'e mooglikheid fan stellerij of ûnderskepping fan kontrôle fan' e auto? Dit jildt net allinich foar gegevensoerdracht oer it sellulêre netwurk, mar ek foar it startsinjaal op ôfstân sels. Dat ik begon te sykjen op it ynternet foar fabrikantynformaasje oer it brûkte gegevensferfierprotokol en kaam op foarums dêr't minsken skreaunen dat Fortin wegere dit protokol te leverjen. Ien fan 'e redenen: "Wy ferspriede sokke ynformaasje net, om't EVO gjin boartersguod is foar amateurs, it is bedoeld foar gebrûk troch professionals.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

As wat fan in profesjoneel, besleat ik myn eigen masine op it buroblêd te bouwen. Ik krige in twadde EVO-systeemienheid, sammele in circuit board dat de auto fertsjintwurdige, skeakels tafoege om de ûntstekking te simulearjen, in knop foar it rempedaal, en in hiele bosk LED's om ferskate steaten te sjen.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Troch dit alles byinoar te setten, ferbûn ik it FTI-monitoringapparaat foar gegevensferbining en begon dizze gegevens te sammeljen. Earst liket it wat op 'e slide, en it is net hielendal dúdlik wat hjir bart. Mar as jo goed sjogge, kinne jo sizze dat hjir grif in soarte fan struktuer is.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Tink derom dat as ik op in knop op myn ôfstânsbetsjinning druk, it berjocht dat de antenne nei myn DS stjoert altyd begjint mei 0C en einiget mei 0D. Dus as wy gewoan ferdiele wat wy krije, oannommen dat 0C it begjin is en 0D it ein is, sille wy mei soksoarte einigje.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Der is hjir al in soarte fan struktuer dúdlik te sjen, sadat jo útfine kinne wat der bart. Troch tiid te besteegjen oan it folgjen fan hokker berjocht ferskynde nei't in spesifike knop waard yndrukt, koe ik in tabel mei kommando's meitsje, elk fan dy oerienkomt mei in spesifike aksje. Dat is, as jo op in knop op 'e ôfstânsbetsjinning drukke, stjoert de antenne in kommando nei de startmodule op ôfstân dy't der sa útsjocht.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Hjir is hoe't in typyske teamstruktuer derút sjocht.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

As jo ​​op in knop op de ôfstânsbetsjinning drukke, stjoert de antenne sa'n kommando nei de remote starter. It wurdt wekker troch byte 0C, folge troch 2 bytes, dy't ik tink de rjochting fan oerdracht fertsjintwurdigje. Dit is nijsgjirrich om't de UART al in sinjaalrjochting hat, dus ik markearre dizze bytes as "garbage", behannelje se gewoan as in konstante. Dit wurdt folge troch in inkele byte dy't it kommando oanjout dat de brûker wol útfiere wol. Dit kin doarren beskoattelje of iepenje, it alarm útsette, ensfh. Yn 't algemien is alles wat jo op ôfstân dwaan wolle assosjearre mei dit kommando. De FF FF F1-lading is in adres, as identifier, dy't de antenne op ôfstân identifisearret wêrfan it berjocht kaam. As de DS-ienheid de identifier net werkent, wurdt it kommando negearre. As de DS de identifier akseptearret, begjint in proseduere mei meardere stappen, dy't omfettet it kontrolearjen fan 'e oanwêzigens fan' e kaai yn 'e ignition, it oan- of útsette fan' e motor, drukke op it rempedaal, ensfh. Yn feite hat dit proses net folle betsjutting, it is gewoan dat it apparaat op dit stuit de ID leart.

Oan 'e ein fan it berjocht is d'r in byte mei in kontrôlesum en in byte dy't it ein fan it kommando oanjout. No't wy begripe hoe't it protokol wurket, wat kinne wy ​​der oan dwaan? Ik haw in pear fideo's oer it ûnderwerp. Spitigernôch is de fideo om ien of oare reden sûnder lûd, dus ik sil jo fertelle wat der bart op it skerm. Oan 'e lofterkant fan' e stjoerkolom op 'e húsfesting fan it ynstrumintpaniel is in wite doaze dy't elektroanika befettet mei Particle.IO-firmware dy't it Fortin-protokol begrypt. De draad mei de blauwe tip is de antenne. Dit ding lit my ynteraksje mei de remote starter-ienheid fan binnen út 'e auto en sjen wat der bart op it laptopskerm.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Dat ik stjoer it slot ûntsluten kommando nei de auto mar it wurket net omdat de DS net wit oer dizze antenne. Lykas ik al neamde, is dit gewoan in UART, wêrfan it eigendom is om de saneamde twa-wei kommunikaasje te stypjen, wêrtroch jo op ôfstân ynformaasje kinne krije oer de status fan 'e auto. Bygelyks, as de motor fysyk begûn of stoppe, sil de DS-ienheid in oerienkommende berjocht stjoere nei de antenne op ôfstân. Yn dit gefal sil it berjocht it adres fan dizze antenne befetsje.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

It probleem is dat kommunikaasje wurdt útfierd mei it UART-protokol, en elkenien dy't ferbynt mei de UART-bus kin it adres sjen wêr't in opjûn berjocht ferstjoerd wurdt, dus myn firmware hat de mooglikheid om it adres fan in besteande antenne te klonjen, wat ik doch mei it passende kommando.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Om in berjocht te generearjen, moatte jo gewoan de autodoar iepenje. Sa't jo sjen kinne, de DS stjoert in berjocht nei de antenne dat de doar wie iepen, en it alaarm wurdt fuortendaliks op.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Om it alarm út te setten, stjoer ik it kommando "ûntskoattelje", wêrnei't it alarmlûd útskeakele wurdt en de auto ûntskoattele wurdt. Jo moatte myn wurd foar it nimme, om't wy dizze fideo net koenen krije om te spyljen mei lûd. Litte wy besykje de fideo opnij te spyljen.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

No, it lûd ferskynde (opmerking fan 'e oersetter: deselde fideo mei lûd wurdt op it skerm spile). Dat, jo seagen hoe't ik it DS-kommando stjoerde en it alarm oansette, allegear sûnder kaai. Litte wy no besykje de auto op deselde manier te begjinnen; om dit te dwaan, besjoch de folgjende fideo.

Normaal, as jo gewoan "start" typearje en besykje de motor te begjinnen, sil it net wurkje. De reden is dat dit in hânmjittich oerdracht auto en remote starter systemen hawwe in spesjale proseduere foar sokke auto's. Yn dit gefal moatte jo op de ôfstânstartknop drukke wylst de kaai yn 'e ignition is en de motor rint. Dan kinne jo de kaai derút helje, út 'e auto, de doar ticht, wêrnei't de DS de motor útsette en de doar op slot. Dit wurdt dien om foar te kommen dat de auto reagearret op ôfstân motor start ûnder it riden, want dit is gefaarlik. Dit is lykwols net in folsleine feiligensfunksje. Dit is frij maklik te bewizen troch te sjen nei de EVO-starter-ienheid op ôfstân. Jo sjogge dizze giele loopdraad dy't is ûntworpen om te wurkjen mei in manuele oerdracht. As it wurdt snije, dit blok kin brûkt wurde foar in auto mei in automatyske oerdracht. Dit ûntwerp fan 'e ienheid lit jo gjin spesjale ynstellingen brûke by it ynstallearjen fan' e DS yn auto's mei ferskate soarten oerdracht.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Dat it systeem reagearre net op it "start" kommando, dus ik sil dit blok wer yn plak sette en gewoan dizze draad snije om de ferbining te brekken. No, as jo it kommando "begjinne" werhelje, sil in lûdsinjaal klinke en de statusindikatoren fan 'e autosystemen sille op it ynstrumintpaniel ljochtsje, lykas bart as in kaai yn it slot wurdt ynfoege.

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 1

Op it stuit hawwe wy in auto dy't wy op ôfstân kinne begjinne sûnder in kaai yn 'e ignition, mar de DS-module is net alles wat wy nedich binne. Under normale omstannichheden kinne jo noch net fuortriden yn in auto dy't op ôfstân oanstutsen is, mar litte wy it dochs besykje.

Om útskeakelje it stjoer slot, moatte jo ynfoegje in gewoane kaai yn de ignition slot, dat hat gjin transponder. Sa't jo sjen kinne, it is genôch om te ferpleatsen de kaai nei de posysje foardat begjinne de motor, en it stjoer fan Subaru Impreza begjint te draaien hielendal frij.

As jo ​​​​lykwols gjin kaai hawwe, dan sil de auto as jo op it rempedaal drukke. It is frij maklik om dizze beheining te kommen. Jo moatte útfine hoe't de auto fertelt de remote starter dat de rem wurdt tapast. Jo sjogge ferskate multi-coloured havens yn 'e efterkant fan' e EVO module húsfesting - de kabel fan de CAN bus wurdt ferbûn hjir. It is genôch om gewoan fuortsmite dizze kabel út de DS ienheid neidat de auto is op ôfstân begûn, en it sil net reagearje op it drukken op de rem pedaal. Sûnt dizze ienheid leit ûnder de dekking fan 'e stjoerkolom, jou ik it kommando "start" fia myn laptop, de auto begjint, ik iepenje de doar, gean út 'e auto en ferwiderje de CAN-busferbining fan' e EVO-ienheid. Sa't jo sjen kinne, draait de automotor, mar wy hawwe noch gjin kaai yn 'e ignition.

As jo ​​​​no op it rempedaal drukke, sil neat barre, om't de EVO net wit dat it waard yndrukt. Dêrnei kin ik efter it stjoer komme, de rem drukke, de gearstok nei de "Drive" posysje ferpleatse, en de auto begjint te bewegen. Dit alles wurdt dien sûnder ienige kaai.

21:40

Konferinsje DEFCON 27. Jo auto is myn auto. Diel 2

Guon advertinsjes 🙂

Tankewol foar it bliuwen by ús. Hâld jo fan ús artikels? Wolle jo mear ynteressante ynhâld sjen? Stypje ús troch in bestelling te pleatsen of oan te befeljen oan freonen, wolk VPS foar ûntwikkelders fan $ 4.99, in unike analoog fan servers op yngongsnivo, dy't troch ús foar jo útfûn is: De hiele wierheid oer VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps fan $19 of hoe te dielen in tsjinner? (beskikber mei RAID1 en RAID10, oant 24 kearnen en oant 40GB DDR4).

Dell R730xd 2 kear goedkeaper yn Equinix Tier IV data sintrum yn Amsterdam? Allinne hjir 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV fan $199 yn Nederlân! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - fan $99! Lêze oer Hoe kinne jo Infrastructure Corp. klasse mei it brûken fan Dell R730xd E5-2650 v4 tsjinners wurdich 9000 euro foar in penny?

Boarne: www.habr.com

Add a comment