Google, C / C ++ için korumalı alan ortamları oluşturmak için bir sistem açtı

Google

Bir kaç gün önce Google, Sandboxed API projesinin açılışını duyurduO C ve C ++ 'da rastgele kitaplıkların izole edilmiş yürütülmesi için korumalı alan oluşturma sürecini otomatikleştirmenizi sağlar.

Kodunuzu kitaplıklardan ayırma kütüphaneler tarafından sağlanan tanıtıcılara olası saldırılara karşı koruma sağlar, kodunuzda, kütüphaneye giren harici verilerle manipülasyon yoluyla yararlanılabilecek güvenlik açıkları olması durumunda ek bir bariyer oluşturur. Kod, Apache 2.0 lisansı altında açıktır.

İzolasyonveya Sandbox2 çalışma zamanında kullanılarak yapılırad alanlarının, cgroups ve seccomp-bpf'nin kullanıldığı.

Sistem çağrılarına ve kaynaklara erişim için ayrı bir işlemde çalışan korumalı alana teslim edilen koddosyalar ve ağ bağlantılarının yanı sıra sınırlıdır.

İşlemler, yalnızca yalıtılmış kodu yürütmek için doğrudan gerekli olan sistem yeteneklerine erişim kazanır.

Sandbox2, süreci çalıştırmak için bileşenleri tanımlarveya izolasyon kurallarını uygulayın ve sonraki yürütmeyi destekleyin.

sandbox2 yalnızca kitaplıkları değil, aynı zamanda rastgele işlemleri de izole etmek için Sandbox API'den ayrı olarak kullanılabilir.

Artan korumaya ek olarak, ayrı işlemlerde kodun ortadan kaldırılmasındaki olumlu bir nokta, kitaplığın ve CPU'nun bellek tüketimi üzerindeki sınırların ayrı bir düzenlemesinin yanı sıra arızalara karşı koruma olasılığıdır: kütüphane tüm uygulamanın çökmesine neden olmaz.

Korumalı Alana Sahip API hakkında

Sandboxed API, Sandbox2 için bir eklentidir Bu, mevcut kitaplıkların yalıtılmış modda çalışacak şekilde taşınmasını kolaylaştırır.

Korumalı Alana Sahip API kütüphane kodunu sandbox ortamında çalıştırmanıza izin veren bir ara yazılım arayüzü sağlarsandbox ortamında bir kütüphaneye çağrı organize etmek ve kütüphane sonuçlarının ana programa ulaştırılmasını sağlamak.

Se İzole kitaplığa ProtoBuffs protokolünü temel alan özel bir RPC aracılığıyla erişir.

A kütüphane geliştiricilerine değişkenlere erişime izin veren bir dizi seçenek sunulurdizileri ve yapıları paylaşmak için otomatik ve kontrollü bellek senkronizasyonu araçları dahil olmak üzere temel uygulamadan izole edilmiş dosya tanımlayıcıları, tamponlar ve kitaplık işlevleri.

sapi-genel bakış

Bu tür verileri analiz eden bir yazılım kitaplığı yeterince karmaşık olduğunda, belirli güvenlik açıklarının kurbanı olabilir: bellek bozulması hataları veya analiz mantığıyla ilgili diğer sorun türleri (örneğin, yol geçiş sorunları). Bu güvenlik açıklarının ciddi güvenlik sonuçları olabilir.

Buna ek olarak, İzole edilmiş süreçlerin işleyişini izlemek ve arıza durumunda yeniden başlatmak için bir API sağlanmıştır.

İzole kitaplık için, Bazel montaj sistemi ve temel ve izole süreçler arasındaki etkileşim için program arayüzü (SAPI) için izole edilmiş fonksiyonların açıklama kodu otomatik olarak üretilir.

Geliştirici ayrıca, izin verilen tüm sistem çağrılarını ve işlemlerini tanımlayan izolasyon kurallarına sahip bir başlık dosyası oluşturmalıdır. (okuma, yazma, dosya açma, zamana erişim, sinyal işleyicileri kurma yeteneği, malloc aracılığıyla bellek tahsisi desteği, vb.).

Kütüphanenin erişmesi gereken dosyalar ve dizinler ayrı ayrı belirlenir.

Kurulum

Şu anda proje yalnızca Linux için mevcut, ancak gelecekte macOS ve BSD sistemleri ve uzun vadede ve Windows için destek eklemeyi vaat ediyorlar. Evet sandboxed api kurmak istiyorsanız, verilen talimatları takip edebilirsiniz. bu bağlantıda.

Planlardan da not edildi C ve C ++ dışındaki dillerdeki kitaplıkları izole etme yeteneği, izolasyon için ek çalışma zamanı desteği (örneğin, donanım sanallaştırmaya dayalı) ve CMake ve diğer montaj sistemlerini kullanma yeteneği (destek artık Bazel yapı sistemiyle sınırlıdır).

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.