- Pada 11 Juni 2024, ditemukan kerentanan pada kendaraan Kia yang memungkinkan fungsi-fungsi utama mobil dikendalikan dari jarak jauh hanya dengan nomor pelat
- Penyerang dapat diam-diam memperoleh informasi pribadi korban seperti nama, nomor telepon, alamat email, dan alamat fisik
- Dengan memanfaatkan kerentanan ini, penyerang dapat menambahkan dirinya sebagai pengguna kedua yang tidak terlihat pada kendaraan tanpa sepengetahuan pemilik
- Untuk menunjukkan dampak kerentanan ini, dibuat alat demo, tetapi tidak pernah dirilis atau disalahgunakan di dunia nyata
- Kerentanan ini kemudian telah diperbaiki, alat tersebut tidak dirilis, dan tim Kia mengonfirmasi bahwa kerentanan ini tidak pernah dieksploitasi secara jahat
Kendaraan yang terdampak
- Berbagai model Kia dari tahun 2014 hingga 2025 terdampak
- Bergantung pada modelnya, fungsi seperti kunci/buka kunci jarak jauh, nyalakan/matikan mesin jarak jauh, klakson/lampu jarak jauh, dan kamera jarak jauh dapat dilakukan
Detail kerentanan
Sekitar 2 tahun lalu, kami menemukan kerentanan keamanan pada lebih dari 12 produsen mobil. Kami menemukan masalah kritis yang memungkinkan pelacakan lokasi, mematikan mesin, membuka kunci, dan menyalakan mesin dari jarak jauh pada lebih dari 15 juta kendaraan - Paul Roberts
- Setelah cukup lama berlalu, kami memutuskan untuk kembali meninjau situs para produsen tempat kami sebelumnya menemukan kerentanan
- Situs owners Kia dan aplikasi selulernya menarik karena dapat mengirim perintah kontrol kendaraan melalui internet
- Situs web meneruskan perintah ke API backend melalui server proksi, sementara aplikasi mengakses API secara langsung
- Contoh permintaan HTTP saat mengirim permintaan buka kunci pintu dari situs owners:
POST /apps/services/owners/apigwServlet.html HTTP/2 Host: owners.kia.com Httpmethod: GET Apiurl: /door/unlock Servicetype: postLoginCustomer Cookie: JSESSIONID=SESSION_TOKEN; - Server menggunakan
JSESSIONIDuntuk membuat ID sesiSid, lalu meneruskannya ke API backend seperti berikut:GET /apigw/v1/rems/door/unlock HTTP/1.1 Host: api.owners.kia.com Sid: 454817d4-b228-4103-a26f-884e362e8dee Vinkey: 3ecc1a19-aefd-4188-a7fe-1723e1663d6e Sidadalah token sesi, danVinkeyadalah UUID yang dipetakan ke nomor rangka kendaraan (VIN)
Kerentanan infrastruktur dealer
- Kami juga memutuskan untuk meninjau situs dealer Kia karena kami penasaran bagaimana Kia menangani informasi pelanggan saat membeli mobil baru
- Ditemukan URL pada email yang dikirim kepada pelanggan untuk pendaftaran kendaraan baru di situs dealer:
https://kiaconnect.kdealer.com/content/kDealer/… - Domain
kiaconnect.kdealer.comyang belum pernah kami lihat sebelumnya terasa menarik - Pada URL di atas, parameter
tokenadalah kunci VIN, yakni token akses sekali pakai yang dibuat dealer. Token ini dapat memodifikasi kendaraan yang ditentukan oleh parametervin - Saat URL dimuat, terkirim permintaan HTTP untuk memverifikasi validitas token:
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1 Host: kiaconnect.kdealer.com { "token": "985a49f0-1fe5-4d36-860e-d9b93272072b", "vin": "5XYP3DHC9NG310533", "scenarioType": 3, "loginPref": null } - Menarik bahwa URI permintaan pada situs dealer adalah
/apps/services/kdealer/apigwServlet.html, serupa dengan situs owners - Kami memperkirakan ada proksi yang meneruskan permintaan ke API internal khusus dealer
- Setelah meninjau kode JavaScript, terlihat ada pemanggilan API untuk fitur khusus staf seperti pencarian kendaraan dealer, pencarian akun, pendaftaran, pembatalan, dan sebagainya
- Kami mencoba mengakses endpoint API dengan VIN kendaraan yang kami miliki sendiri, tetapi menerima galat 401 Unauthorized. Dengan token dealer saja, itu tidak bekerja
Mengakses API dealer dengan akun biasa
- Karena itu, kami memutuskan mendaftar ke situs dealer dengan akun biasa, membuat token akses, lalu mencoba mengakses API dengannya. Alasannya, format situs owners dan API tampak serupa
- Saat kami mencoba mendaftarkan pengguna di situs dealer dengan cara yang sama seperti di situs owners, ternyata berhasil!
- Setelah login dan memperoleh token akses, kami memanggil API pencarian VIN yang sebelumnya tidak dapat diakses, dan responsnya berisi nama, nomor telepon, dan email pemilik kendaraan
- Ini berarti dengan mengautentikasi akun biasa yang kami buat ke portal dealer dan menggunakan header kanal yang dimodifikasi, kami dapat mengakses semua API khusus dealer
Akses kendaraan tanpa izin
- Setelah menganalisis kode JavaScript selama beberapa jam, kami memahami cara kerja endpoint pendaftaran, pembatalan, dan modifikasi kendaraan
- Empat langkah berikut memungkinkan akses ke kendaraan korban:
- Membuat token dealer dan mengekstrak nilai "token" dari header respons HTTP
- Mengetahui email dan nomor telepon korban
- Mengubah hak akses pemilik lama menggunakan email yang bocor dan VIN
- Menambahkan penyerang sebagai pemilik baru kendaraan
- Dari sudut pandang korban, tidak ada notifikasi bahwa seseorang telah mengakses kendaraannya atau bahwa hak aksesnya telah diubah
- Penyerang dapat mengetahui VIN dari nomor pelat seseorang, lalu secara diam-diam melacak korban melalui API dan mengirim perintah seperti membuka pintu, menyalakan mesin, dan membunyikan klakson
Pembuatan dashboard proof-of-concept
- Untuk menunjukkan tingkat keparahan kerentanan ini, kami membuat dashboard proof-of-concept yang memungkinkan penyerang (1) memasukkan nomor pelat kendaraan Kia, (2) mengambil informasi pribadi pemilik, lalu (3) menjalankan perintah kontrol kendaraan
- Pada halaman "Exploit", dilakukan percobaan akses kendaraan tanpa izin, dan pada halaman "Garage" dapat diberikan perintah serta dilakukan pelacakan lokasi
- Pengujian dilakukan pada mobil Kia sewaan yang terkunci, dan pada video di bagian paling atas blog terlihat bagaimana kendaraan diretas dengan ponsel lalu dilakukan buka/tutup kunci jarak jauh, menyalakan/mematikan mesin, membunyikan klakson, melacak lokasi, dan sebagainya
Kesimpulan
- Seperti halnya Meta bisa secara tidak sengaja membuat perubahan kode selama proses pengembangan yang memungkinkan seseorang mengambil alih akun Facebook Anda, produsen mobil juga bisa menciptakan kerentanan serupa pada kendaraan Anda
- Kerentanan pada mobil akan terus ditemukan di masa depan
Linimasa
- 06/07/24 16:40 UTC - Menanyakan ke tim Kia cara melaporkan kerentanan
- 06/10/24 13:21 UTC - Menerima balasan dari tim Kia
- 06/11/24 22:41 UTC - Melaporkan kerentanan
- 06/12/24 18:20 UTC - Mengirim email pengingat tiket karena tingkat keparahannya
- 06/14/24 18:00 UTC - Tim Kia membalas bahwa mereka sedang menyelidiki
- 06/18/24 16:41 UTC - Mengirim email pengingat tiket dan tangkapan layar alat karena tingkat keparahannya
- 06/20/24 02:54 UTC - Mengirim email pengingat tiket dan tangkapan layar yang menunjukkan akses melalui input nomor pelat
- 08/12/24 12:30 UTC - Meminta pembaruan melalui email pengingat tiket
- 08/14/24 17:41 UTC - Tim Kia membalas bahwa kerentanan telah diperbaiki dan sedang diuji
- 09/26/24 08:15 UTC - Setelah memastikan perbaikannya, dipublikasikan ke publik
Opini GN⁺
- Ini adalah contoh mengejutkan yang menunjukkan bahwa peretasan mobil sudah menjadi kenyataan. Seiring makin banyaknya connected car, masalah kerentanan seperti ini akan menjadi semakin serius
- Insiden ini dengan jelas menunjukkan kurangnya kesadaran keamanan dan desain sistem yang lemah dari produsen mobil. Penerapan secure software development lifecycle (SSDLC) seperti pengelolaan kerentanan perangkat lunak dan code review tampak mendesak
- Teknologi kendali kendaraan jarak jauh memang meningkatkan kenyamanan, tetapi sekaligus memperluas permukaan serangan. Menjaga keseimbangan antara teknologi, keamanan, dan privasi akan menjadi hal penting
- Insiden ini juga menyoroti masalah pada skema autentikasi berbasis informasi pribadi. Fakta bahwa kendaraan bisa diambil alih hanya dengan mengetahui nomor pelat terlalu longgar. Diperlukan sistem autentikasi yang lebih kuat seperti biometrik atau autentikasi multi-faktor
- Pengguna harus dapat mengetahui dan mengendalikan status keamanan kendaraan mereka. Diperlukan fitur notifikasi yang memberi tahu siapa yang mengakses mobil, serta perintah apa yang dijalankan
4 komentar
Wah, ngeri sekali.
Saya pikir pemilik kendaraan semestinya diberi opsi yang layak untuk memutus secara fisik koneksi antara kendaraan dan internet.
Saya penasaran dengan struktur paketnya, ternyata mereka menggratiskannya sebagai bawaan selama beberapa tahun untuk mendorong orang mendaftar..
Opini Hacker News
Keputusan Kia untuk menghilangkan interlock pada kendaraan mereka di AS menyebabkan masalah pencurian kendaraan secara nasional
Dengan merayapi database kendaraan Kia yang rentan, seseorang bisa membuat aplikasi "ride share" yang menampilkan kendaraan Kia di sekitar dan membukanya
Masalahnya adalah siapa pun bisa mendaftar sebagai dealer, dan dealer dapat melihat informasi kendaraan yang belum mereka jual
Menurut artikel tersebut, awalnya hanya Kia dan dealer yang bisa melacak kendaraan, tetapi sekarang orang yang "tidak berwenang" juga bisa melakukannya
Masalahnya adalah Kia menyimpan banyak data tentang kendaraan dan pemiliknya
Saudara laki-laki dari seorang pemilik Kia mengalami dampak negatif pada kesehatan mental akibat pencurian kendaraan
Tidak akan membeli kendaraan yang harus diaktifkan dengan membuat akun online
Saat ini tidak ada kendaraan baru di pasar yang tidak memiliki fitur konektivitas
Sebagai pemilik Kia, merasa lega bahwa kerentanan ini telah diperbaiki dan tidak disalahgunakan secara jahat
Berpendapat bahwa kendaraan tidak seharusnya dihubungkan ke internet