7 poin oleh GN⁺ 2024-09-27 | 4 komentar | Bagikan ke WhatsApp
  • 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 JSESSIONID untuk membuat ID sesi Sid, 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  
    
  • Sid adalah token sesi, dan Vinkey adalah 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.com yang belum pernah kami lihat sebelumnya terasa menarik
  • Pada URL di atas, parameter token adalah kunci VIN, yakni token akses sekali pakai yang dibuat dealer. Token ini dapat memodifikasi kendaraan yang ditentukan oleh parameter vin
  • 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:
    1. Membuat token dealer dan mengekstrak nilai "token" dari header respons HTTP
    2. Mengetahui email dan nomor telepon korban
    3. Mengubah hak akses pemilik lama menggunakan email yang bocor dan VIN
    4. 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

 
aer0700 2024-09-28

Wah, ngeri sekali.

 
unsure4000 2024-09-27

Saya pikir pemilik kendaraan semestinya diberi opsi yang layak untuk memutus secara fisik koneksi antara kendaraan dan internet.

 
bbulbum 2024-09-30

Saya penasaran dengan struktur paketnya, ternyata mereka menggratiskannya sebagai bawaan selama beberapa tahun untuk mendorong orang mendaftar..

 
GN⁺ 2024-09-27
Opini Hacker News
  • Keputusan Kia untuk menghilangkan interlock pada kendaraan mereka di AS menyebabkan masalah pencurian kendaraan secara nasional

    • Akibatnya, pencurian kendaraan melonjak tajam di kota-kota seperti Milwaukee dan Chicago
    • Kendaraan bisa dicuri hanya dengan kabel USB yang dibengkokkan
  • 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

    • Karyawan dealer bisa menyalahgunakan ini untuk menguntit
  • Menurut artikel tersebut, awalnya hanya Kia dan dealer yang bisa melacak kendaraan, tetapi sekarang orang yang "tidak berwenang" juga bisa melakukannya

    • Muncul pertanyaan mengapa perusahaan boleh melacak kendaraan, tetapi menjadi masalah jika orang lain yang melakukannya
  • Masalahnya adalah Kia menyimpan banyak data tentang kendaraan dan pemiliknya

    • Kerentanan ini sudah diperbaiki, tetapi masalah datanya masih tetap ada
  • 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

    • Kendaraan Kia yang pernah dimiliki sebelumnya menghabiskan 1 quart oli setiap 1.000 mil sebelum mencapai 100.000 mil
  • Saat ini tidak ada kendaraan baru di pasar yang tidak memiliki fitur konektivitas

    • Muncul pertanyaan apakah masih mungkin membuat kendaraan yang tidak terhubung
  • Sebagai pemilik Kia, merasa lega bahwa kerentanan ini telah diperbaiki dan tidak disalahgunakan secara jahat

    • Namun, Kia masih perlu banyak berbenah
  • Berpendapat bahwa kendaraan tidak seharusnya dihubungkan ke internet