Uygulama Güvenliği, Geliştirici Eğitimine Daha Fazla Yatırım Gerektirir



Siteler arası betik çalıştırma, kaba kuvvet saldırıları ve SQL enjeksiyonları gibi uygulamalara yönelik saldırılarda önemli endişelere yol açan önemli bir artış görüyoruz. Öyle ki, uygulama güvenliği “pazarlık edilemez” olarak etiketlendi ve pek çok kişi için uygun şekilde bir öncelik haline geldi. Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA) direktörü Jen Easterly, teknoloji endüstrisinin güvenli ürünler için sorumluluk alması için kampanya yürütüyor.

Penetrasyon testi ve kod tarama gibi teknoloji çözümleri, güvensiz yazılımları azaltmak için inkar edilemez derecede değerlidir, ancak kendi başlarına yeterli değildirler. Kuruluşların yaklaşık %70’i, yazılım geliştirme yaşam döngülerinde (SDLC) kritik güvenlik adımlarını atlıyor ve güvenlik açıkları katlanarak artıyor. Bu ikilemi çözmek için kuruluşların odak noktalarını güvenlik açıklarını bulmak, yamalamak ve düzeltmekten proaktif bir şekilde en başta güvensiz kod teslim etmemelerini sağlamaya kaydırmaları gerekiyor. Bu, insan öngörüsü ve sonuç olarak, yazılım geliştirmekten sorumlu olan herkesin yalnızca temel güvenlik ilkelerini ve güvenlik açıklarını tanımakla kalmayıp aynı zamanda bilgilerini daha güvenli uygulamalar için yeni durumlara uygulayabilmelerini sağlamak için eğitime daha fazla yatırım yapılmasını gerektirir.

Kod Taramanın Ötesine Geçmek

Kod tarama araçlarına veya kaynak kodu analiz araçlarına aşırı bağımlılık, SDLC’de güvenliğin çok geç bırakılmasına bir örnektir. Bir uygulama yayına girmeden önce güvenlik açıklarını belirlemek için kod taraması, güvenli yazılım geliştirme makinesinde önemli bir dişlidir, ancak önleme her zaman tedavi etmekten daha iyidir (Boehm yasasından, kusurların zamanla düzeltilmesinin daha maliyetli hale geldiğini bildiğimiz gibi).

Ana sorun, kod tarama araçlarının çok sayıda yanlış pozitif riski taşıması ve sonunda “uyarı yorgunluğuna” yol açmasıdır; burada geliştiriciler, işaretlenen kusurları görmezden gelir ve sonunda yanlış bir güvenlik duygusu yaratır. Dahası, kritik sorunlar vurgulandığında, bu güvenli olmayan kodu belirleyip düzeltmek büyük olasılıkla geliştiricinin sorumluluğundadır ve bu düzeltmeleri fiilen uygulamak için bilgiye ihtiyaçları vardır.

Geliştiriciler ve SDLC’de onları destekleyen herkes için güvenli kodlama eğitimi ve sürekli eğitime daha fazla yatırımın yapıldığı yer burasıdır. Kod taramanın hala oynayacağı önemli bir rol vardır, ancak güvenlik konusunda programatik eğitimle desteklenirse çok daha değerli olacaktır. ilkeler ve en iyi uygulamalar. Bu, yalnızca önemli güvenlik açıkları hakkında “farkındalık” yaratmak için değil, ekipleri güvenli bir şekilde kodlama bilgisine sahip kılmak ve kritik sorunları tarama araçlarına ve hatta üretime ulaşmadan önce önlemek içindir. Ayrıca, son aşamada yama yapmak için ek baskıdan kaçınarak geliştiricilerin üzerindeki yükü azaltabilir. Bunun yerine, yaklaşım “soldan başlamak” ve güvenliğin baştan sağlanması olmalıdır (Easterly tarafından savunulduğu gibi).

Araştırma bunu destekliyor; yazılım geliştirme uzmanlarıyla yapılan bir EMA anketi, kod tarama araçlarını kullanan kuruluşların yalnızca %10’unun kullanmayanlara göre daha fazla güvenlik açığını önlediğini buldu, ancak sürekli eğitim, bunu benimseyen kuruluşların %60’ından fazlası için kod güvenliğini büyük ölçüde geliştirdi. Ancak durum mutlaka biri veya diğeri için geçerli değildir: EMA, kod tarama, kod incelemeleri ve sürekli, üçüncü taraf eğitiminin bir kombinasyonunun daha güvenli yazılım geliştirmeye yönelik en iyi yaklaşım olduğunu savunuyor.

Daha Güvenli Alışkanlıkları Kucaklamak

Güvenli kodlamanın esasen daha kalıcı ve kökleşmiş bir alışkanlık haline gelmesi gerekiyor. Yine de davranış değişikliği, onu destekleyecek bilgi ve eğitim olmadan zordur. Uygulama güvenliğinin müzakere edilemez hale gelmesini sağlamak için değişikliği gerçekten yürürlüğe koymak, daha güvenli alışkanlıkları teşvik eden ve mümkün kılan geliştirici ve SDLC ekibi eğitimine yatırım yapmak anlamına gelir. Ve bu güvenli alışkanlıkların, her uzmanın rolüne bağlı olarak değişeceğini kabul etmek önemlidir.

Örneğin, geliştirme liderleri kod geliştirmekten kişisel olarak sorumlu olmayacak, bunun yerine daha az güvenlik açığı olan uygulamalar geliştirmekten nasıl sorumlu olacaklarına bakmaları gerekecek. Güvenlik özelliklerinin “cankurtaran” özellikleri olarak kabul edilmesini sağlamak – kodu yayınlamadan önce çok önemlidir – alışkanlıklarda değişiklik gerektirebilir, ancak uygulama güvenliğini artırmak için çok değerli olacaktır. Yazılım geliştiricilerin kendileri için, güvenli alışkanlıkları, geliştirme sürecinin başlarında bu çok önemli kod taramalarını veya incelemelerini benimsemek olabilir, ancak bu, yalnızca güvenli kodlamanın değerini anlayabilirlerse ve mümkün olduğunca çok sayıda güvenlik açığını azaltacak bilgiye sahip olurlarsa geçerli olacaktır. ilk etapta yapabildikleri gibi.

Henüz yapmadıysanız, bu uygulama güvenlik ikilemini çözmek için ilk adımı atmanın zamanı geldi. Yine de SDLC’nin reaktif düzeltme eki uygulama ve kod taramanın çok ötesine geçmesi ve bunun yerine ekipleri nasıl güçlendireceğimize, son aşama yüklerini nasıl azaltacağımıza ve uygulama güvenlik açıklarının gidişatını gerçekten tersine çevirmek istiyorsak sürekli eğitime yatırım yapmaya bakması gerekiyor.



Source link