Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR PROVIDING CONTROL APPLICATIONS FOR AN INDUSTRIAL AUTOMATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2023/104432
Kind Code:
A1
Abstract:
The invention relates to a method for providing control applications. Each of the control applications (201-204) is provided by a flow control component (131-133), which can be loaded onto a flow control environment (112) formed by means of a server device (100) and can be executed on same. Control applications (201-203) which require selected security authorizations are assigned a respective label (210) as security-critical control applications. For the control applications (201-203) which are assigned a label (210) as a security-critical application, at least one respective flow condition is ascertained for the selected security authorizations. The flow control environment (112) checks for the occurrence of the respective flow condition while the flow control components (131-133) for the control applications are being executed. The execution of each of the flow control components is terminated when the respective flow condition occurs.

Inventors:
ALBRECHT HARALD (DE)
FEIST CHRISTIAN PETER (DE)
Application Number:
PCT/EP2022/081754
Publication Date:
June 15, 2023
Filing Date:
November 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G05B19/042
Domestic Patent References:
WO2020249345A12020-12-17
WO2021104632A12021-06-03
WO2022042905A12022-03-03
WO2020249345A12020-12-17
Foreign References:
EP3557463A12019-10-23
EP3813315A12021-04-28
EP3557463A12019-10-23
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem, bei dem die Steuerungsanwendungen (201-204) jeweils mittels Ablaufsteuerungskomponenten (131-133) bereitgestellt werden, die in eine mittels einer Server-Einrichtung (100) gebildete Ablaufsteuerungsumgebung (112) ladbar und dort ausführbar sind, Steuerungsanwendungen (201-203) , die ausgewählte Sicher- heitsberechtigungen erfordern, jeweils eine Kennzeichnung (210) als sicherheitskritische Steuerungsanwendung zugeordnet wird, für die Steuerungsanwendungen (201-203) , denen eine Kennzeichnung (210) als sicherheitskritische Steuerungsanwendung zugeordnet ist, jeweils zumindest eine Ablaufbedingung für die ausgewählten Sicherheitsberechtigungen festgelegt wird, die Ablaufsteuerungsumgebung (112) während einer Ausführung der Ablaufsteuerungskomponenten (131-133) für die Steuerungsanwendungen jeweils ein Eintreten der jeweiligen Ablaufbedingung überwacht, die Ausführung der Ablaufsteuerungskomponenten jeweils bei Eintreten der jeweiligen Ablaufbedingung beendet wird .

2. Verfahren nach Anspruch 1, bei dem die Ausführung der Ablaufsteuerungskomponenten jeweils durch Ausführung einer in einer Sicherheitsrichtlinie definierten Aktion bei Eintreten der jeweiligen Ablaufbedingung beendet wird. 3 . Verfahren nach Anspruch 2 , bei dem die definierte Aktion ein Stoppen und/oder Löschen der j eweiligen Ablaufsteuerungskomponente umfasst .

4 . Verfahren nach einem der Ansprüche 2 oder 3 , bei dem durch die Sicherheitsrichtlinie j eweils die Ablaufbedingung in Abhängigkeit von der Kennzeichnung der j eweiligen Steuerungsanwendung festgelegt wird .

5. Verfahren nach einem der Ansprüche 1 bis 4 , bei dem durch die Kennzeichnungen der Steuerungsanwendungen eine j eweils anzuwendende Sicherheitsrichtlinie festgelegt wird .

6. Verfahren nach einem der Ansprüche 1 bis 5 , bei dem durch die Kennzeichnungen j eweils Funktionen der Steuerungsanwendungen und/oder zur Bereitstellung der Steuerungsanwendungen benötigte Sicherheitsberechtigungen bezeichnet oder vorgegeben werden .

7 . Verfahren nach einem der Ansprüche 1 bis 6 , bei dem die Kennzeichnungen j eweils als Zeichenkette zu Metadaten für die j eweilige Steuerungsanwendung hinzugefügt werden .

8 . Verfahren nach einem der Ansprüche 1 bis 7 , bei dem die Aus führung der Ablaufsteuerungskomponenten j eweils nur bei noch nicht eingetretener Ablaufbedingung gestartet wird .

9. Verfahren nach einem der Ansprüche 1 bis 8 , bei dem die Ablaufbedingungen j eweils eine maximale Aus führungsdauer für die j eweilige Ablaufsteuerungskomponente umfassen . 10. Verfahren nach einem der Ansprüche 1 bis 9, bei dem die Ablaufsteuerungskomponenten Software-Container sind und bei dem die Ablaufsteuerungsumgebung eine Container- Laufzeitumgebung ist.

11. Verfahren nach Anspruch 10, bei dem Speicherabbilder für die Software-Container aus einem durch eine Vielzahl von Nutzern lesend und/oder schreibend zugreifbaren Speicher- und Bereitstellungssystem abrufbar sind .

12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem die Ablaufsteuerungskomponenten auf jeweils andere Server-Einrichtungen zur dortigen Ausführung migrierbar und/oder auf jeweils anderen Server-Einrichtungen zeitgleich ausführbar sind.

