Ende der offenen Ressource: Die Fantasie zerstreuen
Veröffentlicht: 2022-03-31Nach der Offenlegung der Log4j-Schwachstelle im Dezember 2021 und dem neuen Umstand, dass ein Entwickler seine eigenen Javascript-Bibliotheken – „color.js“ und „faker.js“ – sabotiert, wurde der Zustand von Open-Source-Computersoftware in Frage gestellt.
Mit einem hochkarätigen Treffen auf der White Property zum Thema Open Source und Regierungsverordnungen von US-Präsident Biden haben einige sogar den „Abschluss der Open Source“ veranlasst. Während es verlockend sein mag, eine große Schwachstelle als Zeichen dafür zu betrachten, dass die offene Versorgung irgendwie weiterhin unzureichend ist, liegt die Wahrheit deutlich darin.
Open-Source-Software ist weder sicherer noch weniger sicher als Unternehmenssoftware. Tatsächlich verfügt die meiste professionelle Computersoftware möglicherweise über Open-Source-Systeme oder wird auf diesen ausgeführt. Offene Lieferung bedeutet nur, dass das Softwareprogramm so formuliert ist, dass der Liefercode für jeden zugänglich ist, der ihn haben möchte.
Was wir mit der Log4j-Antwort des Apache Log4j-Teams gesehen haben, ist genau das, was wir uns erhoffen – ein Team, das das von ihm entwickelte Softwarepaket ernst nimmt und derzeit auf die Wünsche seiner gegründeten Stiftung reagiert. Wenn man bedenkt, dass es sich um Freiwillige handelt, ist diese Art von Reaktion ein Hinweis auf die Freude an Eigenverantwortung, die wir häufig innerhalb von Open-Resource-Communities sehen.
Ein Vorfall wie Log4j wird nicht nur die Schließung von Open Source einleiten, sondern wahrscheinlich auch die Open Source-Verbesserung insgesamt verbessern – ähnlich wie Heartbleed die Fortschrittsmethoden der beiden Open- und Shut-Source-Wachstumsgruppen verbessert hat. Also, wenn Open Source hier weiterhin aufgeführt wird, was sollten Unternehmen tun, um nach vorne zu gehen, um Schwachstellen weitaus kompetenter zu erkennen und zu mindern?
Der Schutz von Computersoftware auf organisatorischer Ebene
Perfekterweise verlangt die Strategie zur Identifizierung und Minderung von Schwachstellen von uns, einige Rollen im Voraus zu skizzieren. Die meisten Menschen hoffen, dass ihre Softwarepaketlieferanten – das heißt die Leute, die die Computersoftware entwickeln, auf die sie angewiesen sind – diese Software überprüfen. Das Endergebnis dieser Tests wäre eine Aufstellung der Ergebnisse, die die Schwachstellen in der Software hervorhebt, die der Lieferant bereitstellt. In einer großen ganzen Welt würden alle diese Schwächen vor dem Versand und der Lieferung des Programms behoben werden.
Auf dem authentischen Planeten werden jedoch einige dieser Schwächen voreingestellt sein, einige werden als „kein Programm zum Beheben“ gekennzeichnet und einige werden voraussichtlich bei einem langfristigen Start behoben. Was die Liste der Schwachstellen ist und welche am Ende festgelegt wurden, ist nicht wenig, was ein Anbieter normalerweise preisgibt. Darüber hinaus gibt es kein Tool, das alle Schwachstellen entdecken kann, und einige erledigen die Arbeit nur, wenn Sie den Ressourcencode haben, obwohl andere Leute eine laufende Software verlangen.
Sie werden bemerken, dass das Wort „Verwundbarkeit“ hier nicht erwähnt wurde, da es eine spezifische und grundlegende Bedeutung hat. In der Anwendung ist eine Schwachstelle lediglich eine Schwachstelle, die ausgenutzt werden kann oder die eine realistische Gelegenheit zur Ausnutzung hat.
Die meisten, aber nicht alle Schwachstellen werden über ein zentralisiertes Verfahren offengelegt, das als Nationwide Vulnerability Databases oder nur NVD anerkannt ist. Obwohl die NVD ihre Wurzeln in den USA hat und von den US-Behörden betreut wird, sind die Inhalte der NVD für alle zugänglich und werden an mehreren internationalen Standorten repliziert. Aus Governance-Sicht ist die Überprüfung auf Verbesserungen des Inhalts der NVD eine hervorragende Möglichkeit, um auf dem neuesten Stand der Offenlegung von Schwachstellen zu bleiben.
Das Problem ist, dass die NVD langsamer aktualisiert wird als die Berichterstattung in den Medien. Bei wichtigen Schwachstellen wie Log4Shell, HeartBleed und Dirty Cow könnten die Mitarbeiter, die die Schwachstelle finden, möglicherweise einen Markennamen für die Schwachstelle erstellen, um das Bewusstsein für die Schwierigkeit zu schärfen. Die Erstellung eines Governance-Plans, der den Medienschutz dieser Cyber-Treffen überprüft, ist definitiv keine großartige Praxis.
Wenn die Berichterstattung in den Medien als Einstieg in die Verwaltung von Schwachstellen eine schlechte Idee ist und die NVD bei der Präsentation aller Fakten ein bisschen schrittweise vorgeht, was ist dann die effektivste Governance-Politik? Das wird von einer Form von Sicherheitstool kommen, das als „Software Composition Analysis“ oder SCA bekannt ist. Eine SCA-Software scheint sowohl der Quellcode für eine Anwendung als auch die ausführbare Datei oder die Bibliotheken zu sein, die die Anwendung definieren, und versucht herauszufinden, welche Open-Source-Bibliotheken zum Erstellen dieser Software verwendet wurden.
Die Auflistung dieser Personenbibliotheken ist als SBOM oder Computer Software Bill of Materials bekannt. Unter der Annahme, dass die SCA-Anwendung ihre Arbeit effektiv erledigt, kann eine Governance-Richtlinie erstellt werden, die die NVD-Details dem SBOM zuordnet, damit Sie wissen, was gepatcht werden muss … Abgesehen davon, dass es immer noch diese latenten NVD-Fakten gibt, die berücksichtigt werden müssen.
Einige der viel überlegeneren SCA-Instrumente lösen diese Herausforderung, indem sie Hinweise generieren, die Kunden proaktiv warnen, wenn ein NVD-Eintrag anhängig ist, in denen die Einzelheiten dieses NVD-Eintrags jedoch vom SCA-Anbieter ergänzt werden. Einige der modernsten Geräte widmen sich auch dem Screening oder der Validierung, welche Variationen der Computersoftware von der Offenlegung der Schwachstelle betroffen sind.

