Dass Embedded-Systeme zu selten per Schwachstellen-Scan geprüft werden, hat mehrere Gründe. Aktive Schwachstellen-Scans beeinflussen nicht selten den Betrieb dieser Systeme. Scanner lösen beträchtlichen Netzwerk-Traffic aus, manche Geräte sind damit schlicht überfordert. Ihnen fehlt dann die Kapazität, ihre eigentlichen Aufgaben wahrzunehmen. Manchmal genügt auch die Tatsache, dass eine unvorhergesehene Anfrage von außen auf ein Embedded-System trifft. Diese Geräteklasse übt spezialisierte Aufgaben aus und erfährt deutlich seltener Updates und Patches – wenn überhaupt. Daher passiert es, dass die Software hier eher instabil auf irreguläre Anfragen reagiert und die Scans einen Absturz verursachen.
Manche Anbieter untersagen gleich generell, dass der Nutzer selbst Updates oder Patches einspielt oder Sicherheitsmaßnahmen wie Schwachstellen-Scans oder Penetrationstests laufen lässt. Findet sich eine Schwachstelle in einer solchen Industriesteuerung, kann diese in den seltensten Fällen vom Nutzer selbst beseitigt werden. Der Hersteller ist dann gefragt, ein Update zu entwickeln und bei seinen Kunden zu installieren – oft ein langwieriger und teurer Prozess. In vielen Firmen liegt die Hoheit für die Produktionsumgebungen und die dazugehörigen Netzwerke nicht bei der zentralen IT, sondern bei den entsprechenden Fachabteilungen. Hier fehlt oft das Verständnis für die Belange der IT Security: Warum soll man ein System absichtlich mit zusätzlichem Traffic belasten, ohne vorher genau zu wissen, was es bringt und welche Folgen dies hat? Ist ein System geschäftskritisch, ist diese Frage berechtigt: Denn das Risiko, dass der Schwachstellen-Scan zu Instabilitäten führt, ist real. Dennoch kann es keine Lösung sein, Schwachstellen-Scans deshalb gänzlich abzublocken.
Besser als ein Kompromiss: passives Scannen
Um all diese Unwägbarkeiten zu vermeiden und dennoch die möglichen Schwachstellen unter Kontrolle zu behalten, erweisen sich passive Scans als nützlich. Während ein aktiver Scan gezielt auf die Systeme zugreift und sie untersucht, analysiert ein passiver Scanner den laufenden Traffic praktisch nebenbei mit.
Dafür wird ein Mirror Port geschaltet: Von dem Port, an dem der Traffic der zu untersuchenden Geräte gebündelt wird, wird der gesamte Verkehr an einen Spiegel-Port des Switch weitergeleitet. Im Idealfall weist das zu scannende Netzwerk eine sinnvolle Separierung auf und über den anvisierten Port läuft Datenverkehr eines ganzen Netzwerkbereiches, nicht nur eines einzelnen Gerätes. Passive Scanner analysieren nun kontinuierlich im laufenden Betrieb den Datenstrom an beliebig vielen Netzwerkknotenpunkten, wie beispielsweise am Übergang vom Produktions-VLAN zum restlichen Firmennetzwerk.
Zwar ist ein passiver Schwachstellen-Scan weniger umfassend als ein aktiver Scan, der gleichzeitig ein umfangreiches Bild aller offenen Netzwerkdienste erfasst. Trotzdem können passive Scans zahlreiche Details aus den Daten herauslesen. Beispielsweise kann der Scanner aus dem Zugriff auf einen Webserver ersehen, ob dieser möglicherweise veraltet ist und kritische Schwachstellen aufweist. Er erkennt typische Probleme mit Third-Party-Applikationen, wie etwa dringend notwendige Updates für Java oder den Flash Player. Klassische Linux-Schwierigkeiten identifiziert der passive Scanner ebenfalls zuverlässig: veraltete Apache-Versionen, Probleme verursacht durch Bugs wie zum Beispiel Heartbleed (ein schwerwiegender Programmierfehler in älteren Versionen der Open-Source-Bibliothek OpenSSL) oder Shellshock (eine Sicherheitslücke in der verbreiteten Unix Shell Bash). Gerade Embedded-Systeme basieren oft auf Unix, Linux oder diversen anderen Derivaten. Sie werden auf Basis offen zugänglicher Bibliotheken und Shells programmiert und sind demnach auch von den entsprechenden Schwachstellen betroffen.
Von Risikoakzeptanz und Schwachstellen-Management
Gerade wenn Schwachstellenscans zum ersten Mal durchgeführt werden, liefern sie lange Listen an Lücken und Handlungsempfehlungen. Nicht alle Meldungen haben die gleiche Relevanz – bei manchen muss man sich die Entstehung sehr genau ansehen, um zu beurteilen, ob dahinter wirklich ein Fehler im Sinne einer IT-Schwachstelle steckt. Hier ist sehr viel Know-how und Erfahrung gefragt, um unnötige Eingriffe ins System zu vermeiden. Externe Experten können helfen, Zeit und Geld zu sparen.
Bei Embedded-Systemen ist es, wie beschrieben, nicht immer einfach, einen Fehler zu beheben. Wenn es beispielsweise ohne die Zuarbeit durch den Hersteller gar nicht möglich ist, eine Lücke zu schließen, ist es manchmal notwendig, ein Gerät zu isolieren. Es muss schlimmstenfalls komplett vom Netzwerk getrennt werden, um kein Sicherheitsrisiko darzustellen. Meistens hilft aber eine kühle Nutzen-Aufwand-Abwägung, um solche drastischen Schritte zu vermeiden. Sprich: Man setzt den Aufwand für die Reparatur der Schwachstelle mit den Auswirkungen, die ein Hack haben kann, ins Verhältnis. Hier wird ein Krankenhaus, bei dem Menschenleben von funktionierenden Maschinen abhängen, sicher anders entscheiden als ein Mittelständler, dessen Drucker aufgrund von Schwachstellen ausfallen könnten. Wofür die Infrastruktur benötigt wird und welche Folgen ein Ausfall oder das Eindringen eines Angreifers haben kann, entscheidet darüber, welches Risiko akzeptabel ist.
Besser als nichts tun
Ein passiver Schwachstellen-Scan ist aus mehreren Gründen sinnvoll: Zum einen zeigt er Schwachstellen in der Infrastruktur und den Embedded-Systemen auf und kann auch eingesetzt werden, wenn das Risiko eines aktiven Scans, aus welchen Gründen auch immer, zu hoch ist. Zum anderen setzt bei den Verantwortlichen, die sich bisher gegen aktive Tests sträubten, erfahrungsgemäß ein Lernprozess ein. Anhand erkannter Lücken lässt sich sehr gut nachweisen, wie sinnvoll diese Teildisziplin der IT Security ist. Idealerweise lässt sich der Prozess dann nicht nur um gut geplante aktive Scans erweitern, sondern dauerhaft etablieren. Aus einem einmaligen Schwachstellen-Scan sollte sich möglichst ein kontinuierliches Schwachstellen-Management entwickeln, welches fest innerhalb der IT Security verankert ist. Regelmäßige Scans, der Aufbau von eigenem Know-how und ein fester Prozess, wie mit den gefundenen Unzulänglichkeiten umzugehen ist, reduzieren schon in kurzer Zeit das Sicherheitsrisiko erheblich.
Sebastian Brabetz (mod IT Services)