Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Konsigno de la parolado:

Por multaj el ni, aŭtomobilo estas unu el la plej multekostaj aĉetoj, kiujn ni iam faros. En mondo kie ĉio estas konektita, estas nature voli kontroli nian aŭton malproksime: ricevi memorigilojn pri kie ni parkumis ĝin, kontrolu por certigi, ke ni forgesis ŝlosi la pordojn aŭ malproksime ekfunkciigi la motoron por antaŭvarmi aŭ malvarmigi la internon. depende de la tempo de jaro.

Estas multaj fabrikistoj proponantaj laŭvolajn alarmsistemojn, kiuj provizas ĉi tiun komforton kaj trankvilon. Sed kiom ni povas fidi la provizantoj de ĉi tiuj sistemoj por protekti aliron al niaj aŭtoj en la cifereca domajno? En ĉi tiu parolado, Jmaxxz parolos pri tio, kion li malkovris kiam li rigardis en unu el ĉi tiuj sistemoj.

Jmaxxz estas konata pro sia laboro kun inteligentaj hejmaj sistemoj de August Smart Lock (prezento ĉe DEFCON 24 "Backdooring The Frontdoor"). En la lastaj jaroj, lia fokuso estis sur IoT-aparatoj. Li partoprenis en la sekcioj "IoT-vilaĝo nul-tago" de DEFCON 24 kaj DEFCON 25 kaj finfine decidis, ke estas tempo esplori produkton de la malĉefa aŭta merkato - fora startigilo (ĉi-poste nomata RS).

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Do, mia nomo estas J-Max, mi estas programisto laŭ profesio kaj hakisto laŭ profesio. Mi okupiĝas pri ĉio rilata al seruro, kaj dum ĉi tiu konversacio vi aŭdos multajn deklarojn, kiuj esprimas nur mian opinion kaj ne havas rilaton al la opinioj de miaj pasintaj, nunaj kaj estontaj dungantoj. Kiel vi verŝajne komprenis, ni parolos pri aŭtoj, nome pri foraj startigiloj kaj alarmsistemoj. Ni komencu per iom da fono, kio estas grava en ĉi tiu kunteksto ĉar multaj konsideras tiajn sistemojn kiel nenecesa lukso.
Do kie mi loĝas, estas sufiĉe malvarme kaj mia amiko suferas de kondiĉo nomata sindromo de Raynaud. La malvarmo kaŭzas spasmon de la sangaj glasoj en la manoj, la sangofluo al la fingroj estas akre reduktita, kaj aperas signoj de frosto, inkluzive de hista nekrozo. La diapozitivo montras kiel ĝi kutime aspektas.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

La pasintan novembron, mi ankoraŭ ne decidis, kion mi donos al ŝi por Kristnasko. Do ŝi revenas hejmen de la flughaveno ĉagrenita ĉar ŝia aŭto neniam varmiĝis survoje hejmen. En tiu momento, mi rimarkis, ke mi donos al ŝi foran motoran startsistemon kaj komencis serĉi la plej bonan elekton. Montriĝas, ke la fora startmerkato estas sufiĉe granda, kaj multaj fabrikantoj ne provizas sufiĉajn informojn pri sia produkto.

