Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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).

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

Iki minangka struktur tim sing khas.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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.

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 1

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

Konferensi DEFCON 27. Mobil sampeyan mobilku. Bagean 2

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, cloud VPS kanggo pangembang saka $4.99, analog unik saka server level entri, sing diciptakake kanggo sampeyan: Bebener kabeh babagan VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps saka $ 19 utawa carane nuduhake server? (kasedhiya karo RAID1 lan RAID10, munggah 24 intine lan nganti 40GB DDR4).

Dell R730xd 2 kaping luwih murah ing pusat data Equinix Tier IV ing Amsterdam? Mung kene 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV saka $199 ing Walanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - saka $99! Maca babagan Carane mbangun infrastruktur corp. kelas karo nggunakake Dell R730xd E5-2650 v4 server worth 9000 euro kanggo Penny?

Source: www.habr.com

Add a comment