Bir MOAD Tarayıcısı Permakultur Pratiği Olarak
Permakulturun ilk ilkesi: eylemden önce gözlemle. Değiştirmek istediğin sistemde zaman geçir. Müdahaleni tasarlamadan önce akışlarını, birikimlerini & atık akışlarını anla. Suyun nerede biriktiğini, güneş ışığının nereye ulaştığını & besinlerin nerede yoğunlaştığını gözlemleyen bir bahçıvan, genel bir planı izleyenden daha etkili biçimde bitki yerleştirir.
Bir MOAD tarayıcısı bu ilkeyi yazılım ekosistemlerine uygular. Tek bir sorun bildirmeden önce, projeler ve diller genelinde tara. Kusurun dağılımını haritalandır: kaç proje CWE-407 taşıyor? Hangisi yüksek trafikli yollarda taşıyor? Yamalandığında en fazla bağımlıya düzeltmeyi yayacak hangi yukarı akış paketleri? Herhangi bir düğümde harekete geçmeden önce ekosistemi gözlemle.
Bunu çıkarımcı pratikle karşılaştır: bir güvenlik açığı keşfet, onu bir güvenlik açığı aracısına sat, ödemeyi al, devam et. Araştırmacı bilgiden finansal sermaye çıkardı ve ayrıldı. Hiçbir bilgi yayılmadı. Hiçbir sistem iyileşmedi. Etkilenen her projenin gelecekteki kullanıcıları savunmasız kalmaya devam etti. Aracı bilgiyi elinde tutar; bu bilgi, güvenlik açığı ifşa edilmeden eskidikçe değerini yitirir.
Permacomputer pratiği: bir kusur keşfet, yamala, ifşa et, yukarı akışa gönder, yamayı kamu malı olarak yayınla. Bilgi bozulmadan yayılır; hatta bileşik büyür: ifşa edilen CVE bir referans haline gelir, bir MOAD gönderisi kalıbı öğretir, gelecekteki araştırmacılar aynı kalıbı kullanarak yeni örnekler bulur. Terminal bir çıkarım yerine kapalı bir döngü.
Permakultur gözlemi, permakultur eyleminden önce gelir. Tarama, herhangi bir yama hareket etmeden önce artış puanları, bağımlılık grafikleri & etkilenen düğüm sayıları hakkında veri üretir. Bu veri, hangi yamaların önce gönderileceğini şekillendirir: yaprak düğümlerden önce yüksek arasındalık düğümleri, çünkü yaygın olarak bağımlı olunan bir kütüphanedeki bir düzeltme, çaba birimi başına daha fazla yayılır.
Atık Üretme: Üç İfşa Yolu
Popüler bir açık kaynak kütüphanesinde kritik bir güvenlik açığı keşfettikten sonra bir araştırmacının alabileceği üç yol:
A. 10.000 dolara bir güvenlik açığı aracısına sat.
B. 90 günlük bir ifşa zaman çizelgesiyle bakıcıya özel olarak bildir, ardından yama durumundan bağımsız olarak yayınla.
C. Eş zamanlı kamuya ifşayla birlikte hemen bir çekme isteği olarak yama gönder.
Açık Sistemlerde Bileşik Büyüme
Permakulturun ikinci ilkesi: enerji bol aktığında yakala ve depola, böylece akmadığında rezervlerin olur. Bir yağmur toplama sistemi, kuru aylarda kullanılmak üzere fırtınalar sırasında su depolar. Bir besin ormanı, mevsimler boyunca güneş enerjisini meyve ve biyokütle olarak depolar. Amaç: depolama zamanlamasını bolluk zamanlamasıyla eşleştirmek.
Hamming'in bileşik bilgisi: her yeni teknik, önemli problemler listene bağlanır ve üretken çıktıyı çarpar. Shannon için bilgi entropisi hakkında tek bir kavrayış, on yıllık teorik çalışmanın kilidini açtı; çünkü aynı anda listesindeki her açık soruyla bağlantı kurdu. Depolanan bilgi bileşik faiz ödedi.
Açık kaynak bileşik büyümesi, bireysel bileşik büyümeden farklı çalışır. Kanonik bir depoya birleştirilen bir düzeltme, enerjiyi her aşağı akış dalının otomatik olarak çektiği bir yerde depolar. 2022'de Python'un asyncio kütüphanesine gönderilen bir yama, orijinal araştırmacının ek bir eylemi olmaksızın o kütüphaneyi kullanan her projeye yayıldı. Enerji kaynakta depolanır ve bağımlılık grafiği aracılığıyla bileşik büyür.
MOAD makaleleri enerjiyi farklı biçimde depolar: her gönderi, yalnızca belirli örneği ifşa etmek yerine tarama kalıbını öğretir. CWE-407 MOAD makalesini okuyan bir araştırmacı yalnızca X projesinin bir flush güvenlik açığı taşıdığını değil, flush kalıbının herhangi bir dilde nasıl göründüğünü, nasıl aranacağını & zararsız benzer koddan nasıl ayırt edileceğini öğrenir. Gelecekteki araştırmacılar, ilk ilkelerden yeniden keşfetmek yerine depolanan kalıbı kullanarak yeni örnekler bulur.
Enerji depolama mekanizması, enerjinin kendisi kadar önemlidir. Özel bir defterde depolanan bilgi yalnızca defterin sahibi için bileşik büyür. Kamuya açık bir depoda depolanan bilgi, onu okuyan herkes için bileşik büyür. CVE veritabanında depolanan bilgi, güvenlik tarayıcısı çalıştıran herkes için bileşik büyür. Her depolama konumunun farklı bileşik büyüme özellikleri vardır.
Sorun Takipçileri & Kişisel Problem Listeleri
Hamming, tekrar tekrar döndüğü 10 önemli problemden oluşan bir liste tuttu. Bu liste, yeni bir tekniğin bunlardan birini ele aldığını fark etmesi için onu hazırladı. Listesi kişisel depolanan enerji olarak işlev gördü: yeni bir teknik göründüğünde her seferinde temettü ödeyen, örüntü eşleştirmede kalıcı bir yatırım.
Kapalı Sistem Olarak Bir MOAD Döngüsü
Permakultur: iyi tasarlanmış bir sistemde, bir sürecin çıktısı diğerinin girdisini besler. Hiçbir çıktı sistemi atık olarak terk etmez. Bir besin ormanındaki tavuk yumurta (besin), gübre (fertilizer), zararlı kontrolü (hizmet) & tırmalama (toprak havalandırması) üretir. Her çıktı sistemi terk etmek yerine bir aşağı akış sürecine yönlendirilir.
Bir MOAD fabrika modeli benzer bir kapalı döngü inşa eder. Her aşama, bir sonrakini besleyen çıktılar üretir:
Tarama üretir: onaylanmış bir kusur örneği, etkilenen düğümlerin konum haritası, arasındalık & trafiğe dayalı bir şiddet tahmini.
Yama üretir: bir kod düzeltmesi, düzeltmeyi doğrulayan bir birim testi, bakıcılar tarafından incelenebilir bir fark dosyası.
MOAD gönderisi üretir: kusur sınıfını, tarama kalıbını & düzeltme yaklaşımını açıklayan kamu malı bir makale. Herhangi bir tekil örneğin ötesinde kalıcı olan entelektüel sermaye.
CVE ifşası üretir: NVD'de standartlaştırılmış bir kayıt; tüm etkilenen kurulumlar genelinde otomatik güvenlik tarayıcılarını tetikler. Güvenlik topluluğu için sosyal sermaye.
Yukarı akış çekme isteği üretir: kanonik kaynaktaki düzeltme; bir sonraki bağımlılık güncellemelerinde tüm aşağı akış dallarına otomatik olarak yayılır.
Her çıktı geri besler: bir MOAD gönderisi, araştırmacılara yeni örnekler bulmayı öğretir; bu yeni taramalar üretir. Birim testi bir gerileme koruyucusu olur. CVE kaydı, aksi halde görmezden gelecek operasyon ekipleri tarafından yamanın benimsenmesini sağlar. Döngü kapanır.
Durma koşulu: aşağı akış kapasitesi onaylanmadan ifşa edilen bir yama kuyruğu seler. MOAD-0001 & MOAD-0005 bağlantılıdır: yüksek arasındalıklı bir düğümde O(N²)'yi düzelt ve her aşağı akış işlemcisi aynı anda sele kapılır. Permakulturun bütün sistem için tasarla ilkesi burada da geçerlidir: bileşeni optimize et, aşağı akışta yeni bir darboğaz yaratabilirsin.
Çıktıları Sermayeye Eşleme
Bir MOAD hattı beş çıktı üretir: bir tarama sonucu, bir yama, bir MOAD gönderisi, bir CVE ifşası & bir yukarı akış çekme isteği.