Yenilik güvenliği

İnovasyon, dijital çağdaki bir kuruluşun can damarıdır ve hem etkinleştirilmesi hem de korunması gerekir. Yenilik güvenliği, siber saldırılara karşı yeniliklerin süreçlerini ve verilerini korur. Dijital çağdaki yenilikler, sürümler arasında aylar veya yıllar sürebilecek geleneksel şelale gemi zamanlamasını beklemeden hızla yenilik yapmak için DevOps veya DevSecOps yöntemini kullanarak uygulama geliştirme biçimini alır.

DevSecOps kalbi

Yeni özellikler ve uygulamalar geliştirmek için üç farklı gereksinim türünün başarıyla karşılanması gerekir:

  • İş geliştirme (Dev): Uygulamanızın genellikle hızla gelişen iş ve kullanıcı gereksinimlerini karşılaması gerekir.
  • Güvenlik (Sec): Uygulamanızın hızla gelişen saldırganlardan gelen saldırılara karşı dayanıklı olması ve güvenlik savunmalarındaki yeniliklerden yararlanması gerekir.
  • BT işlemleri (Ops): Uygulamanız güvenilir olmalı ve verimli bir performans göstermelidir.

Bu üç gereksinimi bir araya getirmek ve paylaşılan bir kültür oluşturmak kritik önem taşır, ancak genellikle zorlayıcıdır. Geliştirme, BT ve güvenlik ekiplerinin liderleri bu değişikliği yönlendirmek için birlikte çalışmalıdır. Daha fazla bilgi için liderlik zorunluluklarına bakın: kültürleri karıştırma.

Güvenli ve hızlı yeniliklere yönelik DevSecOps yöntemi hakkında daha fazla bilgi edinmek için aşağıdaki videoyu izleyin.

DevSecOps nedir?

Teknoloji yenilikleri genellikle geliştirme ve işlemleri bir DevOps işleminde birleştiren hızlı ve çevik bir geliştirme yaklaşımı bağlamında geliştirilir. Güvenliği bu süreçle tümleştirmenin yenilik sürecine, kuruluşun büyümesine ve kuruluştaki mevcut varlıklara yönelik riskleri azaltmak için kritik öneme sahip olduğunu öğrendik. Güvenliğin işlemle tümleştirilmesi bir DevSecOps işlemi oluşturur.

Tasarım ve sola kaydırarak güvenli

Kuruluşlar DevOps ve diğer hızlı yenilik metodolojilerini benimsedikçe, güvenlik kuruluşun ve geliştirme süreçlerinin tüm bantlarında dokunmuş bir iş parçacığı olmalıdır. İşlemin sonunda güvenliği tümleştirmek pahalıdır ve düzeltilmesi zordur.

Hizmetleri ve ürünleri tasarlama, tasarlama, uygulama ve işleyişle tümleştirmek için zaman çizelgesinde güvenliği sola kaydırın . Geliştirme ekipleri DevOps'a geçiş yapıp bulut teknolojilerini benimsedikçe, güvenlik de bu dönüşümün bir parçası olmalıdır.

İşlem Boyunca Güvenlik

Şelale modelinde güvenlik, geliştirme tamamlandıktan sonra geleneksel olarak kaliteli bir geçitti .

DevOps, operasyon ekiplerini içerecek şekilde geleneksel geliştirme modelini (kişiler, süreç ve teknoloji) genişletti. Bu değişiklik, geliştirme ve operasyon ekiplerinin ayrılmasıyla ortaya çıkan uyuşmaları azalttı. Benzer şekilde DevSecOps , ayrı veya farklı güvenlik ekiplerinin uyuşmazlıklarını azaltmak için DevOps'u genişletir.

