Sicherheit von Open Source

Vorschlag zur Gründung eines Fonds zur Absicherung von Open Source Projekten

Sicherheit von Open Source

Vorschläge für die Absicherung von Projekten durch einen Fond

Dr. Thomas Fricke

Im Auftrag des Prototype Fund

Version: 0.9, 8. September 2021

Lizenz: Creative Commons Lizenz CC BY-SA 3.0 DE

Über den Autor

Dr. Thomas Fricke

Vortrag

Das Thema habe ich auf der RC3 erzählen dürfen:

10 Mio€ für Open Source - jedes Jahr

Zusammenfassung für die Entscheidung

Open Source ist ein wichtiger Wirtschaftsfaktor und trägt zu Milliarden Wertschöpfung pro Jahr bei. Es gibt zahlreiche Projekte, die in sicherheitsrelevanten Bereichen eingesetzt werden. Diese Initiativen benötigen Unterstützung im Bereich der Automatisierung von Prozessen und modernen, sicheren Verfahren.

Die Communities sind sehr sicherheitsbewusst und liefern auf einem stabilen Niveau sichere Open Source Pakete. Allerdings sind aufwändigere Methode der Absicherung von Softwareprozessen nicht Standard, weil in den Projekten nicht genug personelle Ressourcen zur Verfügung stehen. Manchmal arbeiten die Communities am Rande ihrer Leistungsfähigkeit. Um abgesicherte Prozesse zu implementieren wird eine Unterstützung durch einen Fond im Bereich 15-30 Millionen € / Jahr vorgeschlagen. Ziel muss eine weitestgehend automatische Analyse und Installation der Software sein. Dem gegenüber stehen Risiken für potentielle Schäden im hohen Milliardenbereich.

Die vorgeschlagenen Projekte sind wichtig für industrielle Anwendung aus dem Bereich Clouds, Gaia-X, Maschinelles Lernen und die Weiterentwicklung des Einsatzes. Hinzu kommen Reallabore für zukünftige Sicherheitstechnologien im Energie- und Industriebereich, um moderne Sicherheitsparadigmen zum Standard zu erheben.

Zum Umgang mit Sicherheitslücken wird eine verantwortungsvolle Offenlegung vorgeschlagen. Der Fond sollte von technisch erfahrenen, in der Community anerkannten Personen geführt werden, um Akzeptanz zu erreichen.

Das Dokument geht auf nach Ansicht des Autors wichtige Beispiele ein. Es stellt keine repräsentative Analyse dar und beruht auf der persönlichen Erfahrung der letzten Jahrzehnte. Es gibt viel mehr Projekte, die eine Erwähnung verdienen.

Wirtschaftliche Bedeutung von Open Source

Die wirtschaftliche Bedeutung von Open Source beträgt 65-95 Milliarden Euro im Jahr 2018, wie die Ergebnisse der Open Source Impact Study1 zeigen. Der Einsatz zieht sich durch alle Bereiche des wirtschaftlichen Lebens, von privaten Mobiltelefonen2, Routern3, Fernsehern4, Fahrzeugen5, Telekommunikationsinfrastruktur6, bis zu Industrieanlagen mit tausenden von Seiten7 für die Software Inventarliste in der BOM8. Die Bedeutung geht soweit, dass für die automatisierte Erfassung aller Komponenten u.a. von Bosch und Siemens spezialisierte Open Source Produkte mitentwickelt werden, die die automatische Erstellung von BOMs aus dem Source Code erlauben9. Darüber hinaus gibt es bei Bosch, BMW, Daimler und Siemens eigene Gruppen, die an der Normierung von Open Source Compliance im Rahmen des Open Chain Projekts an der ISO 523010 mitwirken. Der Anteil von Software an der Wertschöpfung im Auto wird bereits in wenigen Jahren auf 60% geschätzt11.

Für den Einsatz in Behörden und die Weiterentwicklung von Open Source durch die öffentliche Hand sind die grundsätzlichen Fragen bereits geklärt.12 Viele der diskutierten Aspekte treffen auch auf die Wirtschaft zu.

Sicherheit von Open Source vs Closed Source Produkten

Mit der Annahme, dass nur genug Augen auf den Code schauen müssen, um alle Bugs an die Oberfläche zu bringen, auch Linus's law13 genannt, wird in der Sicherheitsdebatte für FOSS argumentiert. Er sagt aber weder, wie viele Augen, noch wie oft sie auf den Code schauen sollen.

Im Gegensatz dazu bedeutet closed source auch nicht, dass der binäre Code nicht gelesen werden kann. Es gibt entsprechende Tools14 und entsprechend im Reverse Engineering15 erfahrene Software Ingenieure, die mit ihrer Hilfe in der Lage sind, auch Binär Code zu lesen, selbst Chips16 lassen sich mit entsprechendem Aufwand analysieren. Ist in diesen Systemen z.B. ein globaler Schlüssel17 enthalten, verbreitet sich dieses Wissen im Internet sehr schnell und ganze Gruppen von Systemen sind auf einen Schlag diskreditiert und werden nach sehr kurzer Zeit massiv angegriffen18. Die Sicherheitslücken werden spätestens beim Patch bekannt und die Angriffe beginnen innerhalb eines Tages19.

All das zeigt, dass Security by Obscurity20, Sicherheit durch Unklarheit, keine Strategie ist, um Systeme abzusichern und lediglich den Aufwand erhöht, um ein geschlossenes System zu diskreditieren. Dies ist im Grundsatz seit dem 19 Jahrhundert bekannt21. Auch der völlig unzureichende Updateprozess in Komponenten der Medizin-Telematik22 zeigt, dass sich unter solchen Umständen die Anzahl und Kritikalität an bekannten Sicherheitslücken für ein Gerät im Laufe der Zeit schwerwiegende Auswirkungen haben kann.

Hersteller Support für langlebige Wirtschaftsgüter

Bei Komponenten mit schon abgelaufenen oder ablaufenden Herstellersupport informiert der Hersteller nicht mehr über neue Schwachstellen, selbst wenn diese bekannt werden (sogenannte “End-of-Life”-Komponenten). Deswegen ist es essentiell für Betreiber, für alle eingesetzten Komponenten zu überwachen, ob für diese noch Hersteller Support angeboten wird.

Der Sicherheitsstatus der Komponente ist ohne Support unbekannt und eine “Worst-Case-Annahme” ist geboten. Der Betreiber hat nun die Verantwortung, Maßnahmen zu treffen, so dass Sicherheitslücken in den Komponenten nicht ausgenutzt werden können. Beispielsweise kann dies durch Zugangsbeschränkungen mit Netzwerksegmentierung oder zusätzlicher Autorisierungs- und Authentifizierungsfunktionen in Jump-Hosts ermöglicht werden. Weitere Maßnahmen werden u.a. im BSI-Grundschutz-Kompendium beschrieben23.

Das Problem der End-of-Life-Komponenten kann im Bereich Open Source umgangen werden. So werden, um klassische Betriebssysteme wie VAX/VMS oder Solaris weiter zu betreiben, OpenVMS24 und OpenSolaris25 von einer Community schon jahrelang mit Upgrades und neuen Features versorgt.

Cloud Anbieter zeigen hier einen Trend auf, da diese bei sicherheitsrelevanten Komponenten wie Betriebssystemen, Libraries, Cloud26, Netzwerkkomponenten27 und auch Standard Hardware28 schon seit längerem vorrangig auf Open Source setzen. Dadurch erreicht man Unabhängigkeit von der zu Grunde liegenden Hardware und des Herstellers.

Das Beispiel Python

Am Beispiel von Python kann sehr gut diskutiert werden, welche Sicherheitsanforderungen an eine Community Software gestellt wird und wie sich Sicherheitslücken auswirken. Python ist eine Programmiersprache, die von Microcontrollern29 bis High Performance Computing30 alle Felder abdeckt. Im August 2021 ist Python im TIOBE Index31 auf Platz 2 vorgerückt, direkt hinter C und noch vor Java und C++. Nach Einschätzung der IEEE ist Python seit fünf Jahren auf Platz 1 Programmiersprachen im Engineering Bereich32. Das ist insofern bemerkenswert, weil Python aus einer Open Source Community und nicht aus einem Firmenprojekt hervorging, sondern wie C++ aus einer universitären Studie33. Python hat bis heute eine nicht herstellergebundene Community, im Gegensatz zu Java(Oracle, Red Hat, IBM), C++, DotNet (Microsoft), Go (Google), Rust (Mozilla) oder NodeJS (NPM). Für Java liegt bereits eine umfassende Analyse vor34.

