Ara

Google’dan Pixel 10’a Kritik Güvenlik Hamlesi: Modemde Rust Dönemi Başlıyor!

Akıllı telefon işletim sistemleri güvenliklerini artırmak için pek çok katmana sahip olsa da, saldırganların hedefi modem olduğunda bu önlemler yetersiz kalabiliyor. Google'ın Project Zero ekibi, Pixel telefonların modemlerinde internet üzerinden uzaktan kod çalıştırmanın mümkün olduğunu göstererek, bu kritik ve düşük seviyeli sistemin güvenliğini yeniden değerlendirme ihtiyacını ortaya koydu. Çözüm ise modem yazılımını baştan yazmak yerine, daha güvenli bir Rust tabanlı bileşeni Pixel 10 modemine entegre etmek oldu.

Hücresel modemler adeta bir kara kutu gibidir. Telefonunuzun baz bandı (baseband), eski C ve C++ kodlarıyla çalışan kendi işletim sistemine sahiptir ve bu da onu giderek daha cazip bir saldırı yüzeyi haline getiriyor. Temel sorun, bu sistemlerde bellek yönetimi zordur ve üretim cihazlarında bellek açısından güvensiz firmware kodlarına yol açar. Bu durum, saldırganların ciddi güvenlik açıklarını, örneğin tampon taşmaları (buffer overflows) ve bellek sızıntılarını (memory leaks) kullanarak cihazları ele geçirmesine olanak tanır.

Peki neden hala bu eski teknolojileri kullanıyoruz? Bunun bir nedeni, gömülü sistemlerin ataleti. Şirketler on yıllardır 3GPP standartlarına dayalı modem firmware'leri geliştiriyor ve bu durum önemli bir teknik borç biriktirmiş durumda. Modemler ayrıca verileri etkili bir şekilde göndermek ve almak için gerçek zamanlı çalışmalıdır ve C/C++ kodu bu konuda oldukça hızlıdır.

Google'ın Pixel'in Exynos tabanlı modeminde gerçekleştirdiği gösteri amaçlı hack, bu tür saldırıların ilk örneği değil. Project Zero araştırmacıları son yıllarda yirmiden fazla Exynos modem açığı tespit etti ve bunların 18'i "ciddi" olarak sınıflandırıldı. Elbette bu açıklar keşfedildikten sonra yamalandı, ancak modem kodunun karmaşıklığı, kötü niyetli kişilerin istismar edebileceği daha pek çok açığın gizlendiğini neredeyse garanti ediyor.

Güvenlik Paslanıyor mu? Rust ile Güvenlik Artıyor!

Modemleri daha güvenli hale getirmek, bu bellek güvenlik açıklarını gidermek anlamına gelir ve Rust bu konuda mükemmel bir adaydır. Elbette Rust, bellek açısından güvenli ilk dil değil. Python, C# gibi diller de daha güvenli bellek yönetimi sistemlerine sahip, ancak bunu çöp toplama (garbage collection) ile yaparlar. Çöp toplama, çalışan programlar sırasında aktif belleği tarayarak kullanılmayan belleği bulup serbest bırakabilir. Bu daha güvenlidir, ancak aynı zamanda yavaştır ve gerçek zamanlı modem firmware'i için kabul edilemez bir durumdur.

Rust'ta yavaş bir çöp toplayıcı bulunmaz. Bunun yerine, bellek güvenliğini derleme zamanında garanti eden "ödünç alma denetleyicisi" (borrow checker) adı verilen bir mekanizma kullanır. Bu katı kurallar bütünü, belleği serbest bırakmayı "unutamayacağınızı" garanti eder; bellek kuralları ihlal edilirse kod basitçe derlenmez. Bu, Rust'ı bellek açısından güvenli bir dil yapan şeydir.

Ancak, Google bile sözde eliyle modem firmware'inin nasıl yazıldığını değiştiremez; on milyonlarca bayt yürütülebilir makine kodundan bahsediyoruz, ki bu oldukça büyük bir miktar. On yılların birikimini güncellemek hem muazzam bir görev olurdu hem de ilgili birçok şirket, modemlerin iç işleyişini ticari sır olarak görüyor.

Pixel modemini sıfır gün (zero-day) saldırılarından korumak için Google, DNS ayrıştırıcısına (DNS parser) odaklandı. Hücresel özellikler veri ağlarına taşındıkça, DNS telefonların nasıl çalıştığının temel bir parçası haline geldi. Google'ın açıklamasına göre DNS, güvenilmeyen verilerin ayrıştırılmasını gerektirir ve bu da onu büyük bir güvenlik endişesi haline getirir, ancak bu, Rust ile çözülebilecek bir sorundur.

Google, pek optimize edilmiş olmasa da geniş çapta benimsenen ve desteklenen açık kaynaklı Rust DNS kütüphanesi "hickory-proto"yu seçti. Pixel telefonlardaki modem, bellek kısıtlı bir ortam değildir, bu da ekibin mevcut koddaki DNS'yi daha güvenli hale getirmek için bir Rust bileşeni eklemesine olanak tanıdı. Ekip, standart kütüphane bağımlılıklarını kaldırdı, böylece daha hızlı çalışma için makine koduna derlenebildi ve bu daha sonra mevcut C/C++ modem koduna entegre edildi. Toplamda, Rust bileşenleri 371KB ekledi, bu da Pixel modeminde yönetilebilir bir boyuttur.

Bu sistem altında, belleği manipüle ederek bir güvenlik açığını tetikleme girişimi Rust duvarına çarpacaktır; zararlı DNS paketlerinden etkilenemez. Pixel 10 telefonları, bu daha güvenli modem uygulamasıyla piyasaya sürülen ilk modellerdir. Google, bu çalışmanın diğer platformların da benzer iyileştirmeler yapmasına olanak tanıyacağını umuyor, ancak şirketin notuna göre seçilen Rust kütüphanesinin boyutu daha basit gömülü sistemler için bir sorun olabilir. Gelecekte kütüphaneyi daha modüler hale getirerek bu sorun giderilebilir. Google ayrıca bu çalışmayı zamanla hücresel baz bandına daha fazla bellek güvenli bileşen entegre etmek için bir temel olarak görüyor.

Önceki Haber
Overwatch Yeniden Doğuyor: Nintendo Switch 2'ye Yarın Geliyor!
Sıradaki Haber
NZXT'ten Şaşırtan Karar: Kiralık Oyuncu Bilgisayarlarını Müşterilere Teslim Ediyor!

Benzer Haberler: