Rust zaten Android geliştirme için favori

Google açıkladı son günlerde dahil Programlama dili İzin verilen diller arasında pas Android geliştirme için.

Rust derleyicisi 2019'da Android kaynak ağacına dahil edildiğinden beri, ancak dil desteği deneysel olarak kaldı. Android'e gönderilen ilk Rust bileşenlerinden bazıları, Binder süreçler arası iletişim mekanizmasının ve Bluetooth yığınının yeni uygulamalarıdır.

Rust uygulaması güvenliği güçlendirmek için bir projenin parçası olarak gerçekleştirildi, güvenli kodlama tekniklerini teşvik edin ve Android'de bellekle çalışırken sorunları belirleme verimliliğini artırın. Android'de tespit edilen tüm tehlikeli güvenlik açıklarının yaklaşık% 70'inin bellekle çalışırken oluşan hatalardan kaynaklandığı görülüyor.

Rust dilinin kullanımı, o güvenli bellek yönetimine odaklanır ve otomatik bellek yönetimi sağlar, serbest bırakıldıktan sonra bir bellek alanına erişim ve arabellek sınırlarının aşılması gibi bellek işleme sırasında oluşan hataların neden olduğu güvenlik açıkları riskini azaltır.

Rust'ta güvenli bellek kullanımı, referansları kontrol ederek, nesne sahipliğini ve nesne ömrünü (kapsam) izleyerek ve ayrıca çalışma zamanında belleğe erişimin doğruluğunu değerlendirerek derleme zamanında sağlanır.

Rust ayrıca taşmalara karşı koruma sağlar tamsayı, değişken değerlerin kullanılmadan önce zorunlu olarak başlatılmasını gerektirir, standart kitaplıktaki hataları daha iyi işler, varsayılan olarak referanslar ve değişmez değişkenler kavramını benimser ve mantıksal hataları en aza indirmek için güçlü statik yazım sunar.

Android'de, Kotlin ve Java dillerinde güvenli bellek yönetimi sağlanır zaten destekleniyor, ancak aşırı yük nedeniyle sistem bileşenleri geliştirmek için uygun değil.

Rust, C ve C ++ dillerine yakın bir performans elde etmeyi sağlar, donanım ile arayüz oluşturmak için platformun düşük seviyeli parçalarını ve bileşenlerini geliştirmek için kullanılmasına izin verir.

C ve C ++ kodunun güvenliğini sağlamak için Android, korumalı alan izolasyonu, statik analiz ve fuzzing testleri kullanır. Sandbox yalıtım yetenekleri sınırlıdır ve yeteneklerinin sınırına ulaşmıştır (süreçlerde daha fazla parçalanma, kaynak tüketimi açısından pratik değildir).

Korumalı alan kullanmanın sınırlamaları arasında, yeni süreçler oluşturma ihtiyacının neden olduğu yüksek ek yük ve daha yüksek bellek tüketiminden ve ayrıca IPC kullanımıyla ilişkili ek gecikmeden bahsederler.

Aynı zamanda, korumalı alan koddaki güvenlik açıklarını ortadan kaldırmaz, ancak yalnızca riskleri azaltır ve saldırıyı karmaşıklaştırır, çünkü istismar bir değil, birkaç güvenlik açığının tanımlanmasını gerektirir.

Kod test yöntemleri sınırlıdır, çünkü hataları tespit etmek için problemin ortaya çıkması için koşullar yaratmanız gerekir. Olası tüm seçenekleri kapsamak mümkün değildir, bu nedenle birçok hata fark edilmez.

Android'de sistem işlemleri için, Google, 'iki kuralı'na bağlı kalıyorGöre eklenen herhangi bir kodun üç koşuldan ikiden fazlasını karşılamaması gerekir- Doğrulanmamış giriş verileriyle çalışın, güvenli olmayan bir programlama dili (C / C ++) kullanın ve sabit sanal alan yalıtımı olmadan (yükseltilmiş ayrıcalıklarla) çalıştırın.

Bu kuraldan, harici verileri işleyecek kodun en az ayrıcalığa indirilmesi (izole edilmiş) veya güvenli bir programlama dilinde yazılması gerektiği sonucu çıkar.

Google, kodu yeniden yazmayı amaçlamaz Rust'ta bulunan C / C ++, ancak bu dili yeni kod geliştirmek için kullanmayı planlıyor.

Rust'ı yeni kod için kullanmak mantıklıdır, çünkü istatistiksel olarak çoğu hata yeni veya yakın zamanda değiştirilmiş kodda görünür. Özellikle Android'de tespit edilen hafıza hatalarının yaklaşık% 50'si bir yıldan daha kısa bir süre önce yazılan kodlarda tespit ediliyor.

kaynak: https://security.googleblog.com


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   miguel rodriguez dijo

    İroni, en büyük rakibiniz kendi amaçlarınız için geliştirilmesine yardım ettiğiniz bir şeyi benimsediğinde… Rust yükselişte.