Python in Kritischer Infrastruktur

Python ist die Grundlage für die meisten Machine Learning Frameworks35 und wird intensiv in kritischen Infrastrukturen eingesetzt, z.B. um den Energieverbrauch und den -preis an der Leipziger Energiebörse vorherzusagen, aber auch um Stromnetze im Verbund der deutschen Übertragungsnetzbetreiber und der Europäischen Transmission System Operators36 zu planen37.

Aufgrund der Ergebnisse dieser Vorhersagen werden bisher manuell, später auch automatisch Transaktionen an der Energiebörse Leipzig oder Schaltungen im Hochspannungsnetz oberhalb von 110kV ausgeführt. Die Auswirkungen dieser Berechnungen haben also indirekt und in Zukunft auch direkt Wirkungen nicht nur auf Stromhandel sondern auch auf Operational Technology38, also Industrielle Kontrollsysteme und sind damit als Kritische Infrastrukturen39 im Sinne von BSI und BBK40. Dem Autor sind keine Systeme bekannt, deren Ausfall weiter reichende Konsequenzen hat. Ein Ausfall hätte unmittelbare Auswirkungen auf Wirtschaft und Sicherheit in Deutschland und Europa.

Python Releases

Der Community Support für Releases ist drei Jahre, mit der Ausnahme des letzten Releases von Python 2, Version 2.7 mit 10 Jahren41 um den Umstieg auf Python 3 erleichter. Der Umstieg wurde immer wieder verlängert, weil die Anwender Community die Migration nicht abschließen konnte.

Python Security

Das Python Ökosystem betrifft nicht nur die Programmiersprache selbst, sondern auch das zentrale Library Repository, den Python Package Index PyPi42 mit hunderttausenden von Paketen und Millionen von Releases. In diese Menge von Paketen verbirgt sich auch Schadsoftware. Die Angreifer versuchen Tippfehler in der Paketbezeichnung auszunutzen, um eine Installation zu initiieren. Diese Typosquatting43 genannte Methode wird inzwischen abgewehrt44. Dadurch können alle möglichen Angriffe z.B. Datendiebstahl 45 oder weitere Kompromittierung auch kritischer Systeme eingeleitet werden.

Existierende Sicherheits Projekte

Das Problem ist nicht unerkannt. Schon im Rahmen des Horizon 2020 Projektes46 gab es Bestrebungen, die Lizenz und Security Compliance als Fasten 2020 Initiative47 zu untersuchen. Die Initiative hat bisher keinen tiefgreifenden Erfolg gehabt, vor allem weil die Breite der Fragestellunge, Fluktuationen im Projekt und mangelnde Verankerung in der Community nicht zur Nachhaltigkeit geführt haben. Auch ist Typosquatting nach Einschätzung des Autors nicht mit den vorhandenen Compliance Pattern zu erkennen. Das Google Insights48 Projekt hat Python adressiert, aber noch nicht umgesetzt. In diesem Fall ist es nur möglich, relevante Pakete zu identifizieren, mit allen ihren Abhängigkeiten automatisch zu scannen und als geprüft zu qualifizieren. In den Anwendungen brauchen auf diese Art und Weise gesicherte Pakete nicht mehr gesondert auditiert werden.

Das Python Security Project49 ist eingeschlafen, weil es nach dem Ende von Python 2.7 nicht fortgeführt wurde.

Ein Audit Prozess, der einzelne Projekte qualifiziert und signiert50 und ein PyPi Mirror51, mit auditierten Paketen sind naheliegend, um nur relativ sichere Pakete zu verbreiten. Die Python Community selber hat einen Vorschlag für einen curated index52 gemacht, der logisch der Idee eines Mirrors sehr ähnlich ist. Ein kuratierter Index ist wie ein virtueller Mirror zu betrachten.

Der Engpass ist ist eindeutig die geringe Personaldecke, nur eine Person arbeitet in Teilzeit bezahlt für PyPi53. Eine Umsetzung dieser Ideen erfordert ohne weiteres mehrere Vollzeit Stellen für die Entwicklung und die Administration.

Einbettung in andere Projekte

Es gibt eine Reihe von ähnlichen Projekten, in die diese Aktivitäten integriert werden können. Dazu gehört das Projekt The Update Framework54 der Linux Foundation55, das die Sicherheit von Updatesystemen zum Ziel hat. Eine Python Version, updaterpy existiert bereits56. Weitere Projekte, wie die Absicherung von Deployment Pipelines durch SigStore57, die Integration in die Open Security Foundation58 und deren Projekt

ScoreCards59 sind dringend zu empfehlen. Bei entsprechender Ausstattung könnten auch neuere Projekte wie Google Insights unterstützt werden.

Die Zusammenführung unter einer Organisation, die Open Source Security zusammen mit der Community unterstützt, ist dringend geboten. Der Widerspruch zwischen wirtschaftlichem Wert und von der Community benötigten Ressourcen ist grotesk. Auf der Seite der Wertschöpfung haben wir Milliarden Nutzen, mit entsprechendem Risiko bei einem Ausfall, für einen Schaden in der Europäischen Kritischen Infrastruktur ohne weiteres auch ein Billionen Risiko (1012€) , auf der anderen Seite eine Community, die das Projekt selbst organisiert und mit der Python Foundation eine Organisation hervorgebracht hat, die nicht nur die Entwicklung der Programmiersprache zu einer der wichtigsten Sprachen für alle Arten von Anwendungen vorantreibt, sondern auch Konferenzen unterstützt mit einem Budget im niedrigen Millionenbereich60, verglichen mit den Einnahmen die Firefox für den Verkauf der Suche an Google erzielt61.

Auf der anderen Seite wird die Sicherheit praktisch nebenbei und oder in der Freizeit mit erledigt. Eine Förderung in wie durch die Core Infrastructure Initiative62 ist dringend geboten. Vor der Heartbleed63 Sicherheitslücke hatte OpenSSL64, die Library, die für die Verschlüsselung der meisten Internetverbindungen durch TLS65 verantwortlich ist, eine Förderung von jährlich lächerlichen 2000$, danach sprang u.a. durch Spenden der Industrie der Betrag auf einige 100.000$ pro Jahr. Als Geldgeber für zwei Vollzeitstellen fungiert die Core Infrastructure Initiative (CII)66, eine Unterorganisation der Linux Foundation.

Container und Kubernetes

Das Container Ökosystem hat seit der Verbreitung von Docker 201367 als Vereinfachung von Linux Containers68 ein ganze Ökosystem hervorgebracht. Die Orchestrierung, d.h. das Management des Zusammenspiels von vielen Containern, die verteilte Microservices69 zu Cloud Native Anwendungen70 verbinden, wird heute fast ausschließlich mit Kubernetes71 implementiert.

Aufbauend auf einem eigen Container System “Borg” entschied sich Google 201472, Kubernetes als Open Source bereit zu stellen. Alle Anbieter von Clouds und alle namhaften Softwareunternehmen bieten Produkte im Kubernetes Ökosystem an, die von der Cloud Native Computing Foundation CNCF73 zertifiziert sind74. Die Landschaft75 umfasst fast tausend Projekte. Hinter den Startups in diesem Bereich Venture Capital Investitionen im Bereich von knapp 20 Milliarden. Kubernetes erschließt sich vom Einsatz einer leichtgewichtigen Variante K3S in IoT76 bis zum Einsatz in im Militär77 und in der Cloud78.

Es gibt inzwischen Clustermanagement Systeme, also Systeme die selbst wieder Cluster managen, die Millionen von Clustern79 verwalten können. Zahlreiche deutsche Cloud Anbieter haben die Bereitstellung von Kubernetes in ihren Rechenzentren als Geschäftsmodell aufgegriffen und bieten eine von ihnen verwaltete80 Version an.

Ebenfalls ist das 5G-Mobilfunknetz vom Kern bis zu den Mobilfunkmasten mit Kubernetes und Containern abgesichert81.

Gaia-X

