Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Opsomming van die toespraak:

Vir baie van ons is 'n motor een van die duurste aankope wat ons ooit sal maak. In 'n wêreld waar alles gekoppel is, is dit natuurlik om ons motor op afstand te wil beheer: kry aanmanings van waar ons dit geparkeer het, maak seker ons het vergeet om die deure te sluit, of begin die enjin oor 'n afstand om die binneruim voor te verhit of af te koel. afhangende van die tyd van die jaar.

Daar is baie vervaardigers wat opsionele alarmstelsels bied wat hierdie gerief en gemoedsrus bied. Maar hoeveel kan ons die verskaffers van hierdie stelsels vertrou om toegang tot ons motors in die digitale domein te beskerm? In hierdie praatjie sal Jmaxxz praat oor wat hy ontdek het toe hy in een van hierdie stelsels gekyk het.

Jmaxxz is bekend vir sy werk met August Smart Lock-slimhuisstelsels (aanbieding by DEFCON 24 "Backdooring The Frontdoor"). In onlangse jare was sy fokus op IoT-toestelle. Hy het aan die "IoT village zero day"-afdelings van DEFCON 24 en DEFCON 25 deelgeneem en uiteindelik besluit dat dit tyd is om 'n produk van die sekondêre motormark te verken - 'n afstandaansitter (hierna verwys as RS).

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

So, my naam is J-Max, ek is 'n programmeerder van beroep en 'n hacker van beroep. Ek is betrokke by alles wat verband hou met slot, en deur hierdie gesprek sal jy baie stellings hoor wat uitsluitlik my opinies uitdruk en geen verband hou met die menings van my vorige, huidige en toekomstige werkgewers nie. Soos u waarskynlik verstaan ​​het, sal ons oor motors praat, naamlik oor afgeleë aansitters en alarmstelsels. Kom ons begin met 'n bietjie agtergrond, wat in hierdie konteks belangrik is omdat baie sulke stelsels as 'n onnodige luukse beskou.
So waar ek woon is dit redelik koud en my vriend ly aan 'n toestand genaamd Raynaud se sindroom. Die koue veroorsaak 'n spasma van die bloedvate in die hande, die bloedvloei na die vingers word skerp verminder, en tekens van bevriesing verskyn, insluitend weefselnekrose. Die skyfie wys hoe dit gewoonlik lyk.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Verlede November het ek nog nie besluit wat ek vir haar vir Kersfees gaan gee nie. Sy keer dus ontsteld terug huis toe van die lughawe af omdat haar motor nooit warm geword het op pad huis toe nie. Op daardie oomblik het ek besef dat ek vir haar 'n afstand-enjinstartstelsel sou gee en het begin soek na die beste opsie. Dit blyk dat die mark vir afgeleë voorgereg redelik groot is, met baie vervaardigers wat nie voldoende inligting oor hul produk verskaf nie.

Hulle vertel jou nie hoe om die stelsel te installeer of watter gereedskap om te gebruik om die toestel te programmeer nie. Dit is 'n probleem vir my, want dit is my motor, my afstandbegin, en ek moet toegang tot hierdie gereedskap hê. So ek het 'n bietjie meer gesoek en 'n maatskappy van Kanada, Fortin, gevind wat sulke starters vervaardig en gewillig al die nodige dokumentasie verskaf. Ek het op hierdie produk besluit en begin soek na 'n geskikte afstandbeheerder. Die feit is dat as jy 'n standaardafstandbeheerder met 'n afstandbeheeraansitter gebruik, die aksieomvang daarvan beperk sal word tot die reeks van die standaardafstandbeheer. Namarkafstandbeheerders word aangebied wat binne 'n reeks van 'n halwe myl tot een en 'n half myl werk. Volgens verbruikersresensies is dit 'n publisiteitsfoefie, want in werklikheid is die afstand baie korter. Dit is die probleem, want my vriendin moet die enjin van haar motor in die lughawe se parkeerterrein aanskakel sodra sy van die vliegtuig afklim, wat omtrent 'n halwe myl is.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Dit sal dus wonderlik wees as sy net haar foon kan uittrek, die toepassing oopmaak en Start druk. Ek het 'n derdepartyproduk genaamd MyCar gevind wat ten volle versoenbaar is met die Fortin-aansitter. Dit is 'n klein sleutelhanger met 'n SIM-kaart en 'n GPS-ontvanger wat jy in jou motor kan sit en dit aan die afstandbeheeraansitter kan koppel. Dan, met behulp van 'n mobiele toepassing, kan jy die enjin op afstand begin, die slotte ontsluit, en dies meer.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Ek het gedink dit sal wonderlik wees: net nadat die vliegtuig geland het, kan my vriend die enjin aanskakel, en teen die tyd dat sy by die motor kom, sal die kajuit reeds warm wees.