DevSecOps, fikir başlangıcından tasarlama, mimari tasarım, yinelemeli uygulama geliştirme ve işlemlerine kadar her aşamada güvenliğin DevOps yaşam döngüsünün her aşamasına tümleştirilmesidir. Ekipler yenilik hızı, güvenilirlik ve güvenlik dayanıklılığı hedeflerine aynı anda uyum sağlamalıdır. Karşılıklı anlayış ve birbirlerinin ihtiyaçlarına karşılıklı saygı ile ekipler, kaynak ne olursa olsun, önce en önemli sorunlar üzerinde çalışacaktır.

Bulut Benimseme Çerçevesi Düzenleme metodolojisi, bir kuruluştaki DevSecOps yapıları hakkında daha fazla bağlam sağlar. Daha fazla bilgi için bkz. Uygulama güvenliğini ve DevSecOps işlevlerini anlama.

Neden DevSecOps?

DevOps çeviklik, DevSecOps ise güvenli çeviklik getirir.

Gezegendeki neredeyse her kuruluş, yenilik yoluyla rekabet avantajı elde etmek için yazılım geliştirmeyi arar. DevOps işleminin güvenliğini sağlamak, kuruluşun başarısı için kritik öneme sahiptir. Saldırganlar özel uygulamalara yapılan bu değişikliği fark etti ve saldırıları sırasında özel uygulamalara giderek daha fazla saldırıyor. Bu yeni uygulamalar genellikle henüz markette emtia olmayan değerli yeni fikirler içeren zengin değerli fikri mülkiyet kaynaklarıdır.

Bu yeniliğin korunması, kuruluşların hem geliştirme sürecinde hem de uygulamaları barındıran altyapıda olası güvenlik zayıflıklarını ve saldırılarını ele almalarını gerektirir. Bu yaklaşım hem buluta hem de şirket içine uygulandı.

Saldırgan Fırsatları

Saldırganlar aşağıdaki durumlarda zayıf noktalardan yararlanabilir:

  • Geliştirme süreci: Saldırganlar uygulama tasarım sürecinde zayıflıklar bulabilir, örneğin iletişimler için zayıf şifreleme kullanma veya şifreleme kullanmama. Ya da saldırganlar tasarımın uygulanmasında zayıflık bulabilir, örneğin kod girişi doğrulamaz ve SQL ekleme gibi yaygın saldırılara izin verir. Buna ek olarak, saldırganlar arka kapıları koda yerleştirerek daha sonra ortamınızda veya müşterinizin ortamından yararlanmak üzere geri dönmelerini sağlar.
  • BT altyapısı: Saldırganlar, standart saldırıları kullanarak geliştirme işleminin barındırılmasına neden olan uç nokta ve altyapı öğelerinin güvenliğini tehlikeye atabilir. Saldırganlar, ortamın diğer bölümlerinden geliştirme altyapısına erişmek için çalınan kimlik bilgilerini veya kötü amaçlı yazılımları kullanan çok aşamalı bir saldırı da gerçekleştirebilir. Buna ek olarak, yazılım tedarik zinciri saldırıları riski, her ikisi için de güvenliği sürecinizle tümleştirmeyi kritik hale getirir:
  • Kuruluşunuzu koruma: Kaynak kodu tedarik zincirinizdeki kötü amaçlı kodlardan ve güvenlik açıklarından
  • Müşterilerinizi koruma: Uygulamalarınızdaki ve sistemlerinizdeki itibar zararlarına, sorumluluklara veya kuruluşunuz üzerindeki diğer olumsuz iş etkilerine neden olabilecek güvenlik sorunlarından

DevSecOps yolculuğu

Kuruluşların çoğu, belirli bir iş yükü veya uygulama için DevOps veya DevSecOps'un aslında iki aşamalı bir süreç olduğunu ve fikirlerin önce güvenli bir alanda inkübasyona girip daha sonra üretime sunulduğu, yinelemeli ve sürekli güncelleştirildiği bir süreç olduğunu fark eder.

Bu diyagramda bu tür bir yenilik fabrikası yaklaşımının yaşam döngüsü gösterilmektedir:

DevSecOps Aşamaları

