Bir uygulama güvenliği şirketinin baş mimarı ve kurucu ortağı olarak, başlangıç ​​yolculuğunun önemli bir bölümünün hem kişisel gelişimimdeki hem de genel olarak endüstrimdeki evrimi yansıtmak olduğunu görüyorum. 2008’de, PCI-DSS İsrail’deki işletmeler için ayrılmaz bir iş unsuru haline geldiğinde, birçok ilk sertifikasyonda yer aldım ve şirketlerin uyumlu hale gelme mücadelesine tanık oldum.

Ana rolüm, sızma testi de dahil olmak üzere uygulamalarla ilgili PCI bölümlerini içeriyordu. Bir öğleden sonra İsrail’in en büyük sağlık hizmeti sağlayıcılarından birinin ofisinde otururken, ekibimizi giderek daha fazla şaşırtan sıkıcı ve görünüşte hiç bitmeyen bir soru listesini gözden geçirdiğimi hatırlıyorum. İçgörü ve bilgi edinmek yerine ofisten cevaplardan çok sorularla ayrıldığımı hatırlıyorum.

Bu deneyimden benim için bir şey çok netleşti: Güvenlik standartlarının işletmelerin desteklemesini beklediği kriterler uygulanabilir değildi. 2008’de gerçekçi değillerdi, bugün de gerçekçi değiller. PCI-DSS standardı, kapsamlı kanıt toplamayı ve kapsamdaki tüm varlıkların aşırı, çok disiplinli değerlendirmesini gerektiriyordu. PCI ortamını izole etmek ve onu minimuma indirmek olan PCI-DSS gereksinimlerini ele almak için uygun stratejiyi benimsemek endüstrinin yıllarını aldı.

Bir Buzzword Doğuyor
Aynı zamanda, güvenli yazılım geliştirme yaşam döngüsünün (SSDLC) yeni endüstri moda kelimesi haline gelmesi tesadüf değildir. Geliştirmenin her aşamasına güvenlik ekleyerek, önermesi mantıklıydı: Hataları en aza indirmek ve geliştirme sürecini güvence altına almak için güvenliğin en başından itibaren katılımını sağlamak. SSDLC, artan bulut geçişi ve mobil uygulamaların geniş çapta benimsenmesi nedeniyle birçok kişinin tercihi haline geldi. Hatta DevOps’un gücünü açığa çıkararak ve SSDLC’yi bugün kullandığımız sonsuz teslim ve operasyon döngüsüne dönüştürerek DevOps’tan bile kurtuldu.

Gizlilik inisiyatifleri tam gaza bastığında, şirketler için aşağıdakiler gibi kontrol standartlarında ustalaşmanın ne kadar zor (ve hala) olduğuna bir kez daha tanık olduk. GDPR. Ancak bu sefer kapsamı en aza indirmek bir seçenek değildi. Birden çok ekip, yeni düzenleme gereksinimlerini karşılamak için mücadele ederken zayıf tasarım ve güvenlik borcunun etkisini ilk elden deneyimledi.

Son yirmi yıldır başvuruları gıdıklayan ve dürten bizler için bu pek de sürpriz sayılmaz. En iyi niyetlere rağmen, tüm projelerin tüm aşamalarında güvenliği sağlamak imkansızdır ve gelişmiş bilgisayar korsanlarına (ve sızma test cihazlarına) dayanıklı uygulamalar oluşturmak giderek daha zor hale gelmektedir. Dürüst olmak gerekirse, hata veya kesinti olmadan uygulamalar oluşturmak yeterince zordur, bu nedenle düzenleyicilerin ve genel olarak endüstrinin beklentileri ayarlanmalıdır.

Basitçe söylemek gerekirse, başa çıkmak için yeterli insan kaynağı yok ve geliştiriciler rahatsız edilmek için çok meşgul. Şaşırtıcı ya da değil, bu boşluk, güvenlik ve geliştirici arasındaki işlevsiz ilişkiyi somutlaştırıyor.

