-

Security-Anweisungen für PLCnext Engineer

Dieses Thema beschreibt den Umgang im Sinne der Security-Regeln mit der PLCnext Engineer-Software und den damit erzeugten Solutions/Daten im Hinblick auf folgende Aspekte: Folgende Abschnitte sind vorhanden:

Weitere Infos
Beachten Sie neben diesen Informationen auch die Informationen in den folgenden Themen:Lesen Sie auch die Security-relevanten Informationen im PLCnext Info Center. Dort finden Sie wertvolle Informationen und praxisbezogene Anwendertipps zur PLCnext Technology-Steuerungsplattform und zu PLCnext Engineer.

Hinweis
Einige Software-Einstellungen sind nur möglich, nachdem Sie PLCnext Engineer als Administrator gestartet haben. Dazu gehören zum Beispiel das Installieren von Zertifikaten in PLCnext Engineer oder Einstellungen, die sich auf die Manipulationserkennung mit dem ChecksumCalculator-Tool beziehen.
Security-relevante Einstellungen durch den Administrator sind im 'Optionen'-Dialog möglich.

Allgemeine Maßnahmen für PC-basierte Software

PLCnext Engineer kann das Gerät oder die Lösung manipulieren. Um das Risiko der Manipulation zu reduzieren, führen Sie regelmäßig Security-Bewertungen durch.

PC-basierte Härtungs- und Organisationsmaßnahmen

Schützen Sie PCs, die im Bereich der Automatisierungslösungen eingesetzt werden, gegen Security-relevante Manipulationen. Dabei helfen u. a. die folgenden Maßnahmen:

  • Booten Sie Ihren PC regelmäßig und nur von manipulationsgeschützten Datenträgern.
  • Richten Sie restriktive Zugriffsrechte für diejenigen Personen ein, für die eine Autorisierung unbedingt erforderlich ist.
  • Schützen Sie Ihre Systeme mit starken Passwörtern vor ungewollten Zugriffen und definieren Sie Regeln, um diese stark zu halten.
  • Verschlüsseln Sie Ihre Projektdaten.
  • Deaktivieren Sie nicht genutzte Dienste.
  • Deinstallieren Sie nicht genutzte Software.
  • Verwenden Sie ein geeignetes und aktuelles Programm zur Erkennung von Viren und Schadsoftware.
  • Verwenden Sie eine Firewall zur Beschränkung des Zugriffs.
  • Schützen Sie wichtige Verzeichnisse und Daten mithilfe von Whitelist-Tools gegen nicht autorisierte Veränderungen.
  • Aktivieren Sie die Security-relevante Ereignisprotokollierung gemäß der Sicherheitsrichtlinie und den gesetzlichen Bestimmungen zum Datenschutz.
  • Aktivieren Sie den Aktualisierungsmechanismus gemäß der Sicherheitsrichtlinie.
  • Aktivieren Sie die automatische Bildschirmsperre und die Abmeldung nach einer bestimmten Zeit der Inaktivität.
  • Erstellen Sie regelmäßige Backups.
  • Verwenden Sie nur Daten und Software aus zugelassenen Quellen.
  • Folgen Sie keinen Hyperlinks Liste aus unbekannten Quellen, z.B. in E-Mails.

Aktuelle Software verwenden

  • Verwenden Sie auf Ihrem PC immer die aktuellste PLCnext Engineer-Version und Betriebssystem-Version.
  • Prüfen Sie die verfügbaren PLCnext Engineer-Updates auf der jeweiligen Produktseite von Phoenix Contact: www.phoenixcontact.net/product/1046008
  • Beachten Sie die Change Notes zur jeweiligen Software-Version.
  • Beachten Sie die Webseite des Product Security Incident Response Teams (PSIRT) von Phoenix Contact bezüglich Security-Hinweise zu veröffentlichten Sicherheitslücken.

    Sie können die PSIRT-Website auch über das 'Hilfe'-Menü in PLCnext Engineer öffnen.

Verifizierung der Integrität der heruntergeladenen Installationsdatei

Um der Norm IEC 62443 zu entsprechen, müssen Sie vor der Installation verifizieren, dass die heruntergeladene PLCnext Engineer-Installationsdatei nicht verfälscht/manipuliert wurde.

Zu diesem Zweck vergleichen Sie die SHA256-Prüfsumme, die für jede Software im PHOENIX CONTACT Download Center hinterlegt ist, mit der Prüfsumme der heruntergeladenen Datei übereinstimmt.

Beispiel

Nach dem Herunterladen der Installationsdatei berechnen Sie mit einem geeigneten Tool die SHA256-Prüfsumme über die heruntergeladene Datei. Wenn die berechnete SHA256-Prüfsumme identisch wie die im PHOENIX CONTACT Download Center gezeigte Prüfsumme ist, darf die Installationsdatei ausgeführt werden.