Güvenli yenilik, bu aşamaların her ikisi için de tümleşik bir yaklaşımdır:

  • İlk bir fikrin oluşturulduğu, doğrulandığı ve ilk üretim kullanımına hazır hale getirildiği fikir inkübasyonu. Bu aşama yeni bir fikirle başlar ve ilk üretim sürümü aşağıdakiler için en düşük uygun ürün (MVP) ölçütlerini karşıladığında biter:
    • Geliştirme: İşlevsellik, en düşük iş gereksinimlerini karşılar
    • Güvenlik: Özellikler, üretim kullanımı için mevzuat uyumluluğu, güvenlik ve güvenlik gereksinimlerini karşılar
    • Işlem: İşlevsellik, üretim sistemi olmak için minimum kalite, performans ve desteklenebilirlik gereksinimlerini karşılar
  • DevOps: Bu aşama, uygulamanın veya iş yükünün sürekli yenilik ve iyileştirmeye olanak tanıyan sürekli yinelemeli geliştirme sürecidir

Liderlik zorunlu: Kültürleri harmanlama

Bu üç gereksinimin karşılanması, tüm ekip üyelerinin her tür gereksinime değer vermelerini ve ortak hedeflere doğru birlikte çalışmalarını sağlamak için bu üç kültürün bir araya getirilmesini gerektirir.

Bu kültürleri ve hedefleri gerçek bir DevSecOps yaklaşımıyla tümleştirmek zor olabilir, ancak yatırıma değer. Birçok kuruluş, aşağıdakilerle ilgili sorunlar oluşturarak bağımsız olarak çalışan geliştirme, BT operasyonları ve güvenlik ekiplerinden yüksek düzeyde iyi durumda olmayan uyuşmalar yaşar:

  • Yavaş değer teslimi ve düşük çeviklik
  • Kalite ve performans sorunları
  • Güvenlik sorunları

Yeni geliştirmede birkaç sorun olması normal ve beklenen bir durum olsa da, takımlar arasındaki çakışmalar genellikle bu sorunların sayısını ve önem derecesini önemli ölçüde artırır. Çakışmalar, genellikle bir veya iki ekibin siyasi bir avantajı olduğu ve diğer takımların gereksinimlerini sürekli olarak geçersiz kıldığı için oluşur. Zaman içinde, ihmal edilen sorunlar hacim ve ciddiyet olarak artar. Çözümlenmedi, iş ihtiyaçlarının ve müşteri tercihlerinin hızlı evrimini karşılamak için karar alma hızı arttıkça bu dinamik DevOps ile daha kötü hale gelebilir.

Bu sorunları çözmek için liderlik tarafından desteklenen dev, sec ve ops gereksinimlerine değer veren bir paylaşılan kültür oluşturulması gerekir. Bu yaklaşım, ekiplerinizin birlikte daha iyi çalışmasına ve belirli bir sprint'te güvenliği, operasyonel kararlılığı artırmaya veya kritik iş özellikleri eklemeye yönelik en acil sorunların çözülmesine yardımcı olur.

Liderlik teknikleri