Kafanın İçine Girmek
Arkasındakiler gibi elit bilgisayar korsanları SolarWinds saldırıları, geliştiricinin zihnine girin ve yazılım üretimindeki zayıf noktalardan yararlanan sofistike bir oyun yaratın. Uygulamaları hacklemek, geliştiricilerin yapmak zorunda olduğu hataları aramaktır.

İdeal olarak, uygun eğitim, etkili iç iletişim, güvenlik odaklı tasarım ve titiz test süreçleri ile bu hatalar sınırlı olacak ve etkiyi sınırlayacaktır. Ancak hepimizin bildiği gibi, gerçek hayat her zaman en katı savunmalarla bile uyumlu değildir.

Harika geliştiriciler güvenlik hakkında düşünmezler. Geliştiriciler özellikler, son tarihler, ölçeklendirme ve hız üzerinde düşünür. Geliştiriciler, üretim olayları ve aksama süreleri açısından düşünür. Ancak her şeyden önce, geliştiriciler yapıcıdır ve güvenliğin yaratıcı alanınıza girmesine izin vermek için deneyim, gerçek niyet ve aktif karar verme gerekir.

Güvenlik uzmanları, geliştiricilerin uygulamalarını korumak için harcadıkları çaba miktarını genellikle hafife alır. Geliştiriciler, hata ve başarısızlığa karşı sürekli olarak farklı dayanıklılık katmanları uygular ve ürün, müşteri başarısı, pazarlama ve kuruluştaki diğer tüm paydaşlardan gelen sayısız gereksinimler tarafından sürekli olarak engellenir.

Ağlayan kurt
Projelerimden biri, binden fazla geliştiricisi olan bir şirket için ölçeklenebilir bir program oluşturmayı gerektiriyordu. Vergilendirme sürecinden ve saatlerce süren tartışmalardan sonra nihayet bir güvenlik hizmeti düzeyinde anlaşmaya vardık. Bir baş mühendis gülümsedi ve benim yönümde, “Görüyorsunuz, güvenlik merkezde olmayı seviyor!” dedi. İstese de istemese de güvenliğin her zaman ağlayan kurt rolünü oynayacağını çabucak anladım.

Öte yandan, geliştiricilere sıfır gün güvenlik açığını gösterdiğinizde, herkes “Yangın!” Diye bağıracak. ve çıkardığınızdan emin olun. Geliştiricilerin inandıklarına rağmen, bazı güvenlik açıkları iş sürekliliği için gerçek ve potansiyel olarak zayıflatıcı bir tehdit oluşturuyor. Bu yüzden kabul etseler de etmeseler de güvenliğe ihtiyaçları vardır.

Sonuç olarak şu: Güvenlik yaşam döngüsü, bir geliştiricinin yaşam döngüsü değildir. Tehdit modelleme ve sızma testleri gibi faaliyetler, güvenlik düzeyi için çok önemlidir ancak ölçeklenmesi daha zor olan birçok kaynak gerektirir. Özellikle bir SSDLC modelinde çalışırken, yönetim yükü sizi daha da yavaşlatacaktır. Öte yandan, uygulama güvenlik testi ile basit otomasyon, yazılımınızla ilgili nicel geri bildirim toplamak için etkili bir strateji olsa da, katı yönetişim veya kapsamlı bir güvenlik kültürü olmadan kuruluş tarafından benimsenmesi pek olası değildir.

Güvenlik, yazılım geliştirme yaşam döngüsüyle uyumlu çalışır, ancak bunun ötesine de uzanır. AppSec ekibi, eski uygulamalar da dahil olmak üzere tüm uygulamalara meydan okumaya devam ettikçe, bu durum geçerliliğini korumaktadır. AppSec, yazılım bileşimini, CI ardışık düzenlerini ve çalışma zamanını değerlendirmek için kodun ötesine geçer. AppSec, geliştiricilerinin yaptığı değişiklikleri değerlendirmek için hareket eder, ancak geliştirmenin şirket içinde gerçekleşip gerçekleşmediğine bakılmaksızın sürekli olarak yeni saldırılara ve güvenlik açıklarına dikkat eder.

AppSec’in kendi yaşam döngüsü vardır. Ve bir geliştiricininkinden farklıdır.



siber-1

Bir yanıt yazın