Hyundai marka otomobillerdeki kritik bir güvenlik açığı tehdit aktörlerinin Google araması yaparak sisteme sızmalarına olanak tanıyor.
Bir yazılım geliştiricisi, aracın üreticisinin sistemini sadece herkesçe bilinen değil, aynı zamanda programlama örneklerinden alınmış anahtarlar kullanarak güvence altına aldığını keşfettikten sonra, araç içi eğlence ve bilgilendirme sistemi üzerinde kendi yazılımlarını çalıştırmanın mümkün olduğunu ortaya çıkardı.
“greenluigi1” adıyla paylaşım yapan kimliği belirsiz yazılımcı, 2021 Hyundai Ioniq SEL aracındaki araç içi bilgi-eğlence (IVI) sistemini değiştirmek istedi. Elbette bunu yapmak için cihaza nasıl bağlanacağını ve güvenliğini nasıl aşacağını bulması gerekiyordu.
Otomobil şirketinin mobilite platformu iştiraki Hyundai Mobis tarafından üretilen IVI’nin D-Audio2 sistemi için aygıt yazılımı güncellemelerini nasıl özelleştireceğini ve IVI tarafından kabul edilmesini nasıl sağlayacağını bulmaya çalışan hacker, Google aracılığıyla beklenmedik bir yol buldu.
“Otomobili tekerlekli bir bilgisayar ağı olarak kabul etmeliyiz”
IVI, aygıt yazılımı güncellemelerini parola korumalı ZIP arşivleri şeklinde kabul ediyor. Bu, Hyundai’nin web sitesinden bir güncelleme ZIP’i indirmeye yönlendiriyor ve arşivdeki basit şifre korumasını aşarak IVI’nin çeşitli parçaları için şifrelenmiş ürün yazılımı görüntülerini içeren içeriğe erişebilmeyi sağlıyor.
Amaç daha sonra kendi ürün yazılımı görüntülerini oluşturmak ve bunları aracın kabul edeceği, kuracağı ve çalıştıracağı bir ZIP içinde şifrelemek ve böylece donanımın hackerın kendi tedarik ettiği koddan kontrolüne izin vermek.
“greenluigi1” şans eseri Mobis’in web sitesinde sistem güncellemesi yapmak için uygun bir ZIP dosyası oluşturan bir Linux kurulum betiği buldu.
Bu betikteki şifreleme anahtarının bir NIST belgesinde listelenen ilk AES 128-bit CBC örnek anahtarı olduğu ortaya çıktı.
Komut dosyası, sistem güncelleme arşivleri için gerekli ZIP şifresinin yanı sıra bir AES simetrik Şifre-Kilit Zinciri (CBC) şifreleme anahtarı (RSA asimetrik genel/özel anahtar çifti yerine tek bir anahtar) ve ürün yazılımı görüntülerini şifrelemek için IV (başlatma vektörü) değerini içeriyor.
Kolay Erişim
BİLGİLER GÖRÜNTÜLERİN ŞİFRESİNİ ÇÖZMEK İÇİN DE KULLANILABİLİYOR
Ancak işler o kadar kolay olmayacaktı: Elde edilen verilerin en azından bir kısmının RSA özel anahtarı kullanılarak kriptografik olarak imzalanması gerekecekti ve otomobil hackerında bu anahtar yoktu. Güncelleyici, verilerin doğru gizli özel anahtar kullanılarak imzalandığını kontrol etmek için özel anahtara karşılık gelen RSA açık anahtarını kullanacaktı.
“greenluigi1”, bu yüzden daha ileri gitmek için RSA özel anahtarını bulmak zorundaydı.
Mayıs ayındaki bir blog yazısında kimliği belirsiz bir kişi tarafından şu ifadeler kullanılmıştı: “Komut dosyası RSA imzalamasının kullanıldığını ima ediyordu, ancak ne yazık ki bunun için kullanılan anahtar kaynak kodda yoktu”
“Bu betikteki [AES] şifreleme anahtarının NIST belgesi SP800-38A’da [PDF] listelenen ilk AES 128-bit CBC örnek anahtarı olduğu ortaya çıktı.”
KRİPTO TOPLULUĞU: CBC’NİN DÜZGÜN BİR ŞEKİLDE KULLANILMASI ZOR
Kripto topluluğundaki fikir birliği, CBC’nin düzgün bir şekilde kullanılmasının zor olduğu ve diğer yaklaşımların önerildiği yönündeydi. Microsoft geçen yıl AES CBC’nin tampon ile kullanımının güvenli olmayabileceği konusunda uyarıda bulunmuştu:
“Microsoft, simetrik şifrelemenin Şifreli Blok Zincirlemesi (CBC) modu ile şifrelenmiş verilerin, çok özel durumlar dışında, önce şifreli metnin bütünlüğünü sağlamadan doğrulanabilir tampon uygulandığında şifresini çözmenin artık güvenli olmadığına inanmaktadır. “Bu kanı mevcut bilinen kriptografik araştırmalara dayanmaktadır.”
Ancak Hyundai’nin hatası AES CBC’yi yanlış uygulamak değil; internette gizli olarak yayınlanan başka bir anahtarı kullanması olarak görülüyor.
“greenluigi1”, bu simetrik anahtarla, güncelleme ZIP’i içindeki şifrelenmiş aygıt yazılımı görüntü dosyalarından birinin içeriğini ayıklayabildi.
Ve ayıklanan dosyaların içinde, IVI güncellemelerini gerçekleştiren yazılımı, updateAgent adlı bir ikili dosyayı buldu. Başka bir deyişle, hacker şimdi alt etmesi gereken koda -arabasındaki IVI’daki güncelleme aracına- bakıyordu ve bu da onu alt etmek için sportif bir şans sunuyordu.
“greenluigi1”, “Halihazırda Zip şifresine ve şifreleme anahtarına sahip olduğum için, imzalama anahtarını aramaya karar verdim,” ifadelerini kullandı. “Şansları varsa sadece açık anahtarı değil, özel anahtarı da bırakmışlardır.” Bir bakıma şansı yaver gitti. “Greenluigi1” aygıt yazılımı görüntüsü içinde güncelleyici tarafından kullanılan RSA açık anahtarını buldu ve bu anahtarın bir kısmını internette aradı. Arama sonuçları, “C’de OpenSSL ile RSA Şifreleme ve Şifre Çözme Örneği” gibi çevrimiçi eğitimlerde ortaya çıkan ortak bir ortak anahtarı işaret ediyordu.
Bu eğitim ve OpenSSL’i uygulayan diğer projeler, kaynak kodlarında bu açık anahtarı ve ilgili RSA özel anahtarını içermekte.
Bu, Hyundai’nin bir öğreticiden açık-özel anahtar çifti kullandığı ve açık anahtarı koduna yerleştirerek “greenluigi1 “in özel anahtarı bulmasına izin verdiği anlamına geliyor. Böylece Hyundai’nin dosyalarını imzalayabildi ve güncelleyici tarafından kabul edilmelerini sağladı.