DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Сөздің қысқаша мазмұны:

Көбіміз үшін көлік - біз жасайтын ең қымбат сатып алулардың бірі. Барлығы байланысқан әлемде көлігімізді қашықтан басқарғыңыз келетіні табиғи нәрсе: оны қайда қойғанымыз туралы еске салғыштарды алыңыз, есіктерді құлыптауды ұмытып кеткенімізді тексеріңіз немесе салонды алдын ала қыздыру немесе салқындату үшін қозғалтқышты қашықтан іске қосыңыз. жыл мезгіліне байланысты.

Бұл ыңғайлылық пен жан тыныштығын қамтамасыз ететін қосымша дабыл жүйелерін ұсынатын көптеген өндірушілер бар. Бірақ сандық домендегі көліктерімізге қол жеткізуді қорғау үшін осы жүйелердің провайдерлеріне қаншалықты сене аламыз? Бұл баяндамада Jmaxxz осы жүйелердің біріне қараған кезде не ашқаны туралы әңгімелейді.

Jmaxxz өзінің August Smart Lock смарт үй жүйелерімен жұмысымен танымал (DEFCON 24-те «Бакдооринг The Frontdoor» презентациясы). Соңғы жылдары оның назары IoT құрылғыларына аударылды. Ол DEFCON 24 және DEFCON 25-тің «IoT ауылының нөл күні» бөлімдеріне қатысты және ақырында қайталама автомобиль нарығының өнімін - қашықтан стартерді (бұдан әрі - RS) зерттеудің уақыты келді деп шешті.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Сонымен, менің атым J-Max, мен мамандығым бойынша бағдарламашымын және мамандығым бойынша хакермін. Мен құлыпқа қатысты барлық нәрселерге қатысамын, және осы әңгіме барысында сіз тек менің пікірімді білдіретін және менің өткен, қазіргі және болашақ жұмыс берушілерімнің пікірлерімен байланысы жоқ көптеген мәлімдемелерді естисіз. Сіз түсінген боларсыз, біз автомобильдер туралы, атап айтқанда қашықтан іске қосу және дабыл жүйелері туралы айтатын боламыз. Кейбір фоннан бастайық, бұл контексте маңызды, өйткені көптеген адамдар мұндай жүйелерді қажетсіз сән-салтанат деп санайды.
Сондықтан мен тұратын жер өте суық және менің досым Рейно синдромы деп аталатын аурумен ауырады. Суық қолдардағы қан тамырларының спазмын тудырады, саусақтарға қан ағымы күрт төмендейді, тіндердің некрозымен қоса, үсік шалу белгілері пайда болады. Слайд оның әдетте қалай көрінетінін көрсетеді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Өткен қарашада мен оған Рождествоға не беретінімді әлі шешкен жоқпын. Осылайша ол әуежайдан үйіне ренжіп оралады, өйткені үйге бара жатқанда көлігі ешқашан жылынбаған. Сол кезде мен оған қозғалтқышты қашықтан іске қосу жүйесін беретінімді түсіндім және ең жақсы нұсқаны іздей бастадым. Қашықтан стартер нарығы айтарлықтай үлкен, көптеген өндірушілер өз өнімдері туралы жеткілікті ақпарат бермейді.

Олар жүйені қалай орнату керектігін немесе құрылғыны бағдарламалау үшін қандай құралдарды пайдалану керектігін айтпайды. Бұл мен үшін проблема, себебі бұл менің көлігім, менің қашықтан іске қосуым және осы құралдарға қол жеткізуім керек. Сондықтан мен біраз іздедім және Канададан Fortin компаниясын таптым, ол осындай стартерлерді шығарады және барлық қажетті құжаттарды дайындайды. Мен осы өнімді таңдадым және қолайлы қашықтан басқару құралын іздей бастадым. Шындығында, егер сіз стандартты қашықтан басқару құралын қашықтан стартермен бірге қолдансаңыз, оның әрекет ету ауқымы стандартты қашықтан басқару пульті ауқымымен шектеледі. Жарты мильден бір жарым мильге дейінгі қашықтықта жұмыс істейтін нарықтан кейінгі қашықтан басқару құралдары ұсынылады. Тұтынушылардың пікірлері бойынша, бұл жарнамалық трюк, өйткені іс жүзінде қашықтық әлдеқайда қысқа. Мәселе мынада, өйткені менің досым ұшақтан түскен бойда әуежай тұрағында көлігінің моторын іске қосуы керек, ол шамамен жарты миль.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Сондықтан ол телефонын шығарып, қолданбаны ашып, «Бастау» түймесін басып тұрса, тамаша болар еді. Мен Fortin стартерімен толық үйлесімді MyCar деп аталатын үшінші тарап өнімін таптым. Бұл SIM картасы мен GPS қабылдағышы бар шағын кілт фоб, оны көлігіңізге салып, оны қашықтан стартерге қосуға болады. Содан кейін мобильді қосымшаны пайдаланып қозғалтқышты қашықтан іске қосуға, құлыптарды ашуға және т.б.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Мен бұл тамаша болар еді деп ойладым: ұшақ қонғаннан кейін менің досым қозғалтқышты іске қоса алады, ал ол көлікке жеткенше, кабина қазірдің өзінде жылы болады.