Ili ne diras al vi kiel instali la sistemon aŭ kiajn ilojn uzi por programi la aparaton. Ĉi tio estas problemo por mi ĉar ĉi tiu estas mia aŭto, mia fora starto, kaj mi devas havi aliron al ĉi tiuj iloj. Do mi serĉis iom pli kaj trovis firmaon el Kanado, Fortin, kiu produktas tiajn startigilojn kaj volonte provizas la tutan necesan dokumentadon. Mi decidis por ĉi tiu produkto kaj komencis serĉi taŭgan teleregilon. La fakto estas, ke se vi uzas norman teleregilon kun fora startigilo, tiam ĝia gamo de agado estos limigita al la gamo de la norma teleregilo. Postmerkataj teleiloj estas ofertitaj, kiuj funkcias ene de vico de duona mejlo al unu kaj duono mejloj. Laŭ recenzoj de konsumantoj, ĉi tio estas publikeco, ĉar fakte la distanco estas multe pli mallonga. Jen la problemo, ĉar mia amikino bezonas startigi la motoron de sia aŭto en la flughavena parkejo tuj kiam ŝi eliras el la aviadilo, kiu estas ĉirkaŭ duonmejlo.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Do estus bonege, se ŝi povus simple eltiri sian telefonon, malfermi la apon kaj premu Komencon. Mi trovis trian produkton nomitan MyCar, kiu estas plene kongrua kun la Fortin-startilo. Ĉi tio estas malgranda ŝlosilo kun SIM-karto kaj GPS-ricevilo, kiun vi povas meti en vian aŭton kaj konekti ĝin al la fora startigilo. Tiam, uzante poŝtelefonon, vi povas malproksime ekfunkciigi la motoron, malŝlosi la serurojn kaj similajn.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Mi pensis, ke ĉi tio estus bonega: tuj post la alteriĝo de la aviadilo, mia amiko povas starti la motoron, kaj kiam ŝi venos al la aŭtomobilo, la kajuto jam estos varma.

Do ni parolu iomete pri kiel funkcias foraj startigiloj. Por fari tion, vi unue devas kompreni kiel ekfunkcias aŭtomotoro. Ĝis proksimume la mez-naŭdekaj, aŭtostartilo estis tradicia mekanika seruro en ŝlosil-ŝaltila kombinaĵo. Vi devis enmeti la ŝlosilon kaj turni ĝin por kompletigi la elektran cirkviton. Tiam seruroj etikeditaj "senmovigilo" iĝis popularaj en Usono. Ĝi sonas komplika, sed ĝi estas nur elektronika seruro. Do, vi havas mekanikan seruron, kiu estas la ŝlosilo de elektronika seruro, kiu, siavice, estas transpondilo kaj enhavas kelkajn informojn legeblajn. Kaj ĝis vi malfermos la elektronikan seruron, via aŭto ne startos. Sur la dekstra flanko de la glito vi vidas 2 klavojn: la maldekstra estas por la senmovigilo, kaj la dekstra estas por la regula ŝaltilo. Ĝi simple funkciigas la mekanikajn komponentojn de la seruro, dum la maldekstra ŝlosilo malŝlosas la elektronikan seruron, kiu ekfunkciigos la motoron de la aŭto.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Kial mi rakontas al vi pri ĉi tio? Fora starto funkcias per la senmovigilo. Sur la sekva diapozitivo vi vidas diagramon pri konekti la Fortin EVO One-aparaton al la senmovigilo - maldekstre malsupre vi vidas paron da kontaktoj nomataj IMO. Supre dekstre de la diagramo vi vidas du liniojn: CAN LOW kaj CAN HIGH. Ĉi tiuj estas kontaktoj por konektiĝi al la aŭtomobila CAN-buso. La kialo kial malproksimaj startigiloj estas konektitaj al la CAN-buso estas redukti instalkostojn ĉar malpli da ligoj estas uzitaj dum instalado. Se la fora startigilo povas legi datumojn de la CAN-buso aŭ sendi komandojn per la CAN-buso, ĉi tio reduktas instaladon por la fora motora startsistemo.

Supre maldekstre de la diagramo estas tuta aro da GPIO, kiuj rilatas al kontrolado aŭ legado de informoj pri la maŝino. Ekzemple, vi volas, ke la lumoj ekbrilu aŭ korno sonu kiam vi premas la ŝlosilon. Tiaj aferoj povas esti kontrolitaj per ĉi tiuj GPIOoj. Malsupre maldekstre de la diagramo vi povas vidi grandan, mallertan konektilon - ĉi tiu estas la interfaco, kiu preteriras la mekanikan seruron. Tio estas, vi ne devas enmeti kaj turni la ŝlosilon en la ŝaltilon, ĉar ĉi tiu interfaco permesas al la fora startiga sistemo relajso komuniki rekte kun la elektra seruro.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

