un

guest
1 / ?
back to lessons

Ein MOAD-Scanner als Permakultur-Praxis

Die erste Grundsatz der Permakultur: Beobachten, bevor man handelt. Zeit in dem System verbringen, das Sie ändern möchten. Verstehen Sie seine Ströme, Akkumulationen und Abfallströme, bevor Sie Ihre Intervention entwerfen. Ein Gärtner, der beobachtet, wo Wasser sich sammelt, wo Sonnenlicht erreicht und wo Nährstoffe konzentriert sind, pflanzt Pflanzen effektiver als einer, der einem generischen Plan folgt.

Ein MOAD-Scanner wendet diesen Grundsatz auf Softwaresysteme an. Bevor Sie ein einzelnes Problem melden, scannen Sie über Projekte und Sprachen hinweg. Kartieren Sie die Verteilung von Fehlern: Wie viele Projekte enthalten CWE-407? Welche Projekte tragen es in hohen Verkehrsverbindungen? Welche aufsteigenden Pakete würden, wenn sie geändert würden, die Reparatur auf die meisten Abhängigen verbreiten? Beobachten Sie das Ökosystem, bevor Sie auf ein einzelnes Knoten eingreifen.

Permakultur angewendet auf Code: scannen 2192 speichern 2192 reparieren 2192 offenlegen 2192 schließen

Im Gegensatz dazu: Entdecken Sie eine Sicherheitslücke, verkaufen Sie sie einem Sicherheitsbroker, erheben Sie die Vergütung, gehen Sie. Der Forscher hat finanzielles Kapital aus dem Wissen entnommen und ist gegangen. Keine Kenntnisse wurden weitergegeben. Kein System wurde verbessert. Die Benutzer zukünftiger Projekte bleiben anfällig. Der Broker hält das Wissen, das im Wert verliert, je älter die Sicherheitslücke ohne Offenlegung wird.

Permakomputer-Praxis: Entdecken Sie einen Fehler, reparieren Sie ihn, offenlegen Sie ihn, geben Sie ihn aufwärts, veröffentlichen Sie die Reparatur als gemeinfrei. Das Wissen verbreitet sich ohne Verlust - im Gegenteil, es vermehrt sich: Die offengelegte CVE wird zu einem Referenzpunkt, ein MOAD-Beitrag lehrt das Muster, zukün'tfische Forscher finden neue Instanzen, die das gleiche Muster verwenden. Ein geschlossener Kreis anstelle eines endgültigen Extraktion.

Permakulturbeobachtung geht vor permacultureller Aktion. Der Scan erzeugt Daten über Surge-Scores, Abhängigkeitsgraphen und betroffene Knotenzahlen, bevor sich ein Patch bewegt. Diese Daten bestimmen, welche Patches zuerst verschickt werden: hochzwischenmäßige Knoten vor Blattknoten, weil eine Reparatur an einem weitverwendeten Bibliotheksmodul weiterhin verbreitet, je mehr Einheiten an Anstrengungen.

Kein Abfall erzeugen: Drei Offenlegungspfade

Drei Wege, die ein Forscher gehen kann, nachdem er eine kritische Sicherheitslücke in einem beliebten Open-Source-Bibliothek entdeckt hat:

A. Anbieten Sie es einem Vulnerabilitätsbroker für 10.000 US-Dollar.

B. Privat dem Maintainer melden, mit einer 90-tägigen Offenlegungszeitlinie, und veröffentlichen, unabhängig von der Patch-Status.

C. Sofort einen Patch als Pull-Request einreichen, mit einer gleichzeitigen öffentlichen Offenlegung.

Wenden Sie den Permakultur-Grundsatz 'kein Abfall erzeugen' auf jede Option an. Identifizieren Sie, welche Ausgänge jede Route erzeugt, wohin diese Ausgänge gehen und welche Ausgänge aus dem System als Abfall (unvermittelte Energie, die keinen Nutzen bringt) herausgehen.

Verzinsung in offenen Systemen

Das zweite Prinzip der Permakultur: Energie aufnehmen und speichern, wenn sie reichlich fließt, damit Sie Reserven haben, wenn sie nicht fließt. Ein Regenwassersammel-System speichert Wasser während der Stürme für den Gebrauch in trockenen Monaten. Eine Nahrungswälder speichert solare Energie als Früchte und Biomasse über die Jahreszeiten. Das Ziel: Die Speichergeschwindigkeit auf die Zeit des Überflusses abstimmen.

Hamings' kombiniertes Wissen: Jede neue Technik verbindet sich mit Ihrer Liste der wichtigsten Probleme, multipliziert so produktive Ausgaben. Ein einziger Einblick über Informationsentropie, für Shannon, hat eine Dekade theoretischer Arbeit freigegeben, weil es gleichzeitig zu jedem offenen Frage auf seiner Liste verbunden war. Das gespeicherte Wissen erzielt Zinsen durch Kompoundzinsen.

Offenquelle Kompoundung funktioniert anders als individuelle Kompoundung. Eine Reparatur, die in einen kanonischen Repository eingefügt wird, speichert Energie an einem Ort, von dem aus jede downstream Fork automatisch darauf zugreift. Ein Patch, der 2022 an Python's asyncio-Bibliothek eingereicht wurde, verbreitete sich in jedem Projekt, das diese Bibliothek verwendet, ohne dass der ursprüngliche Forscher zusätzliche Maßnahmen ergreifen musste. Die Energielagerstellen an der Quelle komponieren sich über das Abhängigkeitsdiagramm.

