Forbach & Partners EN Erstgespräch

Nur lesen: Wie wir Schreibzugriffe auf die CNC-Steuerung technisch ausschließen

Ein Überwachungssystem an der Steuerung darf nichts verändern können, auch nicht durch einen Programmfehler. Wir sichern den Schreibschutz deshalb in vier voneinander unabhängigen Ebenen ab.

Wer ein Überwachungssystem an eine CNC-Steuerung anschließt, öffnet eine Tür zur wichtigsten Komponente der Maschine. Über OPC UA lassen sich bei SINUMERIK und HEIDENHAIN nicht nur Werte lesen. Die Schnittstelle bietet je nach Konfiguration auch Funktionen zum Schreiben von Variablen, zum Aufrufen von Methoden und zum Anlegen oder Löschen von Knoten. Für die Zustandsüberwachung einer Spindel braucht man davon nichts. Deshalb ist bei uns „nur lesen“ keine Einstellung, sondern eine Eigenschaft der Software, die in vier unabhängigen Ebenen durchgesetzt wird. Dieser Artikel zeigt, wie der Schreibschutz für die CNC-Steuerung technisch aufgebaut ist und warum er für Instandhaltung, IT und Betriebsrat gleichermaßen zählt.

Warum ein Überwachungssystem nie schreiben darf

Ein einziger ungewollter Schreibzugriff kann an einer Werkzeugmaschine echten Schaden anrichten: ein geänderter Parameter, eine angewählte Programmnummer, ein quittierter Alarm, den der Bediener noch hätte sehen müssen. Im Bedrohungsmodell unseres Systems stehen deshalb die Verfügbarkeit und Sicherheit der Maschine an erster Stelle, noch vor dem Schutz der Messdaten.

Die Gefahr kommt dabei nicht nur von außen. Auch ein Programmfehler, eine fehlerhafte Bibliothek oder eine falsche Konfiguration könnten eine verändernde Anfrage auslösen. Ein Versprechen im Datenblatt reicht dafür nicht. Der Schutz muss so gebaut sein, dass er auch dann hält, wenn eine Ebene versagt.

Grundsatz

Unser System liest Drehzahl, Last und Alarme aus der Steuerung und misst Schwingungen mit einem eigenen Sensor am Spindelgehäuse. Es ändert keine Parameter, wählt keine Programme an, quittiert keine Alarme und überträgt keine Dateien zur Steuerung. Diese Funktionen sind nicht abgeschaltet. Sie sind nicht vorhanden.

Schreibschutz für die CNC-Steuerung in vier Ebenen

Die vier Ebenen arbeiten unabhängig voneinander. Jede für sich würde einen Schreibzugriff bereits verhindern. Zusammen schließen sie auch Fehler aus, die eine einzelne Ebene übersehen könnte.

1 Kein Schreibcode Treiber kennt nurLesen und Abonnieren 2 Vorgelagerte Sperre Positivliste prüftjede Anfrage 3 Automatische Tests Quelltext-Prüfungund Simulator 4 Lese-Benutzer nur Leserechtean der Steuerung Software der Box Steuerung
Die ersten drei Ebenen liegen in unserer Software, die vierte an der Steuerung selbst. Damit ein Schreibzugriff durchkäme, müssten alle vier gleichzeitig versagen.

Ebene 1: Es gibt keinen Schreibcode

Die Schnittstelle, über die unsere Software mit einer Steuerung spricht, kennt genau fünf Funktionen: Verbindung aufbauen, Verbindung trennen, konfigurierte Signale lesen, eingegangene Alarme abholen und den Verbindungsstatus abfragen. Eine Funktion zum Schreiben, zum Aufrufen von Methoden oder zum Steuern ist in der Schnittstelle bewusst nicht vorgesehen. Jeder Treiber für eine Steuerungsfamilie muss sich an diese Schnittstelle halten. Der übrige Code der Box kann einen Schreibbefehl also gar nicht formulieren.

Ebene 2: Die vorgelagerte Sperre mit Positivliste

