Açık kaynağın kapanması: Fantaziyi dağıtmak
Yayınlanan: 2022-03-31Aralık 2021'de Log4j güvenlik açığı ifşasının ardından ve bir geliştiricinin sahip olduğu Javascript kitaplıklarını sabote ettiği yeni durum - 'color.js' ve 'faker.js', açık kaynaklı bilgisayar yazılımının durumu gündeme getirildi.
Beyaz Mülk'te açık kaynak üzerine yüksek profilli bir toplantı ve ABD Başkanı Biden'ın Hükümet Emirleri ile bazıları bunun 'açık kaynağın sonu' olduğunu bile sordu. Açık arzın bir şekilde eksik kaldığının bir işareti olarak büyük bir güvenlik açığını kontrol etmek cazip gelse de, gerçek önemli ölçüde bundan kaynaklanmaktadır.
Açık kaynaklı yazılım, iş yazılım paketinden çok daha fazla veya daha az güvenli değildir. Gerçekte, çoğu profesyonel bilgisayar yazılımı muhtemelen açık kaynaklı sistemlerde bulunur veya çalışır. Açık tedarik, yalnızca yazılım programının, tedarik kodunun isteyen herhangi bir kişinin erişebileceği şekilde formüle edildiğini belirtir.
Apache Log4j ekibinin Log4j yanıtıyla birlikte izlediğimiz şey, tam olarak görmeyi umduğumuz şeydir - geliştirdikleri yazılım paketini ciddiye alan ve şu anda kurulum temellerinin isteklerine yanıt veren bir ekip. Gönüllü olduklarına bakıldığında, bu tür bir yanıt, açık kaynak topluluklarında sıklıkla gördüğümüz sahiplenme zevkinin göstergesidir.
Açık kaynağın kapatılmasını teşvik etmekten biraz daha fazlası, Log4j gibi bir olayın açık kaynak geliştirmeyi bir bütün olarak geliştirmesi daha olasıdır - Heartbleed'in iki açık ve kapalı kaynak büyüme grubunun ilerleme yöntemlerini geliştirmesine benzer şekilde. Öyleyse, burada açık kaynak listelenmeye devam edecekse, kuruluşlar güvenlik açıklarını çok daha yetkin bir şekilde tespit etmek ve azaltmak için ileriye dönük aktarımda ne yapmalıdır?
Bilgisayar yazılımı korumasının kurumsal düzeyde ele alınması
Kusursuzca, güvenlik açıklarını belirleme ve hafifletme stratejisi, bazı rolleri önceden belirlememizi gerektiriyor. Çoğu kişi, yazılım paketi tedarikçilerinin - yani bağımlı oldukları bilgisayar yazılımını geliştiren kişilerin - bu yazılımı kontrol etmesini umar. Bu testin nihai sonucu, tedarikçinin sağladığı yazılımdaki zayıflıkları vurgulayan sonuçların oluşturulması olacaktır. Koca bir dünyada, tüm bu zayıflıkların her biri, program sevkıyatı ve teslimatından önce çözülecektir.
Otantik gezegende, öyle olsa bile, tüm bu zayıflıklardan bazıları önceden ayarlanmış olacak, bazıları “düzeltilecek program yok” olarak işaretlenecek ve bazıları uzun vadeli bir lansmanda iyimser bir şekilde düzeltilecek. Zayıflıkların listesi ve hangilerinin sona erdiği, bir sağlayıcının genellikle ifşa ettiği küçük bir şey değildir. Ayrıca, tüm zayıflıkları keşfedebilecek tek bir araç yoktur ve bazıları yalnızca kaynak kodunuz varsa işi yapar, ancak diğer insanlar çalışan bir yazılım talep eder.
Spesifik ve temel bir belirtiye sahip olduğundan, burada 'güvenlik açığı' kelimesinden bahsedilmediğini not edeceksiniz. Uygulamada, bir güvenlik açığı yalnızca istismar edilebilecek veya gerçekçi bir istismar fırsatına sahip bir zayıflıktır.
Güvenlik açıklarının tümü olmasa da çoğu, Ulusal Güvenlik Açığı Veritabanları veya yalnızca NVD olarak tanınan merkezi bir prosedür aracılığıyla ifşa edilir. NVD'nin kökleri ABD'de olmasına ve ABD Yetkilileri tarafından halledilmesine rağmen, NVD'nin içeriğine herkes erişebilir ve birden fazla uluslararası konumda çoğaltılabilir. Yönetişim açısından, NVD içeriğindeki iyileştirmeleri kontrol etmek, en iyi yeni güvenlik açığı açıklamalarını takip etmenin mükemmel bir yoludur.
Sorun şu ki, NVD medya kapsamına göre daha yavaş güncelleniyor, bu nedenle Log4Shell, HeartBleed ve Dirty Cow gibi temel güvenlik açıklarıyla birlikte, güvenlik açığını bulan iş gücü, zorlukla ilgili bilinci genişletme çabasında güvenlik açığı için markalı bir başlık oluşturabilir. Bu siber toplanmaların medyanın korunması için ekranları tarayan bir yönetim planı üretmek kesinlikle harika bir uygulama değil.
Güvenlik açığı yönetimine giriş olarak medyada yer almak kötü bir fikirse ve NVD tüm gerçekleri biraz kademeli olarak sunuyorsa, o zaman en etkili yönetişim politikası nedir? Bu, “Yazılım Bileşimi Analizi” veya SCA olarak bilinen bir tür güvenlik aracından gelecektir. Bir SCA yazılımı, hem bir uygulamanın kaynak kodunda, hem de uygulamayı tanımlayan yürütülebilir dosyada veya kitaplıklarda bulunur ve bu yazılımı oluşturmak için hangi açık kaynak kitaplıklarının kullanıldığını bulmaya çalışır.
Bu kişi kitaplıklarının listesi, bir SBOM veya Bilgisayar yazılımı Malzeme Listesi olarak bilinir. SCA uygulamasının görevini etkin bir şekilde yerine getirdiğini varsayarsak, NVD ayrıntılarını SBOM ile eşleştiren bir yönetişim politikası yapılabilir, böylece ne yama yapacağınızı bilirsiniz… Ancak yine de hesaba katılması gereken gizli NVD gerçekleri vardır.
Çok daha üstün SCA araçlarından bazıları, bekleyen bir NVD girişi olduğunda, ancak bu NVD girişinin ayrıntılarının SCA satıcısı tarafından artırıldığı durumlarda müşterileri proaktif olarak uyaran tavsiyeler oluşturarak bu zorluğu ortadan kaldırır. En son teknoloji ekipmanlardan bazıları, bilgisayar yazılımının hangi varyasyonlarının güvenlik açığının ifşa edilmesinden etkilendiğini taramaya veya doğrulamaya da kendini adamıştır.

