C'de güvenliği artırmak için bir Microsoft projesi olan CHERIoT

CHERİOT

CHERIoT, gömülü sistemler için güvenlik için bir MS seçeneği

Geçenlerde bir haber çıktı ki Microsoft, CHERIoT projesi ile ilgili geliştirmeleri açtı (Nesnelerin İnterneti için RISC-V'ye Kapasite Donanım Uzantısı), C ve C++ kodundaki güvenlik sorunlarını engellemeyi amaçlar mevcut. CHERIoT, mevcut C/C++ kod tabanlarını yeniden düzenlemek zorunda kalmadan korumak için bir çözüm sunar.

Koruma, değiştirilmiş bir derleyici kullanılarak uygulanır. işlemci tarafından sağlanan özel genişletilmiş işlemci yönergeleri (ISA) kullanan ve donanım düzeyinde bellek erişimini izleyen, iş doğruluğunu işaretçilerle doğrulayan ve kod bloğu izolasyonu sağlayan.

CHERİOT hakkında

proje C dilinin düşük seviyeli yapısı olduğu anlayışıyla oluşturulmuştur. bellek hatalarının kaynağı haline gelir, arabellek taşmaları gibi sorunlara yol açan, halihazırda boşaltılmış olan belleğe erişim, işaretçi başvurusunu kaldırma veya çift serbest bırakma.

Uygulama, katı bir değişiklik inceleme politikasına sahip olan ve modern geliştirme yöntemlerini ve statik analiz araçlarını kullanan Google ve Microsoft gibi büyük şirketlerin bile bellekle hatasız çalışmayı garanti edemediğini göstermektedir (örneğin, Microsoft ve Google'daki güvenlik açıklarının yaklaşık %70'i) güvenli olmayan bellek yönetiminden kaynaklanır).

sorun Güvenli çalışmayı garanti eden programlama dilleri kullanılarak çözülebilir.veya bellekle veya ek denetimlere sahip bağlantılarla, örneğin ortak işaretçiler yerine serbest bırakılan bellek alanlarına erişmek için ek denetimler gerçekleştiren MiraclePtr (raw_ptr) kullanarak.

Fakat bu tür yöntemler yeni kod için daha uygundur y mevcut C/C++ projelerini yeniden işlemek oldukça zahmetlidir, özellikle gömülü sistemler ve IoT cihazları gibi kısıtlı kaynaklara sahip ortamlarda çalıştırılmak isteniyorsa.

Jardines de Viveros CHERIoT donanım bileşenleri bir mikrodenetleyici olarak tasarlanmıştır RISC-V mimarisine dayalı, güvenli işlemci mimarisi CHERI'yi (RISC-V için Kapasite Donanım Uzantısı) uygulayan, kontrollü bir bellek erişim modeli sağlayan.

Dayalı komut seti mimarisi (ISA) CHERIoT'ta sağlanan, tek tek nesneler düzeyinde bellekle çalışma güvenliğini garanti eden, halihazırda boşaltılmış belleğe erişime karşı koruma sağlayan ve bellek erişimi için hafif bir izolasyon sistemi uygulayan bir programlama modeli oluşturulmuştur.

Bu programatik koruma modeli, doğrudan C/C++ dil modelini yansıtarak onun mevcut uygulamaları korumak için kullanılmasına izin verir (yalnızca ISA CHERIoT uyumlu donanım üzerinde yeniden derleme ve çalıştırma gereklidir).

Önerilen çözüm, bellekteki bir nesnenin sınırlarının dışına çıkmasına neden olan hataların engellenmesini sağlar., işaretçinin değiştirilmesine izin vermez (tüm işaretçiler mevcut işaretçilerden oluşturulmalıdır), serbest bıraktıktan sonra bellek erişimini izler (bozuk bir işaretçi veya serbest bırakılmış bir nesneye başvuran bir işaretçi tarafından yapılan herhangi bir bellek erişimi bir istisna oluşturur).

Örneğin, CHERIoT kullanmak, herhangi bir kod değişikliği yapmadan otomatik sınır denetimi gerçekleştirmeye, bellek alanlarının ömrünü izlemeye ve güvenilir olmayan verileri işleyen bileşenlerde işaretçilerin bütünlüğünü sağlamaya olanak tanır.

proje CHERIoT komut seti mimarisi için bir belirtim içerir uzantısı, ISA CHERIOT uyumlu 32 bit RISC-V CPU'nun referans uygulaması ve değiştirilmiş bir LLVM araç seti.

Nihayet Bununla ilgili daha fazla bilgi edinmek istiyorsanız, bilmelisin ki prototip diyagramları Verilog'daki CPU ve donanım bloğu açıklamaları, Apache 2.0 lisansı altında dağıtılır. LowRISC projesinin Ibex çekirdeği CPU için temel olarak kullanılır ve CHERIoT ISA kod modeli Sail dilinde tanımlanır ve BSD lisansı altında dağıtılır.

Ek olarak, 256 MB RAM'e sahip gömülü sistemlerde bile bölmeleri (bölmeyi) izole etme yeteneği sağlayan bir prototip CHERIoT RTOS gerçek zamanlı işletim sistemi önerilmiştir.

Kod CHERİOT RTOS C++ ile yazılmıştır ve MIT lisansı altında dağıtılmaktadır. Bölmeler biçiminde, önyükleyici, zamanlayıcı ve bellek ayırma sistemi gibi işletim sisteminin temel bileşenleri tasarlanmıştır.


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.