So kom ons praat 'n bietjie oor hoe remote starters werk. Om dit te doen, moet jy eers verstaan ​​hoe 'n motorenjin begin. Tot ongeveer die middel negentigerjare was 'n motoraansitter 'n tradisionele meganiese slot in 'n sleutelskakel-kombinasie. Jy moes die sleutel insit en draai om die elektriese stroombaan te voltooi. Toe het slotte gemerk "immobiliseerder" gewild geword in die Verenigde State. Dit klink ingewikkeld, maar dit is net 'n elektroniese slot. So, jy het 'n meganiese slot, wat die sleutel tot 'n elektroniese slot is, wat op sy beurt 'n transponder is en inligting bevat wat gelees kan word. En totdat jy die elektroniese slot oopmaak, sal jou motor nie start nie. Aan die regterkant van die glybaan sien jy 2 sleutels: die linker een is vir die immobiliseerder, en die regter een is vir die gewone aansitterskakelaar. Dit bedien bloot die meganiese komponente van die slot, terwyl die linkersleutel die elektroniese slot oopsluit, wat die motor se enjin sal aanskakel.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Hoekom vertel ek jou hiervan? Afstandstart werk deur die immobiliseerder. Op die volgende skyfie sien jy 'n diagram van die koppeling van die Fortin EVO One-toestel aan die immobiliseerder - links onder sien jy 'n paar kontakte wat as IMO aangewys is. Regs bo in die diagram sien jy twee lyne: KAN LAAG en KAN HOOG. Dit is kontakte om aan die motor-CAN-bus te koppel. Die rede waarom afstandaansitters aan die CAN-bus gekoppel word, is om installasiekoste te verminder omdat minder verbindings tydens installasie gebruik word. As die afstandaansitter data vanaf die CAN-bus kan lees of opdragte deur die CAN-bus kan stuur, verminder dit die installasietyd vir die afgeleë enjinaansitstelsel.

Links bo in die diagram is daar 'n hele klomp GPIO's wat geassosieer word met die beheer of lees van inligting oor die masjien. Byvoorbeeld, jy wil hê die ligte moet flikker of 'n toeter moet klink wanneer jy die sluitknoppie druk. Dinge soos hierdie kan beheer word met behulp van hierdie GPIO's. Links onder in die diagram kan jy 'n groot, lomp aansluiting sien - dit is die koppelvlak wat die meganiese slot omseil. Dit wil sê, jy hoef nie die sleutel in die aansitter in te sit en te draai nie, want hierdie koppelvlak laat die aflos-aansitterstelsel-relais toe om direk met die elektriese slot te kommunikeer.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Die volgende skyfies wys die stadiums van die installering van 'n afstandaansitter. Dit bestaan ​​hoofsaaklik uit die verwydering van die stuurkolombedekking, die installering en koppeling van die DS-eenheid. Dit lyk nogal skrikwekkend, maar dit is maklik om te doen.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Die afstandbeheerders koppel self aan wat Fortin 'n dataskakel noem. Die stelsel gebruik die eie fisiese data-oordragprotokol UART - 'n universele asinchroniese sender wat data teen 'n spoed van 9600 baud uitruil. Die Fortin-afstandaansitter koppel eenvoudig via 'n UART-bus aan die twee afstandbeheerders wat jy op die skyfie sien.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Nadat ek die DS geïnstalleer het, het ek gedink hoe sulke toestelle die veiligheid van die motor kan beïnvloed. Uiteraard moet die DS die immobiliseerder omseil, so hoe veilig is dit in terme van die moontlikheid van diefstal of onderskepping van beheer van die motor? Dit geld nie net vir data-oordrag oor die sellulêre netwerk nie, maar ook vir die afstandbeginsein self. Ek het dus op die internet begin soek vir vervaardigerinligting oor die data-oordragprotokol wat gebruik word en op forums beland waar mense geskryf het dat Fortin geweier het om hierdie protokol te verskaf. Een van die redes: “Ons versprei nie sulke inligting nie, want EVO is nie 'n speelding vir amateurs nie, dit is bedoel vir gebruik deur professionele persone.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Omdat ek iets van 'n professionele persoon was, het ek besluit om my eie masjien op die lessenaar te bou. Ek het 'n tweede EVO-stelseleenheid in die hande gekry, 'n stroombaanbord saamgestel wat die motor verteenwoordig, skakelaars bygevoeg om die ontsteking te simuleer, 'n knoppie vir die rempedaal, en 'n hele klomp LED's om verskillende toestande te wys.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Om dit alles saam te voeg, het ek die FTI-dataskakel-moniteringstoestel gekoppel en hierdie data begin versamel. Aanvanklik lyk dit iets soos die glybaan, en dit is nie heeltemal duidelik wat hier aangaan nie. Maar as jy mooi kyk, kan jy sê dat hier beslis een of ander struktuur is.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Neem asseblief kennis dat wanneer ek 'n knoppie op my afstandbeheerder druk, die boodskap wat die antenna na my DS stuur altyd met 0C begin en met 0D eindig. So as ons net verdeel wat ons kry, as ons aanvaar dat 0C die begin is en 0D die einde, sal ons met so iets eindig.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Hier is reeds 'n soort struktuur duidelik sigbaar, sodat jy kan uitvind wat aan die gebeur is. Deur tyd te spandeer om op te spoor watter boodskap verskyn het nadat 'n spesifieke knoppie gedruk is, kon ek 'n tabel van opdragte skep, wat elk ooreenstem met 'n spesifieke aksie. Dit wil sê, wanneer jy 'n knoppie op die afstandbeheerder druk, stuur die antenna 'n opdrag na die afstandbeheermodule wat so lyk.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Hier is hoe 'n tipiese spanstruktuur lyk.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Wanneer jy 'n knoppie op die afstandbeheerder druk, stuur die antenna so 'n opdrag na die afstandbeheeraansitter. Dit word wakker gemaak deur greep 0C, gevolg deur 2 grepe, wat ek dink die rigting van oordrag verteenwoordig. Dit is interessant omdat die UART reeds 'n seinrigting het, so ek het hierdie grepe as "rommel" gemerk, behandel hulle net as 'n konstante. Dit word gevolg deur 'n enkele greep wat die opdrag aandui wat die gebruiker graag wil uitvoer. Dit kan deure sluit of oopmaak, die alarm afskakel, ens. Oor die algemeen word alles wat u op afstand wil doen, met hierdie opdrag geassosieer. Die FF FF F1 loonvrag is 'n adres, of identifiseerder, wat die afgeleë antenna identifiseer waarvandaan die boodskap gekom het. As die DS-eenheid nie die identifiseerder herken nie, word die opdrag geïgnoreer. As die DS die identifiseerder aanvaar, begin 'n multi-stap prosedure, wat insluit om na te gaan vir die teenwoordigheid van die sleutel in die aansitter, die enjin aan of af te skakel, die rempedaal te druk, ens. Trouens, hierdie proses het nie veel betekenis nie, dit is net dat die toestel op hierdie oomblik die ID leer.

