Siber güvenlik

Android'de Rust: En güvenli yol geliştirmede artık en hızlısı

Google, Android'de Rust kullanımının, C ve C++ koduna kıyasla bellek güvenliği açıklarının yoğunluğunu 1000 katın üzerinde azalttığını belirtiyor. Rust değişiklikleri ayrıca daha düşük geri alma oranları ve kod incelemesinde daha kısa süreler kaydediyor. Analiz, Rust'ın çekirdeğe, aygıt yazılımına ve Google uygulamalarına yayılmasının yanı sıra genel sürüme ulaşmaya çok yaklaşan bir açıktan çıkarılan dersleri de ele alıyor.

2025-11-13
5 dk okuma
7 görüntülenme
فريق تحرير certi.news
Android'de Rust: En güvenli yol geliştirmede artık en hızlısı

2025 yılına ait güncellenmiş Android verileri, bellek güvenliği açıklarının toplam açıkların %20'sinin altına ilk kez düştüğünü ve bunun platformun yeni ve etkin bölümlerinde Rust kullanımının genişlemesiyle aynı döneme denk geldiğini gösteriyor. Google Security Blog'da 12 Kasım 2025'te yayımlanan analize göre, C ve C++'dan Rust'a geçişin etkisi yalnızca güvenlik risklerini azaltmakla sınırlı kalmıyor; kod incelemesini hızlandırıyor ve değişikliklerin istikrarını da iyileştiriyor.

Veriler, hem Google'ın doğrudan geliştirdiği Android kodundaki hem de üçüncü taraflara ait açık kaynak kodundaki değişikliklere dayanıyor ve C, C++, Java, Kotlin ve Rust dillerini kapsıyor. Analiz 2025'in sona ermesinden birkaç ay önce yayımlandığı için Google, standart 90 günlük düzeltme penceresinin sonuçları nihai rakamlara çok yaklaştırdığını, gerektiğinde düzeltmenin hızlandırılabileceğini açıkladı.

Daha yüksek güvenlik ve daha hızlı teslimat

Google, Rust'ı düşük seviyeli programlamada C ve C++'a doğrudan alternatif olarak Android'e dahil etti. Rust, benzer düzeyde kontrol ve öngörülebilirlik sağlarken bellek güvenliğiyle ilişkili risklerin çoğunu azaltıyor. Analiz, yeni Rust kodunun hacminde keskin bir artışa ve yeni C++ kodundaki daha yavaş ama sürekli düşüşe işaret ediyor. Böylece yeni eklenen Rust hacmi C++ hacmine yaklaşmış ve iki geliştirme yolu arasında daha güvenilir karşılaştırmalar yapılabilmiş durumda.

Google, üretkenlik ve istikrar boyutlarını ölçmek için DORA çerçevesini kullandı. Diller arasındaki karşılaştırma zorluklarını azaltmak amacıyla benzer büyüklükteki değişikliklere ve Android platformu üzerinde çalışan benzer geliştirici gruplarına odaklandı; ayrıca Rust kullanımının artmasıyla birlikte zaman içindeki eğilimleri izledi.

Benzer büyüklükteki Rust değişiklikleri, C++ karşılıklarına göre yaklaşık %20 daha az inceleme gerektiriyor. Bu değişiklikler şu anda kod incelemesinde yaklaşık %25 daha az zaman harcıyor. Google, kesinlik iddiasında bulunmadan, 2023 ile 2024 arasındaki belirgin iyileşmeyi Android ekibinin Rust konusundaki deneyiminin artmasına bağlıyor.

İstikrar açısından ise orta ve büyük Rust değişikliklerinin geri alınma oranı, C++ değişikliklerine göre yaklaşık dört kat daha düşük. Google, geri almaların azalmasının yalnızca değişikliklerin kalitesini yansıtmadığını, aynı zamanda üretkenliği de artırdığını vurguluyor; çünkü geri alma işlemi yeniden çalışmaya, ek incelemelere, yeniden derlemeye, olay sonrası raporlara ve diğer ekiplerin çalışmalarının aksamasına yol açabiliyor.

Rust'ın sistem hizmetleri ve kitaplıkların ötesine genişlemesi

