Bu Help Net Security röportajında OpenSSF Baş Mimarı Dana Wang, açık kaynak yazılım güvenliğini (OSS güvenliği) iyileştirmenin önündeki en önemli engelleri ve bu zorlukların üstesinden gelme fırsatlarını tartışıyor.
OpenSSF topluluğu, güvenliği varsayılan hale getirmeyi ve açık kaynaklı ekosistemlerin güvenlik duruşunu güçlendirmek için işbirlikçi bir çabayı teşvik etmeyi amaçlayan açık kaynaklı güvenlik araçları ve projeleri geliştirdi.
OSS güvenliğini iyileştirmenin önündeki en önemli engeller nelerdir ve bu zorlukların üstesinden gelmek için hangi fırsatlar mevcut?
Açık kaynak yazılım, içinde yaşadığımız dijital dünyanın temelidir. Açık kaynak kodu geliştikçe, tedarik zinciri boyunca katkıda bulunanın veya bakımcının makinesinden bir yazılım deposuna doğru hareket eder, CI/CD sürecinden geçer, bağımlılıkları enjekte eder ve Alt tüketicilerin ekosistemlerine aktarılmak üzere paket kayıt defterine iniş. Bu süreç nedeniyle zincirin her halkasında tehditler mevcuttur.
Açık kaynaklı yazılımların güvenli bir şekilde geliştirilmesi ve piyasaya sürülmesi için tutarlı bir temel güvenlik gereksinimleri bulunmamaktadır. OpenSSF, açık kaynaklı projeler için bir güvenlik temeli oluşturarak bu zorlukla mücadele etmeye çalışıyor ve bunu Linux Vakfı genelinde yaymayı hedefliyor. Asgari düzeyde geçerli, güvenli açık kaynaklı projelere sahip olduğumuzdan emin olmayı ve yazılım üretime hazır hale geldikçe açık kaynaklı bir yazılıma güvenliği aşamalı olarak oluşturmayı hedefliyoruz.
Diğer bir zorluk ise, araç/konfigürasyon yeteneklerine yönelik ekosistem desteğinin, programlama dillerine ve yeni özellikler veya özellik geliştirmelerine yönelik yol haritalarına bağlı olarak değişiklik göstermesidir. Bu şu soruyu akla getiriyor: Güvenlik temel çizgisinin benimsenmesi yoluyla güvenlik duruşunu iyileştirirken güvenliği nasıl daha az yük haline getirebiliriz? Cevap otomasyondur. Olmak istediğimiz nokta, otomasyon ve araçlar aracılığıyla güvenliği varsayılan haline getirmektir. Güvenliği emek yoluyla sağlamak, özellikle güvenlik konusunda eğitimi veya eğitimi olmayan geliştiriciler için cesaret kırıcı olabilir.
OpenSSF, güvenliği daha az yük haline getirme mücadelesine yardımcı olmak için tümü belirli amaçlar için oluşturulmuş bir açık kaynaklı güvenlik araçları koleksiyonuna sahiptir. Şu anda yapı imzalama için Sigstore’a, yapı kaynağı için SLSA’ya, doğrulama için Witness ve Archivista’ya, güvenlik açığı yönetimi için OSV ve OpenVEX’e, fuzzer’lar için Security Insight’a, bir projenin güvenlik duruşunu ölçmek için Scorecard’a ve güvenlik politikalarını uygulamak için Allstar’a sahibiz. Yeni katkıda bulunanlar için, SDLC süreçlerine eklenebilecek mevcut araçların kapsamlı listesini analiz etmek korkutucudur.
OpenSSF topluluğu, SBOM’daki tutarsız benimsemeleri ve veri kalitesi sorunlarını gözlemleyerek tüm bu teknolojilerden verileri toplamak için GUAC’ı geliştirdi ve aynı zamanda güvenlik sağlamak için bir projeyi yeniden başlatırken bu yetenekleri kod aracılığıyla kullanmak üzere Skootrs adında yeni bir proje oluşturmak için ilham aldı. varsayılan olarak kabul edilir.
Son olarak, en büyük kısıtlama, bakımcıların sınırlı kişisel zamanı ve yazılım güvenliğinin artırılması da dahil olmak üzere açık kaynaklı yazılım bakımına yönelik taleplerdir. Açık kaynaklı yazılımın güvenliğini, güvenilirliğini, kullanılabilirliğini, performansını ve maliyetini dengelemek önemsiz değildir. Bakımcıların bazen yeni özellikler, hata düzeltmeleri ve daha az kritik güvenlik yamaları arasında seçim yapması gerekir.
Büyük teknoloji şirketlerinin açık kaynak projelerine katılımı güvenlik standartlarını ve uygulamalarını nasıl etkiliyor?
Büyük teknoloji şirketlerinin katkıda bulunanları ve bakım sağlayıcıları, bu kurumsal kuruluşlardaki güvenlik uzmanlıklarını, tutkularını ve pratik yeteneklerini OpenSSF gibi açık kaynak topluluklarına taşıyor. Eğitim ve öğretim, spesifikasyonlar ve çerçeveler, kamu politikaları, güvenlik araçları dahil yazılım tabanlı araçlar ve kamuya açık internet hizmetleri dahil olmak üzere birçok alanda küresel etkiler yarattılar.
Kuruluşumuz için topluluk üyeleri, OpenSSF kılavuzları, çevrimiçi sınıflar, çalıştaylar, teknik konuşmalar ve çeşitli iletişim kanalları aracılığıyla bu katkıda bulunanlardan ve bakım sağlayanlardan uygulamalı eğitim alabilmektedir. Büyük teknoloji şirketlerinin birçoğu organizasyonlarında ve açık kaynak projelerinde Scorecard, SLSA ve S2C2F gibi OpenSSF teknolojilerini kullanıyor. Bu şirketler açık kaynak yazılımın en büyük tüketicileridir; açık kaynak projelerini finanse ederek ve açık kaynak yazılım güvenliğini geliştirmek için mühendislik saatleri ayırarak topluma katkı sağlama konusunda harika bir örnek teşkil ederler.
Büyük teknoloji önemli bir rol oynasa da, akademi, küçük teknoloji şirketleri (özellikle yeni kurulan şirketler) ve bağımsız katkıda bulunanlar gibi açık kaynaktaki diğer oyuncuların etkisini de göz ardı edemeyiz. Sektörlerdeki üyeler, güvenlik standartları ve uygulamalarına ilişkin istek listelerinin yanı sıra, pazara özgü benzersiz güvenlik zorluklarını ve bakış açılarını topluluğa taşıyor. Açık kaynak topluluğunun teknik sonuçlarını alırken katkıda bulunuyorlar. Kod katkıda bulunanlarımızın ve bakımcılarımızın çoğu güvenlik startuplarından geliyor. Yenilikçi fikirlere kalplerini ve ruhlarını koyuyorlar ve bu fikirleri gerçeğe dönüştürüyorlar. Güvenlik yeniliklerini körüklüyorlar.
Kurumsal kuruluşlarla etkileşime geçerek bu kuruluşlardaki zorlukları anlayıp bu zorlukları fırsatlara dönüştürebildiklerini görmekten minnettarım. Doktora öğrencilerinin, üniversite profesörlerinin ve özel sektördeki araştırmacıların açık kaynak topluluğuna kattığı entelektüel güce hayranım.
Güvenlik standartlarının ve en iyi uygulamaların topluluktaki tüm üyelerin işbirliğiyle elde edildiğini ve her birinin diğer üyeleri yükseltmek ve açık kaynak ekosistemlerinin güvenlik duruşunu kolektif olarak geliştirmek için kendi benzersiz rolünü oynadığını hissediyorum. Güvenliğin ve yazılımın demokratikleştirildiği açık kaynak topluluğunun bir parçası olmak harika. Daha büyük kamu yararına etki yaratmak için kolektif olarak pek çok şey yapılıyor ve bu, büyük teknoloji şirketleri de dahil olmak üzere herkesin katılımı olmadan gerçekleştirilemez.
Açık kaynak topluluğunun mevcut güvenlik politikaları ve uygulamaları, özellikle şeffaflık ve güvenlik açıklarına müdahale konusunda ne kadar etkili?
Açık kaynak toplulukları, son zamanlardaki büyük siber olaylar nedeniyle daha fazla güvenlik odaklı hale geldi. Log4J gibi etkinlikler sektör için büyük bir uyandırma çağrısı oldu ve güvenliği toplum için daha öncelikli hale getirdi.
Şeffaflık açık kaynak ruhuna uygundur ve bunu topluluk içinde geliştirmek kuruluşumuzun temel hedeflerinden biridir. Şu anda her OpenSSF projesinin, güvenlik açıklarının nasıl bildirilmesi gerektiği ve bunlara nasıl yanıt verileceği konusunda net talimatlar sağlayan bir güvenlik politikasına sahip olması gerekiyor. Güvenlik temeli de bunu gerektiriyor. OpenSSF En İyi Uygulama Rozeti programı ve Puan Kartı, bir projenin güvenlik açığı açıklama politikasına sahip olup olmadığını bildirir. Rozet programı geçme seviyesi, diğer Linux Foundation açık kaynak projeleri tarafından genel kullanıma sunulma kriteri olarak kullanılmıştır.
Açık kaynak toplulukları, hem açık kaynak hem de kapalı kaynak yazılımlarda şeffaflığı artırmak için SBOM’un sınırlarını zorluyor. Ancak veri kalitesi ve birlikte çalışabilirlik sorunları nedeniyle SBOM tüketiminde zorluklar yaşandı. Son zamanlarda OpenSSF, CISA ve DHS S&T ile birlikte, sistem yöneticileri ve yazılım geliştirme toplulukları da dahil olmak üzere tüm kuruluşların SBOM’ları ve dosya verilerini okumasına ve oluşturmasına olanak tanıyan açık kaynaklı bir yazılım tedarik zinciri aracı olan Protobom’u piyasaya sürerek bu zorluğun üstesinden gelmek için adımlar attı. ve bu verileri standart endüstri SBOM formatlarına dönüştürün.
Protobom, yazılım şeffaflığını artırmak için diğer OpenSSF güvenlik teknolojilerinin temeli haline geliyor. SBOMit doğrulama sağlarken OpenVEX, daha verimli güvenlik açığından yararlanılabilirlik alışverişi için spesifikasyondan bağımsız SBOM verilerini tüketebilir. GUAC, açık kaynaklı bir yazılımın genel güvenlik duruşuna ilişkin öngörüler sağlamak için OpenVEX, SBOMit ve diğer çözümlerden verileri sentezlemeye odaklanır.
Bazı araştırmacıların sorumsuz güvenlik açığı açıklamaları nedeniyle bakımcılar sıklıkla tutkularının vergisini ödemek zorunda kalıyor. Bakımcılar arasındaki ortak endişe, birçok CVE’nin kamu yararı ruhuyla uyumlu olmayan nedenlerden dolayı açık olmasıdır. Bakımcıların karşılaştığı zorluklar konusunda ortak bir duruş sergilemelerini ve bakımcıların sağlıklı bir güvenlik açığı ifşa düzeyine ulaşmaları için empati kurmalarını umuyorum.
Açık kaynaklı yazılım bileşenlerinin güvenliğinin yönetilmesinde yazılım bileşimi analizinin ve diğer araçların rolü ne kadar önemlidir?
En zor sorunlardan biri olan bağımlılık yönetiminde yazılım kompozisyon analizi (SCA) araçları önemlidir. Yazılım ancak en zayıf bağımlılığı kadar güvenlidir. SCA sonuçları, savunmasız bileşenleri tespit etmek ve alım kararları vermek için kullanılmalıdır. Özellikle yazılım piyasaya sürülmeden önce yazılım geliştirme ekosisteminde statik uygulama güvenlik testi (SAST) araçları da kullanılmalıdır. SAST size yapıcı geri bildirimler verir, geliştirdiğiniz koddaki güvenlik açıklarını yakalar ve bunları nasıl düzeltebileceğiniz konusunda size tavsiyelerde bulunur.
Görev açısından kritik açık kaynaklı yazılımlar için, güvenlik açıklarını mümkün olduğu kadar erken ortaya çıkarmak için dinamik uygulama güvenlik testi (DAST) gerçekleştirilmelidir. Web uygulamaları için penetrasyon (PEN) testi yapılmalıdır. Bu araçları SDLC sürecine dahil ederken derinlemesine savunma yaklaşımını benimsemeliyiz. SCA için GitHub Dependabot, SAST için CodeQL ve DAST için OSS Fuzz gibi açık kaynaklı araçlar mevcuttur.
Güvenlik açığını daha etkili bir şekilde yönetmek için açık kaynaklı bir güvenlik açığı (OSV) veritabanı kullanılabilir. Ekosistem, paket düzeyinde güvenlik açıkları hakkında hem insan hem de makine tarafından okunabilen daha ayrıntılı bilgiler sağlar ve 20’ye yakın farklı veri kaynağından verileri bir araya getirir.
Siber güvenlik uygulamalarında daha iyi eğitim ve öğretim, açık kaynak projelerinin güvenliğini nasıl artırabilir?
Siber güvenlik uygulamalarında eğitim ve öğretim, daha güvenli kod geliştirmenin temelini oluşturur. Yapılması gerekenler konusunda daha fazla farkındalık yaratırlar ve uygulamalı yazılım geliştirmeyle birleştirildiğinde güvenlik kavramlarını güçlendirerek iyi güvenlik hijyeni sağlamayı bir alışkanlık haline getirirler. Güvenliğin temellerini ve temel ilkelerini anlamak uzun bir yol kat eder. Uygulamalı pratik, güvenlik konusunda daha iyi olmanın anahtarıdır.
Açık kaynak yazılım güvenliğinde kuruluşların bilmesi gereken yeni ortaya çıkan trendler nelerdir?
Açık kaynaklı yazılımın sosyal mühendislik tarafından ele geçirilmesi ortaya çıkıyor. XZ Utils’in arka kapı saldırısı ve OpenJS vakfının projelerine yönelik başarısız saldırılar endişe verici. XZ Utils’in bakımı, sosyal mühendislik devralınmadan önce tek bir bakımcı tarafından sağlanıyordu. Birçok OpenJS projesi tek bir bakımcı veya çok az sayıda bakımcı tarafından sürdürülür.
Bakımcıların açık kaynak zamanı veya kişisel zamanı ile hem açık kaynak hem de ticari yazılım üreticilerinden gelen taleplerin oranı göldeki bir su damlası kadar küçüktür. Açık kaynak gelişiminin sürdürülmesi ve daha güvenli hale getirilmesinin, bu açık kaynak yazılımdan yararlanan kuruluşların, finansman yoluyla veya geliştirici saatlerine katkıda bulunarak omuzlanması gerekiyor.
Politika tarafında, dünya genelinde açık kaynak toplulukları, kamu sektörü ve özel sektörler arasında daha fazla işbirliği oldu ve olmaya devam edecek. Siber güvenlik ulusal güvenliğin, ekonomik güvenliğin ve sosyal istikrarın bir parçası haline geldi. Güvenlik yükünün tüketicilerden dijital ürün sağlayıcılara kaydırılması, güvenliği ve uyumluluğu bir onay kutusundan açık kaynaklı yazılımı daha güvenli hale getirmeye yönelik ortak bir çabaya dönüştürecektir.
AB, yazılım üreticilerini ürün güvenliğinden sorumlu tutarak ve açık kaynak yönetici rolünü oluşturarak CRA çabasıyla harika bir örnek oluşturdu. Mevzuat, açık kaynak yazılım geliştirmeyi, bakımını sürdürmek ve dijital ekonomiyi omuzlamaya devam etmek için yürütülebilir bir plan üzerinde çalışmak üzere açık kaynak, politika yapıcılar ve özel sektör arasında işbirliğini gerektirecektir.