Consumer Reports tarafından yapılan bir araştırmaya göre, kamu sektöründeki ve endüstrideki geliştiriciler, yeni ürün ve araçların geliştirilmesi için bellek açısından güvenli diller kullanmayı taahhüt etmelidir. Bellek açısından güvenli dillere geçiş için en kritik kitaplıkları ve paketleri belirleyin.

Organizasyon, C ve C++ gibi seçenekler pahasına Rust gibi “bellek için güvenli” dillerin benimsenmesini teşvik etmek için hangi adımların atılması gerektiğini tartıştı. Tüketici Raporları, “kullanıcı davranışı ve hatta müşteri seçimiyle çözülemeyen sektör çapındaki tehditlerle” mücadele etmek istediğini söylüyor ve “bellek güvenliği eksikliğini bu sorunlardan biri olarak tanımlıyor.

the raporlamak, Bellek Güvenliğinin Geleceğiüniversitelerde hafıza açısından güvenli dillerin benimsenmesinin zorluklarını, bu dillere olan güvensizlik düzeylerini ve diğer dillerde yazılmış kod tabanlarına girişlerini inceler.

Bilgisayar bilimleri öğretmenleri için “altın bir fırsat”

Son iki yılda, giderek daha fazla proje, kodu daha fazla bellek açısından güvenli hale getirmek için C ve C++ ile yazılmış kod tabanları için Rust’u kademeli olarak benimsemeye başladı. Bunların arasında Meta’nın girişimleri var. Google’ın Açık Kaynak Android ProjesiChromium projesi ve Linux çekirdeği.

2019’da Microsoft, son 12 yılda düzelttiği güvenlik hatalarının %70’inin bellek güvenliği sorunları olduğunu ortaya çıkardı. Windows öncelikle C ve C++ ile yazıldığı için bu rakam yüksekti. O zamandan beri Ulusal Güvenlik Ajansı (NSA), geliştiricilerin C++’tan C#, Java, Ruby, Rust ve Swift’e stratejik bir geçiş yapmalarını tavsiye ediyor.

Rust dahil, ancak bununla sınırlı olmamak üzere, bellek açısından güvenli dillere geçiş, C++ yaratıcısı Bjarne Stroustrup ve meslektaşlarını “C++ güvenliği” için bir plan bulmaya bile sevk etti. Geliştiriciler, performansı nedeniyle C++’ı seviyor ve hala gömülü sistemlere hükmediyor. C++ hala Rust’tan daha yaygın olarak kullanılmaktadır, ancak her ikisi de sistem programlama için popüler dillerdir.

Rapor, bilgisayar bilimi öğretmenlerinin hafıza problemlerinin tehlikelerini açıklamak için burada “altın bir fırsat” bulduklarına ve örneğin notların değerlendirilmesinde hafıza güvenliği hatalarının ağırlığını artırabileceklerine işaret ediyor. Ancak, Rust’taki bazı derslerin bazı bölümlerinin öğretilmesinin “gerekli olmayan karmaşıklığı” ekleyebileceğini ve C’nin birçok öğrencinin gelecekteki istihdam edilebilirliği için güvenli bir bahis gibi göründüğü zaman, Rust’un öğrenmenin daha zor olduğu yönünde bir algı olduğunu ekliyor.

Mevcut bir kod tabanına yeni bir dil nasıl eklenir?

Rapora göre, programcıların bellek için güvenli dillerin daha zor olduğuna dair inancının üstesinden gelmek için, bu dillerin “programcıları kodlarının güvenliğini ve performansını eninde sonunda iyileştiren önemli kavramlar hakkında düşünmeye zorladığı” açıklanmalıdır.

Rapor ayrıca mevcut bir kod tabanına yeni bir dilin nasıl dahil edileceği sorusunu da ele alıyor. Linux çekirdek projesi mevcut çekirdek kodunu yeniden yazmaz, ancak önce bazı sürücüler için Rust’ı etkinleştirir. Chromium güvenlik ekibi, Rust dilini ticari açıdan mantıklı olduğunda ihtiyatla etkinleştiriyor ve ayrıca Chrome’da C++ kodu için bellek güvenliği özellikleri geliştiriyor. Android Açık Kaynak Projesi, Rust’ı daha agresif bir şekilde zorluyor. Android 13’te yeni kodun %21’i Rust’ta yazılıyor, ancak C ve C++ kodu baskın olmaya devam ediyor.

Rapor, şirketlerin hataların nedenleri konusunda şeffaf olması gerektiğini belirtiyor ve araştırmacıların ve sektör uzmanlarının bellek güvenliğinden kaynaklanan güvenlik açıklarının yüzdesini belirlemelerine yardımcı olmak için güvenlik açıkları hakkında ayrıntılı bilgi sağlıyor.

Bir kusurun nedenini belirli bir dile bağlamak için yeterli bilgi yok

Ancak, güvenlik açığı açıklamaları genellikle bir kusurun nedenini belirli bir dile bağlamak için yeterli bilgi sağlamadığından, nereden başlayacağınızı bilmek zor olacaktır. Raporda, “Örneğin, Apple’ın güvenlik bültenleri şu anda C/C++ kaynaklı bellek açıklarını mantık hatalarından ayırt etmek için yeterli ayrıntı sağlamıyor.”

Rapor ayrıca, sektörün bu büyüklükteki bir sorunu tamamen çözmek için gerekli sosyal ve piyasa teşviklerinin olmadığına ikna olduğunu da kabul ediyor.

Ayrıca “bellekte güvenli” tedarik zinciri düzenlemelerinin olduğu bir dünya hayal ediyor. Rapor, bugün yönlendirici satın almanın imkansız olduğunu, bu nedenle kodun tamamen güvenli bellek dillerinde yazıldığını belirtiyor. Bu tür ürünler mevcut değil.

Bellek açısından güvenli dillerin kullanımının benimsenmesini teşvik etmek için geliştiricilerden, yazılım tarafından kullanılan bellek güvenliği azaltımlarını ve güvenli diller, denetimler, belirsizleştirme, korumalı alan oluşturma tarafından kapsanan kod yüzdesini belirtmek için bir “beslenme etiketi” ile birlikte listelemeleri istenebilir. , vesaire.


Kaynak : “ZDNet.com”



genel-15