Jede OPC-UA-Anfrage unserer Software läuft durch eine einzige Stelle im Programm, bevor sie ins Netz geht. Genau dort sitzt eine Sperre, die jede Anfrage gegen eine Positivliste prüft. Nur Dienste, die nichts auf der Steuerung verändern können, kommen durch. Alles andere wird abgewiesen, bevor ein einziges Byte gesendet wird. Die Sperre wird eingesetzt, bevor die Verbindung zur Steuerung überhaupt aufgebaut wird.

Wichtig ist der Unterschied zwischen Positiv- und Verbotsliste. Eine Verbotsliste zählt auf, was nicht erlaubt ist. Sie hat eine Lücke, sobald es eine Anfrageart gibt, an die niemand gedacht hat, etwa nach einem Update der OPC-UA-Bibliothek. Eine Positivliste dreht das um: Erlaubt ist nur, was ausdrücklich freigegeben ist. Eine unbekannte Anfrageart wird automatisch blockiert. Unser erster Entwurf arbeitete tatsächlich mit einer Verbotsliste. Die eigenen Tests haben ihn als lückenhaft entlarvt, deshalb ist die Positivliste heute die maßgebliche Ebene.

Ebene 3: Automatische Tests bei jeder Änderung

Die dritte Ebene sind Tests, die bei jeder Änderung am Code laufen. Sie prüfen den Schreibschutz von mehreren Seiten:

  • Ein Test durchsucht den gesamten Quelltext der Box nach Aufrufen, die auf einem OPC-UA-Server etwas verändern, etwa Werte schreiben, Methoden aufrufen oder Knoten anlegen und löschen. Findet er einen, schlägt die Prüfung fehl.
  • Ein weiterer Test stellt sicher, dass diese Suche einen eingeschleusten Schreibaufruf auch wirklich erkennt. So kann die Prüfung nicht unbemerkt wirkungslos werden.
  • Für jede verändernde Anfrageart wird geprüft, dass die Sperre sie blockiert, und dass keine davon in der Positivliste steht.
  • Ein Test gegen unseren Steuerungssimulator zeigt, dass Lesen funktioniert, ein Schreibversuch und ein Methodenaufruf aber an der Sperre scheitern. Der Simulator registriert dabei keinen einzigen Methodenaufruf.

Diese Tests laufen auch nach jedem Update der OPC-UA-Bibliothek. Ändert die Bibliothek ihren inneren Aufbau so, dass die Sperre nicht mehr greift, fällt das sofort auf, bevor eine neue Version ausgeliefert wird.

Ebene 4: Ein Benutzer mit minimalen Rechten an der Steuerung

Die letzte Ebene liegt außerhalb unserer Software. An der Steuerung wird ein eigener Benutzer für die Box angelegt, der nur Leserechte hat. Bei SINUMERIK sind das die Rechte SinuReadAll und AlarmRead. Bei HEIDENHAIN wird eine Rolle mit reinen Leserechten in der Benutzerverwaltung vergeben, die genauen Bedienschritte stimmen wir bei der Inbetriebnahme mit Ihnen ab. Selbst wenn die Ebenen 1 bis 3 alle versagen würden, lehnt die Steuerung einen Schreibversuch dann selbst ab. Die Einrichtung dieses Benutzers prüfen wir vor Ort und dokumentieren sie. Wie die Verbindung im Detail eingerichtet wird, beschreibt der Artikel SINUMERIK und HEIDENHAIN per OPC UA anbinden.

Welche OPC-UA-Dienste erlaubt sind und welche nicht

OPC UA ist in Dienste gegliedert. Jede Anfrage eines Clients gehört zu genau einem Dienst. Die Positivliste in unserem System lässt nur Dienste durch, die Daten lesen oder die eigene Sitzung und die eigenen Abonnements verwalten. Abonnements und Sitzungen sind dabei Verwaltungsdaten unserer Verbindung, nicht der Maschine.

