Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, güvenlik ve teknoloji ekiplerinin bir Geliştirme Güvenliği uzmanlık alanı oluşturmasına ve modernleştirmesine yardımcı olur. Bu disiplin, güvenlik, mühendislik ve teknoloji ekiplerinin yenilikleri yavaşlatmadan yazılımın tasarlanmasını, derlenmesini, tümleştirilmesini ve güvenli bir şekilde dağıtılmasını sağlamasına yardımcı olur.
Güvenlik disiplinleri , kuruluşların teknoloji varlıklarının tamamında tutarlı bir şekilde güvenlik sonuçları sağlamasına yardımcı olan ilgili güvenlik çalışmaları gruplandırmalardır. Güvenlik benimseme modeli kapsamında disiplinler, güvenlik yatırımlarının güvenlik benimseme modelinin bir parçası olarak gerçek ölçülebilir sonuçlara dönüşmesini sağlayarak iş senaryoları ile teknik uygulama arasında bir köprü sağlamaya yardımcı olur.
Neden bu disiplin?
Yazılım kimlikler, veriler, altyapı ve iş süreçleriyle derinden bağlantılıdır. Geliştirme güvenliği zayıf veya tutarsız olduğunda, her yazılım sürümü saldırganların daha geniş kuruluş varlıklarına erişim elde etmek için yararlanabileceği yeni güvenlik açıklarına neden olabilir.
Kuruluşlar, etkili bir Geliştirme Güvenliği uzmanlık alanı olmadan yaygın olarak şunları deneyimler:
- Geliştirme sırasında ortaya çıkarılan yazılım güvenlik açıklarından kaynaklanan riskin artması.
- Kimlikler ve veriler arasında yanal hareket sağlayan uygulama güvenliğinin aşılmasına olanak tanır.
- İş operasyonlarının ve gelirin kesintiye uğraması.
- Müşteri verilerinin ve yasal düzenlemelere tabi verilerin ifşa edilmesi veya kötüye kullanılması.
- Uzun vadeli riski ve düzeltme maliyetini artıran teknik borç birikimi.
Güçlü bir geliştirme güvenliği disiplini, her sürümün riskin artmasına yol açmak yerine onu azaltmasını sağlar.
Görev ve sonuçlar
Geliştirme Güvenliği uzmanlık alanı, şirket içinde veya iş ortakları tarafından geliştirilen tüm yazılımların, teslimi veya yeniliği yavaşlatmadan güvenlik standartlarına uygun şekilde tasarlanması, derlenmesi, tümleştirilmesi ve dağıtılmasını sağlayarak kurumsal riski azaltır.
Bu disiplinde olgunlaşan kuruluşlar şunları elde eder:
- Güvenlik, geç eklenmek yerine geliştirme süreçlerinde yerleşiktir.
- Tasarım ve uygulama kusurlarının daha erken belirlenmesi ve düzeltilmesi.
- Daha öngörülebilir, güvenli yayın döngüleri.
- Daha az yeniden çalışma, acil durum düzeltmeleri ve operasyonel kesinti.
- Zaman içinde teknik ve güvenlik borcunun daha düşük birikmesi.
Development Security, güvenlik durumunun belirli aralıklarla sıfırlanmak yerine her sürümle birlikte sürekli iyileşmesini sağlar.
Ekip çalışmalarındaki değişiklikler
Geliştirme Güvenliği uzmanlık alanlarının geliştiricileri ve ürün ekiplerini bulundukları yerde karşılaması, geç aşama denetimleri, sürtüşme açısından yoğun inceleme süreçleri ve hatta geliştirme süreçlerinde güvenliği atlama yerine güvenliği mevcut geliştirme iş akışlarıyla tümleştirmeye odaklanması önemlidir.
Bu yaklaşım genellikle sorunların düzeltilmesi daha kolay ve daha az maliyetli olduğunda, daha önce fikir, tasarım ve uygulama sırasında güvenlik düşüncesini devreye sokarak sola kaydırma olarak tanımlanır. Sola kaydırmak, işlemde daha önce hayır demek anlamına gelmez. Bunun yerine, ürün kararlarını geliştirmek ve çözümlerin güvenlik ve iş gereksinimlerini karşıladığından emin olmak için güvenlikle ilgili bilgilendirilmiş tartışmaları erken tanıtır.
Temel ilkeler şunlardır:
- Erken tümleştirme: Yalnızca test etmeyi değil, fikir ve tasarım sırasında güvenliği göz önünde bulundurun
- Geliştirici uyumu: Geliştirme ve ürün ekiplerine zaten çalıştıkları yerde ulaşın
- Küçük, artımlı değişiklik: Otomasyon ve düşük sürtünme iyileştirmelerini tercih edin
- Sürekli iyileştirme: Güvenliği kilometre taşı değil, sürekli bir disiplin olarak ele alma
Zaman içinde tutarlı tümleştirme, yangın tatbikatlarını azaltır ve teslimi yavaşlatmak yerine hızlandırır.
Bu disiplin nasıl uygulanır?
Geliştirme Güvenliği uzmanlık dalını etkili bir şekilde uygulamak için, kuruluş genelinde güvenli uygulama ve hizmet oluşturmaya ve sürdürmeye yönelik tutarlı bir yaklaşım oluşturmaya odaklanın:
-
İş riskine uygun güvenli bir geliştirme stratejisi tanımlama
Uygulamaların ve hizmetlerin risk riskini azaltmak ve kritik iş işlevlerini korumak için nasıl tasarlandığına, oluşturulduğuna ve sürdürüldüğüne ilişkin net bir yaklaşım oluşturun. -
Geliştirme ve mühendislik süreçlerine güvenlik ekleme
Güvenlik uygulamalarının, olay sonrasında uygulanmak yerine planlama, tasarım, geliştirme ve dağıtım etkinlikleriyle tümleştirildiğinden emin olun. -
Standartlaştırılmış güvenli geliştirme uygulamaları oluşturma
Güvenli kodlama, test ve yayın uygulamalarının ekipler ve projeler arasında tutarlı bir şekilde uygulandığından emin olmak için net yönergeler sağlayın. -
Geliştirme güvenliğini kritik varlıklar ve iş senaryolarıyla uyumlu hale getirme
Yüksek değerli varlıkları ve önemli iş operasyonlarını destekleyen uygulamalar ve hizmetler için korumaların önceliklerini belirleyin. -
Risk, güvenlik açıkları ve geri bildirim temelinde sürekli iyileştirme
Geliştirme uygulamalarını güçlendirmek ve zaman içinde riski azaltmak için güvenlik açıklarından, olaylardan ve test sonuçlarından içgörüler kullanın.
Değişikliği yönetme
Modern geliştirme güvenliği genellikle, çevik teslimi sürümden önce temel idare ve kalite uygulamalarıyla birleştiren bir DevSecOps yaklaşımıyla uygulanır.
DevSecOps, hızlı yayın döngülerini engellemezken acil riski azaltmak için hız ve güvenlik arasında seçim yapmak yerine geliştirme yaşam döngüsünün önemli yönlerini sağlamaya odaklanır:
Tasarımın güvenliğini sağlama – Tehdit modellemesi aracılığıyla kanıtlanmış güvenlik tasarımı desenlerini kullanın ve tasarımları doğrulayın. Kodun güvenliğini sağlama – Güvenli kodlama uygulamalarını izleyin, yazılım ve bağımlılıkları doğrulayın. İşlem hattının güvenliğini sağlama – İşlem hattı işlemini doğrulayın ve CI/CD sistemlerini tehlikeye ve yetkisiz değişikliğe karşı koruyun. İşlem hattında ve işlem hattından geçen yazılımda yapılan değişikliklerin izlenebilirliğini sağlayın. Güvenli işlemler – Dağıtılan iş yüklerinin yapılandırma, düzeltme eki uygulama ve operasyonel en iyi yöntemlere uygun olduğundan emin olun.
Ekipler geliştirme, güvenlik ve operasyonlar arasındaki işbirliğini sürekli iyileştirerek ve işlevsel teslim hedeflerini güvenilirlik ve risk azaltma ile dengeleyerek sonuçları geliştirebilir.
Bu sürekli artımlı iyileştirme hem iş üretimine (yaşam döngüsünde üretilen yazılım kodu) hem de geliştirme yaşam döngüsünün olgunlaşmasına uygulanmalıdır.
DevSecOps işlemi tanımlama
Geliştirme Güvenliği genellikle tam olarak biçimlendirilmiş gibi görünmek yerine zaman içinde gelişen bir DevSecOps işletim modeli aracılığıyla uygulanır. DevSecOps, sürekli iyileştirme ile daha iyi sonuçlar elde etmek için geliştirme, güvenlik ve operasyonları bir araya getirir.
Çoğu kuruluş şu aşamalarda ilerler:
Geliştirme (Geliştirme) – İlk üretim sürümü, temel iş gereksinimlerini karşılayan minimum düzeyde uygulanabilir bir ürün (MVP) sunmaya odaklanır. DevOps – İlk sürümün ardından ekipler, sürekli teslim yoluyla hızlı iterasyona, operasyonel kararlılığa ve yönetişime odaklanırlar. DevSecOps : İşbirliği büyüdükçe geliştirme, güvenlik ve operasyonlar süreçleri sürekli iyileştirmek ve hızı, riski ve güvenilirliği dengelemek için birlikte çalışır.
Bu ilerleme, kuruluşların çeviklikten veya yenilikten ödün vermeden güvenlik sonuçlarını geliştirmesine olanak tanır.
Güvenli bir MVP temeli oluşturma
Bu modeldeki önemli bir adım, geliştirme, güvenlik ve operasyon perspektiflerinden en düşük uygulanabilir ürünü (MVP) neyin oluşturduğunu tanımlamaktır. Bu paylaşılan temelin oluşturulması, ekipler arasında netlik sağlar ve zaman içinde tutarlı bir geliştirme sağlar.
| Bileşen | Ayrıntılar |
|---|---|
| Geliş(tirme) | Yazılımın en düşük iş ve işlevsel gereksinimleri karşıladığından emin olun. |
| Güv(enlik) | Yazılımın en düşük güvenlik ve uyumluluk gereksinimlerini karşıladığından emin olun. |
| İşl(em)ler | Yazılımın en düşük kalite, güvenilirlik ve operasyonel hazırlık gereksinimlerini karşıladığından emin olun. |
MVP gereksinimleri kuruluşa ve sektöre göre farklılık gösterir ve risk iştahı, mevzuata maruz kalma ve iş açısından kritik öneme sahiptir. Bu gereksinimler genellikle kuruluş, tehdit ortamı ve teslim modelleri değiştikçe gelişir.
Sürekli yazılım geliştirme
İlk üretim sürümünden sonra iş yükleri sürekli iyileştirme döngülerine geçer. Bu aşamada geliştirme, güvenlik ve operasyonlar hem yazılımı hem de teslim sürecini iyileştirmektedir. Güvenlik çalışmaları şu konulara odaklanır:
- Diğer mühendislik işleriyle aynı araçları ve öncelik belirleme modellerini kullanarak güvenliği geliştirme iş akışlarıyla yerel olarak tümleştirme
- Standart sürüm döngülerinin bir parçası olarak güvenlik hatalarını hızla belirleyin, önceliklerini belirleyin ve düzeltin.
Bu yaklaşım prPaved Paths gibi güvenli uygulamaların harici olarak zorunlu tutulmak yerine platformlarda ve işlemlerde yerleşik olduğu Microsoft Güvenli Gelecek Girişimi (SFI) öğrenmeleriyle uyumlu hale gelir.
Zaman içinde, bu sürekli öğrenme ekiplerin gereksinimleri iyileştirmelerine, işbirliğini kolaylaştırmanıza ve teslim hızı, güvenlik ve güvenilirlik arasında daha iyi denge oluşturmanıza yardımcı olur.
Disiplin rolleri ve iş ortakları
Geliştirme Güvenliği uzmanlık alanı genellikle uygulama ve ürün geliştirme yapan ekipler tarafından çalıştırılır.
Bu disiplindeki birincil roller genellikle şunları içerir:
- Teknoloji teslimi ve ürün yöneticileri
- Yazılım geliştiricileri (yapay zeka geliştirme dahil)
- Yazılım güvenlik mühendisleri
- DevOps ve platform mühendisleri
- Test ve kalite mühendisliği rolleri
- Tedarik zinciri ve bağımlılık güvenlik rolleri
Önemli ortak çalışanlar şunlardır:
- İş ve teknik liderlik – Sponsorluk ve öncelik belirleme sağlayın
- Mimari rolleri – Güvenli tasarım ve tümleştirme kararlarına kılavuzluk edin
- Güvenlik Stratejisi, Tümleştirme ve İdare uzmanlık alanı rolleri– İlke, eğitim ve gözetim sağlama
- Altyapı ve platform ekipleri – Güvenli geliştirme ortamlarını etkinleştirme
- Güvenlik İşlemleri (SecOps) – Uygulamalara saldırıldığında izleme ve yanıtlama
Diğer disiplinlerle uyum
Geliştirme Güvenliği, diğer SAF disiplinleriyle sıkı bir şekilde tümleşiktir:
- Erişim ve Kimlikler – Geliştirici, iş yükü ve hizmet kimliklerini korur.
- Altyapı Güvenliği – Uygulamaları ve işlem hatlarını çalıştıran platformların güvenliğini sağlar.
- Veri Güvenliği – Yazılım yaşam döngüsü boyunca hassas verilerin korunmasını sağlar.
- SecOps: Uygulama düzeyindeki saldırıları algılar ve yanıtlar.
- Güvenlik Stratejisi, Tümleştirme ve İdare – Geliştirme uygulamalarını kurumsal risk öncelikleriyle uyumlu hale getirme.
Bu disiplinler birlikte yazılım güvenliğinin daha geniş iş ve güvenlik sonuçlarını desteklemesini sağlar.
Teknoloji sütunlarıyla hizalama
Geliştirme güvenlik uzmanlık alanı stratejisinin yürütülmesi için birden çok teknoloji sütunu genelinde güvenlik denetimleri yapılması gerekir.
Teknoloji yapılarıyla hizalama şunları içerir:
- Kimlikler: Geliştirici ve iş yükü kimliklerini ve kimlik bilgilerini korur.
- Uç noktalar: Geliştirici iş istasyonlarının ve derleme sistemlerinin güvenliğini sağlar.
- Altyapı: Kodu, işlem hatlarını ve iş yüklerini barındıran platformları korur.
- Uygulamalar: Geliştirme güvenlik uygulamaları için birincil bir odak sağlar.
- Veri: Uygulamalar tarafından kullanılan, oluşturulan ve depolanan verileri korur.
- Ağ: Güvenilmeyen ağlarda güvenli bir şekilde çalışacak yazılımlar tasarlar.
- Yapay zeka: Modern uygulamalarda kullanılan yapay zeka bileşenlerinin ve modellerinin güvenliğini sağlar.
Bu genişlik, disiplinin gerçek dünyadaki saldırı yollarını ele almasını sağlar.
Sırada ne var?
Ek geliştirme güvenlik stratejisi kılavuzu , Geliştirme güvenlik stratejisinde yer alır.
Atölyeye katılın
Microsoft Unified, kuruluşların Dev güvenlik uzmanlık alanlarını modernleştirmesine yardımcı olmak için uzman liderliğinde atölyeler sunar. Bu atölyeler şunlardır:
- Mimari ve strateji atölyeleri - Güvenlik Benimseme Çerçevesi (SAF) - Mimari Tasarım Oturumu: Altyapı ve Geliştirme Güvenliği atölyesi , geliştirme güvenliği modernleştirmesini hızlandırmaya ve altyapı güvenliğiyle tümleştirmeye odaklanır. Bu atölye, temel öğrenmeler ve en iyi yöntemlere odaklanan dört saatten kısa bir tartışma olarak kullanılabilir.
- Teknoloji benimseme atölyeleri: Microsoft Unified, kuruluşların bu diyagramda gösterildiği gibi Microsoft Geliştirme Güvenliği Teknolojisinin kullanımını öğrenmelerine, planlamalarına, uygulamalarına ve iyileştirmelerine yardımcı olacak atölyelere sahiptir.
Microsoft Security Development Lifecycle gözden geçirin
Microsoft Sürekli Güvenlik Geliştirme Yaşam Döngüsü, güvenli bir şekilde yazılım geliştirmeye yönelik bir metodoloji sağlar. Güvenlik Geliştirme Yaşam Döngüsü (SDL), Microsoft güvenliği DevOps işlemleriyle (bazen DevSecOps yaklaşımı olarak adlandırılır) tümleştirmek için kullandığı yaklaşımdır. SAF geliştirme güvenliği kılavuzu, SDL yaklaşımını ve uygulamalarını kuruluşunuza uyarlamanıza yardımcı olur.
SDL yaklaşımında açıklanan uygulamaları klasik şelaleden modern DevOps yaklaşımlarına kadar tüm yazılım geliştirme türlerine ve tüm platformlara uygulayabilirsiniz. Bu genel olarak uygulanabilir yazılım güvenliği yaklaşımı her tür yazılım ve platformda çalışır.
Daha fazla bilgi için bkz. Microsoft Security Development Lifecycle (SDL).
Etkin geliştirme güvenliği,
Sonraki Adımlar
DevOps'tan DevSecOps'a geçiş hakkında bilgi edinin.