Android Automotive, araba sistem bütünlüğünü sağlamak için gelen verileri aşağıdaki düzeylerde korur:
Şekil 1. Sistem Hizmeti Mimarisi
- Uygulamalar. Sistem, bir uygulamanın Araba ile konuşma izni olduğunu doğrular alt sistemleri içerir.
- İyi tanımlanmış API'ler. Genel API'ler rastgele veri blob'larını kabul etmez (API'ler iyi tanımlanmış olmalıdır.
- Araç Hizmeti. Güncellemelere yalnızca tam diskle OTA (veya USB) üzerinden izin verilir şifreleme ve doğrulanmış başlatma. Başka cihazdan yüklenemez.
- Araç HAL'si. Belirli mesajlara izin verildiğini doğrular.
Uygulamalar ve API'ler
Android Automotive, Android'de yerleşiktir ve güvenlik açısından kritik öneme sahip pek çok cihazla doğrudan etkileşime girer. alt sistemleri içerir. Ayrıca, farklı araçların farklı arayüzleri ve işlevleridir. Bu işlevleri güvenli ve basit hale getirmek için Android'in geri kalanından ayrı bir soyutlama katmanında yer alıyor. Yalnızca iyi tanımlanmış API'ler katı biçimlendirme özellikleri sunar. Bu sayede, araç içi ağlar üzerinden gönderilen mesajlarda HAL. Bu, Android geliştiricileri için öngörülebilir bir arayüz ve güvenli bir etkileşim sağlar yeni bir araç seti var.
Araç HAL mesajları iki düzeyde filtrelenir:
- Uygulama düzeyi. Sistem dışı uygulamalar, araç HAL'sine araba üzerinden erişebilir doğru izinlere sahip olduğundan emin olun.
- Araç HAL seviyesi. Ek bir koruma ve güvenlik katmanı sağlar Araç alt sistemlerine gönderilen iletilerin meşru bir kaynaktan geldiği. Ayrıca kullanılabilir kötü amaçlı uygulamaların CAN veri yoluna işlem yapmasını önlemeye ve müdahale edebilir.
Araç HAL'si
Araç HAL'si, araçla etkileşim kuran ve araç içiyle iletişim kuran alt katmandır. ağlar ve diğer araç donanımlarını kontrol eder.
Araç HAL'si, Android Automotive'de IVI sistemine bağlı tek bileşendir. veya bir VMCU ile giriş yapılmış olması gerekir. Şuna erişin: Araç HAL'si, SELinux kurallarını ve uygun izinleri kullanan sistem uygulamalarıyla sınırlandırılmalıdır çok daha iyidir.
SELinux politikaları
Android Automotive, SELinux'u genişleterek sürücü erişimini (açma, kapatma, okuma, yazma, yazma ve kapatma) filtreler ve ioctl çağrıları arasında seçim yapabilirsiniz. ioctl filtrelemesini kullanmak (diğer SELinux işlevleriyle birlikte) Araç HAL'si tarafından izin verilen ve kabul edilen CAN mesajları, saldırı yüzeyini önemli ölçüde azaltır. Örneğin, SELinux ile ilgili ayrıntılar için bkz. Android'de Güvenlik Açısından Geliştirilmiş Linux.
Ayrıca, otomotiv kullanım alanları arasında izole edilmesi gereken yeni hassas veri türleri ve kontrol edilir. Hassas veriler için ayrı izinler verilir; Isıtma, Havalandırma ve Soğutma kontrolleri gibi diğer özellikler ve pencere ayarlaması yalnızca sistem uygulamalarına verilmelidir. Otomotiv alanına özel örnek SELinux politikası:
<permission-group android:name=”android.support.car.permission.CAR_MONITORING /> <permission android:name=”android.support.car.permission.CAR_MILEAGE” android:protectionLevel=”signature|privileged” /> <permission android:name=”android.support.car.permission.CAR_SPEED” android:permissionGroup=”android.permission-group.LOCATION” android:protectionLevel=”dangerous” /> <permission android:name=”android.support.car.permission.CAR_VENDOR_EXTENSION” android:permissionGroup=”android.support.car.permission.CAR_INFORMATION” android:protectionLevel=”signature|privileged” />
CAR_MONITORING
izin grubu, otomotivle ilgili izinler için oluşturuldu.
Mevcut hız, hassas bilgi olarak değerlendirilebilir. Bu nedenle, CAR_SPEED
izinleri tehlikeli koruma düzeyiyle oluşturulmuştur. Bu düzey,
gizli ve hassastır. CAR_VENDOR_EXTENSION
izni oluşturuldu
Bu izin, izin verilmeyen sistem uygulamaları veya imzalı uygulamalar için kullanılan
bu iznin açıkça verildiğini belirtmek isteriz.
Uygulama ve etkinlik engelleme
Android Automotive, dikkatsiz sürüşü azaltmak için ek kontroller (izin verilenler listesi) sunar. başka cihazdan yüklenen uygulamaların araç hareket halindeyken kullanılamayacağından emin olun. Bu uygulamalar şunları yapmaya devam edebilir: araç park hâlindeyken veya durduğunda çalışır.
İzin verilenler listesinde, araç hareket ederken kullanılabilecek uygulamalar belirtilir. Yalnızca güvenilir sistem uygulamaları izin verilenler listesini güncelleyebilir. Güncellemeler ağ üzerinden yapılabilse de kabul edilir.