13. System zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem mit einer mittels einer Server-Einrichtung (100) gebildeten Ablaufsteuerungsumgebung (112) , zumindest einer Ablaufsteuerungskomponente (131-133) zur Bereitstellung einer Steuerungsanwendung (201-204) , wobei die Ablaufsteuerungskomponente in die Ablaufsteuerungsumgebung (112) ladbar und dort ausführbar ist, wobei das System dafür eingerichtet ist, dass Steuerungsanwendungen (201-203) , die ausgewählte Sicherheitsberechtigungen erfordern, jeweils eine Kennzeichnung

(210) als sicherheitskritische Steuerungsanwendung zugeordnet wird, und dass für die Steuerungsanwendungen (201-203) , denen eine Kennzeichnung (210) als sicherheitskritische Steuerungs- 21 anwendung zugeordnet ist, jeweils zumindest eine Ablaufbedingung für die ausgewählten Sicherheitsberechtigungen festgelegt wird, wobei die Ablaufsteuerungsumgebung (112) dafür einge- richtet ist, während einer Ausführung der Ablaufsteuerungskomponenten (131-133) für die Steuerungsanwendungen jeweils ein Eintreten der jeweiligen Ablaufbedingung zu überwachen und dass die Ausführung der Ablaufsteuerungskomponenten jeweils bei Eintreten der jeweiligen Ablaufbedingung beendet wird .

Description:
Beschreibung

Verfahren und System zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem

Die vorliegende Erfindung betri f ft ein Verfahren zur Überwachung zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem und ein System zur Durchführung dieses Verfahrens .

Industrielle Automatisierungssysteme umfassen üblicherweise eine Viel zahl von über ein industrielles Kommunikationsnetz miteinander vernetzten Automatisierungsgeräten und dienen im Rahmen einer Fertigungs- oder Prozessautomatisierung zur Steuerung oder Regelung von Anlagen, Maschinen bzw . Geräten . Aufgrund zeitkritischer Rahmenbedingungen in industriellen Automatisierungssystemen werden zur Kommunikation zwischen Automatisierungsgeräten überwiegend Echtzeit-Kommunikationsprotokolle , wie PROFINET , PROFIBUS , Real-Time-Ethernet oder Time-Sensitive Networking ( TSN) , verwendet . Insbesondere können Steuerungsdienste bzw . -anwendungen automatisiert und auslastungsabhängig auf aktuell verfügbare Server oder virtuelle Maschinen eines industriellen Automatisierungssystems verteilt werden .

Unterbrechungen von Kommunikationsverbindungen zwischen Rechnereinheiten eines industriellen Automatisierungssystems oder Automatisierungsgeräten können zu einer unerwünschten oder unnötigen Wiederholung einer Übermittlung einer Dienstanforderung führen . Außerdem können nicht oder nicht vollständig übermittelte Nachrichten beispielsweise einen Übergang oder Verbleib eines industriellen Automatisierungssystems in einen sicheren Betriebs zustand verhindern . Aus EP 3 813 315 Al ist ein Verfahren zur Diagnose des Datenverkehrs in einem Cluster mit mehreren Arbeitsknoten bekannt , bei dem durch die Arbeitsknoten Container bzw . Pods bereitgestellt werden . Mittels eines Cluster-Erfassungsmoduls werden Informationen erfasst , welchen Arbeitsknoten ein Knoten- Erfassungsmodul zugeordnet ist . Empfängt das Cluster-Erfassungsmodul eine Anfrage zum Erfassen von Datenpaketen, kontaktiert das Cluster-Erfassungsmodul die Knoten-Erfassungsmodule der betrof fenen Knoten, und die Knoten-Erfassungsmodule erfassen Datenpakete . Außerdem leiten die Knoten- Erfassungsmodule die erfassten Datenpakete bzw . deren Duplikate an das Cluster-Erfassungsmodul weiter . Das Cluster- Erfassungsmodul leitet die erfassten Datenpakete bzw . Duplikate wiederum an eine j eweils anfragende Einheit weiter .

WO 2021 / 104632 Al betri f ft ein Verfahren zur Erfassung von Datenpakten, die von einem ersten Container innerhalb eines Clusters von Containern stammen . Dabei sind j edem Container mehrere Netzwerk-Schnittstellen zur Übermittlung von Datenpaketen zugeordnet . Sobald eine erste Verbindung zur Übermittlung von Datenpaketen über eine erste Netzwerk-Schnittstelle , die dem ersten Container zugeordnet ist , detektiert wird, wird eine dem ersten Container zugeordnete Kennung in einen der ersten Verbindung zugeordneten Datenstrom eingefügt . Anhand der eingefügten Kennung kann der erste Container zur Erfassung von Datenpakten, die von ihm stammen, identi fi ziert werden .