Сонымен, қашықтан стартерлер қалай жұмыс істейтіні туралы аздап сөйлесейік. Мұны істеу үшін алдымен автомобиль қозғалтқышының қалай іске қосылатынын түсіну керек. Тоқсаныншы жылдардың ортасына дейін автокөлік стартері кілт-қосқыш комбинациясындағы дәстүрлі механикалық құлып болды. Электр тізбегін аяқтау үшін кілтті салып, оны бұру керек болды. Содан кейін «иммобилайзер» деп белгіленген құлыптар Америка Құрама Штаттарында танымал болды. Күрделі естіледі, бірақ бұл жай ғана электронды құлып. Сонымен, сізде механикалық құлып бар, ол электронды құлыптың кілті болып табылады, ол өз кезегінде транспондер болып табылады және оқуға болатын кейбір ақпаратты қамтиды. Ал электронды құлыпты ашпайынша, көлігіңіз іске қосылмайды. Слайдтың оң жағында сіз 2 пернені көресіз: сол жақ - иммобилизаторға арналған, ал оң жақ - әдеттегі тұтану қосқышына арналған. Ол жай ғана құлыптың механикалық бөліктерін басқарады, ал сол жақ кілт автомобиль қозғалтқышын іске қосатын электронды құлыпты ашады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Мен саған бұл туралы неге айтып отырмын? Қашықтан іске қосу иммобилизатор арқылы жұмыс істейді. Келесі слайдта сіз Fortin EVO One құрылғысын иммобилизаторға қосу диаграммасын көресіз - төменгі сол жақта IMO ретінде тағайындалған контактілер жұбын көресіз. Диаграмманың жоғарғы оң жағында сіз екі жолды көресіз: CAN LOW және CAN HIGH. Бұл автомобильдің CAN шинасына қосылуға арналған контактілер. Қашықтан іске қосу құрылғыларының CAN шинасына қосылуының себебі орнату шығындарын азайту болып табылады, себебі орнату кезінде қосылымдар азырақ пайдаланылады. Егер қашықтан іске қосу құрылғысы CAN шинасынан деректерді оқи алса немесе CAN шинасы арқылы пәрмендер жібере алса, бұл қозғалтқышты қашықтан іске қосу жүйесін орнату уақытын қысқартады.

Диаграмманың жоғарғы сол жағында машина туралы ақпаратты басқаруға немесе оқуға байланысты GPIO-лардың тұтас тобы бар. Мысалы, құлыптау түймесін басқан кезде шамдар жыпылықтағанын немесе дыбыс сигналының шыққанын қалайсыз. Осындай нәрселерді осы GPIO көмегімен басқаруға болады. Диаграмманың төменгі сол жағында сіз үлкен, қисық қосқышты көре аласыз - бұл механикалық құлыпты айналып өтетін интерфейс. Яғни, кілтті тұтандыруға салудың және бұрудың қажеті жоқ, себебі бұл интерфейс қашықтағы іске қосу жүйесінің релесіне электр құлпымен тікелей байланысуға мүмкіндік береді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Келесі слайдтар қашықтан стартерді орнату кезеңдерін көрсетеді. Ол негізінен руль бағанының қақпағын алудан, DS қондырғысын орнатудан және қосудан тұрады. Бұл өте қорқынышты көрінеді, бірақ мұны істеу оңай.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Қашықтан басқару құралдарының өзі Fortin деректер сілтемесі деп атайтын нәрсеге қосылады. Жүйе деректерді берудің меншікті физикалық UART хаттамасын пайдаланады - 9600 бад жылдамдығымен деректер алмасатын әмбебап асинхронды таратқыш. Fortin қашықтан іске қосу құралы UART шинасы арқылы слайдта көрген екі қашықтан басқару құралына қосылады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