La sekvaj diapozitivoj montras la etapojn de instalado de fora startigilo. Ĝi ĉefe konsistas el forigi la stirkolumnan kovrilon, instali kaj konekti la DS-unuon. Ĝi aspektas sufiĉe timiga, sed ĝi estas facila por fari.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

La teleregiloj mem konektas al tio, kion Fortin nomas datumligo. La sistemo uzas la proprietan fizikan transigan protokolon de datumoj UART - universala nesinkrona dissendilo, kiu interŝanĝas datumojn kun rapido de 9600 baŭdoj. La fora startigilo Fortin simple konektas per buso UART al la du teleregiloj, kiujn vi vidas sur la glito.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Instalinte la DS, mi pensis pri kiel tiaj aparatoj povus influi la sekurecon de la aŭto. Evidente, la DS devas preteriri la senmovigilon, do kiom sekura estas ĉi tio koncerne la eblon de ŝtelo aŭ interkapto de kontrolo de la aŭto? Ĉi tio validas ne nur por transdono de datumoj tra la ĉela reto, sed ankaŭ por la fora startsignalo mem. Do mi komencis serĉi en la Interreto informojn pri fabrikanto pri la uzata protokolo de transdono de datumoj kaj alvenis en forumoj, kie homoj skribis, ke Fortin rifuzis provizi ĉi tiun protokolon. Unu el la kialoj: “Ni ne distribuas tiajn informojn ĉar EVO ne estas ludilo por amatoroj, ĝi estas destinita por uzo de profesiuloj.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Estante ia profesiulo, mi decidis konstrui mian propran maŝinon sur la labortablo. Mi akiris duan EVO-sisteman unuon, kunvenis cirkviton, kiu reprezentis la aŭton, aldonis ŝaltilojn por simuli la ŝaltilon, butonon por la bremspedalo, kaj tutan aron da LED-oj por montri diversajn statojn.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Kunigante ĉion ĉi, mi konektis la FTI-datumligan monitoran aparaton kaj komencis kolekti ĉi tiujn datumojn. Komence ĝi aspektas kiel la glito, kaj ne estas tute klare kio okazas ĉi tie. Sed se vi rigardas atente, vi povas diri, ke certe estas ia strukturo ĉi tie.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Bonvolu noti, ke kiam ajn mi premas butonon de mia teleregilo, la mesaĝo, kiun la anteno sendas al mia DS, ĉiam komenciĝas per 0C kaj finiĝas per 0D. Do se ni simple dividas tion, kion ni ricevas, supozante 0C estas la komenco kaj 0D estas la fino, ni finos per io tia.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Jam estas ia strukturo klare videbla ĉi tie, do vi povas eltrovi kio okazas. Pasigante tempon spurante kian mesaĝon aperis post kiam specifa butono estis premita, mi povis krei tabelon de komandoj, ĉiu el kiuj respondas al specifa ago. Tio estas, kiam vi premas butonon de la teleregilo, la anteno sendas komandon al la fora startmodulo, kiu aspektas tiel.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Jen kiel aspektas tipa teamstrukturo.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Kiam vi premas butonon de la teleregilo, la anteno sendas tian komandon al la fora startigilo. Ĝi estas vekita de bajto 0C, sekvata de 2 bajtoj, kiuj laŭ mi reprezentas la direkton de transdono. Ĉi tio estas interesa ĉar la UART jam havas signalan direkton, do mi markis ĉi tiujn bajtojn kiel "rubaĵo", nur traktas ilin kiel konstanto. Ĉi tio estas sekvata de ununura bajto indikanta la komandon, kiun la uzanto ŝatus plenumi. Ĉi tio povus esti ŝlosi pordojn aŭ malfermi ilin, malŝalti la alarmon ktp. Ĝenerale, ĉio, kion vi volas fari malproksime, estas asociita kun ĉi tiu komando. La FF FF F1 utila ŝarĝo estas adreso, aŭ identigilo, kiu identigas la malproksiman antenon de kiu la mesaĝo venis. Se la DS-unuo ne rekonas la identigilon, la komando estas ignorita. Se la DS akceptas la identigilon, komenciĝas plurpaŝa proceduro, kiu inkluzivas kontroli la ĉeeston de la ŝlosilo en la ekfunkciigo, enŝalti aŭ malŝalti la motoron, premadon de la bremspedalo ktp. Fakte, ĉi tiu procezo ne havas multan signifon, estas nur ke la aparato lernas la ID en ĉi tiu momento.

