Eckdaten

Je weiter die Technologie im IoT voranschreitet, desto dringlicher wird es für Softwareanbieter und Entwickler effektive und sichere Prozesse zum Management ihrer Software einzuführen. Software Stücklisten, automatisierte Warnmeldungen sowie ein zuverlässiges Patch-Management sind dabei fester Teil einer jeder Sicherheitsstrategie, die das Ziel hat, Softwareprodukte langfristig vor Hackern zu schützen. Auf diese Weise ist es möglich, die Vorteile von Open-Source-Software ohne Risiko, dafür aber in vollem Umfang zu nutzen.

Embedded-Software ist zentral für das IIoT. Sie ist es, die aus Geräten letztendlich die Smart Factory von morgen macht. Doch mit dem wachsenden Einsatz von Embedded-Software in vormals reinen Hardwaregeräten, tauchen auch neue Sicherheitsaspekte auf. Ist ein Gerät permanent mit dem Internet verbunden, verwandelt es sich fast schon automatisch in ein attraktives Ziel für Hacker, um beispielsweise Malware in das System einzuschleusen oder einzelne Geräte in Botnets einzubinden. Die vernetzten Geräte bieten eine ideale Angriffsfläche, da sie häufig durchgehend an High-Speed-Netzwerkverbindungen angebunden sind, auf Linux basieren und dabei Monitoring-Systeme, Filter oder Protokolle vermissen, die vor einer Infiltration warnen.

Hinzu kommt, dass viele dieser Systeme nur für einen eingeschränkten Rollout ausgelegt sind oder von Fremdanbietern stammen, die dem Software-Hardening und der Sicherheit nur wenig Aufmerksamkeit schenken. Die Kombination aus leistungsstarken, vernetzten Systemen und hoher Verwundbarkeit bietet Botnets ein Einfallstor, um IoT-Geräte zu infizieren – wie Mirai und Bashlite im letzten Jahr eindrucksvoll bewiesen haben.

Open Source ist überall

90 % von Angriffen zielen auf die Anwendungsebene.

90 % von Angriffen zielen auf die Anwendungsebene. iStock/maxkabakov

Das Ergebnis einer Software Component Analysis.

Das Ergebnis einer Software Component Analysis.

Eine wichtige Rolle nimmt hier Open-Source-Software (OSS) ein. OSS macht bis zu 50 Prozent des Codes in kommerzieller Software aus. Vor allem bei Programmierroutinen greifen Softwareentwickler auf OSS- und kommerzielle Komponenten von Drittanbietern zurück, um schneller und effizienter arbeiten zu können. Neun von zehn IoT-Entwickler verwenden Open-Source-Software. Das proaktive Management und die Pflege dieser Komponenten werden dabei leider oft vernachlässigt. Tatsächlich kennen Entwickler oft nur etwa vier Prozent des Codes von Drittanbietern in Embedded-Software. Auf jede bekannte Komponente, fallen damit 24 weitere Komponenten, die unerkannt und unverwaltet in der Software verwendet und an Kunden ausgeliefert werden. Das im IoT weit verbreitete Betriebssystem Linux enthält beispielsweise Dutzende bis Hunderte von Open-Source-Paketen.

Unverwaltete und un-dokumentierte OS-Komponenten bergen zweierlei Risiken: Zum einen gilt es auch bei OSS die Compliance einzuhalten. Zum anderen ist die Dokumentation über die Verwendung von OS-Komponenten entscheidend, um bekanntgewordene Schwachstellen schnell und sicher zu patchen.

Stückliste auch für Software

Um proaktiv und frühzeitig Sicherheitslücken zu schließen, sollten IoT-Entwickler genau nachverfolgen und festhalten, welche Komponenten im Betriebssystem sowie in den Anwendungen zum Einsatz kommen. Wie in der Fertigung ist es daher auch bei der Softwareentwicklung mittlerweile üblich, ein aktuelles Verzeichnis aller Abhängigkeiten und eingesetzten Komponenten einer Software zu erstellen. Mit der Software-Stückliste oder Bill-of-Materials (BOM) können Softwareanbieter einfacher und schneller feststellen, ob eine kürzlich veröffentlichte Vulnerability ihre Produkte auch tatsächlich betrifft. Erst anhand dieser Übersicht lassen sich selbstständige Aktualisierungsfunktionen in die Geräte integrieren und Updates sowie Patches schneller bereitstellen.

In der Praxis stellt eine solche Software-Stückliste viele Unternehmen jedoch vor eine echte Herausforderung. Die bloße Einschätzung von Entwicklerseite garantiert weder Vollständigkeit noch Detailtiefe. In vielen Fällen lohnt sich daher ein Selbsttest, der prüft, ob sich eine aktuelle Stückliste erstellen lässt und wann diese zuletzt aktualisiert wurde. Mit einfachen Schritten kann so sehr schnell eine große Menge bisher unbekannter Drittsoftware aufgedeckt werden:

  • Anhand von Stichproben des Quellcodes lässt sich die Aktualität der angegebenen Versionsnummern überprüfen.
  • Eine kurze Untersuchung von Bibliotheks-Namen und Datei-Endungen, die auf vermeintliche Drittanbieter hinweisen (zum Beispiel .JAR, .DLL), sowie die Suche nach Copyright-Informationen, Lizenzen und kopierten Dateien schafft einen ersten Überblick.
  • Über die Suche nach dem String „Open SSL“ lassen sich mit hoher Wahrscheinlichkeit zahlreiche Kopien von bislang nicht bekannten Fällen von Open SSL in Open Source und in kommerziellen Komponenten finden – sowohl in Binärprogrammen als auch in Quelldateien.

Thema der nächsten Seite: Abgleich mit öffentlichen Schwachstellen-Datenbanken

Seite 1 von 212