Die ältere internationale Patentanmeldung WO 2022 / 042905 Al betri f ft ein Verfahren zur Bereitstellung von zeitkritischen Diensten, denen j eweils zumindest eine Server-Komponente zugeordnet ist , die durch eine in eine Ablaufsteuerungsumgebung ladbare und dort aus führbare Ablaufsteuerungskomponente gebildet wird . Für die Server-Komponenten wird j eweils eine Funktionseinheit zur Verarbeitung eines Kommunikationsprotokollstapels verfügbar gemacht , die mit einer der Ablaufsteuerungsumgebung zugeordneten Funktionseinheit zur Verarbeitung eines Kommunikationsprotokollstapels verbunden ist . Die Dienste umfassen j eweils eine Verzeichnisdienst-Komponente zur Ermittlung mittels der Ablaufsteuerungsumgebung bereitgestellter Dienste . Die Verzeichnisdienst-Komponenten werden miteinander über eine separierte Kommunikationsschnittstelle verbunden . Mit der separierten Kommunikationsschnittstelle ist eine mittels einer weiteren Ablaufsteuerungskomponente gebildete Aggregator-Komponente verbunden, die Angaben über die mittels der Server-Komponenten bereitgestellten Dienste außerhalb der Ablaufsteuerungsumgebung verfügbar macht .

Aus WO 2020/249345 Al ist ein Verfahren zur Bereitstellung von Steuerungsanwendungen bekannt , bei dem eine Konfigurationssteuerungseinrichtung von einer Überwachungseinrichtung Kommunikationsnetzadressen von Ablaufsteuerungskomponenten sowie Identi fikatoren der Ablaufsteuerungskomponenten abfragt und diese Informationen den Steuerungsanwendungen zuordnet . Aus den abgefragten Kommunikationsnetzadressen und Identi fikatoren sowie aus Bezeichnungen der Steuerungsanwendungen erzeugt die Konfigurationssteuerungseinrichtung Konfigurationsinformationen für eine Weiterleitungseinrichtung . Die Weiterleitungseinrichtung nimmt Anfragen von Endgeräten zur Nutzung der Steuerungsanwendungen entgegen und leitet diese entsprechend den Konfigurationsinformationen an eine j eweilige Ablaufsteuerungskomponente weiter .

EP 3 557 463 Al betri f ft ein Aus führungsumgebung, um auf Feldgeräten eine Aus führung von manipuliertem Programmcode zu unterbinden . Die Aus führungsumgebung umfasst einen Funktionsspeicher, der zum Speichern von Überprüfungs funktionen eingerichtet ist , sowie einen Konfigurationsspeicher, der zum Speichern von Aus führungsanforderungen für Überprüfungsbereiche eingerichtet ist . Der Konfigurationsspeicher ist mittels eines Manipulationserkennungsmoduls geschützt . Die Aus führungsanforderungen können in einem Konfigurationsmodus der Aus führungsumgebung konfiguriert werden . Außerdem ist eine Aus führungseinheit vorgesehen, die dazu eingerichtet ist , mittels der Überprüfungs funktionen ein Prüfergebnis zu ermitteln, das angibt , ob der j eweilige Überprüfungsbereich die Aus führungsanforderungen erfüllt . Darüber hinaus ist die Ausführungseinheit dazu eingerichtet , einen j eweiligen Programmbefehl bzw . Programmcode abhängig vom Prüfergebnis aus zuführen .

Für eine flexible Bereitstellung von Automatisierungs funktionen werden zunehmend in Automatisierungsgeräte nachladbare Steuerungsanwendungen genutzt , die beispielsweise mittels Container-Virtualisierung verfügbar gemacht werden . Insbesondere Steuerungsanwendungen zur Analyse von Datenverkehr innerhalb eines industriellen Automatisierungssystems oder zur Analyse von in Automatisierungsgeräten ablaufenden Steuerungsprozessen benötigen weitreichende Privilegien bzw . Si- cherheitsberechtigungen . Sicherheitsschwachstellen derartiger Diagnoseanwendungen führen häufig zu erheblichen Sicherheitsrisiken für Automatisierungsgeräte oder - zellen in ihrer Gesamtheit . Je länger potentiell manipulierbare Steuerungswendungen auf Automatisierungsgeräten installiert verbleiben, desto höher sind die Sicherheitsrisiken innerhalb eines industriellen Automatisierungssystems .

Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde , ein sicheres und mit geringem Aufwand implementierbares Verfahren zur Bereitstellung von umfangreichen Sicherheitsberechtigungen erfordernde Steuerungsanwendungen für ein industrielles Automatisierungssystem zu schaf fen sowie eine ge- eignete Vorrichtung zur Durchführung des Verfahrens anzugeben .

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Anspruch 1 angegebenen Merkmalen und durch ein System mit den in Anspruch 13 angegebenen Merkmalen gelöst . Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen angegeben .