Bu temel teknikler, liderliğin paylaşılan bir kültür oluşturmalarına yardımcı olabilir:

  1. Hiç kimse tüm bağımsız değişkenleri kazanamaz: Liderler, işletmeyi olumsuz etkileyen bir dengesizlik oluşturabilecek tüm kararlarda tek bir zihniyetin hakim olmamasını sağlamalıdır.

  2. Mükemmellik değil sürekli iyileştirme bekleyebilirsiniz: Liderler sürekli iyileştirme ve sürekli öğrenme beklentisi belirlemelidir. Başarılı bir DevSecOps programı oluşturmak bir gecede gerçekleşmez. Artımlı ilerleme ile sürekli bir yolculuk.

  3. Hem ortak ilgi alanlarını hem de benzersiz bireysel değerleri kutlayın: Ekiplerin ortak sonuçlar üzerinde çalıştıklarını görebildiğinden ve her bir bireyin diğerlerinin sağlayamaz olduğu bir şey sağladığından emin olun. Tüm gereksinim türleri aynı iş değerini oluşturmak ve korumakla ilgili. Geliştirme, farklı risk senaryolarına karşı ops ve güvenlik bu değeri korumaya ve korumaya çalışırken yeni değer oluşturmaya çalışıyor. Kuruluş genelindeki tüm düzeylerdeki liderler bu ortaklığı ve hem anlık hem de uzun vadeli başarı için her türlü gereksinimi karşılamanın ne kadar önemli olduğunu iletmelidir.

  4. Paylaşılan anlayış geliştirme: Ekipte yer alan herkes şu konuda temel bilgilere sahip olmalıdır:

    • İş aciliyeti: Ekip, gelirin risk altında olduğunu net bir şekilde ortaya çıkarmalıdır. Bu görünüm geçerli geliri (hizmet çevrimdışıysa) ve uygulamaların ve özelliklerin teslimindeki gecikmeden etkilenecek olası geliri içermelidir. Bu doğrudan liderlik paydaşlarının sinyallerine dayalı olmalıdır.
    • Olası riskler ve tehditler: Tehdit bilgileri ekibi girişlerine bağlı olarak, varsa, ekip uygulama portföyünün karşılaşacağı olası tehditler hakkında bir his oluşturmalıdır.
    • Kullanılabilirlik gereksinimleri: Ekip, gerekli çalışma süresi, uygulamanın beklenen kullanım ömrü ve sorun giderme ve bakım gereksinimleri (örneğin, çevrimiçi hizmet sırasında düzeltme eki uygulama) gibi operasyonel gereksinimler konusunda ortak bir fikir sahibi olmalıdır.
  5. İstenen davranışı gösterme ve modelleme: Liderler, ekiplerinden istedikleri davranışı herkese açık bir şekilde modellemelidir. Örneğin, tevazuyu gösterin, öğrenmeye odaklanın ve diğer disiplinlere değer sağlayın. Bir diğer örnek de geliştirme yöneticilerinin güvenlik ve yüksek kaliteli uygulamaların değerini tartışması veya güvenlik yöneticilerinin hızlı yenilik ve uygulama performansının değerini tartışmasıdır.

  6. Güvenlik uyuşmalarının düzeyini izleyin: Güvenlik doğal olarak işlemleri yavaşlatan uyuşmalar oluşturur. Liderlerin güvenliğin oluşturduğu uyuşma düzeyini ve türünü izlemesi kritik önem taşır:

    • Sağlıklı sürtünme: Egzersizin bir kası daha güçlü hale getirdiğine benzer şekilde, DevOps işlemindeki doğru güvenlik uyuşma düzeyinin tümleştirilmesi, doğru zamanda kritik düşünceyi zorlayarak uygulamayı güçlendirir. Örneğin, bir saldırganın bir uygulamanın güvenliğini nasıl ve nasıl tehlikeye atabileceğini ve önemli güvenlik hatalarını bulup düzeltmeyi nasıl deneyebileceğini göz önünde bulundurarak, ekiplerin bu öğrenmeleri öğrenip bu öğrenmeleri kullanarak güvenliği artırması gerekir.
    • İyi durumda olmayan uyuşmalar: Koruduğundan daha fazla değere engel olan sürtünmeye dikkat edin. Bu durum genellikle araçlar tarafından oluşturulan güvenlik hatalarının yüksek hatalı pozitif oranı veya hatalı alarmları olduğunda veya bir şeyi düzeltmeye yönelik güvenlik çabası saldırının olası etkisini aştığında ortaya çıkar.
  7. Güvenliği bütçe planlamasıyla tümleştirme: Güvenlik bütçesini diğer yatırımlara orantılı olarak güvenlik olarak ayırdığından emin olun. Bu, olay bütçesinin norm olarak fiziksel güvenliği içerdiği bir konser gibi fiziksel bir olaya benzer. Bazı kuruluşlar, en iyi güvenlik uygulamalarının tutarlı bir şekilde uygulanmasını sağlamak için genel bir kural olarak güvenlik için toplam maliyetin yüzde 10'ını ayırır.

  8. Paylaşılan hedefler oluşturun: Uygulama iş yükleri için performans ve başarı ölçümlerinin geliştirme, güvenlik ve operasyon hedeflerini yansıtdığından emin olun.

