Veri güvenliği şirketi Fortanix 2016’da piyasaya çıktığında, şirket bir karar verdi: Güvenlik gücünden ve performansından yararlanmak için bir yıllık Rust’ın programlama dilini kullanın.
Yedi yıl sonra, Rust taahhüdünün başarılı olduğu kanıtlandı. Başkan yardımcısı Jethro Beekman, şirket, kullanıcı verileri için güvenli yerleşim bölgelerinin kullanımına izin veren ve Rust derleyicisinin bazı güvenlik açıklarından, özellikle de bellek güvenliği sorunlarından kaçınma yeteneğinden yararlanan Intel Yazılım Koruma Uzantıları (SGX) için destek oluşturdu. firma için teknoloji ve CISO.
“Bu potansiyeli gerçekten gören bazı erken benimseyenler vardı ve kapsamlı bir araştırma yaptıktan ve bununla ilgili pratik deneyim kazandıktan sonra, temelde her şeyi yapmaya karar verdik” diyor. “Araçlar ve derleyici, hatalardan kaçınmanıza gerçekten yardımcı oluyor.”
1.0 sürümünün yayınlanmasından sekiz yıl sonra Rust dili ve geliştirme platformları, güvenli koda odaklanan geliştiriciler ve şirketler arasında popülerlik kazanmaya devam ediyor. Rust, C veya C++’dan çok daha düşük bir TIOBE derecesine sahip olsa da, dil yıldan yıla önemli ölçüde ek kullanıcı görüyor. Rust ayrıca kararlı bir takipçi kitlesine sahiptir: Stack Overflow 2023’e göre geçen yıl programcıların yalnızca %12’si bu teknolojiyi kullanırken, bu geliştiricilerin yaklaşık %85’i dili kullanmaya devam etmek istiyor ve bu da onu “en beğenilen” programlama dili yapıyor. Geliştirici Anketi.
Microsoft’ta kurumsal ve işletim sistemi güvenliğinden sorumlu başkan yardımcısı David Weston, Mart ayında BlueHat İsrail’de yaptığı açıklamada, örneğin, hata sınıflarını ortadan kaldırma çabasının bir parçası olarak, Microsoft’un Rust kullanarak çekirdeğin bazı bölümlerini yeniden yazdığını söyledi. Şirket, yazı tipi ayrıştırmayı bir bellek güvenliği özelliğine dönüştürmek için Rust’ta DWriteCore’u yarattı ve şu anda Rust’ta grafik sürücüsü arabiriminin (GDI) bazı kısımlarını yazma denemeleri üzerinde çalışıyor. Şirket, kodun ilk sürümlerinde %5 ila %15 arasında performans artışı gördü.
Weston sunumunun bir video kaydında “Windows’ta Rust için tarama aşamasında olduğumuzu söyleyebilirim” dedi. “Bir takım zinciri ile deney yapıyoruz; kod genine bakıyoruz[eration]ve bunun Rust’ı öğrenmenin maliyetine değip değmeyeceğini anlamaya çalışıyoruz.”
Bununla birlikte, Rust Vakfı’nın bir sponsoru olan Microsoft, dili taahhüt etti. Weston, “Aslında Windows’un çekirdeğinde Rust ile önyükleme yapacaksınız” diyor.
Google, 1Password ve Yerleşik Diğerleri
Google ayrıca Rust’ın büyük bir destekçisidir. Şirket, Android’deki bellek güvenliği açıklarının payındaki düşüşü C ve C++’tan Rust, Kotlin (işlevsel bir programlama dili) ve Java’ya geçişe bağlıyor. 2022’de, arabellek taşmaları gibi bellek güvenliği açıkları, Android’deki tüm güvenlik açıklarının yarısından daha azını oluşturuyordu.
“Genellikle, yeni C yazmayı düşündüğünüz her yerde Rust kullanmanızı öneririz. [or] C++ kodu,” diyor Google’da Android programlama dilleri mühendislik direktörü ve Rust Vakfı’nın yönetim kurulu başkanı Lars Bergstrom. hafıza gibi.”
Ulusal Güvenlik Ajansı ayrıca geliştiricinin güvenlik açısından kritik kodlar için C ve C++’a alternatifler aramasını önerir çünkü bu diller geliştiricinin hata yapmamasına çok bağlıdır.
Fortanix, Rust’ı kapsamlı bir şekilde kullanmayı taahhüt ederken, diğer şirketler dili kod tabanlarına nasıl dahil edecekleri konusunda daha taktiksel davranıyorlar. Şirket, kullanıcıların parola depolarını korumak için sağlam güvenlik gerektiren parola ve kimlik yönetimi firması 1Password’ün, farklı işletim sistemlerinde ön uç arabirimi için diğer dilleri kullanarak temel veri güvenliği bileşenleri için geliştirme platformu olarak Rust’u benimsediğini belirtti. bir blog yazısında.
Weston, Microsoft’un da benzer bir durumda olduğunu ve kod tabanının büyük bir bölümünü Rust’ta yeniden yazmayacağını söyledi.
BlueHat İsrail konferansında katılımcılara “Size söylemekten nefret ediyorum – oradaki Rust hayranlarını tanıyorum – Windows’u Rust’ta yeniden yazmak muhtemelen yakın zamanda gerçekleşmeyecek” dedi. “Rust’u sevsek de yerel kodumuzun daha fazlasını korumayı da içeren bir stratejiye ihtiyacımız var.”
Öğrenme Eğrisi O Kadar Dik Değil
Rust Vakfı, yerleşik ve bağlantılı cihaz firmaları tarafından – özellikle otomotiv, endüstriyel ve havacılık uygulamalarında – ve ayrıca başka bir yeni platform olan WebAssembly’de Web ve bulut uygulamaları oluşturmada büyük bir benimsenme gördü, diyor Rebecca Rambul, ve İcra Direktörü ve ve Rust Vakfı’nın CEO’su.
“Bu tür kuruluşlar, büyük teknoloji kuruluşlarının dışında Rust’ın potansiyelini gerçekten gören ilk kuruluşlar arasında yer aldı” diyor. “Yalnızca güvenlik nedeniyle değil, hız ve performans nedeniyle. Bellek güvenliği sayesinde bu düzeyde bir güvenlik elde edersiniz, ancak performans açısından hiçbir şey kaybetmezsiniz.”
Fortanix başladığında, her programcı Rust’ı yeni bir dil olarak öğrenmek zorundaydı. Google’ın şirket içi programcılar arasında yaptığı bir ankete göre, dilin öğrenilmesinin zor olduğu yönünde yaygın bir kanı olsa da, Rust öğrenen programcıların üçte ikisinden fazlası iki ay içinde bir projeye katkıda bulunabileceklerinden emin.
Google’ın anketine göre, yeni programcılar Rust’ı hızlı bir şekilde yakalarken, derleyici birçok kişinin istediğinden daha yavaş olmaya devam ediyor.
Güvenli kodlama eğitim firması Security Journey’de kıdemli bir güvenlik mühendisi olan Michael Erquitt, dilin biraz ayarlanması gerektiğini söylüyor. Ek olarak, programcıların dilden hangi işlevlerin ve uygulamaların yararlanacağına dair kendi anlayışlarını geliştirmeleri gerekir.
“Programlama dillerini ve araçlarını seçerken her zaman doğal ödünleşimler vardır” diyor. “Modern bir programlama dili olarak Rust, çok çeşitli projeler için kullanılabilir, ancak seçim, nihayetinde projenizin işlevsel/müşteri gereksinimlerini en iyi karşılayan şeye bağlıdır.”