Google ayrıca Rust'a da bahis yapıyor ve onun Chromium'a dahil edildiğini duyuruyor

Krom

Rust, Chromium'a da geldi

Google açıkladı son zamanlarda bir yayın aracılığıyla lChromium proje kodunda izin verilen diller arasında Rust programlama dilinin yer alması.

Dahil edilmek için bir dizi gereksinim olduğundan bahsedilmektedir. örneğin, Chromium kod tabanına entegrasyon talep eden üçüncü taraf Rust kitaplıkları için, kitaplığın hız, bellek tüketimi ve kararlılık açısından emsallerinden daha iyi performans göstermesi veya belirli bir teknolojinin tek uygulaması olması gerekir.

Rust kitaplıkları, işlevsellik ayrıcalıklı bir süreçte yürütülebildiğinde veya kitaplığı kullanırken diğer kitaplıklara veya C++ koduna kıyasla hata riskini azalttığında da kabul edilebilir. Chromium'a hangi kitaplıkların dahil edilebileceğine henüz karar verilmedi.

Karar bellek hatalarının ortaya çıkmasını önleme girişiminin bir parçası olarak alındı Chrome kod tabanında. İki yıl önce sağlanan istatistiklere göre, Chromium'daki kritik ve tehlikeli güvenlik sorunlarının %70'i bellek hatalarından kaynaklanıyor.

Güvenli bellek yönetimine odaklanan Rust dilinin kullanımı ve otomatik bellek yönetimi sağlar, belleğin bir alanına boşaldıktan sonra erişme ve arabellek taşması gibi sorunlardan kaynaklanan güvenlik açıkları riskini azaltır.

Derleme zamanında referans kontrolü, nesne sahipliği ve nesne ömrünün (kapsam) izlenmesi ve ayrıca kod yürütme sırasında bellek erişiminin doğruluk açısından değerlendirilmesi yoluyla Rust'ta güvenli bellek kullanımı sağlanır. Rust ayrıca tamsayı taşmasına karşı koruma sağlar, kullanımdan önce değişken değerlerinin zorunlu olarak başlatılmasını gerektirir, standart kitaplıkta hataları daha iyi işler, değişmez referanslar ve değişkenler kavramını varsayılan olarak uygular, mantıksal hataları en aza indirmek için güçlü statik yazım sunar.

Rust'ı kullanmak, Google'ın kod tabanını güvende tutmak için kullandığı "yapma kuralını" uygulamayı daha kolay ve daha güvenli hale getirecektir.

Bu kurala göre, eklediğiniz herhangi bir kod şu üç koşuldan ikisinden fazlasını karşılamamalıdır: doğrulanmamış girdilerle çalışma, güvenli olmayan bir programlama dili (C/C++) kullanma ve yükseltilmiş ayrıcalıklarla çalıştırma. Bu kuraldan, harici verileri işlemek için kodun en düşük ayrıcalıklara (yalıtılmış) indirgenmesi veya güvenli bir programlama dilinde yazılması gerektiği sonucu çıkar.

Başlangıçta tarayıcı düşünülerek geliştirilen Rust söz konusu olduğunda, mevcut kodla entegrasyon IPC kullanılmadan ve bellek hatası korumasını düzenlemek için daha az karmaşıklıkla yapılabilir, bu da geliştirme sürecini hızlandıracaktır (daha az kod yazmayı gerektirir) ve daha kolay inceleme) ve güvenlikle ilgili hataların sayısını azaltır.

Entegrasyonu basitleştirmek için Kodu mevcut C++ koduyla paslayın ve şu anda entegrasyonla ilgili risklerden ve sınırlamalardan kaçının tek yönlü etkileşimin sınırlandırılmasına karar verildi: API işlevleri aracılığıyla Rust'ı C++'dan çağırmak (yani, Rust kodu yalnızca C++ kodundan çağrılabilir), ancak C++ koduyla karıştırılamaz), bu da bağımlılık ağacını kontrol altında tutacaktır.

İkinci sınırlama, yalnızca Chromium'a bağlı olmayan ve görev yönelimli bir API'ye sahip ayrı bileşenler biçiminde gelen üçüncü taraf kitaplıkları için destektir.

Chrome 102'nin piyasaya sürülmesinden itibaren, boş kullanımdan sonra bellek güvenlik açıklarından yararlanmaları engellemek için Rust kullanmaya ek olarak, C++ kodu bunun yerine MiraclePtr (raw_ptr) türünü kullanmaya başladı. bu tür erişimler bulunursa hafıza alanları ve blokları.

Yeni koruma yönteminin performans ve bellek tüketimi üzerindeki etkisinin ihmal edilebilir düzeyde olduğu tahmin edilmektedir.

Son olarak belirtilmelidir ki Rust'ta mevcut kodu yeniden yazmak için henüz bir plan yok, ancak bundan sonra Rust'ta yazılmış üçüncü taraf kitaplıkların kod tabanına entegre edilmesine izin verilecek.

Derleme sistemi, Rust kodunu derlemek, testleri çalıştırmak ve Rust bileşenlerini C++ koduyla entegre etmek için araçlar eklemiştir. Rust kodunun gelecek yıl Chrome sürümlerinin bir parçası olarak görünmesi bekleniyor.

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.