Aan die einde van die boodskap is daar 'n greep met 'n kontrolesom en 'n greep wat die einde van die opdrag aandui. Noudat ons verstaan ​​hoe die protokol werk, wat kan ons daaromtrent doen? Ek het 'n paar video's oor die onderwerp. Ongelukkig is die video om een ​​of ander rede sonder klank, so ek sal jou vertel wat op die skerm gebeur. Links van die stuurkolom op die instrumentpaneelhuis is daar 'n wit boks wat elektronika bevat met Particle.IO-firmware wat die Fortin-protokol verstaan. Die draad met die blou punt is die antenna. Hierdie ding laat my toe om met die afgeleë aansittereenheid van binne die motor te kommunikeer en te sien wat op die skootrekenaarskerm gebeur.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

So ek stuur die lock unlock command na die kar maar dit werk nie want die DS weet nie van hierdie antenna nie. Soos ek reeds genoem het, is dit net 'n UART, waarvan die eiendom die sogenaamde tweerigtingkommunikasie moet ondersteun, waardeur u op afstand inligting oor die status van die motor kan bekom. Byvoorbeeld, as die enjin fisies aangeskakel of gestop is, sal die DS-eenheid 'n ooreenstemmende boodskap na die afstandbeheer-antenna stuur. In hierdie geval sal die boodskap die adres van hierdie einste antenna bevat.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Die probleem is dat kommunikasie met die UART-protokol uitgevoer word, en enigiemand wat aan die UART-bus koppel, kan die adres sien waarheen 'n gegewe boodskap gestuur word, so my firmware het die vermoë om die adres van 'n bestaande antenna te kloon, wat ek doen met die toepaslike opdrag.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Om 'n boodskap te genereer, hoef jy net die motordeur oop te maak. Soos jy kan sien, stuur die DS 'n boodskap na die antenna dat die deur oop was, en die alarm skakel dadelik aan.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Om die alarm af te skakel, stuur ek die “ontsluit” opdrag, waarna die alarmklank afgeskakel word en die kar oopgesluit word. Jy sal my woord daarvoor moet aanvaar, want ons kon nie hierdie video kry om met klank te speel nie. Kom ons probeer om die video weer te speel.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Wel, die klank het verskyn (vertaler se nota: dieselfde video met klank word op die skerm gespeel). So, jy het gesien hoe ek die DS-opdrag gestuur en die alarm aangeskakel het, alles sonder 'n sleutel. Kom ons probeer nou om die motor op dieselfde manier te begin; om dit te doen, kyk na die volgende video.