Die Hauptidee von Gaia-X82 ist Bereitstellung von Föderierten Diensten83 in einem Ökosystem. Der Sovereign Cloud Stack84, eine Beschreibung der notwendigen Komponenten und Schnittstellen durch eine Integration von Kubernetes in Openstack85 ist eine beispielhafte Referenzarchitektur. Sie umfasst bestehende und zukünftige Komponenten von standardisierten, souveränen Cloud- und Container-Infrastrukturen, die sich ergänzen. Das Ziel ist, eine vollständig offene, föderierte und kompatible Plattform zu definieren, zu implementieren und zu betreiben.

Bemerkenswert daran ist, dass die Kubernetes Komponenten darin verpflichtend, die Implementierungen auf Open Stack aber optional sind86. Alle Komponenten stehen unter Open Source Lizenzen, Open Stack ist weitgehend in Python87 implementiert und würde auch unmittelbar von einer Absicherung des Python Ökosystems profitieren.

Sicherheit im Container Ökosystem

Aufgrund des schnellen Wachstums ist die Komplexität so stark angewachsen, dass die Mehrheit der Anwender bereits Sicherheitsprobleme88 bemerkt. Die technischen Probleme reichen von Containern mit Malware, Fehlentscheidungen in der Architektur von Kubernetes und Fehlkonfigurationen in der Anwendung. Besonders besorgniserregend ist, das viele Lücken oft auch nach Jahren noch nicht geschlossen sind. DockerHub89 ist die umfangreichste und wichtigste Registry90 für Container. Hier werden Container Images bereitgestellt, die91 Die Unsicherheiten, die für Images im Jahr 2015 beanstandet wurden92 sind 2020 immer noch vorhanden93:

Fast 51 % der Images wiesen kritische Sicherheitslücken auf, die ausgenutzt werden konnten, und 68 % der Images waren in unterschiedlichem Maße anfällig. 0,16 % bzw. 6432 der analysierten Images enthielten Schadsoftware.

Die Cloud Anbieter und Hersteller wälzen die Verantwortung auf die Betreiber und Entwickler ab, die mit der Aufgabe der Absicherung zuerst einmal vollkommen überfordert sind.

Es fehlen durchgängig nachhaltige, wirksame und anwendbare Prozesse, die Erkennung und dauerhafte Behebung sicherheitsrelevanter Schwierigkeiten behandelt. Alleine Red Hat hat mit einem Container Catalog94 ein kommerzielles Angebot, das wichtige Basis Container aktuell hält und deren Sicherheit mit einem an einem an amerikanische Schulnoten angelegten Health Index bewertet95. Die produktive Nutzung setzt eine Red Hat Subscription voraus.

Planungen für ähnliche Angebote für andere Distributionen sind nicht bekannt. Wichtig wären die Abdeckung aller Debian96 basierten Distributionen und von Alpine97. Debian basierte Systeme, dazu zählt auch Ubuntu, kommen mit fast 50% am häufigsten vor98. Alpine Container sind sehr weit verbreitet, weil sie auf Größe optimiert und wesentlich, zum Teil einen Faktor 3, kleiner sind als andere Container Distributionen99 und damit im Cloud Umfeld Ressourcen sparen und sich wesentlich schneller deployen lassen. Typische automatisierte Prozesse in Deployment Pipelines umfassen tausende von Images und bei gleichen Ressourcen sind auf Alpine aufbauende Container Prozesse dementsprechend schneller. Alpine setzt auf eine strenge Sicherheitspolitik, die selbst etablierte tools und libraries ersetzt, um die Angriffsfläche so klein wie möglich zu halten100. Aus diesem Grund ist Alpine auch ein sehr guter Kandidat für Reproduzierbare Builds101.

Sicherheit von Kubernetes

Durch die Komplexität von Kubernetes ist es so gut wie unmöglich, einen Kubernetes Cluster mit vernünftigem Aufwand sicher aufzusetzen und zu betreiben102. Bei Untersuchungen mit dem auf dem CIS Standard103 aufsitzenden Kubebench104 von Aqua Security finden sich fast immer Sicherheitslücken, die einem Angreifer erlauben, einen Cluster zu übernehmen105. Mit entsprechendem Kubernetes Wissen gelingt sogar der Aufbau einer parasitären, vom Angreifer kontrollierten Steuerungsebene, die bei normalem Betrieb nicht entdeckt wird106. Die Sicherheitstiefe, definiert als die Anzahl der Fehler, die zusammentreffen müssen, um eine vollständige Kompromittierung zu erlauben, ist vier.

  1. Fehler in der Applikation107,

  2. Zugriff auf das SecurityToken108

  3. Lokale Installationsmöglichkeit,
    es reicht in ein temporäres Verzeichnis schreiben zu können109

  4. Unverstandene rollenbasierte Zugriffskontrolle110

Punkt 1 ist ein häufiger Fehler in Applikationen111, Punkt 2 ist die Default ! Einstellung, Punkt 3 ist auch fast immer erfüllt, selbst in “sicheren” Containern. Punkt 4 braucht eine gängige, im Internet häufig als Teil einer Installationsanleitung beschriebene Fehlkonfiguration. Diese Faktoren treffen in der Praxis sehr häufig zusammen.

Dabei bietet Kubernetes zahlreiche Möglichkeiten, Container abgesichert und gehärtet zu betreiben112. Sichere Grundkonfiguration auf der Container Ebene durch Zugangskontrollen113, NetworkPolicies114, oder Zero Trust in Form von Service Meshs115 sind bereits in Form von Open Source Projekten anwendungsreif implementiert. Leider ist auch hier die Default Einstellung unsicher116, obwohl eine sichere Einstellung einfach möglich ist117. Um die damit weiter gestiegene Komplexität zu beherrschen, sind automatisierte Sicherheitsüberprüfungen z.B. als Erweiterung oder Ergänzung von Kubebench (s.o.) dringend notwendig. Custom Resources118 sind Teil der Erweiterungsmöglichkeiten für Kubernetes, aber leider auch anfällig für Fehlkonfigurationen119.

Seitenkanal Angriffe

Ein weiteres Problem für die geteilte Nutzung von Hardware Ressourcen sind Seitenkanal Angriffe auf den CPU Cache120. Dieser Angriff ist generell für Clouds bedrohlich und lässt sich auch in klassisch virtualisierten Systeme ausnutzen . Die großen Cloud Anbieter verwenden interne, nicht veröffentlichte Anpassungen, um diese Angriffe zu verhindern121, eine Erkennung ist eigentlich nicht schwierig122. Bisherige Abwehrmaßnahmen sind das Abschalten von Hyperthreading, was einen Performance Verlust nach sich zieht, oder Patches, die nur die bekannten Lücken schliessen. Es werden aber immer wieder neue Varianten entdeckt, die sich mit bekannten Methoden nicht patchen lassen123.

Der richtige Ort, um Prozesse zu überwachen, ist eine eigene Control Group für Cache Misses124 und die Integration in Kubernetes125. Dafür müsste ein entsprechendes Cgroup Modul geschrieben und in den Linux Kernel eingebracht werden126.

Schlüsselbibliotheken

Kryptographische Schlüssel Bibliotheken sind wichtig für die Absicherung der Internet Transportschicht127 vor allem OpenSSL128, aber auch die anderen Implementierungen wie GNU TLS, LibreSSL oder WolfSSL sind verbreitet129.

Implementierungsfehler

Trotz der Aufnahme in das Programm der Open Source Security Foundation (s.o) ist OpenSSL häufig Opfer von Verwundbarkeiten130, aktuell wieder eine Lücke die aus dem Unverständnis von Speicherverwaltung entstanden ist131. Es ist völlig inakzeptabel, dass derartige Sicherheitslücke immer noch in weit verbreiteten und seit Jahren eingesetzten Bibliotheken vorhanden sind.

Updates von Crypto Bibliotheken

Die Lebensdauer von kryptographischen Verfahren ist im Bereich einiger Jahre. Für kein Verfahren kann das BSI im Augenblick eine Verwendung für mehr als fünf Jahre132 empfehlen. Das bedeutet, dass ein Algorithmus, der diskreditiert ist, ausgetauscht werden muss. Dafür existieren bis heute keine allgemeingültigen Prozesse. Während die Transport Schicht nur kurzfristig abgesichert werden muss, beruhen Signaturverfahren ebenfalls auf kryptografischen Verfahren mit einem Lebenszyklen von mehreren Jahren. Das ist insbesondere für IoT in Industrieanlagen, aber auch schon ein Gebäuden ein Problem.