Google, Android sistem hizmetleri ve kitaplıkları oluşturmak için Rust desteğinin olgunlaştığını belirtiyor. Bu nedenle kullanımını ekosistemin diğer katmanlarına genişletmek için çalışıyor:

  • Çekirdek: Android'e özel Linux 6.12 çekirdeği, Google'ın Rust desteğini etkinleştirdiği ilk çekirdek ve aynı zamanda ilk üretim Rust sürücüsünü içeriyor. Google, çekirdek modunda çalışan bir grafik işlem birimi sürücüsü üzerinde Arm ve Collabora ile iş birliğini sürdürüyor.
  • Aygıt yazılımı: Google, yüksek ayrıcalık düzeyi, performans kısıtlamaları ve bazı koruma önlemlerinin sınırlı olması nedeniyle aygıt yazılımının yüksek riskli ve güvenli hâle getirilmesinin zor olduğunu düşünüyor. Şirket, yıllardır aygıt yazılımında Rust kullanıyor ve topluluğa eğitim materyalleri ile kod sağlıyor; özellikle Arm ile Rusted Firmware-A kapsamındaki iş birliğine odaklanıyor.
  • Google uygulamaları: Bluetooth üzerinden yakındaki cihazları güvenli ve gizli biçimde keşfetmek için kullanılan Nearby Presence protokolü, Google Play Services içinde Rust ile çalışıyor. Güvenli RCS mesajlaşmasına yönelik MLS protokolü de gelecekteki bir sürümde Google Messages uygulamasına dahil edilecek.
  • Chromium: PNG ve JSON ayrıştırıcıları ile web yazı tipleri, bellek açısından güvenli ve Rust ile yazılmış uygulamalarla değiştirildi. Bu, Chromium mühendislerinin Rule of 2'yi izlerken web'den gelen verilerle çalışmasını kolaylaştırıyor.

Kullanıcılara ulaşmaya çok yaklaşan bir açık

Google, Rust'ın avantajlarına odaklanmasına rağmen Android'de Rust tabanlı ilk bellek güvenliği açığının kayda geçmesine çok yaklaşılan bir durumu da ele alıyor. CrabbyAVIF'te doğrusal bir arabellek taşması, genel sürüme ulaşmadan önce keşfedildi. Düzeltmeye, yüksek öncelik verilmesini ve sürüm kanalları üzerinden ilerleyişinin izlenmesini sağlamak amacıyla CVE-2025-48530 tanımlayıcısı atandı.

Analiz, Scudo Hardened Allocator bellek ayırıcısının, ikincil tahsislerin çevresindeki koruma sayfaları sayesinde açığın istismarını kesin olarak imkânsız hâle getirdiğini gösterdi. Scudo ayrıca taşmayı sessiz bellek bozulmasından belirgin bir çökmeye dönüştürdü ve bu da sorunun keşfedilmesine yardımcı oldu. Buna karşılık olay, çökme raporlama sistemindeki bir eksikliği ortaya çıkardı: Sistem, çöküşün bir taşmadan kaynaklandığını açıkça belirtmedi ve bu durum sınıflandırma ile müdahaleyi yavaşlattı. Google, bu eksikliğin giderildiğini ve sistemin Scudo koruma sayfalarına yönelik taşmalar gerçekleştiğinde artık açık bir sinyal verdiğini belirtiyor.

unsafe mevcutken Rust neden hâlâ önemli?

Google, işletim sistemi geliştirmek için C, C++ veya Rust'taki güvenli olmayan kodu yasaklamanın pratik bir çözüm olduğunu düşünmüyor; bunun nedeni, uygulama programlama arayüzleri ve donanımla çalışma gerekliliği. Bu nedenle şirket, Comprehensive Rust eğitimi kapsamında güvenli olmayan kod üzerine ileri düzey bir modül geliştiriyor. Bu modül, geliştiricilere bu kodun güvenliğini ve tanımsız davranışı değerlendirmeyi, güvenlik açıklamalarını kullanmayı ve güvenli olmayan bölümleri güvenli soyutlamalar içinde sarmalamayı öğretiyor.

Google, Android platformundaki yaklaşık beş milyon Rust satırına ve kullanıma sunulmadan önce giderilen olası tek bir vakaya dayanarak Rust'taki bellek güvenliği açığı yoğunluğunu milyon satır başına yaklaşık 0,2 açık olarak tahmin ediyor. Şirket bunu, C ve C++ için milyon satır başına yaklaşık 1.000 açık olan tarihsel yoğunlukla karşılaştırıyor; bu da kendi tahminine göre 1000 katı aşan bir düşüş anlamına geliyor. Ayrıca kodun yaklaşık %4'ünün unsafe{} blokları içinde yazıldığını belirtiyor. Ancak Rust denetimlerinin çoğunun sürmesi, güvenli olmayan kodun sarmalanabilmesi ve ek incelemeye tabi olması nedeniyle, güvenli olmayan her satırın C veya C++'daki risklerle aynı risklere maruz kaldığını varsaymanın tehlikeyi olduğundan fazla gösterdiğini söylüyor.

Google, Rust kullanımının güvenlikteki iyileşmeyi performans, süreçler veya özelliklerin yayınlanma hızı açısından ek maliyetlerle ilişkilendiren geleneksel denklemi değiştirdiği sonucuna varıyor. C ve C++'ın yanı sıra yazılım ve donanım koruma mekanizmaları çok katmanlı savunmanın parçası olarak önemini korurken şirket, Rust'a geçişin aynı anda daha güvenli ve daha verimli bir yol sunduğunu düşünüyor; önce hızlanıp sonuçları daha sonra ele almak yerine.

Haber kaynağı
Google Security Blog
Özgün kaynağı aç ↗
ف
Yazar

فريق تحرير certi.news

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör