Honda Civic'ler ve kötü niyetli vale park saldırısı
(juniperspring.org)- 2021 model Honda Civic head unit'i, USB güncelleme yolunda herkese açık AOSP test anahtarıyla imzalanmış güncellemeleri kabul edebiliyor; bu da fiziksel erişimi olan bir saldırganın keyfi kod çalıştırmasına olanak tanıyor
- Honda'nın güncellemeleri Android recovery üzerinden uygulanıyor ve
recoveryikilisi değiştirilmiş olsa daverify_fileimza doğrulama mantığı varsayılan AOSP ile aynı - Herkese açık AOSP test anahtarıyla imzalayıp USB sürücüsünü uygun biçimde hazırlarsanız,
suvesetuidolmadan da istediğiniz kodu kurabiliyorsunuz; buna EvilValet saldırısı deniyor - Yeni araç ota-builder, head unit'in kabul ettiği güncelleme dosyalarını hazırlamayı kolaylaştırıyor; apk-rebuilder ise güncelleme dosyalarını tersine mühendislik için gerekli çıktı ağacına dönüştürüyor
- Proje inceleme çalışmalarının çoğunu tamamladı, ancak depo terk edilmiş değil; sürüm bilgisi, toolchain, özel temalar ve AIDL eşleme iyileştirmeleri için katkı gerekiyor
Proje güncellemesinin arka planı
- 3 yıl önce 2021 model Honda Civic'in head unit'ini anlamak ve tersine mühendisliğini yapmak için ilk çalışmalar yayımlanmıştı; bu güncelleme ise o zamandan beri kaydedilen ilerlemeyi özetliyor
- İlk tepkiler oldukça cesaret vericiydi ve en büyük ilerleme, güncelleme sürecini çözümleme sırasında geldi
Krallığın anahtarları
- Honda, USB üzerinden head unit güncellemesini destekliyor ve sonuçta USB sürücüsündeki imzalı AOSP güncelleme dosyası Android recovery aracılığıyla hazırlanıp uygulanıyor
- Honda'ya özgü çeşitli kontroller var, ancak
res/keysiçinde herkese açık olarak bilinen AOSP test anahtarı kalmış ve değiştirilmişrecoveryikilisindekiverify_fileimza mantığı da varsayılan AOSP ile aynı - USB sürücüsünü uygun şekilde biçimlendirip herkese açık AOSP test anahtarıyla imzalarsanız, mevcut root erişimi olmadan da head unit'e istediğiniz içeriği kurabilirsiniz
suüzerindesetuidayarlayarak elde edilen klasik root erişimi gerekmiyor- Head unit'in elektriği açıksa ve saldırgan en öndeki USB portuna fiziksel olarak erişebiliyorsa, güncelleme yolu üzerinden head unit'te keyfi kod çalıştırmak mümkün
- Bu saldırı, otel odasına fiziksel erişim gerektiren evil maid attack'e benziyor; ancak araç kabinine erişim gerektiği için buna EvilValet adı veriliyor
- Örnek senaryoda oteldeki vale görevlisi USB ile güncellemeyi kuruyor ve araç geri verildiğinde sürücü, head unit üzerinde değişiklik yapıldığını fark etmiyor
- Bu yazı teknik ayrıntı dokümanı değil; daha fazla ayrıntı için Display Audio Update Files belgesine bakılabilir
- Yeni araç ota-builder, head unit'in kabul ettiği güncelleme dosyalarını kolayca hazırlamayı sağlıyor
- Henüz erken aşamada olsa da, örneğin
setuidayarlısuikilisini kuran bir güncelleme dosyası oluşturmak artık önemsiz hale gelmiş durumda
- Henüz erken aşamada olsa da, örneğin
- Tüm güncellemelerin herkese açık AOSP test anahtarıyla imzalandığını düşünmek için güçlü nedenler var, ancak mümkün olan tüm resmi güncelleme dosyalarına ve tüm head unit varyantlarının dosya sistemlerine erişilmiş değil
- İncelenen head unit'te
res/keysiçinde AOSP test anahtarı vardı, ancak daha önce HondaHack kurulmuş olduğundan anahtarın keystore'a enjekte edilmiş olma ihtimali de bulunuyor - Herkese açık EU yazılım güncelleme dosyası
MRC_EU_SW_v12_4.zip, test anahtarıyla imzalanmış durumda ve bu dosya herkese açık bir forumdan indirilmiş, sonrasında değiştirilmemiş - Tüm güncellemelerin AOSP test anahtarıyla imzalanmış olma ihtimali çok yüksek, ancak bu hipotezi destekleyecek ya da çürütecek katkılara ihtiyaç var
- İncelenen head unit'te
Araç geliştirme
- Güncelleme sürecinin dışında en faydalı çalışma apk-rebuilder geliştirmek oldu
- apk-rebuilder, internetten edinilen Honda Civic güncelleme dosyalarını girdi olarak alıyor ve tersine mühendislerin normalde elle yapmak zorunda kalacağı işleri otomatikleştiren temiz bir çıktı dosya ağacı üretiyor
- Kaynak çözümleme yapıyor
.smalikodunu yeniden yapılandırıyor- APK dosyalarını yeniden paketliyor
- Ramdisk çıkarımı yapıyor
- Ve başka işler de yapıyor
- Gerçek Honda kaynak kodu yayımlanamadığı için apk-rebuilder, herkese açık deponun barındırmadığı güncelleme dosyalarını girdi olarak alıp Honda
.smalikodu, görsel varlıklar ve benzeri çıktıları üreten bir işlev görüyor - Üretilen çıktılar açık bir dizin yapısını izliyor ve hassas dosyaların kendisini yüklemeden belgelerde bunlara atıf yapılmasını mümkün kılıyor
Kalan işler ve katkı çağrısı
-
Bilinen sürümler
- Güncelleme süreci savunmasız ve büyük ölçüde sürüm numarasına bağlı
- Sürüm numarası spoof edilebildiği için imzasız kod çalıştırma yeteneğini sınırlamıyor
- Güncelleme dosyası oluşturmak için head unit'in beklediği sürümü bilmek gerekiyor
- Kullanılan build ile uyuşmayan head unit yazılım değişiklikleri beklenmedik davranışlara ve recovery loop'a yol açabiliyor
-
- nesil Honda Civic kullanan ve teknik bilgiye sahip kullanıcılar, depodaki Known Versions, Display Audio Software bölümüne katkı sağlayabilir
- Özellikle cesur kullanıcılar
ota-builderkodunu okuyup güncelleme flash etmeyi deneyebilir, ancak head unit referans cihazdan farklıysa recovery loop'a girebilir ve cihaz soft-brick olabilir
-
Toolchain
- Yerel makinede deneysel ve hâlâ geliştirilmekte olan bir toolchain bulunuyor
- Bu toolchain, aday
.ckodunu alıp özgün vendor ikilisiyle aynı derleyici sürümü ve build bayraklarıyla ARMv7 için derliyor - Güncelleme sürecini anlama çalışmasında bu toolchain kritik öneme sahipti
- Şu anki hali yoğun biçimde Docker kullanıyor, ancak dağınık ve belirli bir iş akışına fazlasıyla uyarlanmış durumda; daha temiz bir uygulamanın yayımlanması isteniyor
-
Özel temalar
- apk-renderer vibe-coding yaklaşımıyla geliştirilirken özel temalar kısmen incelendi
- Özel temalar Mitsubishi'nin AOSP framework fork'u içinde yer alıyor ve head unit uygulamaları sabit kodlanmış kaynak ID'leri bekleyecek şekilde küçültüldüğünden dağıtımın zor olması muhtemel
- Özel tema dağıtmak için vendor framework'ünü cerrahi hassasiyetle değiştirmek ve bunu otomatikleştiren araçlar yazmak büyük olasılıkla gerekecek
- Bu iş basit değil ve harcanan çabaya değmeyebilir, ancak katkı sunmak isteyenler memnuniyetle karşılanıyor
-
aidl-rebuilder iyileştirmeleri
.smalidosyalarını ayrıştırarak head unit'teki tüm AIDL arayüzlerini üretip eşleyen bir araç üzerinde çalışılmaya başlandı- Araç çalışıyor, ancak doğruluğu henüz yeterince gözden geçirilemedi
- Bu çalışma, sanal hız göstergesi gibi özel uygulamaların önünü açıyor
Dokümantasyon ve LLM üzerine düşünceler
- Referans belgelerden ziyade araçlaştırmaya daha fazla ağırlık veriliyor
- Güvenilir ve belirleyici araçlar, head unit kodunu daha anlaşılır biçimlere dönüştürürse kullanıcılar bu yapıları LLM ile sorgulayarak belirli sorulara yanıt alabilir
- Head unit kodu gerçeğin kaynağı olduğu için, gerçek koddan sapabilecek referans belgeleri sürdürme yükü azaltılabilir
- ADB ile head unit'e bağlanmaya yönelik kullanıcı rehberleri yine de faydalı
- LLM'in doğrudan Java kodunu kullanabildiği bir durumda, Java kodunun davranışını ayrıca belgelerde tutmak bakım yükü yaratıyor
Sonuç
- Head unit hakkında hedeflenen inceleme çalışmalarının büyük kısmı tamamlandı
- Üzerinde çalışılmaya devam edilebilecek bir proje olsa da, bundan sonra başka projelere geçilmesi muhtemel
- Depo terk edilmiş durumda değil ve PR'lar her zaman memnuniyetle karşılanıyor
1 yorum
Hacker News görüşleri
Bu sürüm kontrolü kandırılabiliyor ve paket, herkese açık AOSP test anahtarları ile imzalandığı için ön USB portuna fiziksel erişim varsa rastgele bir paket imzalanıp flash'lanabiliyor ve head unit üzerinde rastgele kod çalıştırılabiliyor
root/su gerekmiyor; bu işlem 2021 Civic üzerinde baştan sona denenmiş ve resmi AB güncelleme dosyalarının da ayrıca AOSP test anahtarı imzası kullandığı doğrulanmış
Avustralya hükümetinin Mart 2026 tarihli Information Security Manual belgesine, devlet cihazlarının araç infotainment sistemlerine bağlanmaması ve bağlantılı araçların içinde ya da yakınında hassas belgelerin görüntülenmemesi ve hassas konuşmalar yapılmaması yönünde bir kontrol eklendi
https://www.cyber.gov.au/business-government/asds-cyber-secu...
Bu tür saldırılara karşı savunmasız olabilecek kişilerin işlerini yürütmek için ayrı prosedürleri ve güvenilir ekipmanları vardır; ABD'deki polis kurumlarında da OnStar çıktıktan sonra kiralık araçlar için benzer kurallar vardı
Sıradan insanlar için risk oluşturan telematik verilerin büyük kısmı zaten satılıyor
Teknolojide tehdit modeli her zaman, saldırganın cihaza fiziksel erişimi ve yeterli zamanı varsa oyunun bittiği varsayımına dayanıyordu
Şu anki gibi, araç sürüş boyunca kullanıcıyı izleyen bir mahremiyet ihlali cihazı olup aynı zamanda biraz ilgili herkesin o verilere ulaşabildiği güvensiz bir cihaz olması en kötü ara durum
El konulma ihtimali varsa verileri yerelde tutmamak daha iyidir; yasalara bağlı olarak kilidi açmaya zorlanabilirsiniz ama ABD'de parola vermeyi reddetmek güvenli olmalı
Teknik açıdan Google ve Apple fiziksel güvenliği ciddi biçimde iyileştirdi; GrapheneOS ise bunun üzerine saldırı yüzeyini azaltıp iyi özellikler ekleyerek bir adım daha ileri gidiyor. Özellikle otomatik yeniden başlatma özelliğinin yaygınlaşmasıyla telefonlarda “fiziksel erişim varsa oyun biter” sonucunu yeniden düşünmek mümkün
https://grapheneos.org/features#auto-reboot
https://discuss.grapheneos.org/d/35728-demystifying-phone-un...
Yeterince gelişmiş ve ısrarcı bir saldırganın fiziksel erişimle her cihazı ele geçirebilmesi, bunun herkes için kolaylaştırılabileceği anlamına gelmez
Araca fiziksel erişimi olan kötü niyetli bir vale, head unit'i hack'lemekle zaman kaybetmez; onun yerine aracın bir yerine dinleme cihazı saklar
Ayrıca bir Civic sürücüsünün istihbarat kurumlarının hedefi olacağını da sanmıyorum
Head unit'te genelde eşitlemeden kalan kişi listesi SQLite veritabanı, konum geçmişi, telemetri veya log dosyalarında kalmış geçmiş veriler gibi geçmiş bilgileri bulunur
Ayrıca head unit çoğu zaman aracın iç veri yollarına erişebilir ve Gateway modülü gibi güvenlik duvarları olsa bile bunlar genelde zayıftır. Honda'da farlarla aynı CAN veri yolu üzerinden kriptografik bilgi olmadan kilit açma ve çalıştırma izni verilebildiği meşhur örnekte olduğu gibi, infotainment basit bir takip cihazından çok daha güçlü olabilir
Üstelik head unit'e kod yerleştirmek ya da mevcut verileri dışarı çıkarmak, ayrı bir takip cihazı takmaktan çok daha az iz bırakır
Civic en yaygın araçlardan biri, bu yüzden kalabalık içinde kaybolmak için iyi bir seçenek; ayrıca bilim insanları, mühendisler, gazeteciler ve avukatlar gibi “sıradan görünen” insanlar da Honda Civic kullanabilir
Araca gizlenmiş bir dinleme cihazı bulunabilir, ama doğrudan araç firmware'ine yerleştirilmiş bir şeyin tespit edilme olasılığı daha düşüktür
Ama sorulan asıl soru, firmware'in şirket içi zorunluluklar gereği imzalanıp imzalanmadığıydı; firmware güncelleme sürecinin imzayı doğrulayıp doğrulamadığı değil, ve gerçekte hiçbir doğrulama yapılmıyordu
“Yoksa imza algoritmasını nasıl güncelleyeceğiz?” gibiydi ve en kötü yanı, bunun bir zamanlar doğru şekilde yapılmış olmasıydı
Güvenlik ekibi “post-kuantum güvenli” imzalar isteyince imzalama yöntemi değişti ve bu sırada bir regresyon hatası olarak içeri girdi
Ama bu arabalar 10 yılı aşkın süre geçip kurcalamaya hevesli insanların eline geçtiğinde, yazılımı açıp özelleştirebilme yeteneği harika bir avantaj olacaktır
Faydalı modifikasyonlar üreten bir topluluk oluşsa ve cihazların ömrü uzasa güzel olur. Son kullanıcıların orijinal head unit’i söküp, güvenlik ve mühendislik kalitesi Honda’nın cihazından daha kötü olma ihtimali yüksek Aliexpress tarzı bir “Android tablet” ünite takmasından çok daha iyi görünüyor
rooterişimi vermek iyi değil. Ofiste sürekli açık duran ve shell’i açık bırakılmış bir dizüstü bilgisayar bırakmaya benziyorGüncellemelerin hepsine varsayılan olarak güvenmeyecekseniz, gerçek sahibin güncellemeleri onaylayabileceği bir mekanizma sunmaları gerekirdi
Gerçekten kasıtlı olsaydı, özel anahtar gerektiren kilidi açılabilir bir bootloader ya da erişmesi zor bir anahtar gibi bir yöntem olurdu
Yalnızca tek bir Honda Civic neslinde çalışan bir yöntemden daha fazla markada işe yarar ve kurulumu da muhtemelen daha hızlıdır
Bir projenin tüm belgelerinin herhangi bir anda kodla tam güncel olma ihtimali gerçekten çok düşük
Genel olarak bu yöne katılıyorum, ama önkoşul her şeyden önce kodun iyi tasarlanmış olması
Testler amaçlanan kullanım biçimini ve ilginç sınır durumlarını gösterebilir; ayrıca sürekli çalıştırılıp geçtikleri için güncel olduklarını da bilirsiniz
Daha fazla test eklerken yeterince değer verilmeyen büyük bir avantaj bu
Geliştiricilerin bir davranış biçimi ya da sınır durumu hakkında soru soracağını düşünüyorsanız, yeniden akıl yürütmeye zorlamak yerine sorunun yanıtını doğrudan kanıtlayabilecek bir testin bulunması buna değer olabilir