Bununla birlikte, SCA yazılım programı ifşa ve tanımlama arasındaki boşluğu kapatabilse de, temel bir sınırlamaya sahip olduğu gözlemlenmelidir. SCA programı tüm programlarınızı taramadıysa, en iyi ihtimalle programlarınızın bir alt kümesi için yeni güvenlik açığı açıklamalarını işaretleyebilir.
Yönetişim kapsamı açısından, daha sonra güncellemeler ve ücretsiz indirmeler gibi tüm uygulamaların bir SBOM altında görünmesini ve SBOM'un uygulandığının doğrulandığından emin olmak için tüm yazılım programını ve satın alma işlevselliğini kurmak için bir BT çalışmasına sahip olur. SCA yazılım programı. Program hem kaynak hem de ikili formatlarda mevcut olduğundan, bu yolda ilerleyen yönetişim ekiplerinin tüm çeşit ve formatlarda etkin bir şekilde hareket edebilen SCA yazılım programını seçmesi önemlidir. Bu tür bir yönetişim planı, yeni güvenlik açığı açıklamalarının ve ticari kuruluş üzerindeki etkisinin belirlenmesine yardımcı olur, ancak azaltmanın yazılım testi gerektireceği göz önüne alındığında, üretken azaltmada fark yaratmayı benzersiz bir politikaya bırakır.
Bir kişinin kendi mühendisliğinin güvenliğini sağlamak sadece bir noktadır, ancak açık kaynağın zarafeti, işbirlikçi olacak şekilde tasarlanmış olmasıdır.
Abraham Lincoln'ün deyişiyle, açık kaynak insanların, bireyler tarafından ve bireyler için bilgi birikimidir. Modaya uygun açık kaynak hareketi, kodun çalışma şeklini beğenmediyseniz, onu değiştirmekte özgürsünüz ve var olduğu algılanan işlevsellikte hangi boşluklar olursa olsun üstesinden gelmekte özgürsünüz temel ilkesiyle başlatıldı.
Bu günlerde karşılaştığımız zorluğun unsuru, açık kaynak projelerinin tüketicilerinin veya son kullanıcılarının, açık tedarik sorunu bir iş uygulaması satıcısıymış gibi davranmasına sahip olan bir duygudur.
GitHub'da oldukça iyi bilinen herhangi bir açık kaynak girişiminin zorluklar listesinde görünürseniz, seçilen sorunların ne zaman çözülebileceğine ilişkin işlev isteklerini ve incelemelerini görürsünüz. Hizmet verilebilirlikle ilgili bu tür sorun öyküleri ve şikayetler, bir ürün yöneticisinin bu insanların isteklerinin sonuna geldiğine ve bunların bir yol haritasına eklenip bir noktada başlatılacağına dair üstü kapalı bir beklentiye sahiptir - üstelik hiçbir ücret ödemeden.
Aslında, işlevsellikteki ve hatta algılanan hatalardaki boşluklar, ücretsiz programlama uzman hizmetleri talep etme şansını değil, şikayet eden kişi için oldukça önemli olan uzun vadeli kod başarılarına katkıda bulunmaya bir alternatif olarak işaret eder.
Tabii ki, bazı kişiler proje tarafından kullanılan programlama dilini bilmeyecek, ancak diğer kişilerin bilinmeyen bir üçüncü taraftan gelen bir şikayete, enerjik katkıda bulunanlar için komplikasyonları ortadan kaldıran varyasyonlardan daha fazla öncelik vermesini beklemek gerçek görünmüyor. Herhangi bir şey kadar önemli bir şekilde, katkıda bulunanların fedakarlığı yoluyla açık kaynak özellikleri.
Modern zamanın ötesinde, iyi bilinen açık kaynak işleri için ana katkıda bulunanları, büyük kuruluşların yazılım paketlerinin kullanımından elde ettikleri kazançlarla ilgili özel sıkıntıları dinledik. Gücünü bir göreve yalnızca üçüncü bir kişinin denemelerden elde ettiği kazancı elde etmek için veren biriyle ilişki kurmak kolay olsa da, gerçek şu ki, eğer bu üçüncü saldırı bir açık kaynak geliştirme işgücünün girişimlerinden faydalanıyorsa, o zaman yapmaları gerekir. uzun vadeli başarısına katkıda bulunmaktır.
Aksi takdirde, yalnızca söz konusu kodun güvenmedikleri yöntemlere dönüşmesi tehlikesini değil, aynı zamanda koruma endişeleri belirlenip çözüme kavuşturulduğunda, insan düzeltmelerini uygulamada gecikme yaşamaları tehlikesini de işletirler. Sonuçta, küçük bir işletme, ticari girişimlerine güç sağlayan bilgisayar yazılımını üreten ekiplerle etkileşime girmek için zaman ayırmıyorsa, ticari işletmelerini güçlendiren tüm programın nereden geldiğini bilmemeleri ve güvenilir bir şekilde yama yapamaması mümkündür. BT.
Açık arzdaki güvenlik açıklarını keşfetmek bir sorun değildir, ancak yararlanılabilecek bir zayıflığı temsil eden program kusurlarının tespiti önemli bir konudur. Açık kaynak ve kapalı tedarik yazılım paketi, kararlılık sorunları için eşdeğer bir potansiyele sahip olsa da, açık kaynak ile herkesin tüm bu sorunları belirlemesi mümkündür. Bununla birlikte, kuruluşlar en güncel güvenlik açıklarını izlemek için medya korumasına bağlı olmayan proaktif önlemler almalıdır.
Aynı derecede önemli olan, ödüllendirdikleri açık tedarik atamalarına katkıda bulunan bir amacı yerine getirmeleri gerekir, aksi takdirde beklenmeyen kod varyasyonlarına veya önemli yamaların gecikmeli farkındalığına maruz kalabilirler.
Tim Mackey, Synopsys'te Baş Koruma Stratejistidir .