Positivliste der Box, Stand dieses Artikels
BereichErlaubtBlockiert
Sitzung und ServerSitzung anlegen, aktivieren, schließen; Endpunkte und Server abfragenServer registrieren (RegisterServer, RegisterServer2)
DatenRead, HistoryReadWrite, HistoryUpdate
AdressraumBrowse, BrowseNext, Pfade in Knoten-IDs übersetzen, Lese-Aliase registrieren und freigebenAddNodes, DeleteNodes, AddReferences, DeleteReferences
MethodenkeineCall (jeder Methodenaufruf)
AbonnementsAbonnements und überwachte Elemente anlegen, ändern, löschen; Publish, Republishnichts darüber hinaus
Alles anderenichtsjeder nicht aufgeführte Dienst, auch künftige

Bemerkenswert ist der Methodenaufruf. Über Methoden bieten Steuerungen Funktionen wie Programmanwahl oder Dateiübertragung an. Unser System ruft keine einzige Methode auf, auch keine scheinbar harmlose. Alarme empfängt die Box als Ereignisse über ein Abonnement, nicht über einen Methodenaufruf.

Begrenzte Abfragerate schützt die Steuerung

Schreibschutz ist nur ein Teil davon, die Steuerung nicht zu beeinträchtigen. Auch zu häufiges Lesen kann eine Steuerung belasten, deren eigentliche Aufgabe die Bearbeitung ist. Unser System liest deshalb standardmäßig einmal pro Sekunde. Kürzere Abstände als 0,1 Sekunden lehnt bereits die Prüfung der Konfiguration ab. Diese Untergrenze orientiert sich an der Mindestabtastzeit, die Siemens für SINUMERIK angibt. Alle konfigurierten Signale werden dabei in einer gemeinsamen Anfrage gelesen, nicht einzeln.

Für die Spindelüberwachung reicht diese Rate aus. Die Steuerung liefert Drehzahl und Last als Zusatzinformation. Die eigentliche Schwingungsmessung mit hoher Abtastrate kommt vom Sensor am Spindelgehäuse und belastet die Steuerung überhaupt nicht. Mehr zur Aufteilung zwischen Box, Sensor und Steuerung lesen Sie im Artikel Aufbau der Edge-Box.

Abfrageintervall Standard 1,0 s Untergrenze 0,1 s (kürzere Werte werden abgelehnt) Signale je Abfrage alle in einer gemeinsamen Leseanfrage Schwingung eigener Sensor, keine Last für die Steuerung

Verschlüsselte Verbindung und geprüfte Gegenstelle

Neben dem Schreibschutz sichern wir auch die Verbindung selbst. Der Normalfall ist eine verschlüsselte OPC-UA-Verbindung mit der Sicherheitsrichtlinie Basic256Sha256 im Modus „Sign and Encrypt“. Sobald verschlüsselt wird, verlangt unsere Konfiguration das Zertifikat der Steuerung. Ohne dieses Zertifikat würde die Box jeder Gegenstelle vertrauen, die sich als Steuerung ausgibt. Das Passwort des Lese-Benutzers steht nie in der Konfigurationsdatei, sondern nur in einer Umgebungsvariablen der Box. Wie die Box sich ihrerseits ausweist, beschreibt der Artikel Gerätezertifikate und signierte Updates.

Was „nur lesen“ für Gewährleistung, Betriebsrat und IT bedeutet

Instandhaltung und Gewährleistung: Eine häufige Sorge ist, dass ein fremdes System an der Steuerung die Gewährleistung oder den Servicevertrag mit dem Maschinenhersteller berührt. Unser System verändert weder Maschinendaten noch NC-Programme noch Parameter. Damit stellt sich nicht die Frage, ob ein Dritter etwas an der Maschine verstellt hat. Was Ihr Vertrag im Einzelnen regelt, klären Sie bitte mit dem Maschinenhersteller. Der Nachweis, dass die Box nur liest, liegt in Form der vier Ebenen vor und lässt sich an der Steuerung über die Rechte des Lese-Benutzers selbst prüfen.