Der Grund ist zum einen die lange Lebensdauer von Industrieanlagen, die vertraglich bis zu 30 Jahre eingesetzt werden können, teilweise aber aber auch 50 Jahre in Betrieb sind. Wird die Software in Zukunft in “smarte” Bauwerke integriert, kann sich die Thematik der Absicherung auch auf die Gebäude und ihre Lebensdauer ausdehnen133.

Hashlisten

Der gesamte Bereich von verketteten Hashlisten und Blockchain134 hängt von der Stärke der verwendeten Hash Algorithmen ab. In allen diesen Fällen muss die Integrität der Signatur auch gesichert werden, wenn ein Krypto Algorithmus gebrochen ist. Dies ist mehrfach für Hash Algorithmen geschehen, zuletzt sind Kollisionen in SHA1 einfach geworden135, so dass nun mindestens SHA2 eingesetzt werden muss. Nach dem Finden einer theoretischen Schwäche hat es ungefähr ein Jahrzehnt gebraucht, um SHA1 endgültig unbrauchbar werden zu lassen.

Asymmetrische Verschlüsselung

Ähnlich verhält es sich mit asymmetrischen, Public-Private Key, Verschlüsselungs- und Signaturverfahren136. Die Grundannahme, dass es mathematisch schwer ist, das Produkt zweier Primzahlen zu faktorisieren, lässt sich gegenwärtig weder beweisen noch widerlegen137. Die asymmetrische Verschlüsselung dient dem Austausch eines symmetrischen Schlüssels zur Beschleunigung für

Für den theoretischen Einsatz von Quantencomputern gibt es mit dem Shore-Algorithmus bereits138 ein Verfahren, das beliebig langer asymmetrischer Schlüssel139 brechen kann. Weil asymmetrische Schlüssel die Grundlage der sicheren Kommunikation darstellen, wäre in diesem Falle wäre die gesamte Verschlüsselung des Internets gebrochen. Nur die Schwierigkeiten einen funktionierenden Quantencomputer zu bauen, der den Shore-Algorithmus implementiert, bewahren uns vor der Quantum Cryptocalypse140. Wann und ob überhaupt Quantencomputer jemals einsetzbar sein werden, ist schwer vorhersehbar. Die Digitalstrategie der EU erwartet einen ersten Europäischen Quantencomputer 2023141. Es ist zu erwarten, dass die massenhafte Verbreitung von Quantencomputern auch alle Kryptoverfahren schwer erschüttern wird142.

Weil Quanten-Computer keine universellen Computer sind, gibt es seit einigen Jahren, Bestrebungen die Entwicklung von Post Quanten Kryptographie143 voranzutreiben. Inzwischen gibt es viele Kandidaten, die kryptographisch untersucht sind und ausgerollt werden können. In den meisten Fällen sind sie nicht langsamer als die bekannten Algorithmen, brauchen aber teilweise viel mehr Speicher, so dass sie erst in den nächsten Generationen von Chipkarten zum Einsatz kommen können144.

Wichtig erscheint daher die Absicherung von Crypto Verfahren, sowohl in Hinsicht auf existierende Sicherheitslücken wie auf drohende fundamentale Einschnitte durch Quantencomputer oder fehlende mathematische Beweise für die Sicherheit der Verfahren.

Gemeinsamkeiten

Gemeinsam sind allen diesen Probleme, dass sie sich mit Updates gut lösen lassen. Im Angesicht der Dringlichkeit der Probleme, ist es essentiell, Sicherheitslücken in zu erkennen, zu beheben und zu patchen, also eine abgesicherte Version so schnell wie möglich zu installieren.

Das gelingt nur, wenn dieser Prozess weitestgehend automatisiert werden kann. Statische Analyse Methoden sind standard145. Google sucht schon länger nach Sicherheitslücken in C, C++ und Java Virtual Machine basierten Sprachen146 durch Fuzzing147, ein Verfahren das Source Code durch Zufalls Eingaben überprüft148 und auch schon in Deutschland von Bosch, der Telekom, Continental und der Deutschen Börse eingesetzt wird149. Die wolfSSL Library wurde damit auf die gängigen Fehler überprüft150. Das Verfahren nutzt viel nicht verwendete Rechenleistung. Ein akademische Projekt wie Angr151, das den Kontrollfluss effektiver analysiert, hat zwar einige spektakuläre Erfolge erzielt, wird aber kaum angewandt.

Sichere Deployment Pipelines

Als Continuous Integration / Continuous Deployment wird der Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung bezeichnet152. Er besteht aus mehreren Schritten, vom Einchecken des Source Codes bis zum Ausrollen in Produktion.

Diese Arte des Ausrollens von neuer Software unter den Stichworten Continuous Integration153 und Continuous Delivery154 oder Continuous Deployment155 in vielen modernen Systemumgebungen inzwischen Standard ist.

Eine einfache Deployment Pipeline mit elementarer Sicherheitsüberprüfung zeigt das folgende Bild vom commit des Source Codes bis zum Ausrollen in Produktion, also der Installation auf der Zielplattform.

Aufwändigere Pipelines sind durch die Integration von mehr Tests ohne weiteres möglich. Bei kleinen Änderungen kann die Pipeline ohne weiteres vollständig in 20 Minuten durchlaufen werden, von Commit des Sourcecodes bis deployment in Produktion156. Die sicherheitsrelevanten Schritte sind rot unterlegt und können asynchron, z.B. über Nacht ablaufen. Eine aufwändigeres Beispiel mit Trennung der Umgebungen findet sich bei Gitlab157.

Wichtig ist, dass die Deployment Pipeline die softwaretechnische Implementierung eines DevSecOps158 Prozesses ist, und nicht einfach ein Tool was zum Einsatz kommt159. Eine vollständige Beschreibung dieses Prozesses ist von der Cloud Native Computing Foundation zusammen mit dem US Department of Defense160 erstellt worden.

Das ist eine erhebliche Umstellung, die nicht nur die Technik sondern alle Abläufe inklusive der Organisationsstruktur selbst betrifft, auch als Shift-Left161 bezeichnet. Der Autor schätzt, dass eine Einführung dieser Abläufe in einer etablierten Organisation mindestens fünf Jahre in Anspruch nehmen wird. Das US National Institute of Standards stellte dies schon im Hinblick auf Container im Jahr 2017 fest: Schneiden Sie die organisatorische Betriebskultur und die technischen Prozesse so zu, dass sie den neuen Weg von der Entwicklung, dem Betrieb und dem Support von Anwendungen in Containern ermöglichen162. Aus der technischen Anforderung ergeben sich unmittelbar Auswirkungen auf die Betriebsorganisation. Da Organisationen generell gegen Änderungen erstmal passiven Widerstand leisten, muss dieser Veränderungsprozess aktive gemanagt werden.

Aufwände für den Betrieb von Build Pipelines

Im Vergleich zum klassischen Arbeit in der Softwareentwicklung stellt die Verwendung von Build Pipelines einen Übergang der Code Entwicklung zum Software Engineering dar. Der spielerischen Motivation vieler Open Source Entwickler stehen zum Teil die strikten Anforderungen des Software Engineering entgegen. Die Integration in eine automatische Umgebung mit statischer Codeanalyse und Fuzzing bedeutet eine Umstellung der Arbeitsweise, und nicht zu unterschätzenden Aufwand für die Bewertung der Analyseergebnisse163. Die Transformation ist für etablierte Projekte nicht trivial und ohne Unterstützung nur sehr schwer zu leisten164.

Das Beispiel des etablierten Projektes GnuPG soll das erläutern. Das Geschäftsmodell hat mit G10 Code165 eine Firma hervorgebracht, die sich um Weiterentwicklung und Support kümmert. Durch Support und Dienstleistungsverträge wird GPG für Dokumente, die als Verschlusssache166 eingestuft sind für die Kunden aus Sicherheitsbehörden verwendbar. Die vorhandene Developer können diese Modell auch gut unterstützen. Es fehlen aber Ressourcen für die Pflege der Dokumentation, die automatische Code Analyse, Fuzzing der Codebasis, Aufbau von Deployment Prozessen und eine Weiterentwicklung. Externe Audits finden regelmäßig statt, aber das Einarbeiten der Ergebnisse bedeutet jeweils einen hohen zusätzlichen Aufwand

