- Firmware kustom Flipper Zero baru-baru ini terbukti sepenuhnya menonaktifkan keamanan rolling code pada mobil
- Berbeda dari pendekatan RollJam yang sebelumnya, serangan ini memungkinkan duplikasi semua fungsi tombol hanya dengan menangkap satu sinyal tombol
- Metode yang digunakan memanfaatkan rekayasa balik urutan atau teknik bruteforce dari daftar kode yang sangat besar
- Firmware ini beroperasi berdasarkan prinsip serangan RollBack yang dipublikasikan dalam makalah terbaru
- Kendaraan dari beberapa produsen, termasuk Chrysler, Ford, Hyundai, dan lain-lain menjadi sasaran, serta tidak ada solusi sederhana
Kerentanan keamanan rolling code lewat Flipper Zero
Firmware kustom yang diterapkan pada Flipper Zero baru-baru ini didemonstrasikan di kanal YouTube Talking Sasquach sebagai melewati sistem keamanan rolling code yang digunakan pada kunci remote mobil.
Keamanan rolling code dan metode serangan sebelumnya
- Sistem rolling code menghasilkan kode satu kali pakai baru setiap saat dengan algoritme yang disinkronkan antara pemancar (kunci) dan penerima (mobil)
- Mekanisme ini diadopsi untuk mencegah serangan replay dan akses tidak sah
- Dulu ada metode serangan RollJam, yang menangkap dan menyalahgunakan kembali sinyal dengan cara jam sinyal kendaraan, tetapi sulit diterapkan secara praktis
Metode serangan baru
- Serangan ini memungkinkan replikasi semua fungsi seperti mengunci, membuka kunci, dan membuka bagasi hanya dari satu sinyal tombol
- Metode ini cukup menggunakan Flipper Zero tanpa gangguan sinyal tambahan atau peralatan ekstra
- Begitu sinyal kunci ditangkap, kunci remote asli akan kehilangan sinkronisasi dan tidak lagi dapat digunakan
Mekanisme serangan
- Penyerang melakukan rekayasa balik pola rolling code melalui kebocoran urutan atau bruteforce menggunakan daftar urutan yang besar
- Beberapa ahli menganalisis bahwa firmware ini mengadopsi teori serangan RollBack dari makalah terbaru
- RollBack bekerja dengan memainkan kembali kode rolling yang tertangkap dalam urutan tertentu untuk membalikkan sistem sinkronisasi
Dampak dan status respons
- Pada rekaman demo, terlihat remote key sepenuhnya dapat diemulasi hanya dengan satu kali perekaman
- Produsen yang terdampak termasuk Chrysler, Dodge, Fiat, Ford, Hyundai, Jeep, Kia, Mitsubishi, Subaru, dan sebagainya
- Saat ini tidak ada patch perangkat lunak atau perbaikan sederhana yang dapat diterapkan; sebagai alternatif ekstrem, recall massal kendaraan juga belum ada solusi yang langsung bisa diterapkan
2 komentar
Mereka mengklaim dengan istilah provokatif seperti "firmware darkweb", padahal yang dilakukan hanyalah mengaktifkan sensor yang ada di perangkat itu.
Flipper Zero bukanlah perangkat kriminal profesional, lebih mirip mainan dengan kumpulan sensor dan OS yang ramah pengguna. Jadi, tidak ada yang dapat dibanggakan kalau sekadar bisa ditembus karena itu.
Keamanan yang bisa ditembus sampai level ini sama saja seperti berjalan-jalan dengan pintu dibiarkan terbuka. Siapa pun juga bisa membeli beberapa sensor melalui jalur legal di internet dan melakukan hal yang sama, bahkan tanpa Flipper Zero.
Komentar Hacker News
Banyak sistem kunci rolling yang beredar saat ini berbasis KeyLoq, begitu dia bilang. KeeLoq memang cukup dirancang dengan baik, tapi punya celah besar. Ada yang disebut manufacturer key, dan semua perangkat yang mendukung pair langsung remote membutuhkan kunci ini. Kalau kunci manufaktur ini bocor, cukup dengan sekitar dua sampel tantangan-sampel saja pada verifikator, sequence key juga bisa ditebak. Tanpa kunci manufaktur, serangan stop-and-replay (replay) mungkin dilakukan, tapi menembus sequence key dengan brute-force itu nyaris mustahil. Tapi karena receiver yang mendukung programming di lokasi wajib punya kunci manufaktur “ajaib” ini, siapa pun yang membeli perangkat seperti itu kemungkinan bisa mengekstraknya.
Dia juga bilang sistemnya sebenarnya bisa didesain memakai kunci acak unik per receiver, bukan master key tetap, jadi pairing hanya bisa terjadi lewat koneksi fisik langsung ke receiver (bagian terkunci di dalam mobil). Sistem universal seperti ini sepertinya tidak akan diadopsi karena bertentangan dengan kendali pabrikan atas pasar servis dan after-market.
Benar. Algoritma KeeLoq sendiri sudah tidak aman lagi, tapi Microchip sekarang beralih ke AES. KeeLoq juga banyak dipakai bukan cuma di mobil, tapi juga remote pintu garasi. Beberapa receiver KeeLoq punya mode "learn"; kalau sinyal dari transmitter KeeLoq dengan manufacturer key yang sama masuk, receiver akan mendaftarkannya. Mode learn bisa diaktifkan lewat tombol di PCB atau via transmitter “master”. https://en.wikipedia.org/wiki/KeeLoq
Aku nggak paham kenapa publikasi di “dark web” dianggap masalah. Mungkin bisa masuk ke pasal 18 USC 1029/30 di AS, tapi isinya bisa dipakai di seluruh internet. Aku penasaran kenapa isu terkait dark web selalu jadi politisasi dan trik pemburu klik. Pada akhirnya ya internet juga.
Karena si hacker memang menjual firmware itu di marketplace dark web seharga 1000 dolar. Kali ini memang benar-benar dijual di dark web.
Diduga pembuat firmware mengunggahnya ke forum berbasis onion (=dark web) dengan niat menargetkan pencurian mobil.
Ini seperti mengganti kata “internet” dengan “newspeak” untuk menyebut internet yang lebih menekankan sensor ala Inggris/China.
Karena alasan-alasan itu, aku rasa fitur “keyless start button” di mobil itu kurang bagus. Seperti sistem lama, lebih aman kalau key fob dipakai hanya untuk membuka pintu, sedangkan menyalakan mesin tetap pakai kunci sungguhan. Lebih baik kalau ada beberapa lapisan keamanan. Waktu aku pernah kerja di industri keamanan otomotif, aku sadar produsen mobil sebenarnya tidak terlalu bersemangat mencegah mobil milik pelanggan mereka dicuri. Kalau klaim asuransi dibayar, mereka justru bisa jual mobil baru lebih banyak.
Seingatku, algoritma rolling code tidak dipakai di push-button start, hanya di fitur key fob. Terutama di Eropa karena regulasi immobilizer, dan di wilayah lain juga begitu. Umumnya fitur key fob jarak jauh dan fungsi start yang cuma bisa dipakai saat dekat dipisahkan untuk keamanan. Merek Eropa tampaknya punya enkripsi kunci yang lebih kuat secara umum, kemungkinan karena faktor gabungan regulasi dari industri asuransi, tingkat pencurian yang lebih tinggi, dan lain-lain.
Kalau lihat premi model tertentu yang naik gila-gilaan, konsumen yang pilih brand seperti Hyundai harus siap bayar asuransi super mahal. Kerusakan citra seperti ini jelas tidak murah.
Mungkin agak pedas, tapi menurutku istilah yang lebih pas itu “keamanan” ketimbang “aman”. Justru kalau penjahat gampang banget mencuri mobil yang diparkir, secara sosial kita jadi lebih aman secara umum. Karena itu kemungkinan tindakan mengancam pengemudi secara paksa dan merebut mobil akan berkurang. Kalau memang mau benar-benar amanin mobil sendiri, cara terbaik adalah pakai mobil lama dengan barang-barang yang sudah terdepresiasi. Mobilku pun sudah tua dan berkarat, tapi di dalamnya isinya cuma sampah.
Kalau soal “produsen mobil suka dengan pencurian mobil”, Hyundai dan Kia juga seharusnya ngomong satu kata.
Untuk DIY jelas ada cara menambah keamanan mirip MFA (autentikasi multi-faktor) dengan pasang switch atau relay sederhana. Tapi ini nggak membantu masalah desinkronisasi (desync) atau isu unlock.
Videonya cuma banyak omong dan minim substansi yang bisa diverifikasi, jadi susah menilai. Dari materi yang ditampilkan saja, kelihatan cuma versi yang dibungkus dengan rapi dari kelemahan rolling code lama. https://github.com/jamisonderek/flipper-zero-tutorials/tree/main/subghz/apps/rolling-flaws
Aku membayangkan kalau sinyal komunikasi mobil itu (a) bukan broadcast, atau (b) tidak berbentuk sinyal yang bisa didengar manusia, maka masalah keamanan seperti ini pasti jauh lebih sedikit. Misalnya, kalau pegangan pintu punya kontak listrik, akan jauh lebih susah bagi orang luar untuk menyadap atau menyuntik sinyal. Kalau sinyalnya audible, langsung ketahuan siapa yang ngejamming. Dalam praktiknya, aku lihat pemakaian key fob dari jauh paling sering untuk fungsi “lock”, dan untuk “unlock” rasanya risikonya tidak sebesar itu.
Dia bilang kalau sinyal audible maka saat jamming langsung ketahuan si pelaku, dan ini sepertinya bakal populer di Asia Timur. Di sana terlalu banyak notifikasi suara. Rice cooker aja mengeluarkan nada, zebra cross juga bersuara lagu, truk sampah pun putar melodi. Jepang adalah negeri yang penuh bunyi peringatan.
Ia bilang “lock” saja dipakai dari jauh, sedangkan “unlock” tidak. Tapi kalau lock dan unlock pakai rolling key yang sama, tingkat risikonya sama. Kalau manufaktur mobil pake rolling key berbeda untuk lock dan unlock, itu malah lebih mengejutkan.
Ini situasi di mana politisi yang kurang paham bakal mencoba melarang Flipper Zero. Aku rasa mereka nggak akan mau mengakui kenyataan bahwa key fob mobil itu memang rentan.
Aku baca artikel yang bilang, “serangan ini bisa mengklon semua fungsi key fob setelah menangkap sinyal satu kali tombol saja, tanpa jamming”, jadi aku jadi penasaran apakah aman kalau aku nggak pernah tekan tombol key fob. Cara pakai aku sendiri cuma ketika tombol di handle pintu ditekan saat kunci ada di dekatnya, lalu pintu terkunci/dibuka.
Kalau kunci mobil disimpan dekat mobil, misalnya di dekat pintu rumah, karena kunci terus memancarkan sinyal, pelaku bisa merelay sinyal itu untuk menekan tombol handle mobil. Akhirnya mobil bisa dibuka tanpa kunci asli.
Sejauh yang aku tahu, saat buka pintu atau nyalakan mesin memakai kunci fisik atau metode serupa, masih ada mekanisme challenge/response. Alarm anti maling dan immobilizer tetap memeriksa apakah kunci itu asli atau sudah diretas. Aku tidak tahu detail serangan di artikel itu, tapi aku rasa jalur itu juga mungkin ditembus.
Pertanyaan menarik. Kalau fitur itu tidak pakai NFC atau protokol khusus lain, aku perkirakan tetap rentan.
Artikel juga menyinggung kalau karena karakteristik rolling code, key fob bisa berhenti jalan kalau sinkronnya keganggu. Aku penasaran apakah itu bisa di-reset sendiri oleh pengguna atau cuma bisa di bengkel.
Kalau serangannya, kemungkinan ancaman nyata bukan pencurian mobil, tapi ada orang nangkep sinyal di parkiran lalu melakukan serangan sehingga pemilik dipaksa ditarik dan diprogram ulang, padahal mobilnya sendiri belum tentu dicuri.
Di mobil yang pernah aku pakai, meski remote mati total, aku tetap bisa buka dan jalan pakai kunci fisik. Aku penasaran, mobil mana yang kalau remotenya mati, cuma solusinya memang towing.
Serangan seperti ini juga bisa jadi skenario pencurian barang berharga yang tersimpan di mobil.
Penjahat bisa merekam sinyal lock saat kamu masuk toko, lalu mencuri mobil saat kamu masih di dalam.
Skenario yang lebih kejam adalah ini bisa dipakai mencegah korban memakai mobil sebagai tempat berlindung dalam situasi darurat (upaya pembunuhan, penculikan, dan lain-lain).
Aku penasaran kenapa mobil belum pakai kriptografi kunci publik. Apakah ini terlalu berat untuk dipakai di key fob?