Not

İdeal olan bu ekiplerin, tüm kuruluş veya belirli bir proje ya da uygulama için satın almayı en üst düzeye çıkarmak için bu paylaşılan hedefleri topluca oluşturması gerekir.

DevSecOps MVP'sini tanımlama

Bir fikirden üretime geçiş sırasında, özelliğin her gereksinim türü için minimum gereksinimleri veya en düşük uygun ürünü (MVP) karşıladığından emin olmak kritik önem taşır:

  • Geliştiriciler (geliştirme), kullanıcıların, müşterilerin ve iş liderlerinin beklentilerini karşılayan özelliklerin hızlı bir şekilde sunulması için iş gereksinimlerini temsil etme odaklıdır. Bu özelliğin kuruluşun başarılı olmasını sağlamak için en düşük gereksinimleri belirleyin.
  • Güvenlik (sn) uyumluluk yükümlülüklerini karşılamaya ve sürekli olarak kuruluşun kaynaklarından yasadışı kazanç arayan saldırganlara karşı savunmaya odaklanır. Mevzuat uyumluluğu gereksinimlerini karşılamak, güvenlik duruşunu sürdürmek ve güvenlik operasyonlarının etkin bir saldırıyı hızla algılayıp yanıtlayabilmesini sağlamak için en düşük gereksinimleri belirleyin.
  • İşlemler (operasyonlar) performansa, kaliteye ve verimliliğe odaklanarak iş yükünün uzun vadede değer sunmaya devam ettiğinden emin olur. İş yükünün, öngörülebilir gelecekte çok büyük mimari veya tasarım değişikliklerine gerek kalmadan gerçekleştirebilmesini ve desteklenebilmesini sağlamak için en düşük gereksinimleri belirleyin.

Ekip kendi deneyimlerinden ve diğer kuruluşlardan birlikte öğrendiğinden, MVP tanımları zaman içinde ve farklı iş yükü türleriyle değişebilir.

Güvenliği süreç içinde yerel olarak tümleştirme

Güvenlik gereksinimleri, mevcut süreç ve araçlarla yerel olarak tümleştirmeye odaklanmalıdır. Örneğin:

  • Tehdit modellemesi gibi tasarım etkinlikleri tasarım aşamasına tümleştirilmelidir
  • Güvenlik tarama araçları Azure DevOps, GitHub ve Jenkins gibi sürekli tümleştirme ve sürekli teslim (CI/CD) sistemleriyle tümleştirilmelidir
  • Güvenlik sorunları, öncelik belirleme şeması gibi diğer hatalarla aynı hata izleme sistemleri ve işlemleri kullanılarak bildirilmelidir.

Ekipler öğrendikçe ve süreçler geliştikçe güvenliğin süreçle tümleştirilme şekli sürekli geliştirilmelidir. Güvenlik gözden geçirmeleri ve risk değerlendirmeleri, risk azaltmaların uçtan uca geliştirme süreçlerine, son üretim hizmetine ve temel alınan altyapıya tümleştirilmesini sağlamalıdır.

DevSecOps hakkında daha fazla bilgi için bkz. DevSecOps teknik denetimleri.

Yolculukta gezinme ipuçları