Der Verein zu GnuPG167 ist finanziell gut ausgestattet, aber es fehlen Ressourcen für Community Management und die Außendarstellung. Zudem stellt auch hier die Überalterung der Community ein Problem dar168.

Eine erste Abschätzung zeigt, dass hier fünf bis zehn Vollzeitstellen sinnvoll eingesetzt wären.

Supply Chain Attacks

Alle hier behandelten Pakete sind Teil der Supply Chain, die selbst wieder ein vorrangiges Ziel von Angriffen ist169. Ein unerkannter Angriff wie auf Solarwinds hat einen dauerhaften Schaden in der gesamten Software Ökonomie hinterlassen170. Abhilfen durch Signieren der einzelnen Schritte in der Pipeline wie durch Sigstore171 oder der Pipeline selbst inklusive Auditing wird in naher Zukunft Standard werden172. Gerade sicherheitskritischer Code muss in vertrauenswürdigen Umgebungen aus dem Source Code gebaut werden, idealerweise als Reproducible Build, s.o. Diesen Software Engineering Aufwand können Projekte nicht dauerhaft im Nebenjob leisten.

Zusammenfassung und Massnahmen

Die Einrichtung eines Open Source Security Fonds scheint dringend geboten. Auf der einen Seite stehen Milliardeninvestionen, die von Open Source abhängen, auf der anderen Seite gibt es keine kohärenten und nachhaltigen Maßnahmen zur Absicherung. Für die üblichen Forschungsprojekte der EU wie Fasten 2020 gibt es über drei Jahre eine Förderung im Bereich weniger Millionen. Nach Ende des Projekts entsteht zwar ein Projektbericht, aber es bleibt keine Organisation, die die Ergebnisse weiterentwickelt und den Transfer in die Community betreibt. Die wichtigste guten Ansätze für sichere DevSecOps Prozesse haben eine starke Bindung zum US Militär und sollten durch eine starke, zivile Europäische Initiative ergänzt werden.

Der Fond sollte einzelne Projekte, Communities und Ökosysteme identifizieren und mit den Maintainer Schwachstellen analysieren und Ressourcen zur Behebung bereitstellen. Dazu müssen die wichtigsten Komponente gefunden werden und mit der Community Prozesse definiert werden, die automatisch unterstützt werden können. Diese Prozesse sollten ebenfalls gemeinsam implementiert und abgesichert werden.

Für eine Community wie die Python Foundation würde das aufgrund der Anzahl der Paket mehrere Vollzeitstellen, begleitet von externer Expertise wie mindestens jährlichen Audits und der Bereitstellung kuratierter Subrepositories von PyPi bedeuten. Hinzu kommt eine entsprechend hoch abgesicherte Deployment Pipeline. Mit Projekt und Community Management müsste jährlich ein höherer einstelliger Millionenbetrag verwendet werden. Wichtig ist eine nachhaltige Investition, Projekte mit einem endlichen zeitlichen Horizont sind immer verpufft. Kooperationen mit Partner sollten gesucht und koordiniert werden.

Weitere unterstützenswerte Projekte

Entsprechende Projekte für andere Programmiersprachen wie Ruby oder das Ökosystem von Owncloud oder Nextcloud173, Videokonferenz Tools wie Jitsi oder Big Blue Button174 würden sicher zu ähnlichen Ergebnissen führen, je nach Umfang der Komponenten. Ein weiteres Beispiel ist Rechenzentrumsinfrastruktur, Software Defined Networks lässt sich auf gängiger High End Hardware auch mit Open Source sicher betreiben175. Einzelne Cloud Anbieter zwingen Hardware Lieferanten auf Linux basierte Betriebssysteme176 oder pflegen ihre eigenen, von Open Source Software abgeleiteten Infrastrukturkomponenten. Eine Unterstützung von Offener Hardware und Offener Infrastruktur ist im Hinblick auf den Einsatz in der Gaia-X Initiative auch geboten177. Weitere ambitionierte Projekte wie das Linux Phone178 oder ein modifiziertes Android179 zielen auf die Privacy der Anwendenden, es muss aber betont werden, dass der Einsatz auch unmittelbar der Sicherheit der Wirtschaft zugute kommt.

Bemerkenswert ist die hohe Kompetenz, die deutsche und europäische Anbieter bereits aufgebaut haben, wie BISDN180 im High End Carrier und Netzwerk Markt, Nitrokey181 im Bereich Verschlüsselung oder K-9 Mail mit Email Verschlüsselung182. K9 Mail hat einen Funding Aufruf zu Maintenance gestartet. K-9 Mail ist im wesentlichen das Projekt eines einzelnen Entwicklers183, der um eine vergleichsweise bescheidene Finanzierung bittet, die die Community schon zum größten Teil aufgebracht hat. Von diesem Projekt mit 600.000 Downloads hängen tatsächlich kleinere Unternehmen ab, in denen jeweils hundert Mitarbeiter K-9 Mail verwenden184. Auf Finanzierung angesprochen kann er sich nicht vorstellen, eine Firma mit eigenen Mitarbeitern zu gründen. Er wünscht sich für kleine Open Source eine einfache Möglichkeit des Funding, wie sie in den USA von der Plattform Open Collective185 angeboten wird.

Bewertung

Die Gespräche, die für diese Analyse durchgeführt werden, zeigen einen hohen Grad an Unterstützungsbedarf. Die Communities signalisieren sehr oft, wie im GnuPG Beispiel, dass sie gut versorgt sind186, bei näherer Nachfrage zeigt sich aber, dass diese Aussage nur auf einem niedrigen Niveau richtig ist. Die Ausstattung der Projekte, wie GnuPG, Python oder Alpine Linux ist nur bei einem minimalen Anspruch ausreichend. Fragt man nach professioneller Softwareentwicklung, die die Automatisierung einschließt, wie Deployment Pipelines, automatische Sicherheitsanalysen, Fuzzing oder Audits ergeben sich Defizite in vielen Bereichen. Die Community gleicht das durch ein überwältigende persönliches Engagement aus, aber um den Preis des Burnouts, der auch in den Open Source Communities angekommen ist. Mit der entsprechenden Sensibilisierung lassen sich die Symptome sogar oft beobachten187.

Alle Community Projekte signalisieren, dass sie weitere Ressourcen sehr begrüßen würden. Ausgewählte kleine Projekte von einzelnen Entwicklerinnen sollten einfach und ohne viel Bürokratie finanziert werden, dabei es möglich sein auch freiberuflich Entwicklerinnen zu unterstützen.

Strategische Projekte

Dringend notwendig wäre auch die Unterstützung strategischer Projekte im Cloud Bereich. Dazu zählt auch Edge Computing188, das im Bereich massiv verteilter Systeme, wie im smarten Energiemanagement189 und der Echtzeit Industriesteuerung190 in Zukunft eine Notwendigkeit ist. Edge Computing, z.B. durch K3S191 ist ein leichtgewichtiges Kubernetes, kommt aus dem Cloud Computing. Im gesamten Bereich der Cloud Orchestrierung, ist selbst das BSI schwach aufgestellt192. Moderne Sicherheitsarchitekturen wie Zero Trust193, der flächendeckende Einführung von Multi Faktor Authentifizierung194, OpenID195 und günstigen Signaturdiensten196 für Dokumente oder Zertifikate ACME197 sind in diesem Bereich notwendig. Initiativen wie der Souvereign Cloud Stack198 sind scheinbar über Gaia-X und Förderprojekte gut ausgestattet, können diesen Bereich auch nicht vollständig abdecken. Auch eine Integration von Chaos Security Engineering199 in diese Architektur ist zu empfehlen200.

Organisation eines Open Source Security Fonds

Es muss die Aufgabe des Fonds sein, für die unterstützten Projekte eine nachhaltige und ausreichende Ausstattung zu gewährleisten. Dazu gehört neben der Entwicklung eine vernünftige Automatisierung, Audits und professionelle Kommunikation und Community Management.