MOAD-Artikel speichern Energie anders: Jeder Beitrag lehrt den Scanmuster anstelle nur des spezifischen Falles zu offenlegen. Ein Forscher, der den CWE-407 MOAD-Artikel liest, lernt nicht nur, dass Projekt X eine Flush-Vulnerabilität hatte, sondern was das Flush-Muster in jeder Sprache aussieht, wie man danach suchen kann und wie man es von unschuldig ähnlichen Code unterscheidet. Zukünftige Forscher finden neue Instanzen, indem sie das gespeicherte Muster verwenden, anstelle es erneut von Grund auf zu entdecken.

Das Energiespeichersystem ist genauso wichtig wie die Energie selbst. Wissen, das in einem privaten Notizbuch gespeichert ist, komponiert sich nur für den Besitzer des Notizbuchs. Wissen, das in einem öffentlichen Repo gespeichert ist, komponiert sich für alle, die es lesen. Wissen, das in einer CVE-Datenbank gespeichert ist, komponiert sich für alle, die eine Sicherheits-Scanner laufen.

Issue Tracker & persönliche Problemlisten

Hamming hielt eine Liste von 10 wichtigen Problemen, die er immer wieder aufgriff. Die Liste motivierte ihn, aufzufallen, wenn eine neue Technik eines von ihnen ansprach. Seine Liste diente als persönliche gespeicherte Energie: eine dauerhafte Investition in Mustererkennung, die jedes Mal Dividenden einbrachte, wenn eine neue Technik auftauchte.

Wie dient der Issue Tracker eines Open-Source-Projekts einer ähnlichen Funktion wie Hamings persönliche Liste von 10 Problemen? In welchen Punkten unterscheidet er sich? Identifizieren Sie mindestens einen Vorteil des Issue Trackers gegenüber der persönlichen Liste und mindestens einen Vorteil der persönlichen Liste gegenüber dem Issue Tracker.

Ein MOAD-Schleifen als geschlossener System

Permakultur: In einem gut entworfenen System fließt die Ausgabe eines Prozesses in den Eingang eines anderen. Es gibt keine Ausgabe, die den System als Abfall verlässt. Eine Huhn in einem Lebensmittelwald produziert Eier (Lebensmittel), Mist (Dünger), Schädlinge (Service) und Kratzen (Bodenaeration). Jede Ausgabe wird in einen nachfolgenden Prozess geleitet, anstatt den System zu verlassen.

Ein MOAD-Fabrikmodell baut einen ähnlichen geschlossenen Kreislauf auf. Jede Bühne produziert Ausgänge, die den nächsten ernähren:

Scannen produziert: ein bestätigtes Defekt-Exemplar, eine Karte der betroffenen Knoten, eine Schätzung der Schwere basierend auf zwischenmäßig und Verkehr.

Patch produziert: eine Codeschaltung, eine Einheitstest, der die Reparatur bestätigt, eine Differenzüberprüfung, die von Wartungsteams geprüft werden kann.

MOAD-Beitrag erzeugt: Eine Artikel im öffentlichen Bereich, der den Defekt-Klasse, das Scannmuster und den Behebungsansatz erklärt. Intellektuelles Kapital, das über jede einzelne Instanz hinausreicht.

CVE-Offenlegung erzeugt: Ein standardisiertes Register in NVD, das automatisierte Sicherheits-Scanner in allen betroffenen Installationen auslöst. Soziales Kapital für die Sicherheitsgemeinschaft.

Oberflächen-PR erzeugt: Die Korrektur in der kanonischen Quelle, die sich automatisch auf alle downstream-Forks auf ihrem nächsten Abhängigkeits-Update ausbreitet.

Jedes Ausgangsprodukt füttert zurück: Ein MOAD-Beitrag lehrt Forscher, neue Instanzen zu finden, was neue Scans generiert. Die Einheitstestung wird zu einem Regressionswächter. Das CVE-Register treibt die Adoption der Korrektur durch Betriebs-Teams, die sie sonst ignorieren würden. Die Schleife schließt sich.

Stillstandskondition: Eine Offenlegung einer Korrektur ohne Bestätigung der downstream-Fähigkeiten überschwemmt die Warteschlange. MOAD-0001 & MOAD-0005 verbinden: Korrektur O(N²) an einem hoch-zwischenbezogenen Knoten & jeder downstream-Verarbeiter überschwemmt gleichzeitig. Auch hier gilt das Prinzip der Planung für das gesamte System im Permakultur: Optimiert man das Komponent, kann man ein neues Engpass downstream schaffen.

Ausgaben zu Kapital abbilden

Ein MOAD-Pipeline erzeugt fünf Ausgangsprodukte: eine Scanausgabe, eine Korrektur, einen MOAD-Beitrag, eine CVE-Offenlegung und einen Oberflächen-PR.

Zeichne jedes Ausgangsprodukt dem Kapitalform zu, in der es hauptsächlich wächst. Identifiziere dann, welches einzelne Schritt, wenn entfernt würde, die meisten 'Abwässer' – das meiste ungeroutetes Energie im System – produzieren würde und erkläre, warum.