Mozilla tarafından kullanılan yeni kütüphane izolasyon teknolojisi RLBox

Firefox Logosu

Stanford Üniversitesi Araştırmacılarıiçinde California Üniversitesi San Diego'da y la Teksas Üniversitesi Austin'de Geliştirdiler adını verdikleri bir takım araçlar "RLBox", o ek bir yalıtım seviyesi olarak kullanılabilir işlev kitaplıklarındaki güvenlik açıklarını engellemek için.

RLBox, üçüncü taraf kitaplıkların güvenlik sorununu çözmeyi hedefliyor Geliştiriciler tarafından kontrol edilmeyen, ancak ana projenin tehlikeye atabileceği güvenlik açıkları.

Mozilla, Linux için Firefox 74 derlemelerinde RLBox'ı kullanmayı planlıyor ve derlemeleri Firefox 75'te macOS Grafit kütüphanesinin yürütülmesini izole etmek için, kaynakları temsil etmekten sorumludur.

Aynı zamanda RLBox, Firefox'a özgü değildir ve herhangi bir kütüphaneyi rastgele projelerde izole etmek için kullanılabilir.

RLBox hakkında

İşletim mekanizması RLBox, C / C ++ kodunu izole kitaplıktan ara WebAssembly koduna derlemeye indirgiyor alt düzey, daha sonra yetkisi yalnızca bu modüle bağlanacak şekilde ayarlanan bir WebAssembly modülü olarak verilir (örneğin, dizeleri işlemek için bir kitaplık bir soket veya ağ dosyasını açamaz) C / C ++ kod dönüşümü wasi-sdk kullanılarak bir WebAssembly yapılır.

Doğrudan uygulama için, WebAssembly modülü, Lucet derleyicisi kullanılarak makine koduna derlenir ve uygulamanın belleğinin geri kalanından ayrı bir "nanoproses" içinde çalışır. Lucet derleyicisi, Firefox'ta WebAssembly çalıştırmak için kullanılan Cranelift JIT motoruyla aynı koda dayanmaktadır.

Birleştirilmiş modül ayrı bir bellek alanında çalışır ve adres alanının geri kalanına erişimi yoktur. Kütüphanedeki güvenlik açığından yararlanılması durumunda, saldırgan sınırlı olacak ve sanal alanın dışındaki ana işlemin bellek alanlarına veya aktarım denetimine erişemeyecektir.

Geliştiriciler için, kitaplık işlevlerini ayırma modunda çağırmanıza olanak tanıyan yüksek düzeyde bir API sağlanır.

Jardines de Viveros WebAssembly denetleyicileri neredeyse hiç ek kaynak gerektirmez ve bunlarla etkileşim, sıradan işlevleri çağırmaktan çok daha yavaş değildir (kütüphane işlevleri, yerel kod biçiminde çalışır ve aşırı yük, yalnızca korumalı ortamla etkileşim sürecinde verileri kopyalarken ve doğrularken gerçekleşir) .

Yalıtılmış bir kitaplığın işlevleri doğrudan çağrılamaz ve bunlara erişmek için katmanı kullanmanız gerekir invoke_sandbox_function().

Buna karşılık, kütüphaneden harici işlevleri çağırmaları gerekiyorsa, bu işlevler, register_callback yöntemi kullanılarak açıkça tanımlanmalıdır (varsayılan olarak, RLBox standart kitaplık işlevlerine erişim sağlar).

Güvenli bellek çalışmasını sağlamak için, kod yürütmeyi izole etmek yeterli değil ve ayrıca döndürülen veri akışlarının doğrulanmasını sağlamanız gerekir.

Yalıtılmış bir ortamda oluşturulan değerler güvenilmez olarak işaretlenir, bozuk etiketlerle sınırlıdır ve "temizleme" için doğrulama ve uygulama belleğine kopyalanması gerekir.

Temizlemeden, kirli verileri düzenli veri gerektiren bir bağlamda kullanma girişimi (ve tersi) derleme aşamasında hataların oluşmasına neden olur.

Küçük işlev bağımsız değişkenleri, dönüş değerleri ve yapılar, işlem belleği ile sanal alan belleği arasında kopyalanarak geçirilir. Büyük veri kümeleri için, bellek izole bir ortamda tahsis edilir ve ana işleme doğrudan bir "sanal alan referansı" gösterici döndürülür.

RLBox geliştirmeleri MIT lisansı altında dağıtılır. RLBox şu anda Linux ve macOS'u destekliyor ve daha sonra Windows ile uyumlu olması beklenmektedir.

Mozilla'nın Firefox'ta uygulamayı planladığı bu yeni teknoloji hakkında daha fazla bilgi edinmek istiyorsanız, geliştirilmesine danışabilir ve API'yi test edebilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

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

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  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.