Es wird empfohlen, Kriterien zu erarbeiten um 10-20 Communities auszuwählen, den Reifegrad und den Bedarf festzustellen und dort je 5-10 Vollzeitstellen zu schaffen. Mehr sind mit einem Fond am Anfang nicht zu bewegen.

Zusätzlich ist es sinnvoll, eine gleiche Anzahl kleinerer Projekte mit 2-4 Vollzeitstellen zu unterstützen. Kleine und sehr kleine Projekte, auch Einzelpersonen, sollten mit einer Konstruktion wie Open Collective die Möglichkeit bekommen sich zu transparent zu finanzieren und zu verwalten.

Die Führungspositionen des Fonds müssen durch anerkannte Mitglieder der Community besetzt werden. Gerade erst ist der Chief Software Officer der US Air Force zurückgetreten, weil die IT-Erfahrung der im beigeordneten Führungsebene nicht ausreicht201. Es ist sinnvoll, dass die Industrie, die an den Projekten mitarbeitet, Vertreter mit dem entsprechenden Wissen ebenfalls entsenden kann. In keinem Fall dürfen die Projekte als verlängerte Werkbänke angesehen oder sogar Weisungen erteilt werden.

Reallabore

Alle diese Technologien sind real einsatzbereit und haben den höchsten Technology Readiness Level202 nämlich 9. Es geht also nicht um Forschungsprojekte, sondern um flächendeckende Umsetzung, z.B. in Gaia-X. Ein föderiertes Entwicklungsmodell “Einer für alle” zusammen mit den Mitgliedern der Gaia-X Foundation sollte die Technologie, die ein einzelner mittelständischer Provider nicht anbieten kann, für die Provider Community flächendeckend für alle zur Verfügung stellen können. Wichtig hier ist auch eine Flankierung durch das BSI, die die Anforderungen konkretisiert und formalisiert.

Umgang mit Sicherheitslücken

Alle Sicherheitslücken müssen in einem Responsible Disclosure203 Prozess veröffentlicht werden. In keinem Fall dürfen Sicherheitsbehörden Lücken ausnutzen, die noch nicht veröffentlicht sind. Ein Handel mit Sicherheitslücken muss strikt unterbunden, am besten verboten werden. Alle diesbezüglichen Entscheidungen müssen durch die Communities selbst getroffen, ein politischer Einfluss muss streng ausgeschlossen, weil sonst ein wichtiger Teil der Sicherheits Community nicht mehr mit dem Programm kooperieren kann.

Auch das BSI ist nicht neutral genug204. Das Vertrauen der Community in die Politik ist durch irrationale und technisch schlecht begründet Entscheidungen schwer beschädigt205. Eine offene oder verdeckte Einflussnahme würde zum Rückzug wichtiger Akteure aus der Zusammenarbeit mit den Fond bedeuten.

Internet Bug Bounties206 sind kein geeignetes Mittel, um nachhaltig Sicherheit zu erzeugen. Sie schaffen einen Markt, der mit dem Malware Markt konkurriert207.

Über den Autor

Dr. Thomas Fricke

1989 Installation von Unix Cluster, erste Linux Versionen

1994 Promotion in Aachen

1996-2005 Softwareentwickler in Anstellung

seit 2005 freiberuflicher Berater als Software und System Engineer

2006 verschiedene Projekte im Bereich Clouds, Automatisierung

seit 2015 Kubernetes

2013 Mitbegründer der Endocode AG (jetzt Hoverture Deutschland AG), einem Open Source und Cloud Dienstleister

2013-2021 Vorstand, CTO und Aufsichtsrat bei Endocode

Kubernetes Projekte CoreOs, Google, SAP, Red Hat

2019-2020: Mitglied des Technisches Advisory Board von Octarine (jetzt VMWare)

seit 2017 unabhängiger Cloud Security Architekt für Kubernetes und OpenShift

2021 Mitgründer der Resility GmBH (Security Chaos Engineering)

Sektoren Energie und Gesundheit

Projekte im Sicherheitsbereich für die Bundesdruckerei und Mail Anbieter

Ehrenamtliche Mitarbeit im IT-Planungsrat

osssecurity@thomasfricke.de

