Günümüzün tehdit ortamı sürekli olarak gelişmektedir ve artık her sektördeki kuruluşlar ve işletmeler, güvenli yazılımları sürekli olarak üretmeye ve sürdürmeye her zamankinden daha fazla kritik bir ihtiyaç duymaktadır. Örneğin finans sektörü gibi bazı dikey sektörler bir süredir düzenleme ve uyumluluk gerekliliklerine tabi olsa da, ABD, Birleşik Krallık ve ABD ile hükümetin en üst düzeylerinde siber güvenlik en iyi uygulamalarına yönelik ilginin istikrarlı bir şekilde arttığını görüyoruz. Avustralya, son zamanlarda SDLC’nin her aşamasında güvenli geliştirme ihtiyacına ışık tutuyor.
Buna rağmen, saldırganlar sürekli olarak en gelişmiş koruma ve savunmaları bile aşmanın yeni yollarını buluyor. Örneğin, birçoğu kötü amaçlı yazılım dağıtmaktansa API’lerden taviz vermeye veya hedefli saldırılar başlatmaya odaklandı. bir tedarik zincirine karşı. Ve bu üst düzey olaylar çok daha sık meydana gelirken, her ikisi de onlarca yıldır siber güvenlik savunmalarında bir bela olan siteler arası komut dosyası çalıştırma ve SQL enjeksiyonu gibi daha basit istismarlar da aynı şekilde oluyor. Sadece geçen aybir WooCommerce WordPress eklentisinde 9,8/10 önem derecesi ile kritik bir SQL enjeksiyon güvenlik açığı bildirildi.
Siber güvenlik platformları ve savunmaları, modern saldırılara karşı savunmada kritik bileşenler olsa da, gerçekten ihtiyaç duyulanın güvenlik açıklarından arındırılmış olarak konuşlandırılabilen güvenli kod olduğu aşikar hale geliyor. Ve bu, güvenlik bilincine sahip geliştiriciler tarafından harekete geçirilen güvenli kodlama standartlarında kasıtlı ve kararlı bir artış gerektirir.
Birçok geliştirici, güvenliği savunmaya ve daha yüksek kod kalitesi ve güvenli çıktı standartlarına bağlı kalmaya istekli olduklarını söylüyor, ancak bunu tek başlarına yapamazlar. Yaygın güvenlik açıklarına karşı mücadelede geliştiricilerin ihtiyaçlarını göz ardı edemeyiz ve geliştiricilerin doğru araçlar ve eğitim desteğinin yanı sıra işverenleri ve kuruluşları tarafından sıklıkla değerlendirildikleri geleneksel ölçütlerin yeniden işlenmesine ihtiyaçları vardır.
Geliştiricilerin Çoğu Neden Halihazırda Güvenliğe Öncelik Vermiyor?
En iyi kodlama uygulamaları, iş gereksinimlerine ve pazar eğilimlerine yanıt olarak yıllar içinde gelişmeye devam etti. Geçmişte, çoğu uygulama sözde kullanılarak oluşturuldu. şelale geliştirme yazılım mühendislerinin, geliştirmenin bir sonraki aşamasına geçmeden önce devam eden bir dizi kilometre taşını veya hedefi karşılamak üzere kodlarını hazırlamak için çalıştıkları model. Waterfall, yol boyunca önceki tüm kilometre taşlarını karşılayan ve üretim ortamı için hazır olduklarında hatalardan veya operasyonel kusurlardan arınmış olan programların geliştirilmesini destekleme eğilimindeydi. Ancak bugünün standartlarına göre, bir projeye başlamak ile bitiş çizgisine varmak arasında bazen 18 ay veya daha fazla süre olması acı verici derecede yavaştı. Ve bu, bugünlerde çoğu şirkette geçerli olmayacak.
bu çevik yöntem hıza çok daha fazla önem vererek Şelalenin yerini alma eğilimindeydi. Ve bunu, programların neredeyse son geliştirme düzeltmelerini tamamlar tamamlamaz üretime hazır olmasını sağlamak için geliştirme ve işlemleri bir araya getirerek daha da fazla hız için oluşturulmuş DevOps izledi.
İş ortamı geliştikçe, hızı güvenliğin ve neredeyse diğer her şeyin işlevselliğin önüne koymak bir zorunluluktu. Herkesin her zaman çevrimiçi olduğu ve birkaç saniyede milyonlarca mobil işlemin gerçekleşebildiği bulut tabanlı bir dünyada, yazılımın mümkün olan en kısa sürede devreye alınması ve sürekli entegrasyon ve sürekli teslimat (CI/CD) boru hattına dahil edilmesi görev açısından kritik öneme sahiptir. işletmeler için.
Kuruluşların güvenliği umursamadığından değil. Çoğu endüstride var olan rekabetçi iş ortamında hız daha önemli görülüyordu. Ve bu hıza yetişebilen geliştiriciler, iş performanslarının değerlendirildiği birincil araç haline gelene kadar başarılı oldular.
Artık gelişmiş saldırılar bu kadar dramatik bir şekilde arttığına göre, savunmasız kod dağıtmak bir sorumluluk haline geliyor. Tercih bir kez daha değişiyor, güvenlik giderek yazılım geliştirmenin birincil odak noktası haline geliyor ve hız hemen hemen bir saniye. Gerçeğin ardından güvenliğe sarılmak yalnızca tehlikeli olmakla kalmaz, aynı zamanda yazılım dağıtma sürecini de yavaşlatır. yükselişine yol açan bu DevSecOps güvenli kod oluşturmaya yardımcı olmak için hız ve güvenliği bir araya getirmeye çalışan ve güvenliği paylaşılan bir sorumluluk olarak gören metodoloji. Ancak saf hız için eğitilmiş geliştiriciler, kuruluşlarından çok fazla destek almadan işlevsel olarak güvenlik bilincine sahip olamazlar.
Güvenlik Açığı Azaltma Üzerinde Gerçek Bir Etki Yaratmak için Geliştiricilerin Neye İhtiyacı Var?
İyi haber şu ki, geliştiricilerin çoğu, geliştirme sürecinin bir parçası olarak güvenli kodlamaya geçiş ve güvenliğin yeniden önceliklendirilmesini görmek istiyor. İçinde Kapsamlı anket Evans Data tarafından bu yılın başlarında dünyanın dört bir yanında aktif olarak çalışan 1.200’den fazla profesyonel geliştirici tarafından yürütülen anketin büyük çoğunluğu, güvenli kod oluşturma konseptini desteklediklerini söyledi. Çoğu, kuruluşlarında bir öncelik haline gelmesini de bekliyordu. Ancak, yanıt verenlerin yalnızca %8’i güvenli kod yazmanın kolay olduğunu söyledi. Bu, çoğu kuruluşun geliştirme ekipleri içinde neyin gerekli olduğu ile oraya ulaşmak için neyin gerekli olduğu arasında iyileştirme için çok yer bırakıyor.
Basitçe güvenli kodu zorunlu kılmak işi bitirmez ve doğru becerileri ve farkındalığı oluşturmak için çaba sarf edilmezse, iş akışlarını oldukça kesintiye uğratır. Geliştirme ekiplerinin, güvenlik zihniyetlerini besleyen ve ortak sorumluluk kültürünü destekleyen bir ortamda var olmaları gerekir.
İhtiyaç duyulan en büyük şey, onlar için daha iyi bir eğitim ve ardından güvenli kodlamayı iş akışlarının kusursuz bir parçası haline getirmeye yardımcı olan araçlardır. Ve program, daha az deneyimli geliştiricilerin, birçok uygulamalı öğrenme ve örnekle, genellikle koda sızan yaygın güvenlik açıklarının nasıl tanınacağını öğrenerek eğitimlerine başlayabilmeleri için özelleştirilmelidir. Bu arada, güvenlik becerilerini sergileyen daha gelişmiş geliştiriciler, bunun yerine daha karmaşık hatalarla ve hatta belki de gelişmiş tehdit modelleme konseptleriyle görevlendirilebilir.
Kuruluşların, geliştiricilere bu programlara düzgün bir şekilde katılmaları için kodlamadan yeterince uzak kalmaları da dahil olmak üzere, eğitim programlarını finanse etmenin ve desteklemenin yanı sıra, kohortlarının değerlendirilme şeklini de değiştirmeleri gerekir. Geliştiricileri ödüllendirmek için birincil metrik, ham hızdan uzaklaşmalıdır. Bunun yerine değerlendirmeler, güvenlik açıkları veya açıklardan yararlanma içermeyen güvenli kod oluşturabilenleri ödüllendirebilir. Evet, hız da değerlendirilen bir faktör olabilir, ancak her şeyden önce kodun güvenli olması ve modern geliştirmenin, hızda güvenliğin artık bir efsane olmadığı bir yol oluşturması gerekiyor.
Güvenli olmayan veya güvenlik açığı bulunan kodun gönderilmesi kabul edilebilir bir iş riski olmamalıdır ve gerçekler ortaya çıktıktan sonra güvenliği devreye sokmak giderek daha etkisiz hale gelmektedir. Neyse ki, bu rahatsız edici eğilimle savaşmak için en iyi silah, geliştirici topluluğunun saldırganların yararlanamayacağı güvenli kod üretmesini sağlamaktır. Çoğu geliştirici bu zorluğun üstesinden gelmeye isteklidir; gerçekleştirmeleri için onlara destek verin.
Secure Code Warrior, Gartner® Cool Vendors™ in Software Engineering: Enhancing Developer Productivity raporunda adı geçen dört şirketten biridir. Geliştirme ekiplerinin kendi dünyalarında anlamlı olan araçlarla güvenli yazılım geliştirmenin karmaşıklıklarında gezinmesine yardımcı olmaya hazırız. Daha fazla bilgi edin.
Not – Bu makale, Güvenli Kod Savaşçısı CTO’su ve Kurucu Ortağı Matias Madou tarafından yazılmış ve katkıda bulunmuştur.