Yazılım üreten kuruluşlar üzerindeki düzenleyici ve yasal baskının, tedarik zincirlerini güvence altına almaları ve yazılımlarının bütünlüğünü sağlamaları yönünde artması şaşırtıcı olmamalı. Son birkaç yıldır, yazılım tedarik zinciri, saldırılarını büyüklük sırasına göre zorlamak için fırsatlar gören saldırganlar için giderek daha çekici bir hedef haline geldi. Örneğin, 2021’deki Log4j ihlalinden daha ileriye bakmayın; burada Log4j (Apache tarafından yönetilen ve çok sayıda farklı uygulamada kullanılan açık kaynaklı bir günlük kaydı çerçevesi) binlerce sistemi riske atan istismarların köküydü.
Log4j’nin iletişim işlevselliği savunmasızdı ve bu nedenle bir saldırganın, daha sonra sistemde yürütülebilecek günlüklere kötü amaçlı kod eklemesi için bir açıklık sağladı. Güvenlik araştırmacıları, keşfedildikten sonra, çoğu başarılı hizmet reddi (DoS) saldırılarına dönüşen milyonlarca saldırı girişimi gördü. Gartner’ın son araştırmalarından bazılarına göre, kurumsal kuruluşların yarısına yakını 2025 yılına kadar bir yazılım tedarik zinciri saldırısının hedefi olacak.
Peki yazılım tedarik zinciri nedir? Yeni başlayanlar için, bir kuruluşun hem içinde hem de dışında yazılım eserlerinin geliştirilmesine ve sunulmasına katkıda bulunan tüm kodların, kişilerin, sistemlerin ve süreçlerin toplamı olarak tanımlanır. Yazılım tedarik zincirinin güvenliğini sağlamayı bu kadar zorlaştıran şey, modern uygulamalar geliştirmenin karmaşık ve yüksek oranda dağıtılmış doğasıdır. Kuruluşlar, uygulamalarını oluşturmak ve dağıtmak için kullanılan geniş kapsamlı kod depoları ve yapı kayıtları, CI/CD işlem hatları ve altyapı kaynaklarının yanı sıra eşi benzeri görülmemiş sayıda açık kaynak bağımlılığına güvenen küresel geliştirici ekiplerini kullanır.
Güvenlik ve uyumluluk, kurumsal kuruluşlar için sürekli olarak en önemli endişe kaynağı olsa da, kuruluşun yazılım tedarik zincirlerini güvence altına alma zorluğu giderek daha da büyüyor. Pek çok kuruluş DevSecOps uygulamalarını operasyonel hale getirme konusunda maddi ilerleme kaydediyor ancak bunların büyük bir kısmı hâlâ ne yapacaklarını anlamanın ilk aşamalarında kendilerini buluyor.
Bu makaleyi tam olarak bu yüzden bir araya getirdik. Aşağıdakiler hiçbir şekilde kapsamlı bir liste olmasa da, yazılım tedarik zinciri güvenliği çabalarınızın doğru yönde ilerlemesini sağlamak için burada dört yol gösterici ilke bulunmaktadır.
Güvenliği Uygularken Yazılım Tedarik Zincirinizin Tüm Yönlerini Düşünün
Kod tabanlarının %80’inden fazlasının en az bir açık kaynak güvenlik açığına sahip olduğu göz önüne alındığında, OSS bağımlılıklarının yazılım tedarik zinciri güvenliğinin merkezi odağı olması mantıklıdır. Bununla birlikte, modern yazılım tedarik zincirleri, güvenlik duruşları gözden kaçırılan veya kuruluş içinde düzgün bir şekilde yönetilecek kadar geniş bir şekilde anlaşılmayan diğer varlıkları da kapsar. Bu varlıklar, her biri güvenlik kontrolleri ve düzenli uyumluluk değerlendirmesi gerektiren kod depoları, CI ve CD işlem hatları, altyapı ve yapı kayıtlarıdır.
CI/CD için OWASP Top-10 ve CIS Yazılım Tedarik Zinciri Güvenlik Karşılaştırması gibi çerçeveler. Bu çerçevelere bağlı kalmak, ayrıntılı RBAC, en az ayrıcalık ilkesinin uygulanması, kapsayıcıların ve kod olarak altyapının güvenlik açıkları ve yanlış yapılandırmalar açısından taranması, yapıların izole edilmesi, uygulama güvenlik testlerinin entegre edilmesi ve gizli dizilerin uygun şekilde yönetilmesini gerektirecektir.
SBOM’lar Sıfır Günleri ve Diğer Bileşen Sorunlarını Düzeltmek İçin Önemlidir
Beyaz Saray tarafından 2021 ortalarında ülkenin siber güvenlik duruşunu güçlendirmek amacıyla yayınlanan 14028 sayılı Yönetici Kararı’nın bir kısmı, yazılım üreticilerinin federal müşterilerine bir yazılım malzeme listesi (SBOM’lar) sağlamasını zorunlu kılıyor. SBOM’lar aslında bir yazılım parçasını oluşturan tüm bileşenlerin görünürlüğünü sağlamayı amaçlayan resmi kayıtlardır. Yazılımın oluşturulmasında kullanılan tüm açık kaynak ve üçüncü taraf kitaplıkları, bağımlılıkları ve bileşenleri listeleyen ayrıntılı, makine tarafından okunabilir bir envanter sağlarlar.
Bir kuruluş EO 14028’e tabi olsun veya olmasın, yazılım eserleri için SBOM’lar oluşturmak ve yönetmek değerli bir uygulamadır. SBOM’lar, bileşen sorunlarını veya sıfır gün güvenlik açıklarını düzeltmek için vazgeçilmez bir araçtır. Aranabilir bir depoda depolandığında, SBOM’lar belirli bir bağımlılığın nerede mevcut olduğuna dair bir harita sağlar ve güvenlik ekiplerinin güvenlik açıklarını etkilenen bileşenlere kadar hızlı bir şekilde izlemesine olanak tanır.
Yazılım Geliştirme Yaşam Döngüsünü Kod Olarak Politika ile Yönetin
Modern uygulama geliştirme dünyasında, kaya gibi sağlam korkuluklar, güvenlik ve uyumluluğu tehlikeye atan hataları ve kasıtlı eylemleri ortadan kaldırmak için önemli bir araçtır. Yazılım tedarik zinciri boyunca doğru yönetim, kuruluşun doğru şeyleri yapmayı kolaylaştırdığı ve yanlış şeyleri yapmayı son derece zorlaştırdığı anlamına gelir.
Birçok platform ve araç, hızlı bir şekilde uygulanabilen kullanıma hazır politikalar sunarken, Açık Politika Aracısı endüstri standardını temel alan kod olarak politika, tamamen özelleştirilebilir politikaların yazılmasına ve uygulanmasına olanak tanır. Tedarikçi, sürüm, paket URL’si ve lisans gibi kriterlere dayalı olarak erişim ayrıcalıklarından OSS bağımlılıklarının kullanımına izin verilmesine veya reddedilmesine kadar her şeyi yöneten politikalar.
SLSA’yı Kullanarak Yazılım Eserlerinize Olan Güveni Doğrulayabilir ve Sağlayabilirsiniz
Kullanıcılar ve tüketiciler bir yazılımın güvenilir olduğunu nasıl bilebilirler? Bir yazılım eserinin güvenilirliğini belirlerken kodu kimin yazdığı, onu kimin oluşturduğu ve hangi geliştirme platformunda oluşturulduğu gibi şeyleri bilmek istersiniz. İçinde hangi bileşenlerin bulunduğunu bilmek de bilmeniz gereken bir şey olacaktır.
Yazılıma güvenilip güvenilmeyeceğine karar vermek, kaynağı (bir yazılımın kökeninin ve gözetim zincirinin kaydı) doğrulandıktan sonra mümkündür. Bunun için Yazılım Eserleri için Tedarik Zinciri Seviyeleri (SLSA) çerçevesi oluşturuldu. Yazılım üreten kuruluşlara, yazılım tedarik zincirinin herhangi bir yönü hakkında bilgi toplama, yapıtların ve bunların yapılarının özelliklerini doğrulama ve güvenlik sorunları riskini azaltma yeteneği verir. Uygulamada, yazılım üreten kuruluşların SLSA çerçeve gereksinimlerini benimsemeleri ve bunlara uymaları ve yazılım tedarik zincirleri boyunca yazılım eserleri hakkında kimliği doğrulanmış ifadeler (meta veriler) olan yazılım kanıtlarını doğrulamak ve oluşturmak için bir araç uygulaması esastır.
Modern yazılım tedarik zincirini güvence altına almanın büyüklüğü ve karmaşıklığı göz önüne alındığında, yukarıdaki kılavuz yalnızca yüzeyseldir. Ancak modern uygulamalar oluşturma ve devreye alma dünyasındaki diğer her şey gibi bu uygulama da hızla gelişiyor. Başlamanıza yardımcı olması için okumanızı öneririz Yazılım Nasıl Güvenli Bir Şekilde Teslim Edilir? İşletmenizin güvenlik duruşunu güçlendirmek ve riskleri en aza indirmek için tasarlanmış en iyi uygulamalarla dolu bir e-kitap.