Betriebsrat: Der Betriebsrat fragt vor allem, ob das System Verhalten oder Leistung von Beschäftigten überwachen kann. Technische Einrichtungen, die dazu geeignet sind, unterliegen in Deutschland der Mitbestimmung nach § 87 Abs. 1 Nr. 6 BetrVG. Unser System erfasst Maschinendaten und keine Daten über Bediener. Es ist ausschließlich auf den Zustand von Spindel und Spindellager ausgerichtet. Dass es zudem nichts an der Maschine verändern kann, nimmt eine zweite Sorge vorweg: Niemand kann über das System in die Arbeit an der Maschine eingreifen.

IT und OT-Sicherheit: Für die IT zählt, dass ein kompromittiertes System nicht zum Werkzeug gegen die Maschine wird. Durch die Positivliste und den Lese-Benutzer bleibt der mögliche Schaden selbst im schlimmsten Fall auf das Mitlesen von Werten begrenzt. Die Box nimmt zudem keine Verbindungen von außen an und sendet nur ausgehend. Eine Übersicht aller Maßnahmen finden Sie auf der Seite Datensicherheit.

So prüfen Sie den Schreibschutz bei uns selbst

Sie müssen uns nicht glauben, Sie können nachsehen. Bei der Inbetriebnahme legen Sie oder Ihr Steuerungsbetreuer den Lese-Benutzer selbst an und sehen, welche Rechte er hat. Das Zertifikat der Box wird an der Steuerung von Hand als vertrauenswürdig eingetragen, die Box zeigt dafür die Fingerabdrücke zum Vergleich an. Beim ersten Termin durchsucht die Box den Adressraum der Steuerung nur lesend, mit derselben Sperre wie im späteren Betrieb, und erstellt daraus eine Tabelle der verfügbaren Signale. Wie dieser Termin abläuft, steht auf der Seite Ablauf. Fragen zur Freigabe in Ihrem Haus beantworten wir gern im Erstgespräch.

Häufige Fragen

Kann ein Überwachungssystem per OPC UA Parameter an der CNC-Steuerung ändern?

Grundsätzlich bietet OPC UA Schreib- und Methodenfunktionen an. Unser System kann sie nicht nutzen: Die Software enthält keinen Schreibcode, eine Positivliste blockiert jede verändernde Anfrage vor dem Senden, Tests prüfen das bei jeder Änderung, und der Benutzer an der Steuerung hat nur Leserechte.

Welche Rechte braucht der OPC-UA-Benutzer an der SINUMERIK?

Für unser System genügen reine Leserechte, bei SINUMERIK die Rechte SinuReadAll und AlarmRead. Schreib- oder Verwaltungsrechte sind nicht nötig und werden nicht eingerichtet.

Belastet die Abfrage die Steuerung während der Bearbeitung?

Die Box liest standardmäßig einmal pro Sekunde alle Signale in einer gemeinsamen Anfrage. Kürzere Abstände als 0,1 Sekunden lässt die Konfiguration nicht zu. Die Schwingungsmessung läuft über einen eigenen Sensor und belastet die Steuerung nicht.

Was passiert, wenn ein Update der Software einen Fehler enthält?

Die Positivliste blockiert auch dann jede verändernde Anfrage, und der Lese-Benutzer an der Steuerung würde einen Schreibversuch ablehnen. Zusätzlich laufen die Tests zum Schreibschutz vor jeder Auslieferung, auch nach Updates der verwendeten Bibliotheken.

Muss der Betriebsrat einem Überwachungssystem an der Maschine zustimmen?

Das hängt davon ab, ob das System Verhalten oder Leistung von Beschäftigten überwachen kann. Unser System erfasst Maschinendaten zum Zustand von Spindel und Lager, keine Bedienerdaten. Die Bewertung im Einzelfall treffen Sie mit Ihrem Betriebsrat, wir stellen die nötigen Informationen bereit.

Sascha P. Forbach

Über den Autor

Sascha P. Forbach ist Gründer von Forbach & Partners und Software-Architekt der Spindelüberwachung. Seit zwölf Jahren berät er produzierende Betriebe zu Prozessqualität und Anlagenverfügbarkeit. Mehr über uns

Nächster Schritt

Ist Ihre Steuerung anbindbar? In 20 Minuten wissen Sie es.