- Untuk ikut serta dalam program bug bounty Tesla, penulis membeli MCU dan komputer Autopilot Model 3 di eBay lalu mencoba menjalankannya di lingkungan desktop
- Setelah menambahkan catu daya 12V dan modul touchscreen, sistem berhasil boot, dan port Ethernet memungkinkan akses ke jaringan internal
- Di dalam MCU, server SSH dan ODIN REST API (port 8080) terbuka, tetapi akses SSH memerlukan kunci tanda tangan Tesla
- Pada awalnya, masalah kompatibilitas kabel dan kerusakan PCB membuat chip pengontrol daya harus diganti, namun setelah diperbaiki sistem berhasil dipulihkan
- Pada akhirnya, dengan menghubungkan Dashboard Wiring Harness, penulis berhasil mewujudkan boot penuh touchscreen dan OS kendaraan, sehingga UI dapat dioperasikan dan firmware bisa dianalisis
Menjalankan komputer Tesla Model 3 di atas meja
- Untuk ikut serta dalam program bug bounty Tesla, diperlukan hardware kendaraan asli, sehingga penulis membeli komponen MCU (Media Control Unit) dan komputer Autopilot (AP) Model 3 di eBay
- Komputer kendaraan ini memiliki struktur dua board yang ditumpuk, terletak di belakang glovebox sisi penumpang, dan dibungkus casing logam berpendingin cairan
- Komponen ini didapat di eBay dengan harga sekitar 200–300 dolar, dan sebagian besar dijual oleh pembongkar kendaraan kecelakaan
- Untuk menyalakan sistem, dibutuhkan tambahan catu daya DC 12V, modul touchscreen, dan kabel display
- Penulis menggunakan catu daya model adjustable 0–30V 10A, sedangkan layar dibeli seharga 175 dolar
Masalah kabel dan informasi wiring listrik
- Kabel yang menghubungkan MCU dan layar umumnya dijual dalam kondisi terpotong tepat setelah konektor, sehingga perlu membuat kabel sendiri
- Tesla mempublikasikan dokumen Electrical Reference untuk semua kendaraannya, sehingga konfigurasi pin dan informasi wiring setiap konektor bisa diperiksa
- Display memerlukan kabel 6-pin dengan konektor Rosenberger 99K10D-1D5A5-D (2 pin untuk 12V/ground, 4 pin untuk data)
- Karena konektor ini tidak bisa dibeli satuan oleh konsumen umum, penulis memesan kabel LVDS untuk BMW sebagai alternatif
Koneksi daya dan akses jaringan
- Dengan merujuk ke skema Tesla dan materi online untuk mencari pin 12V dan ground, lalu menghubungkan daya, LED merah menyala dan proses boot dimulai
- Karena belum ada layar, interaksi masih terbatas, tetapi perangkat bisa dihubungkan ke laptop melalui port Ethernet
- Jaringan ini tidak menggunakan DHCP, jadi konfigurasi IP harus dilakukan manual dan memakai rentang
192.168.90.X/24
- Dari file
/etc/hosts yang dibagikan di Reddit, penulis mengidentifikasi IP host internal seperti MCU, gateway, dan Autopilot
- Pada MCU (
192.168.90.100), SSH (port 22) dan web server (port 8080) terbuka
Layanan internal dan struktur MCU
- Server SSH menampilkan pesan “SSH allowed: vehicle parked” dan hanya bisa diakses dengan kunci tanda tangan Tesla
- Dalam bug bounty Tesla, peneliti yang menemukan kerentanan root akan mendapatkan sertifikat SSH permanen
- Pada port 8080 terbuka API bergaya REST bernama ODIN (On-Board Diagnostic Interface Network), yang digunakan oleh alat diagnostik Toolbox
- Setelah pelindung logam dilepas, bagian dalam menunjukkan MCU dan board Autopilot tersusun dalam struktur bertingkat
Kegagalan kabel dan kerusakan rangkaian
- Kabel LVDS BMW ternyata tidak kompatibel secara fisik, sehingga penulis mencoba menghubungkannya dengan wiring manual
- Kabel tipis patah dan menyebabkan short pada PCB, sehingga chip pengontrol daya rusak
- Chip yang rusak sulit diidentifikasi, tetapi kolaborator Yasser berhasil mengenalinya sebagai MAX16932CATIS/V+T step-down controller
- Setelah memesan chip baru dan menggantinya di bengkel perbaikan PCB, MCU berhasil dipulihkan
- Setelah itu, penulis juga memperoleh komputer kedua sebagai cadangan
Solusi akhir dan boot penuh
- Karena kabel Rosenberger tidak bisa didapat, penulis akhirnya membeli Dashboard Wiring Harness lengkap (80 dolar)
- Pada kendaraan asli, sistem ini memang dibuat bukan dengan kabel terpisah, melainkan dalam bentuk wiring harness besar (loom)
- Setelah harness dipasang, touchscreen berfungsi normal dan sistem operasi kendaraan boot sepenuhnya
- Sejak itu, penulis bisa melakukan operasi UI, menjelajahi antarmuka jaringan, menganalisis bus CAN, dan mencoba mengekstrak firmware
2 komentar
Yang paling menarik buat saya adalah ini
"Program root access Tesla"
Kalau berhasil menemukan setidaknya satu celah rooting yang valid, kita bisa menerima "sertifikat SSH permanen" untuk kendaraan sendiri dan login sebagai root.
Ah, jadi pengin punya!!
Komentar Hacker News
Program akses root Tesla menarik
Jika peneliti menemukan setidaknya satu kerentanan rooting yang valid, mereka bisa mendapatkan sertifikat SSH permanen untuk kendaraannya sendiri dan login sebagai root
Mirip dengan Security Research Device Program milik Apple, dengan persyaratan kelayakan yang jelas
Jika akses root diberikan ke semua orang, akan lebih mudah bagi pelaku jahat untuk mencari kerentanan, jadi pendekatan Tesla bisa dipahami
Dulu pernah bekerja di perusahaan yang membuat alat pemindai pihak ketiga
Pengujian dilakukan dengan menghubungkan ECU ke rak alih-alih memakai kendaraan sungguhan, dan berhasil menemukan masalah offset byte nonstandar pada BMW. Alat kompetitor gagal menangkap masalah itu, tetapi alat resmi BMW menampilkan DTC
Jika modelnya diatur berbeda, DTC ECU masih bisa dihapus sehingga sementara dipakai seperti itu. Bidang ini sangat membutuhkan pendekatan open hardware/software
Masih mempertimbangkan apakah hasil yang dibuat dengan software komersial mahal itu akan dipublikasikan, dan berpendapat bahwa informasi seperti definisi protokol komunikasi kendaraan seharusnya terbuka untuk semua orang
Menarik bahwa LVDS disebut sebagai kabel otomotif. Dulu ini lebih sering terlihat untuk menghubungkan layar laptop dengan motherboard
Lihat artikel Low-voltage differential signaling
Aplikasi UI Tesla QtCar bisa dijalankan di QEMU
Cukup dengan firmware-nya, dan jika tertarik diminta mengirim DM
Video demo
Membagikan pengalaman memasang sendiri controller rem trailer pada Tesla Model Y
Mencari controller yang cocok untuk tegangan 14.4V, membuat kabel, lalu membeli konektor di eBay untuk dipasang
Tahun lalu beberapa kali menarik trailer camping tanpa masalah, dan semangat DIY hacking seperti ini terasa keren
Menarik bahwa inti masalahnya ternyata hanya konektor 6-pin sederhana
Karena gambar teknik dan dimensinya sudah ada, cukup mengejutkan bahwa tidak terpikir untuk membuat konektornya sendiri dengan 3D printing
Proyek ini benar-benar keren
Penasaran apakah ini plug-and-play, dan di mana informasi jarak tempuh disimpan
Jika memungkinkan, ingin mencoba memindahkan suspensi adaptif ke model lama. Ada juga ide membuat sistem kontrol terpisah dengan Raspberry Pi
Mengejutkan bahwa sistem operasi bisa boot sepenuhnya meski tanpa periferal sekitar yang biasanya diharapkan kendaraan
Apa pun pendapat orang tentang Tesla, dari sudut pandang hacking ini benar-benar proyek yang keren
Disebutkan harus membeli seluruh rangkaian kabel seharga 80 dolar, tetapi di AS ini biasanya disebut wiring harness. Loom mengacu pada bahan pelindung kabel
Link AliExpress