Beispiel

Schutz von Projektdaten auf der Festplatte und während der Übertragung

PLCnext Engineer speichert aktuell Klardaten, d.h. nicht verschlüsselte Daten, auf der Festplatte Ihres Computers. Dies gilt auch für Projektarchive und exportierte Bibliotheken. Die Daten sind damit nicht geschützt gegen Manipulation und Diebstahl.

Verwenden Sie eine geeignete Verschlüsselungsmethode, um

Geeignete Methoden können Verschlüsselungs- und Signierungstools bieten, die dem OpenPGP-Standard (gemäß RFC 4880) entsprechen (z.B. PGP oder GnuPG). Zur Verschlüsselung von Projektdaten auf Ihrer Festplatte können zum Beispiel FDE-Tools (Full Disk Encryption) verwenden werden (beispielsweise BitLocker). WinZip-Archive mit Kennwort können helfen, Projektdateien/-archive oder veröffentlichte Bibliotheken zu schützen.

Zusätzlich können Sie mit Hilfe eines Versionskontrollsystems (VCS) mit gesichertem Repository Ihre Solution-Daten auf der Festplatte oder einem Netzwerklaufwerk schützen.

Empfehlung: Verschlüsselung auf dem gesamten Übertragungsweg der Daten

Projektdaten mit Hilfe eines Versionskontrollsystems (VCS) schützen

Solution-Daten auf Ihrer Festplatte oder auf einem Netzlaufwerk könnten von externen Angreifern manipuliert werden. Ein mögliches Bedrohungsszenario ist, dass ein Angreifer den Quellcode Ihrer Solution vollständig ersetzt. So könnten beispielsweise die aktuellen Solution-Daten durch eine veraltete und (noch) fehlerhafte Version ersetzt werden, die dann auf die Steuerung geschrieben und in Betrieb genommen werden könnte, wenn der Vorgang nicht erkannt wird.

Eine mögliche Schutzmaßnahme gegen diese Manipulationsgefahr ist der Einsatz eines Versionskontrollsystems zum Speichern, Archivieren und Versionieren der PLCnext Engineer-Projekte.

Bitte beachten Sie dabei, dass auch ein VCS vor unberechtigtem Zugriff und damit vor Manipulationen geschützt sein sollte. Dies gilt sowohl für die Kommunikation zwischen den VCS Clients (in unserem Fall PLCnext Engineer) und dem Server, auf dem das Repository gehostet wird, als auch für das Repository selbst.

Ein weiterer Vorteil eines VCS ist, dass im Repository protokolliert wird, welcher PLCnext Engineer-Benutzer welche Änderungen durchgeführt hat und zu welchem Zeitpunkt. Aktuell werden in PLCnext Engineer nur Änderungen für den sicherheitsbezogenen Bereich protokolliert.

Weitere Infos
Weitere Details finden Sie im Thema " Versionsverwaltung mit einem VCS".

Installationsprüfung / Manipulationserkennung (Informationen für den Administrator)

Hinweis
Standardmäßig ist der Zugriff auf das PLCnext Engineer-Installationsverzeichnis für Anwender mit Admin-Rechten beschränkt.

Sie müssen die Integrität der PLCnext Engineer-Installation kontinuierlich prüfen. Verwenden Sie in erster Linie ein Standard-Windows-Tool, um zu verifizieren, dass die PLCnext Engineer-Installation nicht manipuliert/verfälscht wurde.

Alternativ können Sie zu diesem Zweck das Tool ChecksumCalculator von Phoenix Contact verwenden.

Hinweis
Anstelle des hier beschriebenen Tools ChecksumCalculator kann jede andere geeignete Software verwendet werden.

Das Tool ChecksumCalculator ermöglicht die Berechnung von Prüfsummen über einzelne Dateien oder ganze Verzeichnisse (bei Bedarf inklusive Unterordner). Es kann für das Installationsverzeichnis von PLCnext Engineer ausgeführt werden und so eine Prüfsumme für die PLCnext Engineer-Softwareinstallation liefern.

Die auf diesem Wege gewonnene Prüfsumme schließt folgende Einstellungen in der Software mit ein:

