Google’ın bellekle ilgili kusurları azaltmak için yeni Android kodu yazmak için Rust’u kullanma kararı meyvesini veriyor gibi görünüyor. Android’deki bellek güvenlik açıkları yarıdan fazla azaltıldı – Google’ın C ve C++’tan Rust programlama diline geçişiyle aynı zamana denk gelen bir kilometre taşı.

Bu, bellek güvenlik açıklarının en büyük güvenlik açıkları kategorisi olmadığı ilk yıl. Ve bu bulgu, Google’ın Rust’ı yeni Android Açık Kaynak Projesi (AOSP) kodu için varsayılan dil yapmasından bir yıl sonra geldi.

Google tarafından Android için kullanılan diğer bellek açısından güvenli diller arasında Java ve Java uyumlu bir dil olan Kotlin bulunur. AOSP’de C ve C++ baskın diller olmaya devam ediyor, ancak Android 13, çoğu yeni kodun bellek açısından güvenli dillerden geldiği ilk sürüm. Google’ın Nisan 2021’de AOSP için kabul etmesinden sonra, Rust artık yeni kodun yaklaşık %21’ini oluşturuyor. Bu yıl, Linux çekirdek projesi Rust’ı C’den sonra yeni ikinci resmi dil olarak kabul etti.

Bellek güvenlik açıkları, toplam Android güvenlik açıklarının %76’sından %35’ine düşürüldü

2019’un Android 10 sürümünde 223 bellek güvenlik hatası bulunurken, Android 13’te bilinen 85 bellek güvenlik sorunu var.

Bu dönemde bellek güvenlik açıkları, toplam Android güvenlik açıklarının %76’sından %35’ine düştü, notlar Jeffrey Vander Stoep, Android güvenliği konusunda uzmanlaşmış yazılım mühendisi. Bellek güvenlik açıklarındaki bu düşüşle birlikte Google, kritik ve uzaktan kötüye kullanılabilir kusurlarda da bir azalma görüyor.

Jeffrey Vander Stoep, bu değişikliğin “kahramanca eylemlerden” değil, geliştiricilerin işleri için en iyi araçları kullanmalarından kaynaklandığını belirtiyor. Android ekibi, sistemlerini programlamak için C ve C++’dan kurtulma planları olmasa da, Rust kullanımını artırmayı planlıyor.

Pas ve alçakgönüllülük

“Bunu mümkün kılan tek bir özellik belirlemem gerekirse, ‘alçakgönüllülük’ derdim. Android ekibinin her seviyesinde ‘Nasıl daha iyisini yapabiliriz?’ sonuna kadar ve sistemik değişim de dahil olmak üzere değişim getirin”, bir twit ile dikkat çekti.

“Yine de alçakgönüllülük her iki yöne de gitmelidir. Rust tüm sorunları çözmez ve bazı alanlarda C/C++ en azından bir süre için geliştirme için en pratik seçenek olmaya devam edecektir. ciddi değil”.

“Rust kullanımını geliştirmeye ve C/C++ için iyileştirmelere yatırım yapmaya ve bunları dağıtmaya devam ederken, bu yönü zaman içinde azaltmak için çaba göstereceğiz.”

Vander Stoep, korelasyonun nedenselliğe eşit olmadığını, ancak yüksek önem dereceli hatalara hakim olan bellek güvenliğiyle ilgili güvenlik hatalarının yüzdesinin, yeni kod için kullanılan dillere çok yakın olduğunu belirtiyor.

Google’a göre, güvenlik araçları gibi tüylenme bellek güvenlik hataları üzerinde de büyük etkisi oldu.

Android 13: 1,5 milyon satırlık Rust kodu veya yeni kodun %21’i

“C/C++’mızın güvenliğini artırmak için araçlara yatırım yapmaya devam ediyoruz. Son sürümlerde, Android cihazların üretimi için Scudo, HWASAN, GWP-ASAN ve KFENCE’ı kullanıma sunduk. Ayrıca bulanıklaştırma kapsamımızı da artırdık. mevcut kod tabanı.Bu araçlar kullanılarak keşfedilen güvenlik açıkları, hem yeni koddaki güvenlik açıklarını hem de eski kodda keşfedilen güvenlik açıklarını önlemeye yardımcı oldu.Bunlar önemli araçlardır ve C/C++ kodumuz için kritik öneme sahiptir.Ancak, tek başlarına önemli gelişimi açıklamazlar. gözlemlediğimiz güvenlik açıklarının sayısı ve bu teknolojileri kullanan diğer projeler güvenlik açıklarının yapısında büyük bir değişiklik görmedi. Android’in bellek açısından güvenli olmayan dillerden bellek açısından güvenli dillere geçişinin önemli bir faktör olduğuna inanıyoruz” diye yazıyor. Vander Stoep.

Android 13’te toplamda 1,5 milyon satırlık Rust kodu olduğunu ve bunun tüm yeni kodların yaklaşık %21’ini oluşturduğunu söylemeye devam ediyor. Bugüne kadar Google, Android’in Rust kodunda tek bir bellek güvenlik açığı bulamadı.

“Bu, Rust’ın Android’in en yaygın güvenlik açığı kaynağını önleme hedefine ulaştığını gösteriyor. Android’in birçok C/C++ bileşeninde tarihsel güvenlik açığı yoğunluğu 1/kLOC’den (bin kod satırı başına 1 güvenlik açığı) fazladır. Android (ör. Medya, Bluetooth, NFC vb.). Bu tarihsel güvenlik açığı yoğunluğuna dayanarak, Rust kullanımının yüzlerce güvenlik açığının üretime ulaşmasını engellemiş olması muhtemeldir,” diye belirtiyor Vander.

Chrome için Pas Yok

Google, C/C++’dan vazgeçmeyi bir meydan okuma olarak görüyor, ancak Android için projeye devam ediyor. Öte yandan Rust for Chrome’a ​​geçmiyor.

Ancak Google, Android için Rust’ta donanım soyutlama katmanları (HAL) uyguluyor ve güvenilir uygulamalarda Rust için destek ekliyor. Ayrıca, Android’in sanallaştırmasının bir parçası olarak sanal makineler için donanım yazılımını Rust’a geçirdi. Ve Linux çekirdeğinin 6.1 sürümündeki Rust desteğiyle Google, çekirdek sürücülerinden başlayarak çekirdeğe bellek güvenliğini getiriyor.

Rust kullanımının büyümesini daha derine inmek için


Kaynak : “ZDNet.com”





genel-15