DS орнатқаннан кейін, мен мұндай құрылғылар автомобильдің қауіпсіздігіне қалай әсер ететіні туралы ойладым. Әлбетте, DS иммобилизаторды айналып өтуі керек, сондықтан бұл ұрлық немесе автокөлікті басқаруды ұстап алу мүмкіндігі тұрғысынан қаншалықты қауіпсіз? Бұл ұялы желі арқылы деректерді тасымалдауға ғана емес, сонымен қатар қашықтан іске қосу сигналының өзіне де қатысты. Сондықтан мен Интернеттен деректерді беру протоколы туралы өндіруші ақпаратын іздей бастадым және форумдарда адамдар Fortin бұл хаттаманы беруден бас тартты деп жазды. Себептердің бірі: «Біз мұндай ақпаратты таратпаймыз, өйткені EVO әуесқойларға арналған ойыншық емес, ол кәсіпқойлардың пайдалануына арналған.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Кәсіби маман болғандықтан, мен жұмыс үстелінде өз машинамды жасауды шештім. Мен екінші EVO жүйелік блогын ұстадым, көлікті бейнелейтін схемалық тақтаны жинадым, тұтануды имитациялау үшін қосқыштарды, тежегіш педальға арналған түймені және әртүрлі күйлерді көрсету үшін жарық диодтарының тұтас тобын қостым.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Осының бәрін біріктіре отырып, мен FTI деректер байланысын бақылау құрылғысын қосып, осы деректерді жинай бастадым. Бастапқыда бұл слайдқа ұқсайды және мұнда не болып жатқаны толығымен түсініксіз. Бірақ мұқият қарасаңыз, бұл жерде белгілі бір құрылым бар деп айтуға болады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Қашықтан басқару пультіндегі түймені басқан сайын, антеннаның DS-ге жіберетін хабары әрқашан 0C-тен басталып, 0D-мен аяқталатынын ескеріңіз. Егер біз алғанымызды жай ғана бөлетін болсақ, 0C - басы және 0D - соңы деп есептесек, біз осындай нәрсеге қол жеткіземіз.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Мұнда құрылымның қандай да бір түрі анық көрінеді, сондықтан сіз не болып жатқанын анықтай аласыз. Белгілі бір түймені басқаннан кейін қандай хабарлама пайда болғанын бақылауға уақыт жұмсай отырып, мен әрқайсысы белгілі бір әрекетке сәйкес келетін пәрмендер кестесін жасай алдым. Яғни, қашықтан басқару пультіндегі түймені басқан кезде, антенна қашықтан іске қосу модуліне келесідей пәрмен жібереді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Міне, типтік команда құрылымы қалай көрінеді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Қашықтан басқару пультіндегі түймені басқан кезде, антенна мұндай пәрменді қашықтан стартерге жібереді. Ол 0С байтпен оятылады, одан кейін 2 байт, менің ойымша, бұл жіберу бағытын білдіреді. Бұл қызықты, себебі UART сигнал бағыты қазірдің өзінде бар, сондықтан мен бұл байттарды «қоқыс» деп белгіледім, оларды тұрақты деп есептеңіз. Одан кейін пайдаланушы орындағысы келетін пәрменді көрсететін бір байт шығады. Бұл есіктерді құлыптау немесе ашу, дабылды өшіру және т.б. болуы мүмкін. Жалпы, қашықтан орындағыңыз келетіннің бәрі осы пәрменмен байланысты. FF FF F1 пайдалы жүктемесі хабар келген қашықтағы антеннаны анықтайтын мекенжай немесе идентификатор болып табылады. Егер DS құрылғысы идентификаторды танымаса, пәрмен еленбейді. Егер DS идентификаторды қабылдаса, көп сатылы процедура басталады, ол тұтанудағы кілттің болуын тексеруді, қозғалтқышты қосу немесе өшіруді, тежегіш педальды басуды және т.б. Шындығында, бұл процестің маңыздылығы жоқ, дәл қазір құрылғы идентификаторды үйренуде.