Entsprechend dem erfindungsgemäßen Verfahren zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem werden die Steuerungsanwendungen j eweils mittels Ablaufsteuerungskomponenten bereitgestellt . Die Ablaufsteuerungskomponenten sind in eine mittels einer Server- Einrichtung gebildete Ablaufsteuerungsumgebung ladbar und dort aus führbar . Vorteilhafterweise kann für j ede Anwendungsinstanz j eweils eine Ablaufsteuerungskomponente in die Ablaufsteuerungsumgebung geladen und dort ausgeführt werden . Darüber hinaus können die Ablaufsteuerungskomponenten auf j eweils andere Server-Einrichtungen zur dortigen Aus führung migriert bzw . auf j eweils anderen Server-Einrichtungen zeitgleich ausgeführt werden .

Insbesondere können die Ablaufsteuerungskomponenten Software- Container sein bzw . umfassen, die j eweils von anderen Software-Containern oder Container-Gruppen, z . B . Pods , isoliert innerhalb der Ablaufsteuerungsumgebung auf einem Host- Betriebssystem einer Server-Einrichtung ablaufen . Grundsätzlich können für die Ablaufsteuerungskomponenten auch alternative Micro-Virtualisierungskonzepte , wie Snaps , verwendet werden . Vorzugsweise nutzen die Software-Container j eweils gemeinsam mit anderen auf der j eweiligen Server-Einrichtung ablaufenden Software-Containern einen Kernel des Host- Betriebssystems der Server-Einrichtung . Speicherabbilder für die Software-Container können beispielsweise aus einem durch eine Viel zahl von Nutzern lesend bzw . schreibend zugrei fbaren Speicher- und Bereitstellungssystem abgerufen werden .

Die Ablaufsteuerungsumgebung kann insbesondere eine Container-Lauf zeitumgebung bzw . Container-Engine sein, durch die ein Anlegen, Löschen bzw . Verknüpfen von virtuellen Ressourcen erfolgt . Dabei umfassen die virtuellen Ressourcen Software-Container, virtuelle Kommunikationsnetze und diesen zugeordnete Verbindungen . Beispielsweise kann die Ablaufsteuerungsumgebung eine Docker Engine oder einen Snap Core umfassen, die bzw . der auf einer Server-Einrichtung abläuft .

Erfindungsgemäß wird Steuerungsanwendungen, die ausgewählte Sicherheitsberechtigungen erfordern, j eweils eine Kennzeichnung als sicherheitskritische Steuerungsanwendung zugeordnet . Für die Steuerungsanwendungen, denen eine Kennzeichnung als sicherheitskritische Steuerungsanwendung zugeordnet ist , wird j eweils zumindest eine Ablaufbedingung für die ausgewählten Sicherheitsberechtigungen festgelegt . Während einer Aus führung der Ablaufsteuerungskomponenten für die Steuerungsanwendungen überwacht die Ablaufsteuerungsumgebung j eweils ein Eintreten der j eweiligen Ablaufbedingung . Bei Eintreten der j eweiligen Ablaufbedingung wird die Aus führung der Ablaufsteuerungskomponenten j eweils beendet . Vorzugsweise wird die Aus führung der Ablaufsteuerungskomponenten j eweils nur bei noch nicht eingetretener Ablaufbedingung gestartet . Darüber hinaus können die Ablaufbedingungen insbesondere j eweils eine maximale Aus führungsdauer für die j eweilige Ablaufsteuerungskomponente umfassen . Somit sind die Ablaufbedingungen einfach und klar definierbar .

Mit der vorliegenden Erfindung kann beispielsweise sichergestellt werden, dass Diagnoseanwendungen mit weitreichenden Sicherheitsberechtigungen nur so lange auf einem Gerät aktiviert bzw . installiert verbleiben, wie es eine Nutzung dieser Anwendungen erfordert . Damit wird vermieden, dass sicherheitskritische , potentielle Angri f fs ziele darstellende Anwendungen aus Bequemlichkeitsgründen oder aus Unachtsamkeit nach ihrer Verwendung noch längere Zeit auf einem Gerät installiert bleiben oder gar noch weiterlaufen .

Entsprechend einer bevorzugten Ausgestaltung der vorliegenden Erfindung wird die Aus führung der Ablaufsteuerungskomponenten j eweils durch Aus führung einer in einer Sicherheitsrichtlinie definierten Aktion bei Eintreten der j eweiligen Ablaufbedingung beendet . Dabei kann die definierte Aktion insbesondere ein Stoppen bzw . Löschen der j eweiligen Ablaufsteuerungskomponente umfassen . Vorteilhafterweise wird durch die Sicher- heitsrichtlinie j eweils die Ablaufbedingung in Abhängigkeit von der Kennzeichnung der j eweiligen Steuerungsanwendung festgelegt . Insgesamt ermöglicht dies eine flexible Anpassung der Ablaufbedingungen und definierten Aktionen an Anforderungen von Betreibern eines industriellen Automatisierungssystems .

