Ringkesan pidato:
Kanggo akeh kita, mobil minangka salah sawijining tuku paling larang sing bakal ditindakake. Ing donya sing kabeh wis disambungake, iku wajar yen pengin ngontrol mobil kita saka adoh: njaluk pangeling ing ngendi kita parkir, priksa manawa kita wis lali kanggo ngunci lawang, utawa saka mbatalake miwiti mesin kanggo preheat utawa adhem interior. gumantung ing wektu taun.
Ana akeh manufaktur sing nawakake sistem weker opsional sing nyedhiyakake penak lan katentreman atine. Nanging kepiye kita bisa dipercaya panyedhiya sistem kasebut kanggo nglindhungi akses menyang mobil kita ing domain digital? Ing pirembagan iki, Jmaxxz bakal ngomong babagan apa sing ditemokake nalika ndeleng salah sawijining sistem kasebut.
Jmaxxz dikenal amarga karyane karo sistem omah cerdas August Smart Lock (presentasi ing DEFCON 24 "Backdooring The Frontdoor"). Ing taun-taun pungkasan, dheweke fokus ing piranti IoT. Dheweke melu ing bagean "IoT village zero day" saka DEFCON 24 lan DEFCON 25 lan pungkasane mutusake manawa wektune kanggo njelajah produk pasar otomotif sekunder - wiwitan remot (sabanjure diarani RS).
Dadi, jenengku J-Max, aku dadi programmer kanthi profesi lan peretas kanthi profesi. Aku melu kabeh perkara sing gegandhengan karo kunci, lan ing obrolan iki sampeyan bakal krungu akeh pernyataan sing mung mratelakake panemume lan ora ana hubungane karo pendapat para majikanku, saiki lan mangsa ngarep. Kaya sing sampeyan ngerteni, kita bakal ngomong babagan mobil, yaiku babagan wiwitan remot lan sistem weker. Ayo miwiti karo sawetara latar mburi, sing penting ing konteks iki amarga akeh sing nganggep sistem kasebut minangka kemewahan sing ora perlu.
Dadi ing ngendi aku manggon cukup adhem lan kancaku nandhang penyakit sing diarani sindrom Raynaud. Kadhemen nyebabake spasme pembuluh getih ing tangan, aliran getih menyang driji suda banget, lan tandha-tandha frostbite katon, kalebu nekrosis jaringan. Slide nuduhake apa sing biasane katon.
Nopember kepungkur, aku isih durung mutusake apa sing bakal dakwenehake kanggo Natal. Mula dheweke bali saka bandara kanthi gela amarga mobile ora nate panas nalika mulih. Ing wayahe, aku nyadari yen aku bakal menehi sistem wiwitan mesin remot lan wiwit golek pilihan sing paling apik. Pranyata pasar starter remot cukup gedhe, kanthi akeh manufaktur ora nyedhiyakake informasi sing cukup babagan produke.
Dheweke ora ngandhani carane nginstal sistem utawa alat apa sing digunakake kanggo program piranti kasebut. Iki minangka masalah kanggo aku amarga iki mobilku, wiwitan remot, lan aku kudu duwe akses menyang alat kasebut. Dadi aku nggolèki sethitik liyane lan nemokake perusahaan saka Kanada, Fortin, sing mrodhuksi wiwitan kuwi lan willingly nyedhiyani kabeh dokumentasi perlu. Aku mapan ing produk iki lan wiwit nggoleki remot kontrol cocok. Kasunyatane, yen sampeyan nggunakake remot kontrol standar kanthi wiwitan remot, mula sawetara tumindak bakal diwatesi ing sawetara remot kontrol standar. Remote aftermarket ditawakake sing makarya ing jarak setengah mil nganti setengah mil. Miturut ulasan konsumen, iki minangka stunt publisitas, amarga ing kasunyatan, jarak kasebut luwih cendhek. Iki masalah, amarga kancaku kudu miwiti mesin mobil ing parkir bandara pas dheweke mudhun saka pesawat, kang watara setengah kilometer.
Dadi bakal apik yen dheweke mung bisa narik telpon, mbukak app, banjur pencet Mulai. Aku nemokake produk pihak katelu sing diarani MyCar sing kompatibel karo wiwitan Fortin. Iki fob tombol cilik karo kertu SIM lan panrima GPS sing bisa dilebokake ing mobil lan nyambung menyang wiwitan remot. Banjur, nggunakake aplikasi seluler, sampeyan bisa miwiti mesin saka jarak jauh, mbukak kunci, lan liya-liyane.
Aku panginten iki bakal apik banget: pas pesawat ndharat, kancaku bisa miwiti mesin, lan nalika dheweke tekan mobil, kabin wis dadi anget.
Dadi ayo ngomong sethithik babagan cara kerja wiwitan remot. Kanggo nindakake iki, sampeyan kudu ngerti carane miwiti engine mobil. Nganti kira-kira pertengahan nineties, wiwitan mobil minangka kunci mekanik tradisional ing kombinasi tombol-switch. Sampeyan kudu nglebokake tombol lan nguripake kanggo ngrampungake sirkuit listrik. Banjur kunci kanthi label "immobilizer" dadi populer ing Amerika Serikat. Iku muni rumit, nanging mung kunci elektronik. Dadi, sampeyan duwe kunci mekanik, yaiku kunci kunci elektronik, sing, minangka transponder lan ngemot sawetara informasi sing bisa diwaca. Lan nganti sampeyan mbukak kunci elektronik, mobil sampeyan ora bakal miwiti. Ing sisih tengen geser sampeyan ndeleng 2 tombol: sing kiwa kanggo immobilizer, lan sing tengen kanggo switch kontak biasa. Iku mung operate komponen mechanical saka kunci, nalika tombol kiwa mbukak kunci elektronik, kang bakal miwiti engine mobil.
Yagene aku ngomong babagan iki? Wiwitan remot dianggo liwat immobilizer. Ing slide sabanjure sampeyan ndeleng diagram nyambungake piranti Fortin EVO One menyang immobilizer - ing sisih kiwa ngisor sampeyan ndeleng pasangan kontak sing ditunjuk minangka IMO. Ing sisih tengen ndhuwur diagram sampeyan ndeleng rong garis: CAN LOW lan CAN HIGH. Iki minangka kontak kanggo nyambungake menyang bis CAN otomotif. Alesan ngapa wiwitan remot disambungake menyang bis CAN kanggo nyuda biaya instalasi amarga kurang sambungan digunakake nalika instalasi. Yen wiwitan remot bisa maca data saka bis CAN utawa ngirim printah liwat bis CAN, iki nyuda wektu instalasi kanggo sistem wiwitan engine remot.
Ing sisih kiwa ndhuwur diagram ana akeh GPIO sing digandhengake karo kontrol utawa maca informasi babagan mesin. Contone, sampeyan pengin lampu sumunar utawa klakson muni nalika sampeyan menet tombol kunci. Bab kaya iki bisa dikontrol nggunakake GPIO iki. Ing sisih kiwa ngisor saka diagram sampeyan bisa ndeleng gedhe, konektor clunky - iki antarmuka sing bypasses kunci mechanical. Tegese, sampeyan ora kudu nglebokake lan nguripake tombol menyang kontak amarga antarmuka iki ngidini relay sistem wiwitan remot kanggo komunikasi langsung karo kunci listrik.
Slide ing ngisor iki nuduhake tahapan nginstal starter remot. Iku utamané kasusun saka njabut tutup kolom setir, nginstal lan nyambungake unit DS. Katon cukup medeni, nanging gampang ditindakake.
Kontrol remot dhewe nyambung menyang apa sing diarani Fortin minangka link data. Sistem kasebut nggunakake protokol transfer data fisik kepemilikan UART - pemancar asinkron universal sing ngganti data kanthi kecepatan 9600 baud. Starter remot Fortin mung nyambung liwat bis UART menyang rong remot kontrol sing sampeyan deleng ing geser.
Sawise nginstal DS, aku mikir babagan carane piranti kasebut bisa mengaruhi safety mobil. Temenan, DS kudu ngliwati immobilizer, dadi kepiye aman babagan kemungkinan nyolong utawa nyegat kontrol mobil? Iki ditrapake ora mung kanggo transmisi data liwat jaringan seluler, nanging uga kanggo sinyal wiwitan remot dhewe. Dadi aku miwiti nggoleki Internet kanggo informasi pabrikan babagan protokol transfer data sing digunakake lan rampung ing forum ing ngendi wong nulis yen Fortin ora gelem nyedhiyakake protokol iki. Salah sawijining alasan: "Kita ora nyebarake informasi kasebut amarga EVO dudu dolanan kanggo para amatir, tujuane digunakake dening para profesional.
Dadi soko profesional, Aku mutusaké kanggo mbangun mesin dhewe ing desktop. Aku entuk unit sistem EVO kapindho, nglumpuk papan sirkuit sing diwakili mobil, ditambahaké ngalih kanggo simulasi kontak, tombol kanggo pedal brake, lan kabèh Bunch saka LED kanggo nuduhake macem-macem negara.
Nggabungake kabeh iki, aku nyambungake piranti pemantauan link data FTI lan wiwit ngumpulake data iki. Kaping pisanan katon kaya slide, lan ora jelas apa sing kedadeyan ing kene. Nanging yen sampeyan ndeleng kanthi tliti, sampeyan bisa ujar manawa ana sawetara jinis struktur ing kene.
Wigati dimangerteni manawa aku menet tombol ing remot kontrol, pesen sing dikirim antena menyang DS tansah diwiwiti karo 0C lan diakhiri karo 0D. Dadi yen kita mung dibagi apa kita entuk, assuming 0C punika wiwitan lan 0D punika pungkasan, kita bakal mungkasi karo kaya iki.
Wis ana sawetara struktur sing katon jelas ing kene, supaya sampeyan bisa ngerteni apa sing kedadeyan. Kanthi mbuwang wektu kanggo nelusuri pesen apa sing katon sawise tombol tartamtu dipencet, aku bisa nggawe tabel printah, saben sing cocog karo tumindak tartamtu. Yaiku, nalika sampeyan menet tombol ing remot kontrol, antena ngirim printah menyang modul wiwitan remot sing katon kaya iki.
Iki minangka struktur tim sing khas.
Nalika sampeyan menet tombol ing remot kontrol, antena ngirim printah kuwi kanggo wiwitan remot. Iki awakened dening bait 0C, ngiring dening 2 bait, kang aku makili arah transmisi. Iki menarik amarga UART wis duwe arah sinyal, mula aku nandhani bait kasebut minangka "sampah", mung dianggep minangka konstanta. Iki diterusake dening siji byte sing nuduhake printah sing pengin dieksekusi pangguna. Iki bisa uga ngunci lawang utawa mbukak, mateni weker, lsp. Umumé, kabeh sing pengin ditindakake saka jarak jauh digandhengake karo printah iki. Payload FF FF F1 minangka alamat, utawa pengenal, sing ngenali antena remot saka ngendi pesen kasebut teka. Yen unit DS ora ngenali pengenal, printah digatèkaké. Yen DS nampa pengenal, miwiti prosedur multi-langkah, kang kalebu mriksa anané tombol ing kontak, nguripake utawa mateni engine, mencet pedal rem, etc. Nyatane, proses iki ora pati penting, mung piranti kasebut sinau ID saiki.
Ing pungkasan pesen ana bait karo checksum lan bait nuduhake mburi printah. Saiki kita ngerti cara kerja protokol, apa sing bisa ditindakake? Aku duwe sawetara video babagan topik kasebut. Sayange, sakperangan alesan video kasebut tanpa swara, mula aku bakal ngandhani apa sing kedadeyan ing layar. Ing sisih kiwa kolom setir ing omah panel instrumen ana kothak putih sing ngemot elektronik karo perangkat kukuh Particle.IO sing ngerti protokol Fortin. Kabel kanthi ujung biru yaiku antena. Bab iki ngidini aku sesambungan karo unit wiwitan remot saka njero mobil lan ndeleng apa sing kedadeyan ing layar laptop.
Dadi aku ngirim perintah mbukak kunci menyang mobil nanging ora bisa amarga DS ora ngerti babagan antena iki. Kaya sing wis dakcritakake, iki mung UART, properti kasebut ndhukung komunikasi loro-lorone, amarga sampeyan bisa mbatalake informasi babagan status mobil. Contone, yen mesin fisik diwiwiti utawa mandheg, unit DS bakal ngirim pesen sing cocog menyang antena remot kontrol. Ing kasus iki, pesen bakal ngemot alamat antena banget iki.
Masalahe yaiku komunikasi ditindakake kanthi nggunakake protokol UART, lan sapa wae sing nyambung menyang bis UART bisa ndeleng alamat ing ngendi pesen dikirim, mula perangkat kukuhku duwe kemampuan kanggo kloning alamat antena sing wis ana, sing dakkarepake. kanthi prentah sing cocog.
Kanggo ngasilake pesen, sampeyan mung kudu mbukak lawang mobil. Nalika sampeyan bisa ndeleng, DS ngirim pesen menyang antena sing lawang mbukak, lan weker langsung nguripake.
Kanggo mateni weker, aku ngirim perintah "bukak kunci", sawise swara weker dipateni lan mobil ora dikunci. Sampeyan kudu njupuk tembungku, amarga kita ora bisa muter video iki kanthi swara. Ayo coba muter video maneh.
Inggih, swara muncul (cathetan penerjemah: video sing padha karo swara diputer ing layar). Dadi, sampeyan ndeleng carane aku ngirim printah DS lan nguripake weker, kabeh tanpa tombol. Saiki ayo nyoba miwiti mobil kanthi cara sing padha; kanggo nindakake iki, nonton video ing ngisor iki.
Biasane, yen sampeyan mung ngetik "wiwitan" lan nyoba miwiti mesin, iku ora bisa. Alesane yaiku mobil transmisi manual lan sistem starter remot duwe prosedur khusus kanggo mobil kasebut. Ing kasus iki, sampeyan kudu menet tombol wiwitan remot nalika tombol ing kontak lan mesin mlaku. Banjur sampeyan bisa njupuk kunci, metu saka mobil, nutup lawang, sawise DS bakal mateni mesin lan ngunci lawang. Iki rampung kanggo nyegah mobil saka nanggepi wiwitan engine remot nalika nyopir, amarga iki mbebayani. Nanging, iki dudu fitur keamanan sing lengkap. Iki cukup gampang kanggo mbuktekake kanthi ndeleng unit wiwitan remot EVO. Sampeyan ndeleng kabel loop kuning iki sing dirancang kanggo bisa nganggo transmisi manual. Yen dipotong, blok iki bisa digunakake kanggo mobil kanthi transmisi otomatis. Desain unit iki ngidini sampeyan ora nggunakake setelan khusus nalika nginstal DS ing mobil karo macem-macem jinis transmisi.
Dadi sistem ora nanggepi printah "miwiti", aku bakal sijine pemblokiran iki maneh ing Panggonan lan mung Cut kabel iki kanggo break sambungan. Saiki, yen sampeyan ngulang printah "miwiti", sinyal swara bakal muni lan indikator status sistem mobil bakal murup ing panel instrumen, kaya sing kedadeyan nalika kunci dilebokake ing kunci.
Ing wayahe kita duwe mobil sing kita bisa miwiti mbatalake tanpa tombol ing kontak, nanging modul DS ora kabeh kita kudu. Ing kahanan normal, sampeyan isih ora bisa nyopir ing mobil sing diwiwiti saka jarak jauh, nanging ayo nyoba.
Kanggo mateni kunci setir, sampeyan kudu nglebokake tombol reguler menyang kunci kontak, sing ora duwe transponder. Nalika sampeyan bisa ndeleng, iku cukup kanggo mindhah tombol kanggo posisi sadurunge miwiti engine, lan setir Subaru Impreza wiwit muter kanthi bebas.
Nanging, yen sampeyan ora duwe kunci, banjur nalika sampeyan mencet pedal rem mobil bakal mandheg. Cukup gampang kanggo ngatasi watesan iki. Sampeyan kudu ngerti carane mobil ngandhani wiwitan remot sing rem wis Applied. Sampeyan ndeleng sawetara port multi-warna ing mburi omah modul EVO - kabel saka bis CAN bakal disambungake ing kene. Cukup mbusak kabel iki saka unit DS sawise mobil diwiwiti kanthi jarak jauh, lan ora bakal nanggapi kanthi mencet pedal rem. Wiwit unit iki dumunung ing tutup kolom setir, Aku menehi printah "wiwitan" liwat laptop, mobil diwiwiti, mbukak lawang, metu saka mobil lan mbusak konektor bis CAN saka unit EVO. Nalika sampeyan bisa ndeleng, mesin mobil mlaku, nanging kita isih ora duwe kunci kontak.
Saiki yen sampeyan menet pedal rem ora bakal kelakon amarga EVO ora ngerti yen ditekan. Sawisé iku, aku bisa njaluk konco setir, pencet rem, mindhah kelet pindah menyang posisi "Drive", lan mobil wiwit obah. Kabeh iki rampung tanpa tombol.
21:40
Sawetara iklan 🙂
Matur nuwun kanggo tetep karo kita. Apa sampeyan seneng karo artikel kita? Pengin ndeleng konten sing luwih menarik? Ndhukung kita kanthi nggawe pesenan utawa menehi rekomendasi menyang kanca,
Dell R730xd 2 kaping luwih murah ing pusat data Equinix Tier IV ing Amsterdam? Mung kene
Source: www.habr.com