Java, .NET Geliştiricileri Daha Sık Güvenlik Açıklarına Eğilimli

Java, .NET Geliştiricileri Daha Sık Güvenlik Açıklarına Eğilimli

Kaynak Düğüm: 1901108

Java ve .NET'te yazılmış uygulamaların dörtte üçünden fazlasında, geliştiricilerin genellikle uygulama güvenliği için temel olarak kullandıkları yazılım zayıflıklarının bir listesi olan OWASP İlk 10 listesinden en az bir güvenlik açığı vardır.

Bu, yaklaşık 760,000 uygulamanın analizinde, bu iki programlama ekosistemini kullanan yaklaşık beş uygulamadan birinin en az bir yüksek veya kritik önem derecesine sahip güvenlik açığı bulduğunu tespit eden yazılım test firması Veracode'a göre.

Genel olarak, ortalama bir uygulamanın her ay en az bir güvenlik açığına sahip olma şansı %27 idi; kötü yazılmış uygulamalar ve nadiren taranan uygulamalar muhtemelen daha kusurlu olurken, daha uzun bir güvenlik süreci geçmişine sahip olan ve iyi eğitimli kişiler tarafından yazılan uygulamalar. Veriler, geliştiricilerin yeni kusurlar getirme olasılığının daha düşük olduğunu gösterdi.

Veracode'da stratejik ürün yönetiminden sorumlu başkan yardımcısı Tim Jarrett, analizin güvenliği geliştirme hattına entegre etmenin önemini vurguladığını söylüyor.

"Veriler tutarlı bir şekilde, sürecinize bir güvenlik alışkanlığı eklerseniz, hem genel kusurları düzeltme açısından daha iyi bir sonuç elde ettiğinizi hem de ... gelen malzeme akışını yavaşlattığınızı ve bunun büyük bir fark yarattığını gösteriyor. " diyor.

Bu arada, yazılım şirketleri ve geliştirme ekipleri, uygulama kodundaki kusurları ve güvenlik açıklarını ortadan kaldırmak için mücadele etmeye devam ediyor. Geliştiriciler ve açık kaynak projeleri ise yazılım kusurlarını daha hızlı düzeltmeVeracode'un 11 Ocak'ta yayınlanan “Yazılım Güvenliğinin Durumu” raporuna göre, ortalama güvenlik açığının yarı ömrü gün veya haftalarla değil, aylarla ölçülmeye devam ediyor. 

Örneğin, araştırma tarafından analiz edilen toplam uygulamaların %71'ini oluşturan Java ve .NET uygulamaları, kusurların yarısının sırasıyla 243 gün ve 158 gün sonra uygulamaları etkilemeye devam ettiğini gördü.

Programlama diline göre güvenlik açıklarının yarı ömrü

Kaynak: Veracode'un “Yazılım Güvenliğinin Durumu” raporu

Uygulama şişkinliği ve yaşı, güvenlikleri üzerinde önemli bir olumsuz etkiye sahipti. Ortalama bir uygulama yaklaşık %40 daha fazla kod biriktirir ve güvenlik açıklarına sahip olma olasılığı daha yüksektir. İki yıllık uygulamaların yaklaşık %54'ünde kusur bulunurken, beş yıllık uygulamaların yaklaşık %69'unda kusur bulunur, bulunan analiz.

JavaScript'in Şaşırtıcı Güvenliği

Şaşırtıcı bir şekilde, JavaScript'te yazılan veya JavaScript çerçevelerinden birini kullanan uygulamalar, güvenlik açığı taramalarında daha başarılı olma eğilimindeydi. Java ve .NET uygulamalarının yaklaşık %80'inde güvenlik açığı bulunurken, JavaScript uygulamalarının yalnızca %56'sında güvenlik açığı bulunuyordu. Java ve .NET uygulamalarının yaklaşık %20'si yüksek önem dereceli bir güvenlik açığına sahipken, JavaScript uygulamalarının %10'undan daha azı bu güvenlik açığına sahipti.

Jarret, JavaScript çerçevelerinin daha yeni olduğunu, daha fazla güvenliğe sahip olduğunu ve Java'nın nispeten yakın zamanda fayda sağladığı açık kaynak ekosisteminin avantajlarına sahip olduğunu söylüyor.

"JavaScript daha yeni bir dil, bu nedenle içinde yazılan uygulamalar daha yeni ve önceki raporlarda uygulamanın yaşı ile kusur düzeltme süresi arasında kurduğumuz bir ilişki var" diyor. "JavaScript için araçların çoğu olgunlaştı ve iyi desteklenen bir dil."

Ayrıca, bir Java uygulamasındaki bir güvenlik açığının birinci taraf sorunu olduğu durumlarda (sorunları düzeltmek geliştiriciye bırakılır) JavaScript ve Node.js çerçevesinde, güvenlik açıkları genellikle bir üçüncü taraf sorunudur çünkü güvenlik açığı bir bileşende meydana gelmiştir. yazılımın bağlı olduğu.

"Bir Java uygulamasındaki bir güvenlik sorununu çözme yönteminiz hala büyük ölçüde [burada] bir sınıf dosyasında değişiklik yapıp onu derliyorsunuz" diyor. “Bir JavaScript uygulamasında, bu daha çok bir paket yönetimi sorunudur. Ve bu, bir geliştiricinin öğrenmesi için farklı bir şey, ki bu daha kolay olabilir."

Yeni Programlama Dilleri Zayıflıyor

Raporun verileri, geliştiricilerin öğrenmekte olduğu programlama dilleri ile işletmelerin çoğunda fiilen kullanılan diller arasındaki farkı da vurgulamaktadır. Veracode tarafından görülen en önemli diller ve ekosistemler — Java, .NET ve JavaScript — geliştiricilerin programlama teknolojisi tercihi değildir.

Node.js, React.js ve Angular gibi JavaScript ve JS tabanlı çerçeveler, geliştiricilerin tercih ettiği teknolojiler listelerinde başı çekerken, Java en az sevilen programlama dillerinden biridir ve ankete katılanların %54'ü dilden korkar. Stack Overflow'a göre onu sevenlerin oranı %46 2022 Geliştirici Anketi

Yine de Java, Veracode istemcileri tarafından taranan uygulamaların payına hakim oldu (%44), JavaScript için bu oran %14'tü. 

Ek olarak, en sevilen programlama dili Rust, Veracode'un verilerinde görünmüyor bile, geliştiricilerin 6 numaralı Python'u ise taranan uygulamaların yalnızca %4'ünden azını oluşturuyor.

Veracode'dan Jarrett, bağlantının kesilmesinin bir nedeninin yerleşik uygulamaların yerleşik programlama dillerinde yazılmış olması olduğunu söylüyor.

"Dışarıda olan tüm kodlardan oluşan eksiksiz bir evrene sahipsiniz ve ardından yeni gelişme dalgasının tepesindeki köpük gibi bir şeye sahipsiniz ve insanların Go, Rust ve Dart'ı topladığını gördüğünüz yer burasıdır. ve Flutter," diyor.

Bu dillerde yazılan uygulamaların toplu kod tabanları nedeniyle, bu durum muhtemelen değişmeyecektir.

"Ne yazık ki eski uygulamalar asla ölmez, bu nedenle bu büyük Java kod tabanları ve .NET kod tabanlarına sahip işletmelerde çok fazla kritik kitle vardır" diyor.

Zaman Damgası:

Den fazla karanlık okuma