Vorzugsweise wird durch die Kennzeichnungen der Steuerungsanwendungen eine j eweils anzuwendende Sicherheitsrichtlinie festgelegt . Darüber hinaus kann durch die Kennzeichnungen j eweils Funktionen der Steuerungsanwendungen bzw . zur Bereitstellung der Steuerungsanwendungen benötigte Sicherheitsberechtigungen bezeichnet oder vorgegeben werden . Dies ermöglicht eine einfach handhabbare Nutzung der Kennzeichnungen zur zuverlässigen Festlegung erforderlicher Sicherheitsberechtigungen bzw . Privilegien der Steuerungsanwendungen . Eine besonders einfache Handhabung ergibt sich, wenn die Kennzeichnungen entsprechend einer weiteren vorteilhaften Ausgestaltung der vorliegenden Erfindung j eweils als Zeichenkette zu Metadaten für die j eweilige Steuerungsanwendung hinzugefügt werden . Insbesondere können Kennzeichnungen auf diese Weise durch einen administrativen Eingri f f , automatisch oder bei einer Veröf fentlichung von Container- Images festgelegt werden .

Das erfindungsgemäße System zur Bereitstellung von Steuerungsanwendungen für ein industrielles Automatisierungssystem umfasst eine mittels einer Server-Einrichtung gebildete Ablaufsteuerungsumgebung sowie zumindest eine Ablaufsteuerungskomponente zur Bereitstellung einer Steuerungsanwendungen .

Die Ablaufsteuerungskomponente ist in die Ablaufsteuerungsumgebung ladbar und dort aus führbar . Außerdem ist das System dafür eingerichtet , dass Steuerungsanwendungen, die ausgewählte Sicherheitsberechtigungen erfordern, j eweils eine Kennzeichnung als sicherheitskritische Steuerungsanwendung zugeordnet wird, und dass für die Steuerungsanwendungen, denen eine Kennzeichnung als sicherheitskritische Steuerungsanwendung zugeordnet ist , j eweils zumindest eine Ablaufbedingung für die ausgewählten Sicherheitsberechtigungen festgelegt wird . Darüber hinaus ist die Ablaufsteuerungsumgebung dafür eingerichtet , während einer Aus führung der Ablaufsteuerungskomponenten für die Steuerungsanwendungen j eweils ein Eintreten der j eweiligen Ablaufbedingung zu überwachen und dass die Aus führung der Ablaufsteuerungskomponenten j eweils bei Eintreten der j eweiligen Ablaufbedingung beendet wird .

Die vorliegende Erfindung wird nachfolgend an einem Aus führungsbeispiel anhand der Zeichnung näher erläutert . Es zeigt

Figur 1 ein System zur Bereitstellung von Steuerungsanwendungen, die ausgewählte Sicherheitsberechtigungen erfordern, Figur 2 eine Darstellung eines Verfahrensablaufs zur Bereitstellung von Steuerungsanwendungen mittels des in Figur 1 dargestellten Systems .

Das in Figur 1 dargestellte System umfasst eine Server- Einrichtung 100 zur Bereitstellung von Steuerungsanwendungen 201-204 eines industriellen Automatisierungssystems . Die Steuerungsanwendungen 201-204 des industriellen Automatisierungssystems sind exemplarisch für zeitkritische Dienste und können auch Überwachungs funktionen umfassen . Die Steuerungsanwendungen können beispielsweise auf Grundlage von OPC UA bereitgestellt werden .

Die Server-Einrichtung 100 kann mittels der Steuerungsanwendungen 201-204 beispielsweise Funktionen von Steuerungsgeräten eines industriellen Automatisierungssystems , wie speicherprogrammierbaren Steuerungen, oder von Feldgeräten, wie Sensoren oder Aktoren, implementieren . Auf diese Weise kann die Server-Einrichtung 100 insbesondere für einen Austausch von Steuerungs- und Messgrößen mit durch die Server-Einrichtung 100 gesteuerten Maschinen oder Vorrichtungen genutzt werden . Dabei kann die Server-Einrichtung 100 aus erfassten Messgrößen geeignete Steuerungsgrößen für die Maschinen oder Vorrichtungen ermitteln .

Alternativ oder zusätzlich kann die Server-Einrichtung 100 mittels der Steuerungsanwendungen 201-204 Funktionen einer Bedien- und Beobachtungsstation implementieren und somit zur Visualisierung von Prozessdaten bzw . Mess- und Steuerungsgrößen genutzt werden, die durch Automatisierungsgeräte verarbeitet bzw . erfasst werden . Insbesondere kann die Server- Einrichtung 100 zur Anzeige von Werten eines Regelungskreises und zur Veränderung von Regelungsparametern oder -programmen verwendet werden . Außerdem umfasst das in Figur 1 dargestellte System ein Management-System 200 , mittels dessen für Steuerungsanwendungen 201-203 , die ausgewählte Sicherheitsberechtigungen erfordern, j eweils eine Kennzeichnung 210 als sicherheitskritische Steuerungsanwendung zugeordnet wird . Die Kennzeichnungen 210 werden im vorliegenden Aus führungsbeispiel durch Tags gebildet , die j eweils als Zeichenkette zu Metadaten für die j eweilige Steuerungsanwendung 201-203 hinzugefügt werden können . Außerdem können die Tags beispielsweise für erste Steuerungsanwendungen 201 automatisch, für zweite Steuerungsanwendungen 202 manuell oder für dritte Steuerungsanwendungen 203 bei einer Veröf fentlichung von Speicherabbildern bzw . Images in einem App-Repository zugeordnet werden . Grundsätzlich können mittels des Management-Systems 200 auch vierte Steuerungsanwendungen 204 verwaltet werden, die keine Tag-Zuordnung aufweisen .

Durch die Kennzeichnungen 210 der Steuerungsanwendungen 201- 203 wird vorteilhafterweise eine j eweils anzuwendende Sicher- heitsrichtlinie ( Policy) festgelegt , die als Datensatz in einer entsprechenden Datenbank 220 gespeichert ist . Außerdem werden durch die Kennzeichnungen 210 vorzugsweise j eweils Funktionen der Steuerungsanwendungen 201-203 bzw . zur Bereitstellung der Steuerungsanwendungen 201-203 benötigte Sicher- heitsberechtigungen bezeichnet oder vorgegeben . Im vorliegenden Aus führungsspiel wird mittels des Management-Systems 200 darüber hinaus für die Steuerungsanwendungen 201-203 , denen eine Kennzeichnung als sicherheitskritische Steuerungsanwendung zugeordnet ist , j eweils zumindest eine Ablaufbedingung für die ausgewählten Sicherheitsberechtigungen festgelegt . Diese Ablaufbedingungen werden ebenfalls in der Datenbank 220 auf gezeichnet . Nach Erfassung bzw . Bereitstellung und Klassi fi zierung der

Steuerungsanwendungen 201-204 und Festlegung der Ablaufbedingungen wird eine Auswahl 301 der durch die Server-Einrichtung

100 bereitzustellenden Steuerungsanwendungen 201-204 und eine Auswahl 302 der durch Server-Einrichtung 100 anzuwendenden Sicherheitsrichtlinien vom Management-System 200 an die Server-Einrichtung übermittelt . Die Auswahl 301 der Steuerungsanwendungen 201-204 umfasst insbesondere deren Speicherabbilder bzw . Images . Grundsätzlich kann die Server-Einrichtung Images für Software-Container auch aus einem durch eine Vielzahl von Nutzern lesend bzw . schreibend zugrei fbaren Speicher- und Bereitstellungssystem abrufen .

In der Server-Einrichtung 100 werden die Steuerungsanwendungen 201-204 werden j eweils mittels Ablaufsteuerungskomponenten 131- 133 bereitgestellt , die in eine mittels der Server- Einrichtung 100 gebildete Ablaufsteuerungsumgebung 112 ladbar und dort aus führbar sind . Die Ablaufsteuerungsumgebung 112 ist als Anwendung auf einem Host-Betriebssystem 111 der Server-Einrichtung 100 installiert . Darüber hinaus können Ablaufsteuerungskomponenten 131- 133 j eweils von der Server-Einrichtung 100 auf eine andere Server-Einrichtung zur dortigen Aus führung migriert bzw . auf anderen Server-Einrichtungen zeitgleich ausgeführt werden .

Im vorliegenden Aus führungsbeispiel sind bzw . umfassen die Ablaufsteuerungskomponenten 131- 133 Software-Container, die j eweils von anderen Software-Containern, Container-Gruppen bzw . Pods isoliert innerhalb der Ablaufsteuerungsumgebung 112 auf dem Host-Betriebssystem 111 der Server-Einrichtung 100 ablaufen . Dabei nutzen die Software-Container j eweils gemeinsam mit anderen auf der Server-Einrichtung 100 ablaufenden Software-Containern einen Kernel des Host-Betriebssystems 111 der Server-Einrichtung 100 . Die Ablaufsteuerungsumgebung 112 ist vorzugsweise eine Container-Laufzeitumgebung bzw. Container-Engine .

Eine Isolation der Ablaufsteuerungskomponenten bzw. eine Isolation von ausgewählten Betriebssystemmitteln untereinander kann insbesondere mittels Control Groups und Namespacing realisiert werden. Mittels Control Groups lassen sich Prozessgruppen definieren, um verfügbare Ressourcen für ausgewählte Gruppen zu beschränken. Über Namespaces können einzelne Prozesse oder Control Groups gegenüber anderen Prozessen oder Control Groups isoliert bzw. verborgen werden.

Entsprechend dem in Figur 2 dargestellten Verfahrensablauf erfolgt zunächst eine Bereitstellung der Steuerungsanwendungen (Schritt 1) und ihre Klassifizierung (Schritt 2) sowie eine Festlegung der Ablaufbedingungen (Schritt 3) im Management-System 100 entsprechend obigen Ausführungen. Nach Laden der Software-Container 131-133 für die Steuerungsanwendungen überwacht die Ablaufsteuerungsumgebung 112 während einer Ausführung der Software-Container 131-133 jeweils ein Eintreten der jeweiligen Ablaufbedingung (Schritt 4) . Insbesondere wird die Ausführung der Software-Container 131-133 jeweils nur bei noch nicht eingetretener Ablaufbedingung gestartet. Vorzugsweise umfassen die Ablaufbedingungen jeweils eine maximale Ausführungsdauer für den jeweiligen Software-Container 131- 133 umfassen.

Falls eine Überprüfung entsprechend Schritt 5 keine Grundlage für eine weitere Ausführung ergibt, wird die Ausführung der Software-Container 131-133 jeweils bei Eintreten der jeweiligen Ablaufbedingung beendet (Schritt 7) . Andernfalls wird die Ausführung der Software-Container 131-133 entsprechend Schritt 6 fortgesetzt und das Eintreten der jeweiligen Ab- laufbedingung entsprechend Schritt 4 weiter fortlaufend überwacht .

Die Aus führung der Software-Container 131- 132 wird j eweils durch Aus führung einer in einer anzuwendenden Sicherheitsrichtlinie 113 definierten Aktion bei Eintreten der j eweiligen Ablaufbedingung beendet . Beispielsweise kann die definierte Aktion ein Stoppen bzw . Deinstallieren des j eweiligen Software-Containers 132 , 133 umfassen . Hierzu wird vorteilhafterweise ein entsprechender Stopp-Befehl 114 oder ein Lösch-Befehl 115 versendet . Durch die Sicherheitsrichtlinie 113 wird vorzugsweise j eweils die Ablaufbedingung in Abhängigkeit von der Kennzeichnung 210 der j eweiligen Steuerungsanwendung 201-204 festgelegt .

Neben einem Stoppen oder einem Deinstallieren eines Software- Containers können viel fältige andere oder zusätzliche Aktionen bei Eintreten der j eweiligen Ablaufbedingung ausgeführt werden, beispielsweise

- Warnung an einen Betreiber,

- Setzen eines Schaltsignals ,

- Blinken einer LED an einem Gerät ,

- Generieren eines Log-Eintrags ,

- Einschränken von Zugri f fsrechten einer Steuerungsanwendung .

Die Aktionen können durch grundsätzlich durch die Server- Einrichtung 100 oder durch das Management-System 200 initiiert bzw . ausgeführt werden . Beispielsweise kann ein Stopp- Befehl von der Container-Lauf zeitumgebung 112 selbst oder durch das Management-System 200 generiert werden . Im letzteren Fall übermittelt das Management-System 200 einen Stopp- Befehl zur Aus führung an die Container-Lauf zeitumgebung 112 . Die vorliegende Erfindung ist grundsätzlich in sämtlichen Geräten anwendbar, die ein Nachladen von auf Container-Virtua- lisierung basierenden Applikationen (Apps ) ermöglichen, insbesondere solcher Apps mit erhöhten Privilegien . Beispielsweise können Apps auf diese Weise in Edge-Geräte , loT- Gateways , Industrie-PCs , on-primises Server-Systeme oder Cloud-Server-Systeme nachgeladen werden . Erhöhte Privilegien der Apps können beispielsweise in Linux-basierten System für spezielle Linux Capabilities , wie CAP_NET_ADMIN zum Administrieren von Netzwerkressourcen, insbesondere Routing-Tabellen oder Netzwerkinterfaces , für einen weitreichenden Zugri f f auf ein Host-Dateisystem oder für ein Verwenden bestimmter Systemaufrufe ( syscalls ) vorgesehen sein . Darüber hinaus sind erhöhte Privilegien regelmäßig auch für Diagnoseapplikationen erforderlich, die weitreichende Zugri f fsrechte auf Netzwerkschnittstellen anderer Applikationen aufweisen . Für Diagnoseapplikationen kann beispielsweise in einer Sicherheitsrichtlinie hinterlegt sein, dass Steuerungsanwendungen, denen ein Tag „diagnostic" zugeordnet ist , nicht länger als 12 Stunden auf einem Gerät installiert sein dürfen und nach Ablauf dieser Zeit automatisch durch eine Container-Lauf zeitumgebung zu deinstallieren .

Obige Aus führungen werden nachfolgend anhand eines praktischen Implementierungsbeispiels noch detaillierter erläutert . Zunächst wird in einer docker-compose . yml-Konf igurationsdatei für eine mittels einer Docker-Container-Engine bereitgestellten Netzwerkdiagnoseapp bei einem Publi zieren der Netzwerkdiagnoseapp ein Tag in Form eines Image-Labels (Key-Value-Paar ) definiert : com . siemens . ie . systemapp . expires=true . Dieses Tag kennzeichnet die Netzwerkdiagnoseapp als eine App, deren Nutzungs zeitraum eingeschränkt werden soll . Anschließend wird durch einen Hersteller - im vorliegenden Aus führungsbeispiel Siemens - eines Automatisierungsgeräts , in dem die Netzwerkdiagnoseapp ablaufen soll , eine einfache Policy vorgegeben, die bewirkt , dass eine App mit obigem Tag 8 Stunden nach ihrem Installieren gestoppt , gelöscht und eine Warnung an einen Geräte- oder Anlagenbetreiber versendet werden soll . Grundsätzlich kann diese Policy j e nach Bedarf auch durch den Geräte- oder Anlagenbetreiber überschrieben werden .