Хабарламаның соңында бақылау қосындысы бар байт және команданың аяқталуын көрсететін байт бар. Енді біз хаттаманың қалай жұмыс істейтінін түсіндік, бұл туралы не істей аламыз? Тақырып бойынша менің бірнеше бейнем бар. Өкінішке орай, қандай да бір себептермен бейне дыбыссыз, сондықтан мен экранда не болып жатқанын айтып беремін. Құралдар тақтасының корпусындағы руль бағанының сол жағында Fortin протоколын түсінетін Particle.IO микробағдарламасы бар электроникадан тұратын ақ жәшік бар. Көк ұшы бар сым - антенна. Бұл нәрсе маған көліктің ішінен қашықтан іске қосу құрылғысымен өзара әрекеттесуге және ноутбук экранында не болып жатқанын көруге мүмкіндік береді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Сондықтан мен көлікке құлыпты ашу пәрменін жіберемін, бірақ ол жұмыс істемейді, себебі DS бұл антенна туралы білмейді. Жоғарыда айтқанымдай, бұл жай ғана UART, оның қасиеті екі жақты деп аталатын байланысты қолдау болып табылады, оның арқасында сіз автомобильдің күйі туралы ақпаратты қашықтан ала аласыз. Мысалы, қозғалтқыш физикалық түрде іске қосылған немесе тоқтатылған болса, DS құрылғысы қашықтан басқару пультінің антеннасына сәйкес хабарлама жібереді. Бұл жағдайда хабарламада дәл осы антеннаның мекенжайы болады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Мәселе мынада, байланыс UART протоколы арқылы жүзеге асырылады және UART шинасына қосылатын кез келген адам берілген хабарлама жіберілетін мекенжайды көре алады, сондықтан менің микробағдарламада бар антеннаның мекенжайын клондау мүмкіндігі бар, мен оны жасаймын. тиісті пәрменмен.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Хабарлама жасау үшін сізге көліктің есігін ашу жеткілікті. Көріп отырғаныңыздай, DS антеннаға есіктің ашық екендігі туралы хабарлама жібереді және дабыл бірден қосылады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Дабылды өшіру үшін мен «құлыпты ашу» пәрменін жіберемін, содан кейін дабыл дыбысы өшіп, көлік құлпы ашылады. Бұл бейнені дыбыспен ойнату мүмкін болмағандықтан, менің сөзімді қабылдауыңыз керек. Бейнені қайта ойнатып көрейік.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Ал, дыбыс шықты (аудармашының ескертпесі: экранда дыбысы бар сол бейне ойнатылады). Сонымен, сіз менің DS командасын қалай жібергенімді және дабылды қалай қосқанымды көрдіңіз, бәрі кілтсіз. Енді көлікті дәл осылай іске қосып көрейік, ол үшін келесі бейнені қараңыз.

Әдетте, егер сіз жай ғана «старт» деп теріп, қозғалтқышты іске қосуға тырыссаңыз, ол жұмыс істемейді. Себебі, бұл қолмен беріліс қорабы автомобиль және қашықтан іске қосу жүйелерінде мұндай машиналар үшін арнайы процедура бар. Бұл жағдайда кілт тұтануда және қозғалтқыш жұмыс істеп тұрған кезде қашықтан іске қосу түймесін басу керек. Содан кейін кілтті алып, көліктен түсіп, есікті жабуға болады, содан кейін DS қозғалтқышты өшіріп, есікті құлыптайды. Бұл көлік жүргізу кезінде қозғалтқышты қашықтан іске қосуға жауап бермеу үшін жасалады, себебі бұл қауіпті. Дегенмен, бұл толық қауіпсіздік мүмкіндігі емес. Мұны EVO қашықтан іске қосу құрылғысына қарап дәлелдеу өте оңай. Сіз қолмен беріліс қорабымен жұмыс істеуге арналған сары ілмекті сымды көресіз. Егер ол кесілген болса, бұл блокты автоматты беріліс қорабы бар автомобиль үшін пайдалануға болады. Қондырғының бұл дизайны әртүрлі беріліс түрлері бар автомобильдерге DS орнату кезінде ешқандай арнайы параметрлерді қолданбауға мүмкіндік береді.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Осылайша, жүйе «бастау» пәрменіне жауап бермеді, сондықтан мен бұл блокты орнына қайта қойып, қосылымды үзу үшін осы сымды кесіп тастаймын. Енді, егер сіз «бастау» пәрменін қайталасаңыз, кілтті құлыпқа салған кездегідей, дыбыстық сигнал естіледі және автомобиль жүйелерінің күй индикаторлары аспаптар тақтасында жанады.

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 1-бөлім