Gewoonlik, as jy net "start" tik en probeer om die enjin te begin, sal dit nie werk nie. Die rede is dat dit 'n handratmotor is en afstandaansitterstelsels het 'n spesiale prosedure vir sulke motors. In hierdie geval moet jy die afstandbeheerknoppie druk terwyl die sleutel in die aansitter is en die enjin loop. Dan kan jy die sleutel verwyder, uit die kar klim, die deur toemaak, waarna die DS die enjin sal afskakel en die deur sluit. Dit word gedoen om te verhoed dat die motor reageer op afstandbeheer van die enjin terwyl hy bestuur, want dit is gevaarlik. Dit is egter nie 'n volledige sekuriteitskenmerk nie. Dit is redelik maklik om te bewys deur na die EVO-afstandaansittereenheid te kyk. Jy sien hierdie geel lusdraad wat ontwerp is om met 'n handratkas te werk. As dit gesny word, kan hierdie blok gebruik word vir 'n motor met 'n outomatiese ratkas. Hierdie ontwerp van die eenheid laat jou toe om geen spesiale instellings te gebruik wanneer jy die DS in motors met verskillende tipes transmissie installeer nie.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Die stelsel het dus nie op die "begin"-opdrag gereageer nie, so ek gaan hierdie blok terugsit en net hierdie draad sny om die verbinding te breek. Nou, as jy die "begin"-opdrag herhaal, sal 'n klanksein klink en die statusaanwysers van die motor se stelsels sal op die instrumentpaneel verlig, soos wat gebeur wanneer 'n sleutel in die slot gesteek word.

Konferensie DEFCON 27. Jou kar is my kar. Deel 1

Op die oomblik het ons 'n motor wat ons op afstand kan aanskakel sonder 'n sleutel in die aansitter, maar die DS-module is nie al wat ons nodig het nie. Onder normale omstandighede sal jy steeds nie kan wegry in 'n motor wat op afstand aangeskakel is nie, maar kom ons probeer tog.

Om die stuurwielslot uit te skakel, moet jy 'n gewone sleutel in die aansitterslot steek, wat nie 'n transponder het nie. Soos u kan sien, is dit genoeg om die sleutel na die posisie te skuif voordat die enjin begin word, en die Subaru Impreza-stuurwiel begin heeltemal vrylik draai.

As jy egter nie 'n sleutel het nie, sal die motor stilstaan ​​wanneer jy die rempedaal druk. Dit is redelik maklik om hierdie beperking te omseil. Jy moet uitvind hoe die motor vir die afgeleë aansitter vertel dat die rem aangeskakel is. Jy sien verskeie veelkleurige poorte aan die agterkant van die EVO-modulebehuising - die kabel van die CAN-bus sal hier verbind word. Dit is genoeg om eenvoudig hierdie kabel van die DS-eenheid te verwyder nadat die motor op afstand aangeskakel is, en dit sal nie reageer op die druk van die rempedaal nie. Aangesien hierdie eenheid onder die stuurkolom se deksel geleë is, gee ek die "start" opdrag deur my skootrekenaar, die kar start, ek maak die deur oop, klim uit die motor en verwyder die CAN bus connector van die EVO eenheid. Soos jy kan sien, loop die motorenjin, maar ons het steeds geen sleutel in die aansitter nie.

Nou as jy die rempedaal druk, sal niks gebeur nie, want die EVO weet nie dit is getrap nie. Daarna kan ek agter die stuur inklim, rem druk, die ratstok na die “Drive”-posisie beweeg, en die kar begin beweeg. Dit alles word gedoen sonder enige sleutel.

21:40

Konferensie DEFCON 27. Jou kar is my kar. Deel 2

Sommige advertensies 🙂

Dankie dat jy by ons gebly het. Hou jy van ons artikels? Wil jy meer interessante inhoud sien? Ondersteun ons deur 'n bestelling te plaas of by vriende aan te beveel, wolk VPS vir ontwikkelaars vanaf $4.99, 'n unieke analoog van intreevlakbedieners, wat deur ons vir jou uitgevind is: Die hele waarheid oor VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps vanaf $19 of hoe om 'n bediener te deel? (beskikbaar met RAID1 en RAID10, tot 24 kerne en tot 40 GB DDR4).

Dell R730xd 2x goedkoper in Equinix Tier IV-datasentrum in Amsterdam? Net hier 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV vanaf $199 in Nederland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - vanaf $99! Lees van Hoe om infrastruktuur korp. klas met die gebruik van Dell R730xd E5-2650 v4-bedieners ter waarde van 9000 XNUMX euro vir 'n sent?

Bron: will.com

Voeg 'n opmerking