Bundling von Bibliotheken & Open Source Code
Hütchenspiel mit Softwareschwachstellen: Hersteller müssen Open Source Code und Software von Drittherstellern genau und lückenlos nachverfolgen, bevor sie diese in ihre Produkte einbinden
Gebündelte Bibliotheken sind demnach effizient, bergen allerdings auch Sicherheitsrisiken, die sowohl Anwendungshersteller als auch deren Kunden kennen und berücksichtigen sollten
Von Kasper Lindgaard, Director, Secunia Research at Flexera Software
Library Bundling und Open Source Code stellen die IT zunehmend vor Herausforderungen: Versteckte Schwachstellen in der Software können unbemerkt in die IT-Umgebung von Unternehmen gelangen und sich weiter ausbreiten. Dabei ist vielen Unternehmen gar nicht bewusst, dass sie Library Bundling und Open Source verwenden. Ob tatsächlich ein Risiko besteht, lässt sich so nur schwer einschätzen. Automatisierte Lösungen für das Software Vulnerability Management können diese Risiken deutlich reduzieren.
Jeder kennt die Tricks der Hütchenspieler: Ein Gegenstand – beispielsweise eine kleine Kugel oder Erbse – wird unter eines von drei identischen Hütchen gelegt, die dann blitzschnell vom Spieler über das Brett bewegt werden. Unter welchem der drei Hütchen ist die Kugel verborgen? So aufmerksam der Zuschauer auch die Bewegungen verfolgt, am Ende liegt er meistens falsch. IT-Fachleute aus den Security und Operations Teams befinden sich beim Risikomanagement von gebündelten Bibliotheken vor einer ganz ähnlichen Situation. Nur wissen sie oft leider gar nicht, dass sie es dabei mit einem Glücksspiel zu tun haben.
Softwareentwicklung durch Dritte
Kaum ein Softwarehersteller entwickelt 100 Prozent seines Anwendungscodes selbst. Die meisten Entwickler bündeln beim Schreiben von Softwarecodes häufig Bibliotheken und Open Source Code von Dritten mit ihrem eigenen Code. Die Gründe dafür sind vielfältig. Meist geht es um höhere Effizienz, Kompatibilität oder anwendungsübergreifende Kommunikation. Gängige Beispiele für gebündelten Code sind Bibliotheken für Kryptografie, Bild- und Dokumentenverarbeitung. Für diese Funktionalitäten liegt der nötige Programmcode oft bereits standardisiert vor. Daher ist es sinnvoller, solche Bausteine und Bibliotheken wiederzuverwenden anstatt viel Zeit in die Entwicklung neuer Komponenten zu investieren.
Kenne deine Sicherheitsrisiken
Gebündelte Bibliotheken sind demnach effizient, bergen allerdings auch Sicherheitsrisiken, die sowohl Anwendungshersteller als auch deren Kunden kennen und berücksichtigen sollten. Hersteller müssen Open Source Code und Software von Drittherstellern genau und lückenlos nachverfolgen, bevor sie diese in ihre Produkte einbinden. Da eine in der Fremdsoftware aufgedeckte Schwachstelle in die Verantwortung des Softwareanbieters fällt, ist das unverzichtbar: Die Anbieter müssen das Problem kennen und bei Bedarf dem Kunden schnellstens ein Softwareupdate oder einen Patch zur Verfügung stellen.
Unternehmen, die Anwendungen mit gebündelten Bibliotheken nutzen, haben es da oft schwerer. Vor allem, da ihnen oft gar nicht bewusst ist, dass sie mit solchen Bündeln arbeiten. Da Softwarenanbieter den Quellcode ihrer Anwendungen in der Regel nicht komplett offenlegen, lässt sich schwer beurteilen, ob die eigene IT von einer bekanntgewordenen Schwachstelle in einer Bibliothek betroffen ist.
Ein gutes Beispiel ist die2014 bekannt gewordene Sicherheitslücke Heartbleed in einigen Implementierungen der Verschlüsselungssoftware OpenSSL. Der Heartbleed-Bug war deshalb so weit verbreitet und so schwer zu fassen, weil die Open-Source-Bibliothek, in so vielen verschiedenen Softwareprodukten enthalten war. Anwender dieser Software waren sich des Risikos gar nicht bewusst. In der Tat hat Secunia Research at Flexera Software mehr als 211 Warnungen zu von Heartbleed betroffenen Anwendungen herausgegeben, – die letzte im Mai 2016, also mehr als zwei Jahre nach Bekanntwerden der Schwachstelle.
Gefahrenpotential richtig einordnen
Wie gefährlich solche aufgedeckten Schwachstellen tatsächlich sind, hängt auch von der Anwendung ab, in welche die gebündelten Bibliotheken eingebunden sind. Während der Heartbleed-Bug in Anwendung A vielleicht in die Kategorie "3 – mäßig kritisch" fällt, kann die gleiche Schwachstelle in "Anwendung B" als "1 – unkritisch "eingestuft werden.
Unternehmen stehen deshalb vor drei Herausforderungen. Erstens müssen sie über einen Mechanismus verfügen, mit dem sie feststellen können, ob ein von ihnen verwendetes Produkt gebündelte Bibliotheken mit einer Schwachstelle enthält. Zweitens müssen sie das Risiko der Schwachstelle kennen, um Prioritäten festlegen zu können. Und schließlich müssen sie drittens auf einen Patch des Produktherstellers warten und dann entscheiden, ob und wie sie diesen anwenden wollen.
Die drei Phasen des Software Vulnerability Managements
Dabei wäre das Hütchenspiel leicht zu gewinnen: die Hütchen müssten einfach durchsichtig sein und dem Beobachter auf einem Blick verraten, wo sich die Kugel befindet. Genau auf dieser Idee baut ein gutes Software Vulnerability Management auf: Es sollte besondere Anwendungsszenarien für gebündelte Software berücksichtigen und die Automatisierung sowie die nahtlose Abfolge von Schwachstellenbewertung, Risikobegrenzung und Überprüfung ermöglichen.
Diese drei Schritte werden im Folgenden näher betrachtet:
1. Schwachstellen bewerten: Während dieser Phase brauchen Unternehmen vor allem Zugang zu Daten über verifizierte Schwachstellen, mit denen sie prüfen können, ob ihr Unternehmen betroffen ist (Vulnerability Intelligence). Eine verlässliche Datenquelle ermöglicht es, Softwareanbieter zu identifizieren, die in ihren gebündelten Bibliotheken Schwachstellen melden. Dabei werden solche Warnungen nicht nur hinsichtlich der Bibliotheken veröffentlicht, sondern auch in Bezug auf die Anwendungen, in denen diese Bibliotheken genutzt werden. Deshalb gab Secunia Research von Flexera Software nicht nur eine, sondern ganze 211 Warnungen zu Heartbleed heraus. Verlässliche Vulnerability Intelligence hilft auch Unternehmen, die von einer Verwendung von gebündelter Software in ihren Anwendungen gar nichts wissen. Ist eine Anwendung von gefährdetem Code betroffen, erfolgt die Warnung automatisch.
Sofern die Bedrohung real ist, muss das IT-Team ermitteln, ob daraus eine unmittelbare Gefahr für das Unternehmen erwächst. Hierzu ist ein zuverlässiger, automatischer Mechanismus notwendig, der alle IT-Assets kontinuierlich identifiziert, inventarisiert und normalisiert. Nur mit diesen umfassenden Bestandsdaten lässt sich bestimmen, ob die gemeldeten Schwachstellen für die eigene Umgebung relevant sind.
Das Bewerten von Schwachstellen bringt zudem eine entsprechende Priorisierung mit sich. Angesichts Tausender jährlich gemeldeter Schwachstellen ist es andernfalls fast unmöglich, die Risiken erfolgreich einzudämmen. Vulnerability Intelligence-Verantwortliche sollten deshalb auf Gefahrenkategorien zurückgreifen, die das Risiko von Schwachstellen nach festgelegten Kriterien bewerten. Damit können IT-Teams effizient, effektiv und ökonomisch beurteilen, ob und wann ein Patch angewandt werden muss.
2. Begrenzen und Beseitigen
Die zweite Phase des Software Vulnerability Managements widmet sich ganz dem Eindämmen potentieller Risiken. Häufig ist dazu ein Austausch zwischen dem IT Security Team und dem IT-Operations-Team notwendig. Das IT-Operations-Team übernimmt üblicherweise das Patch-Management. Identifizierung und Download erfolgen dann anhand der Application-Readiness-Prozesse. Anschließend müssen die Patches getestet werden, z. B. auf Abhängigkeiten, bis sie schließlich paketiert und für die betreffenden Geräte bereitgestellt werden.
Ein guter Eindämmungsprozess sollte das IT-Operations-Team darin unterstützen, bekannte Schwachstellen im Unternehmensumfeld zu identifizieren und Patches anhand der Gefahrenkategorie zu priorisieren. Das garantiert, dass die gefährlichsten Schwachstellen als erstes behoben werden können.
3. Überprüfung
Im letzten Schritt des Software Vulnerability Managements wird die Anwendung des Patches oder anderer Techniken zur Risikoeindämmung überprüft. Für unterschiedliche Bereiche des Unternehmens lassen sich unterschiedliche Verifizierungsverfahren, wie Ticketing-Systeme, Scanner oder Berichte anwenden.
Bei der Nutzung von gebündelten Bibliotheken ist es wie beim Hütchenspiel: Wer nicht sehen kann, wo sich die Softwareschwachstelle befindet, kann sie auch nicht beheben. Das Stichwort heißt hier Transparenz. Eine gute Strategie für Software Vulnerability Management liefert Unternehmen die Informationen und die Mechanismen, die sie zur Beurteilung ihrer Risiken über alle IT-Assets hinweg benötigen – also auch in Bezug auf gebündelte Software. Im Anschluss können diese Risiken dann eingedämmt und der Erfolg der Maßnahmen kann überprüft werden. (Flexera Software: ra)
eingetragen: 18.11.16
Home & Newsletterlauf: 01.12.16
Flexera Software: Kontakt und Steckbrief
Der Informationsanbieter hat seinen Kontakt leider noch nicht freigeschaltet.