Başka bir gün, otomotiv cihaz yazılımında başka bir çökme.
Bu sefer hata, 2014-2017 arası eski model Mazda’ların bilgi-eğlence sisteminde bulundu. Sürücüler, yerel bir radyo istasyonuna bağlanırken HD radyo alıcılarının düştüğünü bildirdi. Radyo ve ekranı, bluetooth özellikleri, yerleşik haritalar ve dijital saatler kızarmıştı.
Buna göre raporlarsistem hatası, radyo istasyonu görüntüleri dosya adlarında gerekli uzantı olmadan ilettiğinde ortaya çıkan basit bir kodlama hatası nedeniyle meydana geldi.
Yeni 1500$’lık CMU’larını (Bağlantı Ana Birimi) bekleyen hüsrana uğramış Mazda sahipleri aynı fikirde olmasa da, bu özel hata nispeten zararsızdı ve minimum hasarla sonuçlandı.
Ne yazık ki, araç sistemlerindeki yazılım arızalarının raporlarını duymaya devam edeceğiz ve araçlar giderek daha fazla koda güveniyor, güvenlik ve emniyeti etkileyen güvenlik açıklarının riskleri katlanarak büyüyor. Bir sonraki hatanın sürücüleri nasıl etkileyeceğini kim bilebilir?
Basit Bir Kodlama Hatası Mazda’nın Bağlı Sistemlerini Nasıl Bozdu?
Mazda CMU’ların çökmesine yol açan kodlama hatasının tüm ayrıntıları yayınlanmadı, ancak bunun bir tür NULL referans referans açığı olduğunu varsayabiliriz.
Bu nasıl çalışır:
C programlama dilinde strchr adında bir fonksiyon vardır. Bu işlev iki parametre alır: bir dizeye bir işaretçi ve bir karakter ve dize içindeki karakteri bulmaya çalışır ve bulunan sonuca bir işaretçi döndürür. İşlev başarısız olursa, bir NULL işaretçisi döndürülür.
Ardından, program muhtemelen aldığı belirli dosyanın uzantısını anlamaya çalışacaktır.
Uzantıyı bulmak için muhtemelen strcmp’ye benzer bir işlev kullanılır. Bu işlev iki işaretçi alır ve içeriklerini karşılaştırır. Son olarak, karşılaştırma bir referans kaldırma işaretçisi aracılığıyla yapılır.
Referans kaldırma, işaretçinin işaret ettiği değeri alma eylemidir.
Bu özel durumda, NULL işaretçisi bu işleve gönderildi ve işlev, NULL değerinin referansını kaldırmaya çalışırken bir istisna aldı.
Koddaki bu tür güvenlik açığı, alınan işaretçinin NULL’dan farklı olup olmadığını kontrol ederek kolayca önlenebilir.
Önleme ve Azaltma
Bu tür bir sorunu geliştirme aşamasında önlemek, yazılım mühendislerinin cihaz yazılımındaki güvenlik açıklarını önlemek için nasıl kod yazılacağını tanımlayan güvenli kodlama standartlarını izlemesini gerektirir.
Bununla birlikte, güvenli kodlama, yazılım açıklarını önlemenin anahtarı olsa da, yalnızca bir faktördür.
Kodlama, en deneyimli programcılar tarafından yazıldığında bile, her zaman insan hatalarına açık olacaktır. Bunun da ötesinde, bugün güvendiğimiz ürünlerin çoğu, programcılarınızın yazılı olarak hiçbir parçası olmadığı açık kaynaklı ve üçüncü taraf yazılımları içeren bir tedarik zincirine dayanmaktadır.
Akıllı Arabaların Daha Akıllı Güvenliğe İhtiyacı Var
Otomobil üreticileri, direksiyon ve frenlerden kör nokta tespitine ve aradaki her şeye kadar gelişmiş otomatik güvenlik kontrollerine büyük yatırım yapıyor. Bu sistemlerin giderek yazılıma bağımlı hale geldiği gerçeği göz önüne alındığında, neden aynı dikkat gösterilmiyor? otomotiv yazılım güvenliği?
Otomotiv cihazlarındaki bir yazılım güvenlik açığının maliyeti, otomobil yola çıktıktan sonra fark edilirse hızla artıyor. Yazılım hataları, üretimi duraklatmanın veya geri çağırmaların bedelinin ötesinde, bozuk bir bilgi-eğlence sisteminin verdiği rahatsızlıktan daha fazlasına neden olabilir. Kritik güvenlik özelliklerinde bulunduklarında, aslında insan hayatını etkileyebilirler.
Yetersiz dikkat otomotiv cihazlarında yazılım güvenliği arabaları saatli bombalara çevirebilir. Günümüzün yoğun şekilde otomatikleştirilmiş otomobilleri, OEM’lerin odak noktalarını fiziksel araç güvenliğinin ötesinde, en erken tasarım aşamalarından halihazırda yolda olan yazılım sürümlerini izlemeye kadar yazılım güvenliğini içerecek şekilde genişletmelerini talep ediyor.
Otomotiv Güvenliğine Giden Yol: Güvenli Yazılım
Güvenli ve güvenlik açığı olmayan otomotiv cihazlarının sağlanması, güvenli kodlama veya manuel hata izlemenin ötesinde ek adımlar gerektirir. Bu nedenle, tüm cihazlardaki bellenim ve kod, hataları hızlı bir şekilde tespit etmek ve düzeltmek için güvenlik açıkları için sürekli olarak izlenmelidir. Otomatik ürün güvenliği, ekiplerin şirketleri manşetlere çıkarmadan önce – sonra değil – güvenlik risklerini ele almasına yardımcı olur.
gibi gelişmiş bir otomotiv ürün güvenlik platformu Cybellumürün güvenlik ekiplerinin yazılımlarındaki her bir kod satırını – ister şirket içinde oluşturulmuş, ister üçüncü taraf ya da açık kaynaktan alınmış olsun – izlemesine ve yazılım güvenlik açıklarının maliyetli bir duruma yol açmadan önce tespit edilmesini ve ele alınmasını sağlar. insanlara zarar verir ve üreticilerin itibarına ciddi zarar verir.
Mazda bilgi-eğlence sistemi çökmesi, basit bir kodlama hatasının öngörülemeyen kargaşaya neden olabileceğini bir kez daha kanıtlıyor. Neyse ki, bu sefer hasar, bilgi-eğlence sistemi ve geçici olarak sinirli sürücüler ve birkaç manşet ile sınırlıydı. Otomobil üreticilerinin, ürünlerinin güvendiği tüm yazılımların onları yoldan çıkarmamasını sağlamak için cihaz güvenliğine öncelik vermeye başlamaları gerekiyor.
Sponsorluğunda Cybellum