SDLC SDLC Yazılım Geliştirme Yaşam Döngüsü Faz Güvenli
Güvenli yazılım oluşturmanın akıllı yaklaşımı güvenli SDLC veya yazılım geliştirmenin yaşam döngüsüdür. Yazılım yapmak ve daha sonra savunmasızlığını test etmek yerine, güvenliğe vurgu yaparak bunu yapmak daha iyidir. Bu SDLC güvenli mi? Daha geniş anlamda, SDLC SAFE, mevcut yazılım geliştirmenin yaşam döngüsünde güvenlik testi ve diğer adımları entegre etme sürecidir. Bu şunları içerebilir:
Güvenlik gereksinimlerini işlevsel gereksinimlerle birlikte yazın.
Mimari analiz yapmak.
Bilinen güvenlik açığı olmadan açık kaynaklı bir bileşen kullanmak.
Yazılımları her aşamada test edin ve güvenlik açığı/tehdidin devam etmesini önleyin.
SDLC neden güvenli? Güvenli yazılım geliştirme yaşam döngüsünün uygulanması önemlidir, çünkü geliştiriciler güvenlik açığı olan ürünleri serbest bırakamazlar. Yazılım ve verileri tehditlerden ve saldırılardan korumak için güvenliği garanti edecek şekilde geliştirilmelidir.
Bunun bir başka nedeni de, güvenliğe odaklanmadan ve daha sonra test etmeden ve onarmadan yazılım geliştirmek için etkili bir yaklaşım değildir. SDLC aşaması, tüm güvenli SDLC kavramları için güvenlidir. Bu süreç, kusurların yazılım geliştirmenin yaşam döngüsünün bir sonraki aşamasına taşınmasını önler. Aşağıdakiler, SDLC SAFE’de yer alan faz eskizleri ve bu aşamaların her birinde uygulanan güvenlik adımlarıdır. SDLC gereksinim aşaması, yazılımın fonksiyonel gereksinimleriyle birlikte güvenlidir, güvenlik gereksinimleri SDLC Aman’ın başında da açıklanmaktadır. Bu gereksinim, geliştiricilerin yazılımı güvenli bir şekilde doğal hale getirmek için ihtiyaç duyduklarını detaylandırdı. Geliştirme başlamadan önce derlenen güvenlik ile ilgili tüm kullanım ve senaryoların ayrıntılı listeleri. Bu daha sonra güvenlik özellikleri oluşturmak ve güvenlik testi senaryoları tasarlamak için kullanılır. Bu gereksinimler şöyle görülebilir:
Tüm kapılar ve giriş noktaları kimlik doğrulama adımları olmalıdır.
Sistem, güvenli bir giriş ekranı üzerinden kimlik doğrulama uygulamalıdır.
Tüm kişisel veriler istediğiniz zaman şifrelenmelidir.
Hassas veri aktarımı için birden fazla kimlik doğrulama kanalı kullanılmalıdır.
SDLC Güvenli Planlama aşaması için planlama aşaması, güvenli SDLC’de önemli bir adımdır. Planlama durumdan duruma farklı olabilir, ancak dikkate alınması gereken en temel şeylerden bazıları:
Yazılım güvenliği ile ilgili tüm eylemleri tarafsız şekillerde görmezden gelmek ve yönlendirmek için deneyimli bir özel güvenlik ekibi oluşturulmalıdır. Proje Yönetim Ofisi’nin dışına yerleştirilmelidir, güvenlik görevlileri, güvenlik mimarları ve güvenlik sınavlarından oluşmalıdır. Tüm ekip üyelerinin açık bir rolü ve sorumluluğu olmalıdır. Proje güvenlik sorunlarıyla ilişkili her belirsizlik veya yükseliş ürün güvenlik görevlileri tarafından ele alınmalıdır. Doğru kararın verilmesini sağlamak için güvenlik ekibi tarafından söylenmelidir.
Ürün güvenliği üzerinde yapılan değişikliklerin güvenlik ekibinin dikkatinden kaçmamasını sağlamak için güvenlik temas noktaları belirlenmelidir.
SDLC’nin mimari ve tasarım aşaması, tasarım aşamasında ayrıntılı ürün güvenliği riski değerlendirmesi yapılmalıdır. Bu, kodlama aşamasına henüz girmediğinde programın güvenlik açısından gözden geçirilmesini içerir. Bir sonraki aşamaya girmeden önce tüm güvenlik riskleri ortadan kaldırılmalıdır. Güvenliği sağlamak için tüm değerlendirmeler endüstriyel standartlara uygun olarak yapılmalıdır.
Bu aşamada dikkate alınması gereken şeyler dahildir, ancak bunlarla sınırlı değildir:
Proje ekibi tarafından paylaşılan ayrıntılara uygun olarak tüm özellikleri, gereksinimleri, kullanıcı hikayelerini ve tasarım belgelerini inceleyin. Belgeye ihtiyaç yoksa, her şey proje ekibi üyeleri tarafından açıkça tartışılmalıdır.
Program güvenlik gereksinimlerindeki her boşluk, kullanılan endüstriyel standartlara göre tanımlanmalı ve değerlendirilmelidir. Gerekirse, tehdit modeli tanımlanan boşluğa göre yapılabilir.
Yeterli güvenlik riskleri olan boşluk dahil edilmeli ve onlar için mümkün olan hafifletme önerilir. SDLC geliştirme aşaması gerçek yazılımın “gelişimi” dir. Güvenli uygulama düzeni hazırlandıktan sonra, geliştirici kodu güvenlik yönergelerine uygun bir şekilde yazmalıdır. Bunlar şunları içerir:
Bilinen güvenlik açığı olmadan açık kaynak bileşenlerinin kullanılması.
Yazılım geliştirme sırasında kararlaştırılan güvenlik önlemlerini kullanın.
Koddaki herhangi bir güvenlik açığını ortaya çıkarmak ve azaltmak için soğuk kod testi.
Bazı testler de aşamalar halinde gerçekleştirilir. Bu, hassas verilerin sıradan metin olarak gönderilmemesini sağlamak gibi şeyleri içerebilir. SDLC Uygulama aşaması Yazılım geliştirildikten sonra bir sonraki adım dinamik kod analizidir. Bu, Açık Web Uygulama Projesi (OWASP) testi olarak da bilinen bir uygulama güvenliği testinin türüdür.
Çözüm gerçek hayatta uygulanmadan önce, güvenlik açığı analizi ve penetrasyon testi yapılır. İncelemenin gerçekleştirildiği yazılım sürümüne test yapısı denir. Bu konuda dikkate alınması gereken ana şeyler şunları içerir:
HP Webinssect, Zap, Burp Suite ve SOAP gibi araçlar, yazılımın güvenlik açığını çeşitli güvenlik açığı veritabanlarına kontrol etmek için kullanılır.
Tüm faz, otomasyon ve manuel testlerin bir karışımıdır.
Bu süreç, gerçeğe yakın bir test senaryosu sağlamak için geliştirme ortamıyla ilgili olmayan bağımsız bir ortamda gerçekleştirilir.
Bu aşamada bulunan her güvenlik açığı yazılımı serbest bırakmadan önce hafifletilir.
Bu aşamada belirlenen genel ve tipik tehditler ve bunu önlemek için atılan adımlar. Sonuç, yazılıma bağımlılığımız artmaya devam ettiğinden, kullanıcılar için güvenli hale getirmek önemlidir.Yazılım ve uygulamaların güvenlik standartlarını karşılamasını sağlamak için SDLC uygulaması güvenli bir şekilde benimsenmiştir.Ana amaç her zaman yumuşak bir yazılım çözümü oluşturmaktır.
Güvenli SDLC işlemi, gereksinimlerin toplanmasından uygulama öncesi testlere kadar beş aşamaya sahiptir.Odak noktası, bir sonraki adıma taşınmaması için her adımda tehditleri ve güvenlik açığını azaltmaktır.