Dönüşüm, bir yolculukta bu ideal durumun artımlı olarak oluşturulmasını gerektirir. Birçok kuruluş bu yolculukta karmaşıklık ve zorluklar arasında gezinmek zorunda kalacak. Bu bölümde, kuruluşların karşılaştığı yaygın olanlardan bazıları özetlenmiştir.

  • Eğitim ve kültür değişiklikleri kritik ilk adımlardır:Sahip olduğunuz orduyla savaşa gidersiniz. Sahip olduğunuz ekibin, DevSecOps modelinin diğer bölümlerini anlamak için genellikle yeni beceriler geliştirmesi ve yeni perspektifleri benimsemesi gerekir. Bu eğitim ve kültür değişikliği, bireylerin değişikliğin değerini tam olarak anlamasına ve görmesine yardımcı olmak için zaman, odak, yönetici sponsorluğu ve düzenli takip alır. Kültürleri ve becerileri önemli ölçüde değiştirmek bazen bireylerin profesyonel kimliğine dokunarak güçlü bir direnç potansiyeli oluşturabilir. Her birey ve onların durumu için değişikliğin nedenini, ne olduğunu ve nasıl yapıldığını anlamak ve ifade etmek çok önemlidir.
  • Değişiklik zaman alır: Yalnızca ekibinizin yeni yöntemlerle iş yapmanın sonuçlarına uyum sağlayabildiği kadar hızlı hareket edebilirsiniz. Ekipler dönüşüm sırasında her zaman mevcut işlerini yapmak zorunda kalır. En önemli olan şeyi dikkatle önceliklendirmek ve bu değişikliğin ne kadar hızlı olabileceğine yönelik beklentileri yönetmek kritik önem taşır. En önemli ve temel unsurların ilk geldiği gezinme, yürüme, çalıştırma stratejisine odaklanmak kuruluşunuza iyi hizmet edecektir.
  • Sınırlı kaynaklar: Kuruluşların genellikle erken karşılaştığı zorluklardan biri, hem güvenlik hem de uygulama geliştirme alanında yetenek ve beceriler bulmaktır. Kuruluşlar daha etkili bir şekilde işbirliği yapmaya başladığında, güvenlik zihniyetine sahip geliştiriciler veya geliştirme geçmişine sahip güvenlik uzmanları gibi gizli yetenekler bulabilir.
  • Uygulamaların, kodların ve altyapının yapısını değiştirme: Bir uygulamanın teknik tanımı ve bileşimi, sunucusuz, bulut hizmetleri, bulut API'leri ve Power Apps gibi kodsuz uygulamalar gibi teknolojilerin kullanıma sunulmasıyla temelden değişmektedir. Bu değişiklik geliştirme uygulamalarını, uygulama güvenliğini değiştiriyor ve hatta geliştirici olmayanları uygulama oluşturma konusunda güçlendirmektedir.

Not

Bazı uygulamalar, işlemleri ve güvenlik sorumluluklarını bir site güvenilirlik mühendisi (SRE) rolünde birleştirir.

Bu sorumlulukları tek bir role dönüştürmek bazı kuruluşlar için ideal son durum olsa da, bu genellikle geçerli kurumsal uygulamalardan, kültürden, araçlardan ve beceri kümelerinden aşırı bir değişikliktir.

Bir SRE modelini hedefliyor olsanız bile, yatırım getirisini (ROI) iyi bir şekilde karşıladığınızdan ve acil ihtiyaçları karşıladığınızdan emin olmak için bu kılavuzda özetlenen pratik hızlı kazançları ve artımlı ilerlemeyi kullanarak DevOps'a güvenlik ekleyerek başlamanızı öneririz. Bu, operasyonlarınıza ve geliştirme personelinize artımlı olarak güvenlik sorumlulukları ekler ve bu da çalışanlarınızı SRE'nin son durumuna yaklaştırır (kuruluşunuz bu modeli daha sonra benimsemeyi planlıyorsa).

Sonraki adımlar

DevSecOps hakkında daha ayrıntılı yönergeler için DevSecOps teknik denetimlerini gözden geçirin.

GitHub gelişmiş güvenliğinin güvenliği sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatlarınızla nasıl tümleştirdiğini öğrenmek için bkz. GitHub gelişmiş güvenliği hakkında.

Microsoft'un BT kuruluşunun DevSecOps'u nasıl uyguladığı hakkında daha fazla bilgi ve araç için bkz. Güvenli DevOps araç seti.