Industrie-Gateway mit Linux schützt Automatisierungsgeräte Sicherheit ist kein Zufall

„Embedded-Systeme arbeiten ja nicht mit Windows und sind daher kaum Angriffen ausgesetzt“ – denken viele. Ein anderes Argument lautet: „Unsere Embedded-Geräte sind durch einen Router vom allgemeinen Internet abgeschirmt, da kann nichts passieren.“ Wer seine Embedded-Systeme wirkungsvoll absichern will, verlässt sich weder auf das eine noch das andere, sondern setzt ein Industrie-Gateway ein.

„Embedded-Systeme arbeiten ja nicht mit Windows und sind daher kaum Angriffen ausgesetzt“ – denken viele. Ein anderes Argument lautet: „Unsere Embedded-Geräte sind durch einen Router vom allgemeinen Internet abgeschirmt, da kann nichts passieren.“ Wer seine Embedded-Systeme wirkungsvoll absichern will, verlässt sich weder auf das eine noch das andere, sondern setzt ein Industrie-Gateway ein.

In bestehenden TCP/IP-Netzwerken befinden sich neben Automatisierungskomponenten und Embedded-Systemen auch die obligatorischen Desktop-PCs. Da dieses IP-Netz in der Regel auch über einen Internetzugang verfügt, birgt dies die Gefahr externer oder interner Angriffe – auch auf besonders schutzbedürftige Teile des Netzwerks. Die erforderliche Abtrennung und Auslagerung der Embedded-Systeme in ein zweites, gegen Fremdeinwirkung besonders gesichertes Netzwerk ist daher unabdingbar, lässt aber auch keine „freundlichen“ Zugriffe (z.B. durch Servicetechniker) von außen mehr zu. Eine einfache, sichere Lösung dieses Problems, dem sich zukünftig alle Automatisierer stellen müssen, bieten industrielle „Brücken“ (Gateways), die eine gesicherte Kommunikation zwischen den unterschiedlichen IP-Netzen ermöglichen.

Als Betriebssystem für solche Verbindungsgeräte bietet sich Linux geradezu an. Zurzeit verfügt kein anderes 32-bit-Betriebssystem über so ausgefeilte und leistungsfähige Schutzfunktionen wie Linux. Darüber hinaus lässt es sich nahezu frei skalieren und an die zur Verfügung stehende Hardware anpassen.

Um auf Basis von TCP/ IP und Ethernet eine durchgängige Kommunikation mit vorhandenen Embedded-Systemen zu ermöglichen, werden diese bisher vielfach in das vorhandene Firmennetzwerk integriert. Dies erhöht unter anderem die Verfügbarkeit und erleichtert die Wartung dieser Geräte. So können Serviceaufgaben von nahezu jedem in das Netzwerk integrierten Rechner ausgeführt sowie Daten gesammelt und verarbeitet werden. Mit der erhöhten Verfügbarkeit der Geräte steigt allerdings auch das Sicherheitsrisiko in Form unautorisierter Zugriffe beträchtlich an. Der typische Einbruch in ein fremdes System läuft in drei Stufen ab: Als erstes findet die Analyse und Aufdeckung von Sicherheitslücken des fremden Systems statt. Daraufhin erfolgt der Einbruch an sich, indem z.B. eine eventuell vorhandene Fehlkonfiguration oder Sicherheitslücke ausgenutzt wird, die den Zugang zum System erlaubt. Diese werden meist durch die Verwendung spezieller Programme oder Skripte, so genannter „Exploits“, zum Vorschein gebracht. Zu guter Letzt wird ein später immer wieder nutzbarer Zugang eingerichtet und nachverfolgbare Spuren des Einbruchs bestmöglich verwischt.

Die bekanntesten Sicherheitsgefahren außerhalb eines Netzwerkes lauern hierbei unter anderem in Form von Portscans, DoS-Attacken und Spoofing-Angriffen [1].

Angriffsarten

Die in der Automatisierungstechnik gängigen TCP/IP-Protokolle der Anwendungsschicht, wie HTTP, Telnet, FTP etc., setzen in der Regel alle auf dem Client/Server-Modell auf. Durch die Verbindung über TCP (Transmission Control Protocol) kann relativ einfach eine Verbindung zwischen zwei Rechnersystemen hergestellt werden.

Durch einen Portscan ist es für einen Angreifer allerdings keine große Schwierigkeit, herauszufinden, welche TCP-Server aktuell auf einem gescannten System laufen. Dazu werden für eine bestimmte IP-Adresse oder einen zu definierenden Bereich an IP-Adressen alle zur Verfügung stehenden Portnummern abgefragt und es wird nachgesehen, ob und wenn ja, was sich hinter der jeweiligen Portnummer für ein TCP-Server verbirgt. Ist dieser Schritt erst einmal abgeschlossen, wird über die Ausführung eines Exploits versucht, in den betreffenden Server einzudringen.

Ein ganz anderes Ziel als Portscans verfolgen Angriffe auf einen Server mit DoS (Denial of Service) oder DDoS (Distributed Denial of Service). Dies sind Angriffe, deren Ziel es ist, diesen Server mitsamt seinen Diensten arbeitsunfähig zu machen. Bild 1 zeigt die einzelnen Schritte des TCP-Verbindungsaufbaus zwischen Client und Server. Eine TCP-Verbindung wird immer durch ein vom Client an den Server gesendetes TCP-SYN-Paket eingeleitet. Daraufhin reserviert sich dieser die entsprechenden Ressourcen und antwortet mit einem TCP-SYN-ACK-Paket. Die gesamte Verbindung steht, sobald der Client diese Rückmeldung vom Server mit einem ACK-Paket bestätigt. Im Zuge eines DoS-Angriffs bleibt nun genau dieses letzte Paket aus. Stattdessen sendet der Client immer wieder ein weiteres TCP-SYN-Paket, um weitere Verbindungen zu erzeugen.

Erst vor kurzer Zeit brachten Meldungen über den per E-Mail verbreiteten Backdoor-Virus „MyDoom“ die DoS-Attacken wieder in die Schlagzeilen. Im Unterschied zu anderen Angriffen soll bei DoS-Angriffen nicht in den Computer eingedrungen werden. Daher werden keine Passwörter oder ähnliches benötigt. Das Ziel dieser Angriffe besteht lediglich darin, den laufenden Dienst zu überlasten und den Server durch eine Vielzahl von Seitenabrufen daran zu hindern, die normalen Anfragen zu bearbeiten. Bei einem verteilten DoS-Angriff werden diese Anfragen auf einer großen Anzahl verschiedener Rechner gestartet. Im Fall des Wurms „MyDoom“ wurde so 64 Mal pro Sekunde und von zigtausend Rechnern gleichzeitig eine Anfrage gestartet. In der Folge wird der attackierte Server soweit ausgelastet, dass er nicht mehr in der Lage ist, reguläre Anfragen zu beantworten. Die meisten der für einen solchen Angriff verwendeten Rechner sind dabei selbst mehr Opfer als Täter, da dort meist ohne Wissen der Betreiber ein DoS-Programm installiert wurde.

Neben Portscans und DoS-Attacken ist das so genannte „Spoofing“ eine weitere, oft verwendete Möglichkeit, um unautorisiert in ein fremdes System einzudringen. Dafür werden Pakete mit gefälschten Absenderadressen an einen Server geschickt, um eine bestehende Vertrauensbeziehung zwischen Client und Server auszunutzen und Firewall-Systeme zu unterwandern. Ist ein Spoofing-Angreifer erst einmal in ein System eingedrungen, kann er entweder die bestehende Verbindung übernehmen oder auch Daten abfangen und anschließend unbemerkt weiterleiten. Bei einer Spoofing-Attacke können Angreifer praktisch alle Sicherheitsfunktionen umgehen, solange diese keine sichere Authentifizierung der Kommunikationspartner voraussetzen.