Obwohl das SCA-Softwareprogramm die Lücke zwischen Offenlegung und Identifizierung schließen kann, muss jedoch beachtet werden, dass es eine grundlegende Einschränkung gibt. Wenn das SCA-Programm nicht alle Ihre Programme gescannt hat, kann es bestenfalls nur neue Offenlegungen von Schwachstellen für eine Teilmenge Ihrer Programme kennzeichnen.
Aus Sicht der Governance-Abdeckung erhält es dann einen IT-Betrieb, um alle Softwareprogramme und eine Beschaffungsfunktion einzurichten, um sicherzustellen, dass alle Anwendungen, wie Updates und kostenlose Downloads, unter einer SBOM erscheinen und dass die SBOM validiert ist SCA-Softwareprogramm. Da das Programm sowohl im Quell- als auch im Binärformat verfügbar ist, ist es wichtig, dass Governance-Teams, die diesen Weg einschlagen, ein SCA-Softwareprogramm wählen, das in allen Variationen und Formaten effektiv mit Computersoftware arbeiten kann. Diese Arten von Governance-Plänen würden bei der Identifizierung neuer Offenlegungen von Schwachstellen und deren Auswirkungen auf das Unternehmen helfen, würden jedoch die Änderung der produktiven Minderung einer eigenen Richtlinie überlassen, da diese Minderung Softwaretests erfordern würde.
Sicherzustellen, dass die eigene Technik sicher ist, ist nur ein Punkt, aber die Eleganz von Open-Ressourcen besteht darin, dass sie auf Zusammenarbeit ausgelegt sind.
Um Abraham Lincoln zu paraphrasieren, offene Ressource ist Know-how der Menschen, von den Individuen und für die Individuen. Die modische Open-Source-Bewegung wurde mit dem Grundprinzip gestartet, dass Sie, wenn Ihnen die Funktionsweise des Codes nicht gefiel, ihn frei ändern und angehen konnten, egal welche Lücken in der Funktionalität als vorhanden wahrgenommen wurden.
Ein Element der Schwierigkeit, mit der wir heutzutage konfrontiert sind, ist das Gefühl, dass Verbraucher oder Endbenutzer von Open-Source-Projekten sich so verhalten, als ob die Open-Supply-Herausforderung ein Verkäufer von Geschäftsanwendungen wäre.
Wenn Sie auf GitHub in der Herausforderungsliste eines einigermaßen bekannten Open-Up-Ressourcenunternehmens erscheinen, sehen Sie Funktionsanfragen und Bewertungen darüber, wann bestimmte Probleme behoben werden können. Solche Problemgeschichten und Beschwerden über die Wartungsfreundlichkeit haben die implizite Erwartung, dass ein Produktmanager sich um die Anfragen dieser Personen kümmert und dass sie einer Roadmap hinzugefügt und irgendwann gestartet werden – alles kostenlos.
Tatsächlich bedeuten Lücken in der Funktionalität und sogar in wahrgenommenen Fehlern Chancen, keine kostenlosen Programmierexpertendienste anzufordern, sondern stattdessen zu den langfristigen Errungenschaften des Codes beizutragen, der für die sich beschwerende Person wesentlich ist.
Natürlich werden einige Personen die vom Projekt verwendete Programmiersprache nicht kennen, aber zu erwarten, dass andere Personen einer Beschwerde von einem unbekannten Drittanbieter mehr Priorität einräumen als Variationen, die Komplikationen für energische Mitwirkende klären, sieht nicht wirklich gut aus. Open-Ressource-Features sind vor allem durch den Altruismus der Mitwirkenden gekennzeichnet.
Über die Moderne hinaus haben wir lange Zeit den Hauptmitwirkenden für bekannte Open-Ressource-Jobs spezifische Verärgerung über die Einnahmen zugehört, die große Unternehmen durch die Verwendung ihres Softwarepakets erzielen. Während es leicht ist, sich auf jemanden zu beziehen, der seine Kraft in eine Aufgabe investiert, nur um ein drittes Team von den Versuchen zu profitieren, ist die Realität, dass, wenn diese dritte Gruppe von den Versuchen einer Open-Resource-Fortschrittsgruppe profitiert, sie es tun sollten zum langfristigen Erfolg beitragen.
Wenn sie dies nicht tun, gehen sie das Risiko ein, dass nicht nur der fragliche Code in Methoden umgewandelt wird, auf die sie nicht gerechnet haben, sondern dass sie möglicherweise Verzögerungen bei der Anwendung von Personal Fixes haben, wenn Schutzbedenken identifiziert und gelöst werden. Wenn sich ein kleines Unternehmen schließlich nicht die Zeit nimmt, mit Teams zu interagieren, die die Computersoftware produzieren, die sein Unternehmen antreibt, dann ist es möglich, dass es nicht weiß, woher all die Programme stammen, die sein Unternehmen antreiben, und es nicht zuverlässig patchen kann es.
Das Aufdecken von Schwachstellen in Open Up Supply ist kein Problem, aber die Erkennung von Programmfehlern, die eine Schwachstelle darstellen, die ausgenutzt werden könnte, ist ein wichtiges Thema. Obwohl Open-Source- und Closed-Supply-Softwarepakete ein gleichwertiges Potenzial für Stabilitätsprobleme haben, ist es mit Open-Up-Ressourcen für jeden möglich, all diese Probleme zu lösen. Vor diesem Hintergrund müssen Organisationen proaktive Maßnahmen ergreifen – die nicht vom Medienschutz abhängen –, um die aktuellsten Schwachstellen zu beobachten.
Ebenso wichtig ist, dass sie einen Beitrag zu den Open-Supply-Aufträgen leisten, für die sie belohnt werden, da sie sonst möglicherweise Opfer unerwarteter Codeänderungen oder einer verzögerten Kenntnis wichtiger Patches werden.
Tim Mackey ist Principal Protection Strategist bei Synopsys .