https://www.linkedin.com/in/thomas-fricke-9840a21/


  1. Study about the impact of open source software and hardware on technological independence, competitiveness and innovation in the EU economy | Shaping Europe's digital future, Vorläufige Zusammenfassung auf deutsch Studie: Open Source trägt 95 Milliarden Euro zur EU-Wirtschaftskraft bei ↩︎

  2. Android (Betriebssystem) ↩︎

  3. Fritz!Box – Wikipedia ↩︎

  4. Tizen Betriebssystem für Smart TV ↩︎

  5. Daimler Advances Connected Car Technology through Open Source and Automotive Grade Linux ↩︎

  6. Access 4.0, Zusammenfassung auf deutsch Access 4.0: Telekom will eigene Open-Source-Technik für Festnetz, https://opennetworking.org/wp-content/uploads/2018/12/DT-Access-4.0.pdf ↩︎

  7. eigene Erfahrung des Autors ↩︎

  8. BOM Bill of Materials, Stückliste – Wikipedia ↩︎

  9. Eclipse SW360 - Presentations, FOSSology,

    Bitkom Vortrag Lessons Learned from Automated License Compliance ↩︎

  10. ISO/IEC 5230:2020 - Information technology — OpenChain Specification, OpenChain: Home ↩︎

  11. „In fünf Jahren entfallen 60 Prozent der Wertschöpfung im Auto auf die Software" | KFZ Wirtschaft ↩︎

  12. Rechtliche Aspekte der Nutzung, Verbreitung und Weiterentwicklung von Open-Source-Software ↩︎

  13. "given enough eyeballs, all bugs are shallow" nach Linus's law - Wikipedia ↩︎

  14. IDA Pro – Hex Rays , NationalSecurityAgency/ghidra: Ghidra is a software reverse engineering (SRE) framework ↩︎

  15. Reverse Engineering – Wikipedia ↩︎

  16. Lecture: Understanding millions of gates | Monday | Schedule 36th Chaos Communication Congress ↩︎

  17. Multiple Vulnerabilities in Cisco Unified Communications Domain Manager, deutsche Zusammenfassung Cisco entfernt Backdoor aus Unified Communications Domain Manager ↩︎

  18. Der Hafnium Exchange-Server-Hack: Anatomie einer Katastrophe ↩︎

  19. Microsoft says Iranian hackers are exploiting the Zerologon vulnerability ↩︎

  20. Security through obscurity – Wikipedia ↩︎

  21. Kerckhoffs' Prinzip – Wikipedia ↩︎

  22. Hinweise auf mögliche Verwundbarkeiten der Medizin-Telematik | c't Magazin ↩︎

  23. IT Grundschutz des BSI ↩︎

  24. OpenVMS ↩︎

  25. OpenSolaris – Wikipedia ↩︎

  26. Kubernetes.io ↩︎

  27. Open Networking Foundation (ONF) ↩︎

  28. Home » Open Compute Project ↩︎

  29. MicroPython - Python for microcontrollers ↩︎

  30. JSC - Events 2020 - ONLINE -- PRACE training course "High-performance computing with Python" ↩︎

  31. Data Mining and AI languages are booming in the TIOBE index ↩︎

  32. Top Programming Languages 2021 ↩︎

  33. Python (programming language) , C (programming language), Java (software platform), C++ ↩︎

  34. The Unfortunate Reality of Insecure Libraries ↩︎

  35. Best Python Libraries for Machine Learning and Deep Learning ↩︎

  36. Übertragungsnetzbetreiber – Wikipedia ↩︎

  37. Eigene Projekte des Autors ↩︎

  38. Operational technology - Wikipedia ↩︎

  39. Kritische Infrastrukturen – Wikipedia, KRITIS Einführung ↩︎

  40. Bundesamt für die Sicherheit in der Informationstechnik, Bundesamt für Bevölkerungsschutz und Katastrophenhilfe ↩︎

  41. History of Python ↩︎

  42. PyPI · The Python Package Index ↩︎

  43. Python Typosquatting for Fun not Profit | by William Bengtson ↩︎

  44. Python Package Index nukes 3,653 malicious libraries uploaded soon after security shortcoming highlighted ↩︎

  45. Software downloaded 30,000 times from PyPI ransacked developers' machines ↩︎

  46. Horizon 2020 projects | Horizon 2020 ↩︎

  47. https://www.fasten-project.eu/ Introducing the FASTEN project ↩︎

  48. Introducing the Open Source Insights Project | Google Open ↩︎

  49. https://web.archive.org/web/20210506143150/http://www.pythonsecurity.org/ , ebranca/owasp-pysec: OWASP Python Security Project ↩︎

  50. PEP 458 -- Secure PyPI downloads with signed repository metadata ↩︎

  51. python-pypi-mirror ↩︎

  52. Allow users to curate their own hosted index · Issue #8812 · pypa/warehouse ↩︎

  53. Ernest Durban, ee@python.org ↩︎

  54. The Update Framework (TUF) ↩︎

  55. Linux Foundation ↩︎

  56. https://github.com/theupdateframework/tuf/tree/v0.11.1/tuf/client#updaterpy ↩︎

  57. Home · Sigstore ↩︎

  58. Open Source Security Foundation: Home ↩︎

  59. Security Scorecards for Open Source Projects ↩︎

  60. 2019 PSF Annual Report ↩︎

  61. Mozilla Signs Lucrative 3-Year Google Search Deal for Firefox ↩︎

  62. https://en.wikipedia.org/wiki/Core_Infrastructure_Initiative ↩︎

  63. Heartbleed ↩︎

  64. https://www.openssl.org/ ↩︎

  65. Transport Layer Security – Wikipedia ↩︎

  66. Assistance Program ↩︎

  67. What is Docker and why is it so darn popular? ↩︎

  68. Es gibt zahlreiche Vorläufer, die Geschichte bis 2019: A Brief History of Containers: From the 1970s Till Now ↩︎

  69. Microservice Architecture pattern, Microservices – Wikipedia ↩︎

  70. Plusserver Was ist Cloud-native? ↩︎

  71. Kubernetes.io, Was ist Kubernetes? ↩︎

  72. The History of Kubernetes on a Timeline | @RisingStack ↩︎

  73. Cloud Native Computing Foundation (CNCF) ↩︎

  74. Software conformance(Certified Kubernetes) ↩︎

  75. CNCF Cloud Native Interactive Landscape ↩︎

  76. K3s: Lightweight Kubernetes ↩︎

  77. With Kubernetes, the US Department of Defense is enabling DevSecOps on F-16s and battleships ↩︎

  78. Google Kubernetes Engine clusters can have up to 15,000 nodes ↩︎

  79. The first SUSE version of Rancher Kubernetes is on its way ↩︎

  80. Ionos Managed Kubernetes Services: Host your K8s cluster, Cloudshift

    https://www.cloudshift.de/kubernetes, Netways Managed Kubernetes - Your Container Orchestration Service, OHVCloud https://www.ovhcloud.com/public-cloud/kubernetes

    Syseleven https://www.syseleven.de/products-services/kubernetes, Claranet

    Container-Management vereinfachen mit Managed Kubernetes

    Scaleuptech Managed Kubernetes und Platform as a Service mit Docker und viele andere ↩︎

  81. https://www.cncf.io/blog/2020/06/01/5g-rollout-how-kubernetes-and-edge-computing-is-making-5g-a-reality/ ↩︎

  82. GAIA-X - Home ↩︎

  83. https://www.gaia-x.eu/what-is-gaia-x/federation-services ↩︎

  84. Sovereign Cloud Stack (SCS) ↩︎

  85. https://www.openstack.org/ ↩︎

  86. https://scs.community/about/ darin https://scs.community/assets/images/201001-SCS-4a.png ↩︎

  87. Python3 - OpenStack ↩︎

  88. Kubernetes adoption, security, and market trends report 2021↩︎

  89. Docker Hub Container Image Library | App Containerization ↩︎

  90. Private vs. Public Container Registries: Pros, Cons and Best Practices – The New Stack ↩︎

  91.  ↩︎
  92. Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities ↩︎

  93. OPERATION "RED KANGAROO": INDUSTRY'S FIRST DYNAMIC ANALYSIS OF 4M PUBLIC DOCKER CONTAINER IMAGES, Half of 4 Million Public Docker Hub Images Found to Have Critical Vulnerabilities ↩︎

  94. Explore Certified Container Images ↩︎

  95. Container Health Index grades as used inside the Red Hat Container Catalog ↩︎

  96. Debian -- The Universal Operating System ↩︎

  97. Alpine Linux: index ↩︎

  98. Usage Statistics and Market Share of Linux for Websites, August 2021 ↩︎

  99. Alpine - Official Image unabhängiger Vergleich A Comparison of Linux Container Images, Anleitung Alpine Linux – Making Tiny Containers – Complete Intro to Containers ↩︎

  100. Bits relating to Alpine security initiatives in August – Ariadne's Space ↩︎

  101. Reproducible Builds — a set of software development practices that create an independently-verifiable path from source to binary code, bereits unterstützt vom Prototype Fund Reproducible Builds in der Wirklichkeit, inklusive Alpine ↩︎

  102. Der Autor unterstützt Administratoren bei der sicheren Installation und dem Betrieb von Clustern und Security Auditoren bei der Beurteilung der Sicherheit. Der Inhalt der Workshops und Trainings ist unter einer Open Source Lizenz verfügbar thomasfricke/training-kubernetes-security ↩︎

  103. CIS Kubernetes Benchmark ↩︎

  104. aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark, Blog Kube-Bench: An Open Source Tool for Running Kubernetes CIS Benchmark Tests ↩︎

  105. Kunden aus kritischer Infrastruktur (Verkehrs- und Gesundheitswesen) ↩︎

  106. Advanced Persistence Threats - The Future of Kubernetes Attacks, Video: Advanced Persistence Threats: The Future of Kubernetes Attacks - Ian Coldwater & Brad Geesaman ↩︎

  107. z.B. Mitigating ImageMagick vulnerabilities in Node.js↩︎

  108. Configure Service Accounts for Pods ↩︎

  109. Training Kubernetes Security: ClusterAdminOpenShift.ipynb ↩︎

  110. Deploy ECK in your Kubernetes cluster - Elastic Cloud on Kubernetes – der Autor hat Elastic auf das Problem hingewiesen, keine Reaktion ↩︎

  111. Nur Node.JS JavaScript Security | JavaScript Vulnerabilities ↩︎

  112. Artikelserie des Autors Kubernetes-Security, Teil 1: Von Linux geerbte Konzepte ↩︎

  113. AdmissionController: Using Admission Controllers, Nachfolge der PodSecurityPolicies PodSecurityPolicy Deprecation: Past, Present, and Future ↩︎

  114. Network Policies, z.B. Project Calico ↩︎

  115. Service mesh, z.B. Istio The Istio service mesh ↩︎

  116. https://github.com/thomasfricke/training-kubernetes-security/blob/main/IstioHack.ipynb ↩︎

  117. Install Istio with the Istio CNI plugin ↩︎

  118. Custom Resources ↩︎

  119. CRD Vulnerability Cause for Kubernetes Concern ↩︎

  120. https://de.wikipedia.org/wiki/Seitenkanalattacke#Gemeinsame_Speichernutzung ↩︎

  121. Google, private Kommunikation ↩︎

  122. Red Hat: Determining whether an application has poor cache performance, Trendmicro.com detecting meltdown and spectre ... ↩︎

  123. Survey of CPU Cache-Based Side-Channel Attacks: Systematic Analysis, Security Models, and Countermeasures ↩︎

  124. private Kommunikation mit Kurt Garloff ↩︎

  125. Managing Resources for Containers ↩︎

  126. 1. Introduction — The Linux Kernel documentation ↩︎

  127. Transport Layer Security – Wikipedia ↩︎

  128. https://www.openssl.org/news/secadv/20210824.txt ↩︎

  129. Transport Layer Security Implementierungen – Wikipedia ↩︎

  130. https://www.cvedetails.com/product/383/Openssl-Openssl.html?vendor_id=217 ↩︎

  131. https://www.openssl.org/news/secadv/20210824.txt ↩︎

  132. BSI Kryptographische Verfahren: Empfehlungen und Schlüssellängen, Version 2021-01 ↩︎

  133. z.B. Wirtschaftliche Nutzungsdauer von Gebäuden - Lexikon... ↩︎

  134. Blockchains implementieren Distributed consensus, um Angriffe wie das Problem der Byzantischen Generäle Byzantinischer Fehler – Wikipedia zu verhindern. In allen sicherheitsrelevanten Bereichen gibt es durch regulatorische Vorgaben eine starke, zentrale Vertrauens Instanz. Distrinute Consensus wird nicht benötigt. Aus diesem Grund reichen Hash Ketten vollkommen aus

    https://en.wikipedia.org/w/index.php?title=Hash_chain#Hash_chain_vs._blockchain.

    Der Begriff Blockchain ist durch das Aufkommen der Kryptowährungen zu einem Hype geworden und wird inzwischen selbst in wissenschaftlichen Kreisen aufgeweicht und für Hash Chains verwendet, aus “Marketinggründen” (private Kommunikation, Gesellschaft für Informatik, Fraunhofer) ↩︎

  135. Secure Hash Algorithm – Wikipedia ↩︎

  136. RSA-Kryptosystem – Wikipedia ↩︎

  137. Integer factorization ↩︎

  138. https://de.wikipedia.org/wiki/Shor-Algorithmus ↩︎

  139. Symmetrisches Kryptosystem – Wikipedia ↩︎

  140. Surviving the Quantum Cryptocalypse ↩︎

  141. Quantum | Shaping Europe's digital future ↩︎

  142. „Wenn Quantencomputer kommen, wird auch Bitcoin angreifbar" ↩︎

  143. Lecture: The year in post-quantum crypto | Friday | Schedule 35th Chaos Communication Congress ↩︎

  144. Lecture: (Post-Quantum) Isogeny Cryptography | Friday | Schedule 36th Chaos Communication Congress ↩︎

  145. Source Code Analysis Tools | OWASP ↩︎

  146. Google Online Security Blog: Fuzzing at scale ↩︎

  147. Fuzzing | OWASP ↩︎

  148. Continuous Integration - OSS-Fuzz ↩︎

  149. Code Intelligence: Effortless DevSecOps with Modern Fuzz Testing ↩︎

  150. Modern testing of the wolfSSL TLS library ↩︎

  151. https://github.com/angr/angr ↩︎

  152. Kontinuierliche Integration – Wikipedia ↩︎

  153. Continuous integration ↩︎

  154. ContinuousDelivery ↩︎

  155. Continuous deployment - Wikipedia ↩︎

  156. u.a. vom Autor mit dem DevOps Team implementiert 2011 bei Immobilienscout24, ohne Sicherheitschecks ↩︎

  157. Usecase: DevSecOps ↩︎

  158. Kunstwort aus Development und Operations DevOps – Wikipedia ↩︎

  159. Best 14 CI/CD Tools You Must Know | Updated for 2021 ↩︎

  160. DoD Enterprise DevSecOps Strategy Guide, Teil von DevSecOps – DoD Cyber Exchange, der Autor distanziert sich von jeder militärischen Nutzung von FOSS Software ↩︎

  161. Sec rückt nach vorne, links auf den Diagrammen DevOps tech: Shifting left on security ↩︎

  162. Im Original: “Tailor the organization’s operational culture and technical processes to support the new way of developing, running, and supporting applications made possible by containers.”, https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf ↩︎

  163. Static Code Analysis Control ↩︎

  164. A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World | February 2010 | Communications of the ACM ↩︎

  165. g10code.com ↩︎

  166. Verschlusssache – Wikipedia ↩︎

  167. https://gnupg.org/ ↩︎

  168. Telefon Interview mit Werner Koch ↩︎

  169. Supply chain attack ↩︎

  170. SolarWinds: NSA & Co. mahnen mit Schwachstellenbericht zum Patchen ↩︎

  171. https://www.sigstore.dev/ ↩︎

  172. Argo CD Security ↩︎

  173. ownCloud, Nextcloud ↩︎

  174. Jitsi: Free Video Conferencing Software for Web & Mobile, BigBlueButton | Open Source Virtual Classroom Software ↩︎

  175. Eine Übersicht quelloffener SDN-Controller | iX ↩︎

  176. SONiC: The networking switch software that powers the Microsoft Global Cloud ↩︎

  177. Open Compute Project, Open Infrastructure Foundation (OpenInfra Foundation): Open Source Infrastructure Foundation - Open Infrastructure Foundation (OpenInfra Foundation) ↩︎

  178. List of native Linux smartphones, tablets and wearables ↩︎

  179. Sicherstes Android-Smartphone NitroPhone erschienen, Hersteller Produktseite NitroPhone 1 | www.nitrokey.com ↩︎

  180. BISDN ↩︎

  181. Nitrokey | Secure your digital life ↩︎

  182. K-9 Mail ↩︎

  183. Aufruf zum Funding K-9 Mail is looking for funding k9mail.app, Cketti Imprint ↩︎

  184. private Kommunikation mit Cketti ↩︎

  185. Open Collective - Make your community sustainable. Collect and spend money transparently. ↩︎

  186. persönliche Kommunikation mit Ariadne Conill, Alpine Linux ↩︎

  187. Dealing with burnout in open source ↩︎

  188. Edge computing ↩︎

  189. IoT + edge processing is making sci-fi a reality for energy management ↩︎

  190. Edge Computing in Industry 4.0: Benefits and Use Cases ↩︎

  191. K3s: Lightweight Kubernetes ↩︎

  192. persönliche Kommunikation ↩︎

  193. Zero trust security model ↩︎

  194. Multi-factor authentication ↩︎

  195. OpenID ↩︎

  196. analog sigstore, s.o. ↩︎

  197. Automated Certificate Management Environment, analog einer lokalen Instanz von Let's Encrypt ↩︎

  198. Sovereign Cloud Stack (SCS) ↩︎

  199. Security Chaos Engineering: A new paradigm for cybersecurity ↩︎

  200. der Autor ist an Startup finanziell beteiligt, dass ein Produkt in diesem Bereich entwickelt, (PDF) Chaos Engineering for Cloud-Native Security, Continuous Auditing & Threat Detection in Multi-Cloud Infrastructure | Request PDF, (PDF) CloudStrike: Chaos Engineering for Security and Resiliency in Cloud Infrastructure ↩︎

  201. Aus

    US Air Force chief software officer quits after launching Hellfire missile of a LinkedIn post at his former bosses:

    "Bitte", flehte er, "hören Sie auf, einen Major oder Oberstleutnant (trotz ihres Engagements, ihrer außergewöhnlichen Einstellung und ihrer Kultur) mit der Leitung von ICAM, Zero Trust oder Cloud für 1 bis 4 Millionen Nutzer zu betrauen, wenn sie keine Erfahrung in diesem Bereich haben - wir bauen eine kritische Infrastruktur auf, die scheitern wird."

    Der ehemalige Chief Software Officer fuhr fort:

    Wir würden keinen Piloten ohne umfassende Flugausbildung ins Cockpit setzen; warum sollten wir von jemandem ohne IT-Erfahrung erwarten, dass er auch nur annähernd erfolgreich ist? Sie wissen nicht, was sie tun sollen oder welche Prioritäten sie setzen sollen, was zu endlosen Bemühungen zur Risikominderung und einer Verwässerung des Fokus führt. Die IT ist ein hochqualifizierter und geschulter Job, also sollten Sie sie auch so besetzen. ↩︎

  202. Technology Readiness Level – Wikipedia ↩︎

  203. Responsible disclosure ↩︎

  204. Neutralitätsdefizit des BSI Stellungnahme Manuel Atug von der unabhängigen AG KRITIS zum IT-Sicherheitsgesetz 2.0 ↩︎

  205. Umstrittene Firma in Israel: BKA kaufte Spionagesoftware bei NSO | tagesschau.de, Warnsysteme in Deutschland: Deutschland warnt – aber leider falsch, IT-Sicherheitsgesetz 2.0: Wenn sich die Telekom in Ihren Rechner hacken soll, Wenig Beifall für das geplante IT-Sicherheitsgesetz 2.0, Offener Brief: Für eine echte Cybersicherheitsstrategie ohne neue Überwachungsmaßnahmen ↩︎

  206. The Internet Bug Bounty | Rewarding friendly hackers who contribute to a more secure internet ↩︎

  207. The problem with bug bounty programs is that they are quite buggy ↩︎