Yazılım endüstrisindeki yaygın kanı, bir güvenlik açığını üretim sırasında düzeltmenin, onu tasarım aşamasında düzeltmeye göre 100 kat daha pahalı olduğudur. Kusurların bu devasa iddia edilen maliyeti, özellikle satıcılardan, geliştiricilerin, geliştirme hattında daha fazla hatayı daha erken yakalamak için giderek daha karmaşık ve pahalı araçlara ihtiyaç duyduğu yönündeki tartışmaları alevlendirdi.
Ancak yazılım güvenliği uzmanları artık bu finansal ödünleşimin aşırı doğasını sorguluyor.
Geçen hafta yayınlanan bir taslak raporda, Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA), 100 faktörlü rakamın kökeninin kırk yıllık ezberci tekrarlamayla örtüldüğünü ve doğru olsa bile yazılım geliştirme sürecinin bu rakamı artırabileceğini belirtti. rakam o zamandan beri değişti. Kısacası, çevik geliştirme ve kodu dağıtıma hızlı ve sık gönderme yeteneği, üretim kodundaki hataları düzeltme maliyetini azaltmış olabilir. Bu, geliştiricilere kod güvenliği sorumluluğunu yükleme çabasının (buna “sola kaydırma” adı verilir) aşırıya kaçılabileceği anlamına gelir.
Dijital dönüşüm güvenlik şirketi Aquia’nın CEO’su ve kurucu ortağı Chris Hughes, bu konuda herhangi bir yumruk atmadı. LinkedIn gönderisisola kaymayı tanımlamak için bayağı bir ifade kullanıyor.
Hughes, “Güvenlik, bu düşük kaliteli, gürültülü çıktılarla Geliştiricileri altüst ediyor, hızı ve sonuçta işi yavaşlatıyor” dedi.
Diğer güvenlik ve yazılım uzmanları, hararetli bir tartışmayla LinkedIn gönderisine ağırlık verdi; bazıları tüm kalbiyle aynı fikirdeydi, diğerleri ise yazılım kusurlarını mümkün olduğu kadar erken düzeltmenin “sağduyu”dan başka bir şey olduğu fikrine karşı çıktı.
Karışıklık, güvenlik gereksinimlerini daha iyi üretkenlik için bir engel olarak gören geliştiricilerin çoğunluğu ile güvenli yazılımı aynı zamanda kaçınılmaz olarak para tasarrufu sağlayan bir kalite hedefi olarak gören DevSecOps tarzı geliştiriciler ve uygulama güvenliği uzmanları arasında yeniden canlanan gerilimlerin en son işaretidir. .
Ortak Bilgeliği Sorgulamak
11 Ekim’de CISA şunu yayınladı: Secure by Design girişimi hakkında yöneticisine bir raporKritik ağlarda önemli hasara ve hassas bilgilerin ele geçirilmesine neden olan güvenlik açıklarını ortadan kaldırmak için güvenliği yazılım geliştirme ve tasarım aşamalarına yönlendirmeyi amaçlayan bir çabadır. Raporda, işletmelerin güvenliğe yatırım yapması ve güvenlik açıklarını düzeltmesi için ekonomik teşviklerin bulunmaması gibi, kuruluşları daha iyi güvenlik uygulamalarını benimsemeye ikna etmedeki belirli zorluklara dikkat çekildi. Gibi şirketler Hedef Ve SolarRüzgarlar Her iki şirketin de müşterilerini elinde tutması ve kaybedilen piyasa değerini geri kazanması nedeniyle önemli olayların mali sonuçlara yol açmadığını gösteriyor.
CISA’nın raporda belirttiğine göre, sonuç olarak şirketlerin güvenlik sorumluluklarını geliştiricilere devretmesi gerekip gerekmediği ve ne kadar devretmesi gerektiği hala belirsizliğini koruyor. Kuruluşlar için bu dengeyi bulmak kesin bir çaba değildir.
Raporda, “Güvenlik açıklarını erkenden düzeltmenin daha uygun maliyetli olduğu yaygın bir inançtır” denildi. “‘Sola kaydırma’, sorunların erken tanımlanmasının daha iyi olacağı ve daha kaliteli bir ürün üreteceği düşüncesiyle test faaliyetlerini geliştirme sürecinin erken aşamalarına taşımayı vurguluyor. Buradaki zorluk, ne kadar yatırım yapılması gerektiğini ölçmektir.”
Aquia’dan Hughes, Dark Reading ile yaptığı röportajda şunu vurguladı: onun gönderisi geliştiricilerin güvenlik konusunda eğitilmesi ve ürünleri güvence altına almak için daha iyi araçlar sunması gerektiği, ancak desteklenmeyen ekonomik verilerle tartışarak değil.
Hughes, “İşletmeler finansal boyuta odaklanıyor; motivasyonları güvenlikten farklı. Her ne kadar umursadıkları tek şeyin güvenlik olmasını istesek de, bu kesinlikle değil” dedi. “Pazara çıkış hızı ve özellik hızı, müşterilere yeni özellikler ve yetenekler sunma konusunda endişelenme ihtiyacı. … Sola geçişin pek çok faydası var, ancak mali fayda bunlardan biri olmayabilir ve bu [was] İşletmeyi finansal açıdan motive etmenin büyük bir yolu.”
Aradığınız Metrikler Değil…
Üretim sistemlerinde hataların düzeltilmesinin tasarım aşamasına göre çok daha maliyetli olduğu fikri, bilgisayar bilimcileri ve operasyon mühendislerinin yazılım mühendisliği eğitimi aldığı 1970’lerde başladı. TRW Savunma Sistemleri Grubu’nda baş bilim insanı olarak görev yapan ve Güney Kaliforniya Üniversitesi’nde bilgisayar bilimi ve endüstri mühendisliği alanında seçkin bir profesör olarak görev yapan Barry Boehm, yazılım mühendisliği ekonomisinin Yapıcı Maliyet Modelini (COCOMO) oluşturdu 1970’lerin sonlarında ve uygulamalarını kitabında detaylandırdı, Yazılım Mühendisliği Ekonomisi1981’de yayınlandı.
2021 tarihli bir makalesinde Boehm, 100x faktörünü 1987’de yayınladığı “Endüstriyel Metrikler İlk 10 Listesi” adlı önceki makalesine atfetti. Ancak Boehm bile ölçümün muhtemelen yıllar içinde değiştiğini belirterek, bir yazılım sorununun düzeltildikten sonra düzeltildiğini söyledi. teslimatın “çoğunlukla 100 kat daha pahalı” olduğunu ve “sıklıkla” kelimesinin eklenmesinin önceki düşüncesinde bir güncelleme olduğunun altını çiziyor.
Boehm 2001 tarihli makalesinde “Bir içgörü, küçük, kritik olmayan yazılım sistemleri için maliyet artış faktörünün 100:1’den çok 5:1 olduğunu gösteriyor” dedi.Yazılım Kusurlarını Azaltma İlk 10 Listesi“Bu oran, işleri geç yerine erkenden doğru yapmayı vurgulayan daha az resmi, sürekli bir prototip modunda bu tür sistemleri daha verimli bir şekilde geliştirebileceğimizi ortaya koyuyor.”
Yazılım kusurlarını düzeltmenin maliyetlerine ilişkin diğer veriler arasında, 2002 tarihli bir rapora göre, Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından yürütülen bir ankete verilen ayrıntılı yanıtlardan hesaplanan 15:1 tahmini yer almaktadır: “Yazılım Testine Yönelik Yetersiz Altyapının Ekonomik Etkileri“
Yazılım geliştiricileri arasında yapılan bir anket, yazılım hatasını piyasaya sürüldükten sonra düzeltmenin, gereksinimler aşamasına kıyasla 15 kat daha fazla çaba gerektirdiğini ortaya koyuyor. Kaynak: Yazılım Testine Yönelik Yetersiz Altyapının Ekonomik Etkileri, NIST
Bulut tabanlı ve DevOps süreçlerine artan ilgi, uygulamaları güncelleme maliyetinin ve dolayısıyla yazılım düzeltmelerinin dağıtım maliyetinin azalmasına yol açtı. 1980’lerde ve 1990’larda teyp, disk veya CD’lerin yeni yazılımlarla dağıtılması süreci, çevrimiçi güncellemelere ve kullanıcının herhangi bir işlem yapmasını gerektirmeyen ve güncellemesi çok daha ucuz olan bir hizmet olarak yazılıma dönüştü.
Bir örnek olayda, büyük bir sağlık sigorta şirketi daha iyi kusur tespiti uyguladı ve 2013’ten 2017’ye kadar hataların düzeltilmesinden elde edilen tasarrufları takip etti. Şirketin şu sonuca vardı: yaklaşık 21 milyon dolar tasarruf edildi önceki yıllık güvenlik maliyeti olan 28 milyon dolardan. O zamanki Aetna CISO’su Jim Routh ve yazılım güvenliği gurusu Gary McGraw tarafından yazılan vaka çalışması, hataların daha sonra tetiklenmesinin, geliştirme sırasında düzeltilmesinden dört kat daha fazla maliyetli olduğunu öne sürüyor.
Artık bulut kimlik firması Saviynt’in güven sorumlusu olan Routh, “Maliyetler kesinlikle değişmiş olsa da nihai prensip değişmedi” diyor. “Kaliteli yazılım üretmek, hatalı yazılım üretip daha sonra düzeltmekten hala daha ucuzdur”.
DevSecOps kültürünü benimsemek yardımcı olabilir. Routh, geliştiricileri belirli araçları kullanmaya zorlamak yerine, uygulama güvenliği uzmanlarının esnek kod üretmeye yönelik bir süreç geliştirmek için onlarla birlikte çalışması gerektiğini söylüyor.
Sola Kaydırma Hala Finansal Anlamlı
CISA’nın işaret ettiği gibi, cevapsız kalan soru, yazılım mühendisliği ekonomisinin şirketlerin kalite güvencesi, güvenlik ve dayanıklılığa ne kadar odaklanması gerektiğidir. İş zekası şirketi Forrester Research’ün kıdemli analisti Janet Worthington, birçok varsayımın güncellenmesi gerektiğini ve şirketlerin DevSecOps zihniyetini desteklemesi gerektiğini söylüyor.
“‘Sola kaydırma’ ifadesini söylediğinizde, sanırım bu bazı insanlara bunun sadece geliştiricilerin uygulaması gereken bir dizi araç olduğu ve tüm yükün onların üzerinde olduğu anlamına gelebilir” diyor. “Ve sanırım yıllar geçtikçe güvenlik konusunda yükü geliştiricilerin sırtına yükleyemeyeceğiniz yönünde bir tepki oluştu.”
Şirketler, güvenlik bilgisini yalnızca geliştirme sürecine değil aynı zamanda test ve operasyonlara da dahil ederek yazılım oluşturmak ve dağıtmak için daha dayanıklı bir temel oluşturduğunu söylüyor.
Ancak sonuçta soru, yazılımı daha erken düzeltmenin daha iyi veya daha uygun maliyetli olup olmadığı değil, geliştirme veya operasyonlar yoluyla güvenliği artırmaya ne kadar yatırım yapılacağını belirlemek için neyin daha iyi incelenmesi gerektiği sorusu gibi görünüyor.
Yazılım güvenliği üzerine yarım düzineden fazla kitabın yazarı ve bir yazılım güvenliği firması olan Cigital’in eski teknik sorumlusu Gary McGraw, yöneticilerin ve DevOps ekiplerinin geliştirme maliyetlerine toplam sahip olma maliyeti yaklaşımını benimsemeleri gerektiğini söylüyor.
“Geliştiriciler, yazılımlarının güvenliğini sağlamaya derinlemesine odaklanmalıdır” diyor ve şirketlerin her DevSecOps ekibinde ekibin bir üyesi olarak katılabilecek, güvenlik özellikleri oluşturabilecek, güvenlik testleri yapabilecek ve güvenlik tasarımını kontrol edebilecek bir yazılım güvenliği uzmanına sahip olması gerektiğini ekliyor.
Deneyimine göre, kalite, dayanıklılık ve güvenlik açısından sorunları şimdi önlemenin daha sonraya kadar beklemekten daha iyi olduğuna şüphe yok.
“Kodlama yaparken hataları düzeltmek daha ucuz. Hâlâ düşünürken mimariyi düzeltmek daha ucuz” diyor. “Sonuçta sola kaydırma olayı kesinlikle doğru.”