Ana içeriğe geç
Güvenlik

Geliştirici e-scooter donanımını tersine mühendislikle çözüp yazılımını Rust ile yeniden yazdı

Öne çıkanlar

  • Cihazın USB-C portunun iki pini standart dışı biçimde CAN veri yolu iletişimine ayrıldı.
  • Donanım yazılımı güncelleme protokolünde şifreleme ya da imza doğrulama bulunmadığı tespit edildi.
  • Tersine mühendislik sürecinin ardından gösterge ünitesi için Rust diliyle özel yazılım yazıldı.

Bir yazılım geliştiricisi, Egret GT model elektrikli scooter cihazının güvenlik açıklarını ve dahili iletişim protokollerini tersine mühendislik yöntemleriyle analiz etti. Araştırmacı, cihazın gösterge panelindeki USB-C bağlantı noktasının standart dışı şekilde CAN veri yolu bağlantısı sunduğunu belirledi. ESP32 tabanlı özel bir donanım hazırlayan geliştirici, bileşenler arasındaki tüm veri akışını izleyerek motor denetleyicisi ile gösterge ünitesinin çalışma mantığını çözdü.

Cihazın motor denetleyicisi ve gösterge ünitesinin bellek dökümlerini OpenOCD ve Ghidra yardımıyla inceleyen araştırmacı, kritik güvenlik zafiyetleri tespit etti. Donanım yazılımı güncelleme sürecinde herhangi bir şifreleme veya kimlik doğrulama mekanizmasının bulunmadığı ortaya çıktı. Bu durum, CAN veri yolu üzerinden cihaza bağlanan herhangi bir kişinin yetkisiz şekilde özel yazılım yüklemesine olanak tanıyor.

Geliştirici, elde ettiği GPIO yapılandırmaları ve çevre birimi adresleriyle scooter göstergesi için Rust programlama diliyle sıfırdan yeni bir yazılım geliştirmeye başladı. Gösterge panelinde kullanılan AT32F415 mikrodenetleyicisinin karma yapısına rağmen tersine mühendislik süreci tamamlandı ve cihazın tüm işlevleri harici olarak kontrol edilebilir hale getirildi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.