Danach wird die Netzwerkdiagnoseapp auf das Automatisierungsgerät geladen und durch den Gerätebetreiber zur Diagnose verwendet . Aufgrund des zugeordneten Tags com . siemens . ie . system- app . expires=true fängt die Container-Engine zudem an, die Netzwerkdiagnoseapp hinsichtlich ihres Status regelmäßig zu prüfen . Stellt die Container-Engine bei einer solchen Prüfung fest , dass die Netzwerkdiagnoseapp seit mindestens 8 Stunden installiert ist und noch läuft , stoppt die Container-Engine die Netzwerkdiagnoseapp, deinstalliert sie und benachrichtigt den Gerätebetreiber, dass die Netzwerkdiagnoseapp deinstalliert wurde . Ein solches S zenario kann möglich sein, wenn der Gerätebetreiber vergessen hat , die Netzwerkdiagnoseapp nach ihrer Verwendung zu deinstallieren .

Alternativ zur Definition des Tags für die Netzwerkdiagnoseapp durch den Gerätebetreiber kann das Tag durch einen Entwickler der Netzwerkdiagnoseapp expli zit definiert werden . Dies kann beispielsweise bei einem Erstellen eines Container- Images oder durch Auswahl einer App-Kategorie , beispielsweise „Diagnose" oder „regulärer Betrieb" , aus einer vorgegebenen Menge beim Publi zieren der App geschehen . Auch wenn der Gerätebetreiber das Tag festlegt , kann dieses beispielsweise aus einer vorgegebenen Menge ausgewählt werden, um eine Nutzung, Verwaltung und Übertragbarkeit auf andere Systeme zu vereinfachen . Entsprechend einer weiteren Alternative kann ein Tag automatisiert bzw . impli zit zugewiesen werden, insbesondere in Abhängigkeit davon, welche Rechte durch eine App angefordert werden . Steht in einer Deployment- Information für eine

App, beispielsweise in einer docker-compose . yml-Konf igurati- onsdatei , dass sich die App einen Process ID Namespace eines Hosts Teilen möchte , kann automatisch ein entsprechender Tag zu Metainformationen der App hinzugefügt werden . Dies kann insbesondere bei einem Publi zieren der App, bei einem Herunterladen der App in das Management-System 200 oder bei einem Laden der App auf die Server-Einrichtung 100 erfolgen .

Die Policy für Netzwerkdiagnoseapp kann in einer einfachen Variante für das gesamte Automatisierungsgerät definiert werden, in dem die Netzwerkdiagnoseapp abläuft . Beispielsweise kann durch eine solche Policy erreicht werden, dass der Gerätebetreiber bei sämtlichen Apps mit dem Tag „diagnostic" gewarnt wird, wenn die j eweilige App bereits länger als 11 Stunden auf dem Automatisierungsgerät installiert ist . Außerdem kann eine solche Warnung einen Hinweis umfassen, dass die j eweilige App nach 12 Stunden ab ihrem Installations zeitpunkt automatisch deinstalliert wird . Dabei kann dem Gerätebetreiber optional angeboten werden, dass die App auf seinen ausdrücklichen Wunsch auch nach Ablauf der 12 Stunden auf dem Automatisierungsgerät installiert bleibt .

Ein weiteres Beispiel einer möglichen Policy für Apps ist ein Überschreiten einer festgelegten Dauer, während der eine App nicht mehr verwendet wurde . Eine solche Policy kann gerätespezi fisch oder für eine Reihe von Geräten gültig sein . Alternativ oder zusätzlich können auch andere auf einem Gerät laufende Apps durch eine Policy berücksichtigt werden . Insbesondere kann so festgelegt werden, dass Apps mit einem bestimmten Tag so lange auf einem Gerät installiert sein und laufen dürfen, wie eine bestimmte andere App, die beispiels- weise kritische Produktionsdaten verarbeitet, nicht gleichzeitig läuft.

Durch eine Policy können auch Gerätezustände berücksichtigt werden. Befindet sich ein Gerät beispielsweise in einem Einrichtungs- oder Wartungszustand, können ausgewählte Apps ohne zeitliche Einschränkung laufen. Ist das Gerät dagegen in einem aktiven Betriebsmodus, werden die jeweiligen Ablaufbedingung überprüft. Insbesondere kann die Policy dialogbasiert durch den Gerätebetreiber bei einer Einrichtung des jeweiligen Geräts festgelegt werden. Hierzu werden beispielsweise folgende Optionen an einer graphischen Benutzerschnittstelle bzw. an einer Befehlszeilenschnittstelle abgefragt:

- „Diagnoseapplikationen 12 h nach letzter Verwendung automatisch deinstallieren? [J/N]",

- („Applikation nach Stoppen automatisch deinstallieren? [J/N]" vor Laden einer App oder

- „Alle 2 h fragen, ob App gestoppt werden soll? [J/N]". Auf diese Weise können mit geringem Aufwand an individuelle Anforderungen angepasste Policies erstellt werden.