Қазіргі уақытта бізде оталдыру кілтінсіз қашықтан іске қосуға болатын көлік бар, бірақ DS модулі бізге қажет нәрсе емес. Қалыпты жағдайда сіз әлі де қашықтан іске қосылған көлікте кете алмайсыз, бірақ бәрібір тырысып көрейік.

Руль дөңгелегі құлпын өшіру үшін ешқандай транспондері жоқ тұтану құлпына кәдімгі кілтті енгізу керек. Көріп отырғаныңыздай, қозғалтқышты іске қоспас бұрын кілтті орнына жылжыту жеткілікті, ал Subaru Impreza рульі толығымен еркін айнала бастайды.

Алайда, егер сізде кілт болмаса, тежегіш педалін басқан кезде көлік тоқтап қалады. Бұл шектеуді айналып өту өте оңай. Автокөлік қашықтан стартерге тежегіш басылғанын қалай айтатынын анықтау керек. EVO модулі корпусының артқы жағында бірнеше түрлі түсті порттарды көресіз - CAN шинасының кабелі осында қосылады. Автокөлікті қашықтан іске қосқаннан кейін бұл кабельді DS құрылғысынан алып тастау жеткілікті және ол тежегіш педальды басуға жауап бермейді. Бұл блок руль бағанының қақпағының астында орналасқандықтан, мен ноутбук арқылы «бастау» командасын беремін, машина іске қосылады, мен есікті ашамын, көліктен түсемін және EVO блогынан CAN шина қосқышын алып тастаймын. Көріп отырғаныңыздай, машинаның қозғалтқышы жұмыс істейді, бірақ бізде әлі оталдыру кілті жоқ.

Енді тежегіш педалін бассаңыз, ештеңе болмайды, себебі EVO оның басылғанын білмейді. Осыдан кейін мен рульге отыра аламын, тежегішті басып, беріліс таяқшасын «Drive» күйіне ауыстырып, машина қозғала бастайды. Мұның бәрі ешқандай кілтсіз жасалады.

21:40

DEFCON конференциясы 27. Сіздің көлігіңіз – менің көлігім. 2-бөлім

Кейбір жарнамалар 🙂

Бізбен бірге болғандарыңызға рахмет. Сізге біздің мақалалар ұнайды ма? Қызықты мазмұнды көргіңіз келе ме? Тапсырыс беру немесе достарыңызға ұсыну арқылы бізге қолдау көрсетіңіз, әзірлеушілерге арналған бұлтты VPS $4.99, Сіз үшін біз ойлап тапқан бастапқы деңгейдегі серверлердің бірегей аналогы: VPS (KVM) E5-2697 v3 (6 ядросы) 10 ГБ DDR4 480 ГБ SSD 1 Гбит/с 19 доллардан немесе серверді қалай бөлісуге болатыны туралы барлық шындық? (RAID1 және RAID10, 24 ядроға дейін және 40 ГБ DDR4 дейін қол жетімді).

Dell R730xd Амстердамдағы Equinix Tier IV деректер орталығында 2 есе арзан ба? Тек осында 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 ГГц 14C 64 ГБ DDR4 4x960 ГБ SSD 1 Гбит/с 100 теледидар 199 доллардан бастап Нидерландыда! Dell R420 - 2x E5-2430 2.2 ГГц 6C 128 ГБ DDR3 2x960 ГБ SSD 1 Гбит/с 100 ТБ - 99 доллардан бастап! туралы оқыңыз Инфрақұрылымдық корпорацияны қалай құруға болады. бір тиынға 730 еуро тұратын Dell R5xd E2650-4 v9000 серверлерін қолданатын класс?

Ақпарат көзі: www.habr.com

пікір қалдыру