Einstellungen durch den Anwender (z.B. im Optionen'-Dialog) sind für diese Art der Manipulationserkennung nicht relevant, da sie keine Änderungen im Installationsverzeichnis von PLCnext Engineer zur Folge haben.

Der ChecksumCalculator ist kommandozeilenorientiert. ChecksumCalculator.exe -? zeigt Hilfeinformationen zu verfügbaren Argumenten an. Mit dem Argument -o lassen sich die berechneten Prüfsummen in eine Datei ausgeben, welche Sie dann archivieren können.

Gehen Sie folgendermaßen vor:

Hinweis
ChecksumCalculator (oder jedes andere geeignete Tool) darf nur von einem vertrauenswürdigen Datenmedium ausgeführt werden.

  1. Schließen Sie alle Dateien und/oder Unterordner der PLCnext Engineer-Installation aus der Prüfsummenberechnung aus, die im Rahmen der normalen Software-Verwendung regulär geändert werden. Auf solche Dateien kann der ChecksumCalculator während des Betriebs möglicherweise nicht zugreifen oder es ist keine zuverlässige Manipulationserkennung möglich, weil sich ihre Prüfsummen häufig ändern. ChecksumCalculator bietet Befehlsargumente zum Ausschluss einzelner Dateien (-x) sowie ganzer Ordner (-X).
  2. Führen Sie ChecksumCalculator erstmals nach dem Installieren und Einrichten von PLCnext Engineer aus.
  3. Notieren Sie die berechneten Prüfsummen oder archivieren Sie die ausgegebene Textdatei, die ChecksumCalculator erzeugt hat.
  4. Führen Sie in der Folge ChecksumCalculator regelmäßig aus und vergleichen Sie die ausgegebenen Prüfsummen mit den anfangs berechneten und archivierten CRCs.

Auf diese Weise lässt sich jede Veränderung an der PLCnext Engineer-Installation an abweichenden Prüfsummen erkennen.

Von einem Wechseldatenträger oder Netzlaufwerk geöffnete Projekte

Wird ein Projekt von einem Wechseldatenträger (z.B. USB-Stick) oder Netzlaufwerk geöffnet, dann erzeugt PLCnext Engineer Schattenkopien. Solange das Projekt geöffnet bleibt und editiert/gespeichert wird, werden diese Schattenkopien verwendet. Beim Schließen des Projekts werden die Kopien automatisch entfernt.

Die Schattenkopien werden auf Ihrem Computer unter %APPDATA%\Roaming\PHOENIX CONTACT\PLCnext Engineer\${Version}\SHADOW abgelegt.

Beachten Sie, dass diese Schattenkopien eine potenzielle Gefährdung der Sicherheit darstellen können, weil sie z.B. verändert, ersetzt, verschoben, gelöscht oder gelesen/kopiert werden könnten.

Empfehlung: Schließen Sie in PLCnext Engineer Projekte, die Sie von den genannten Speichermedien geöffnet haben, nach deren Verwendung. Dann werden die Schattenkopien von Ihrem PC entfernt und stellen kein potenzielles Sicherheitsrisiko mehr dar.

Security-bezogene Besonderheiten hinsichtlich des Application Control Interface (ACI)

Das Application Control Interface (ACI) ist eine interne Schnittstelle des PLCnext Engineer, die den Fernzugriff auf das Engineering-Tool sowie dessen Fernsteuerung erlaubt. Das ACI ist die einzige Möglichkeit, PLCnext Engineer ohne seine Benutzeroberfläche zu verwenden.

Das ACI muss über ein Kontrollkästchen im 'Optionen'-Dialog aktiviert/deaktiviert werden: Wählen Sie 'Extras > Optionen' und dann die Kategorie 'Administration | Application Control Interface'.

Hinweis
Das Aktivieren/Deaktivieren des ACI nur möglich, nachdem Sie PLCnext Engineer mit Windows-Administratorrechten gestartet haben und solange kein Projekt geöffnet ist.

Über das ACI kann eine externe Applikation dieselben Operationen ausführen, wie über die PLCnext Engineer-Benutzeroberfläche. Im Hinblick auf die Security des Engineering-Tools und des gesteuerten Automatisierungssystems ergeben sich aus der Möglichkeit der Fernsteuerung bestimmte Gefährdungen:

Eine nicht-autorisierte Applikation kann PLCnext Engineer über das ACI steuern. Die Kommunikationsverbindung wird möglicherweise nicht zwischen PLCnext Engineer und dem ACI-Client hergestellt, sondern das Engineering-Tool wird mit der Applikation eines Angreifers verbunden.
Folgende Schadensszenarien sind denkbar.

Um die nicht-autorisierte Kommunikation über das ACI zu verhindern, wird die Verbindung zwischen einem ACI-Client und PLCnext Engineer mit Hilfe eines auf dem Engineering-PC gespeicherten Cookies abgesichert. Dieses Cookie ist verschlüsselt (über Windows Data Protection API) und deshalb fest mit einem bestimmten Benutzer-Login verbunden. Durch Verifizieren des Cookies beim Verbindungsaufbau kann die Authentizität des ACI-Client und der PLCnext Engineer-Instanz verifiziert und somit die Autorisierung der Verbindung sichergestellt werden.

Beachten Sie im Hinblick auf die Cyber Security des ACI folgende Punkte: