S7-SPS Sicherheitslücke
Alle gängigen Absicherungen eines Anlagennetzes (Routerkonfiguration, Switche, VPN, VLAN, etc.) sind wenig sinnvoll, wenn es nicht eine Zugangs- und Zugriffskontrolle für die Hallen oder Anlagen gibt. Gerade dies ist bei einigen größeren Firmen und Konzernen immer wieder ein Thema, da Zulieferer, Inbetriebnehmer und Lieferanten natürlich nicht 100%tig überprüft werden können. Niemand kann ausschließen das mitgebrachte Geräte etwaige Viren oder Schadsoftware enthalten.
Die Erfahrung zeigt das in Deutschland die wenigsten Inbetriebnehmer auch Sicherheitsexperten sind. Begriffe wie Bad-USB, Stuxnet, etc. haben sich zwar schon rumgesprochen und viele Schwachstellen wurden sukessive geschlossen (L2-Switche wurde durch Level3 ausgetauscht, Router und Firewalls wurden aufgebaut, etc.) aber die eigentliche Schwachstelle in der Anlage ist und bleibt die offene Kommunikationsverbindung zur S7-SPS.
Die S7-SPS arbeitet mit dem RFC1006 (ISO-on-TCP) Protokoll.
Die S7-SPS kann mit ungeordneten, datenstromorientierten TCP-Paketen wenig anfangen. Darum ordnet das auf TCP aufsetzende Protokoll, d.h. der Name "on-TCP", die Pakete und Bytes, so dass die SPS wieder eine saubere Nachricht empfangen kann.
Dafür markiert es die Position der Nutzdaten und enthält u.a. auch eine Endekennung (End of Telegramm EOT)
Das Protokoll erlaubt auch das Schreiben und Lesen von der S7-SPS. Es enthält ein Unterscheidungsmerkmal für verschiedene Verbindungen. Die Transportservice-Zugriffspunkte (Quelle und Ziel)! Diese TSAPs erlauben z.B. die Konfiguration einer Visualisierungsverbindung auf die S7, mittels der spezifischen TSAP-Kennung "0302". Die Kennung 03 steht dabei für die Visu-Verbindung. Die Nachfolgende 0 für das Rack und die 2 für den CPU-Steckplatz. Mit dem Protokoll wird also konfiguriert, wie es genau auf die CPU Zugreifen soll und was es tun soll.
Es gibt KEINE Möglichkeit einen Benutzer oder eine Verbindung genauer zu qualifizieren. Prinzipiell sind alle Verbindungen gleichwertig. Weiterhin ist der TCP-Port 102 standardmäßig geöffnet, um diese Verbindungen überhaupt zuzulassen.
Falls man das Büronetz vom Verwaltungsnetz trennt, bliebe damit die sinnvollste Lösung den Zugriff auf den Port 102 zu beschränken und durch spezifische Firewalls eben nur Remote-Zugriffe von bestimmten IP-Adressen zu erlauben.
Dies löst selbstverständlich noch nicht das Problem der Schadsoftware, z.B. mittels Bad-USB, der sich auch durch Lieferanten direkt an die Anlage oder auch nur im Hallennetz verbeiten könnte.
Grundlegende Sicherheitsempfehlungen:
- Zugriffskontrolle auf die Anlagen
- Berechtigungskonzept (Security Policies) auf die PCs
- Firewall / Router zwischen Anlagen- und Büronetz
- Firewall Port/IP-Berechtigungen auf TCP-Port 102 der S7-SPSen
- USB-Ports an Anlagen/Schulungsrechnern deaktivieren
- Virenscanner auf PGs
- Keine Gruppenpasswörter an der Anlage erlauben
- Lieferanten und Planer für das Thema Sicherheit qualifizieren
- OPC-Serververbindungen überwachen
- Switche und Verteiler per NMS überwachen
Abschließend ist klar zu sagen, dass selbst mit bestimmten Security-Policies (keine USB-Sticks an Anlagen-Rechner, etc.) dennoch niemals eine 100%tige Sicherheit herstellen lässt und Schadsoftware immer wieder den Weg an Steuerungen und Anlagen findet.