Ĉe la fino de la mesaĝo estas bajto kun kontrolsumo kaj bajto indikanta la finon de la komando. Nun kiam ni komprenas kiel funkcias la protokolo, kion ni povas fari pri ĝi? Mi havas kelkajn filmetojn pri la temo. Bedaŭrinde, ial la video estas sen sono, do mi rakontos al vi, kio okazas sur la ekrano. Maldekstre de la stirkolumno sur la instrumentpanela loĝejo estas blanka skatolo kiu enhavas elektronikon kun Particle.IO-firmvaro kiu komprenas la Fortin-protokolon. La drato kun la blua pinto estas la anteno. Ĉi tiu afero ebligas al mi interagi kun la fora startunuo de ene de la aŭto kaj vidi kio okazas sur la tekkomputila ekrano.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Do mi sendas la ŝlosilon malŝlosi komandon al la aŭto sed ĝi ne funkcias ĉar la DS ne scias pri ĉi tiu anteno. Kiel mi jam menciis, ĉi tio estas nur UART, kies propraĵo estas subteni la tiel nomatan dudirektan komunikadon, danke al kiu vi povas malproksime akiri informojn pri la stato de la aŭto. Ekzemple, se la motoro estis fizike startita aŭ maldaŭrigita, la DS-unuo sendos respondan mesaĝon al la teleregilanteno. En ĉi tiu kazo, la mesaĝo enhavos la adreson de ĉi tiu sama anteno.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

La problemo estas, ke komunikado estas farita per la UART-protokolo, kaj ĉiu, kiu konektas al la UART-buso, povas vidi la adreson, kie oni sendas donitan mesaĝon, do mia firmvaro havas la kapablon kloni la adreson de ekzistanta anteno, kion mi faras. kun la taŭga komando.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Por generi mesaĝon, vi nur bezonas malfermi la aŭtopordon. Kiel vi povas vidi, la DS sendas mesaĝon al la anteno, ke la pordo estis malfermita, kaj la alarmo tuj ŝaltas.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Por malŝalti la alarmon, mi sendas la komandon "malŝlosi", post kiu la alarmsono estas malŝaltita kaj la aŭto estas malŝlosita. Vi devos kredi mian vorton, ĉar ni ne povis igi ĉi tiun filmeton ludi kun sono. Ni provu reludi la videon.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Nu, aperis la sono (noto de la tradukinto: la sama video kun sono ludas sur la ekrano). Do, vi vidis, kiel mi sendis la DS-komandon kaj ŝaltis la alarmon, ĉio sen ŝlosilo. Nun ni provu starti la aŭton en la sama maniero; por fari tion, rigardu la sekvan videon.

Kutime, se vi simple tajpas "start" kaj provas ekfunkciigi la motoron, ĝi ne funkcios. La kialo estas, ke ĉi tio estas mantransdona aŭto kaj foraj startigaj sistemoj havas specialan proceduron por tiaj aŭtoj. En ĉi tiu kazo, vi devas premi la foran startigan butonon dum la ŝlosilo estas en la ŝaltilo kaj la motoro funkcias. Tiam vi povas eltiri la ŝlosilon, eliri el la aŭto, fermi la pordon, post kio la DS malŝaltos la motoron kaj ŝlosis la pordon. Ĉi tio estas farita por malhelpi la aŭton respondi al fora motoro starto dum veturado, ĉar ĉi tio estas danĝera. Tamen ĉi tio ne estas kompleta sekureca funkcio. Ĉi tio estas sufiĉe facile pruvebla rigardante la foran startigan unuon EVO. Vi vidas ĉi tiun flavan buklodraton, kiu estas desegnita por funkcii kun mana transdono. Se ĝi estas tranĉita, ĉi tiu bloko povas esti uzata por aŭto kun aŭtomata transdono. Ĉi tiu dezajno de la unuo permesas al vi ne uzi specialajn agordojn kiam vi instalas la DS en aŭtoj kun malsamaj specoj de transdono.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Do la sistemo ne respondis al la "komenco" komando, do mi remetu ĉi tiun blokon kaj simple tranĉos ĉi tiun draton por rompi la konekton. Nun, se vi ripetas la komandon "komenco", sonos signalo kaj la statusaj indikiloj de la sistemoj de la aŭto lumiĝos sur la instrumentpanelo, kiel okazas kiam ŝlosilo estas enmetita en la seruron.

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 1

Nuntempe ni havas aŭton, kiun ni povas starti malproksime sen ŝlosilo en la sparkado, sed la DS-modulo ne estas ĉio, kion ni bezonas. En normalaj cirkonstancoj, vi ankoraŭ ne povos forveturi en aŭto startita malproksime, sed ni provu ĉiuokaze.

Por malŝalti la stirŝlosilon, vi devas enmeti regulan ŝlosilon en la ŝaltilon, kiu ne havas iun transpondilon. Kiel vi povas vidi, sufiĉas movi la ŝlosilon al la pozicio antaŭ komenci la motoron, kaj la stirilo Subaru Impreza komencas turni tute libere.

Tamen, se vi ne havas iun ŝlosilon, tiam kiam vi premas la bremspedalon, la aŭto haltos. Estas sufiĉe facile ĉirkaŭiri ĉi tiun limigon. Vi devas eltrovi kiel la aŭto diras al la fora startigilo, ke la bremso estas aplikata. Vi vidas plurajn multkolorajn havenojn en la malantaŭo de la EVO-modula loĝejo - la kablo de la CAN-buso estos konektita ĉi tie. Sufiĉas simple forigi ĉi tiun kablon de la DS-unuo post kiam la aŭto estas malproksime startita, kaj ĝi ne respondos al premado de la bremspedalo. Ĉar ĉi tiu unuo situas sub la stirkolumna kovrilo, mi donas la "komencon" komandon per mia tekokomputilo, la aŭto startas, mi malfermas la pordon, eliras el la aŭto kaj forigas la CAN-busan konektilon de la EVO-unuo. Kiel vi povas vidi, la aŭtomobila motoro funkcias, sed ni ankoraŭ ne havas neniun ŝlosilon en la ŝaltilo.

Nun se vi premas la bremspedalon nenio okazos ĉar la EVO ne scias, ke ĝi estis premita. Post tio, mi povas veni malantaŭ la rado, premi la bremson, movi la ilan bastonon al la pozicio "Veturado", kaj la aŭto ekmoviĝas. Ĉio ĉi estas farita sen ajna ŝlosilo.

21:40

Konferenco DEFCON 27. Via aŭto estas mia aŭto. Parto 2

Kelkaj reklamoj 🙂

Dankon pro restado ĉe ni. Ĉu vi ŝatas niajn artikolojn? Ĉu vi volas vidi pli interesan enhavon? Subtenu nin farante mendon aŭ rekomendante al amikoj, nuba VPS por programistoj de $4.99, unika analogo de enirnivelaj serviloj, kiu estis inventita de ni por vi: La tuta vero pri VPS (KVM) E5-2697 v3 (6 Kernoj) 10GB DDR4 480GB SSD 1Gbps de $ 19 aŭ kiel dividi servilon? (havebla kun RAID1 kaj RAID10, ĝis 24 kernoj kaj ĝis 40GB DDR4).

Dell R730xd 2 fojojn pli malmultekosta en Equinix Tier IV datumcentro en Amsterdamo? Nur ĉi tie 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 televidilo ekde 199 USD en Nederlando! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ekde $99! Legu pri Kiel konstrui infrastrukturan korpon. klaso kun la uzo de serviloj Dell R730xd E5-2650 v4 valorantaj 9000 eŭrojn por centono?

fonto: www.habr.com

Aldoni komenton