Beschreibung Analyse einer Container-Instanz eines Betriebssystems HINTERGRUND DER ERFINDUNG Gebiet der Erfindung Die vorliegende Erfindung betrifft ein automatisiertes Ver- fahren zur Analyse einer Container-Instanz eines Betriebssys- tems und ein zugehöriges System, welches das Verfahren aus- führen kann. Beschreibung des Stands der Technik Da industrielle Systeme (Steuergeräte, Industrie PCs, IoT- und Edge-Geräte, Cloud-Server) oft über einen langen Zeitraum (10-20 Jahre, teilweise auch 30 oder 40 Jahre) im Feld ver- wendet werden, sind sie ständig ändernden Voraussetzungen und einem dynamischen Umfeld ausgesetzt. Um mit diesen Umständen umzugehen, werden vor allem neue Ge- räte so entwickelt, dass sie über die Nutzungszeit flexibel angepasst werden können. Das kann z.B. durch die Unterstüt- zung von nachladbaren Applikatio- nen/Anwendungen/Anwendungsprogrammen mittels Containervirtua- lisierung/Container-Technologien erreicht werden. Containervirtualisierung (oder: Containierisierung) ist eine Methode, um mehrere Instanzen (z.B. Anwendungsprogramme), die Container-Instanzen, eines Betriebssystems (als sog. „Gäste“ oder Clients) isoliert voneinander auf einem Hostsys- tem/Hostrechner zu betreiben. Durch Containierisierung ist eine Trennung und Verwaltung der auf dem Hostsys- tem/Hostrechner genutzten Ressourcen möglich. So lässt sich verwalten, welche Systemressourcen den Prozessen in welcher Container-Instanz zugewiesen werden.
Als Hostsystem oder Hostrechner wird ein in ein Rechnernetz eingebundener Computer mit zugehörigem Betriebssystem be- zeichnet, der Clients (z.B. Container-Instanzen) bedient oder Server beherbergt (also Dienste bereitstellt). Container-Instanzen können auf unterschiedlichen Laufzeitum- gebungen betrieben werden. Eine Laufzeitumgebung oder auch Ausführungsumgebung ist ganz allgemein ein Anwendungsrahmenwerk oder eine Bibliothek, die ausführbare Anwendungen/Anwendungsprogramme, wie zum Beispiel Apps, Komponenten, Webseiten zur Laufzeit mit der für ihre Ausführung benötigten Funktionalität versorgt. Durch eine Laufzeitumgebung können Anwendun- gen/Anwendungsprogramme in „ungewohnter“ Umgebung lauffähig gemacht werden, indem die Laufzeitumgebung zwischen dem An- wendungsprogramm und Betriebssystem vermittelt. Betriebssysteme sind heute sehr vielschichtig aufgebaut. Wenn Anwendungen möglichst schnell und einfach unter mehreren Be- triebssystemen laufen sollen, empfiehlt es sich, für diese Anwendungen eigene kleine „Betriebssysteme“ als Laufzeitumge- bungen zu implementieren. Das erspart den Aufwand, jede ein- zelne Anwendung separat an das jeweilige Betriebssystem anzu- passen. Eine Laufzeitumgebung lädt die entsprechende Anwendung und führt sie auf ihrer Plattform aus, für welche die Laufzeitum- gebung letztlich erstellt wurde. Das heißt: Auf diese Weise wird sie selbst zu einer kleinen „Plattform“, auf der die Programme/Anwendungen aufsetzen können. Container-Instanzen, welche auf Laufzeitumgebungen gestartet sind, können Schwachstellen enthalten, die rechtzeitig er- kannt und behoben werden müssen, damit diese nicht von An- greifern ausgenutzt werden können. Um Schwachstellen zu er- kennen, werden die Images der Container-Instanz (Bil-
der/Abbilder der Container-Instanz, auch als Container-Image bezeichenbar) oder die laufenden Container-Instanzen ge- scannt. Hierbei sind zwei Fälle zu unterscheiden: Fall 1: Eine Erkennung von Schwachstellen im Container-Image (Bild der Container-Instanz) durch einen periodischen Scan der Registry. Hierbei wird ein regelmäßiges Scannen von Con- tainer-Images durchgeführt. Dies hat den Nachteil, dass nicht die gestartete Container-Instanz untersucht wird und so Ände- rungen, die sich auf der Container-Instanz während der Lauf- zeit ergeben, nicht berücksichtigt/erkannt werden können. Fall 2: Eine Erkennung von Schwachstellen in gestarteten Con- tainer-Instanzen auf der Laufzeitumgebung. Dies kann zum eine über privilegierte Container-Instanz durchgeführt werden, welche von Security Herstellern zur Verfügung gestellt werden und die Container-Instanzen auf der Laufzeitumgebung regelmä- ßig untersuchen. Dies hat den Nachteil, dass eine privile- gierte Container-Instanz bereitgestellt werden muss. Dies hat außerdem den Nachteil, dass die optimalen Zeitpunkte der Un- tersuchung durch die privilegierte Container-Instanz nicht bekannt sind und so möglicherweise zu oft oder zu selten un- tersucht wird und so Schwachstellen nicht rechtzeitig erkannt werden können. Außerdem gibt es die Möglichkeit, Container-Images auf der Laufzeitumgebung zu scannen und von einer Kontrolleinheit überprüfen zu lassen. Dies hat den Nachteil, dass nur beim (Neu-)Start neuer Container-Instanzen ein Scan und eine Über- prüfung durchgeführt wird und keine regelmäßigen Scan- Intervalle vorgesehen sind. Die Aufgabe der Erfindung besteht darin, eine verbesserte Lö- sung bereitzustellen, um gestartete/laufende Container- Instanzen zu analysieren und zu prüfen, insbesondere um die Sicherheit bezüglich unerwünschter Operationen auf der Con- tainer-Instanz zu erhöhen.
ZUSAMMENFASSUNG DER ERFINDUNG Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche. Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung. Die Erfindung beansprucht ein automatisiertes Verfahren zur Analyse einer Container-Instanz eines Betriebssystems eines Hostsystems, wobei die Container-Instanz auf einer Laufzeit- umgebung gestartet ist, aufweisend die Schritte: - Erfassen eines initialen Referenzbilds der Container- Instanz, wobei das initiale Referenzbild ein Abbild der Container-Instanz ist, - Übermitteln des initialen Referenzbilds an ein Prüfsys- tem, wobei das Prüfsystem (4) außerhalb des Hostsystems (2) angeordnet ist, - Erfassen von Daten, wobei das Erfassen getriggert durch ein Eintreten eines Ereignisses durchgeführt wird und wobei sich das Ereignis sowie die Daten auf Operationen auf der Container-Instanz beziehen, wobei die Operation eine tat- sächlich stattgefundene Operation darstellt und wobei die Daten, die Operation charakterisieren, - Übertragen der Daten an das Prüfsystem, - Erstellen eines aktualisierten Referenzbilds der Contai- ner-Instanz, wobei das aktualisierte Referenzbild durch An- passen des initialen Referenzbilds bezüglich Effekten, die die Operationen auf der Container-Instanz haben, erstellt wird, wobei die Effekte zu erwartenden Effekte darstellen, welche die Operationen erwartungsgemäß verursachen und - Analysieren des aktualisierten Referenzbilds durch das Prüfsystem. Ein Aspekt der Erfindung besteht darin, den Stand der Technik dahingehend zu verbessern, dass die Analyse des Container-
Images der Container-Instanz bzw. des aktualisierten Refe- renzbilds der Container-Instanz eventbasiert, d.h. getriggert durch ein vorhergehendes Eintreten eines Ereignisses/Events, das sich auf Operationen auf der Container-Instanz bezieht, durchgeführt wird. Unter Container-Instanz wird im Rahmen der Erfindung eine isolierte Instanz eines darunterliegenden Betriebssystems verstanden, die isoliert von anderen Instanzen auf einem Hostsystem/Hostrechner betrieben wird und im gleichen Pro- zessraum wie das Betriebssystem selbst läuft. Container- Instanzen werden für sich separat verwaltet und bekommen se- parat Systemressourcen des darunterliegenden Betriebssystems zugewiesen. Die Isolierung der Container-Instanz gegenüber anderen Instanzen wird mit Hilfe von Bordmitteln des darun- terliegenden Betriebssystems erreicht. Unter einer Laufzeitumgebung wird im Rahmen dieser Patentan- meldung ein Anwendungsrahmenwerk, d.h. die verfügbaren und festgelegten Voraussetzungen des Laufzeitsystems, verstanden, das Container-Instanzen zur Laufzeit mit der für ihre Ausfüh- rung benötigten Funktionalität versorgt. Dass die Container-Instanz gestartet ist, bedeutet, dass die Container-Instanz läuft bzw. in Laufzeit befindet. Die Con- tainer-Instanz ist in einer Laufzeitumgebung gestartet bzw. läuft in einer Laufzeitumgebung. Das Referenzbild ist ein Abbild der Container-Instanz und kann auch als Klon der Container-Instanz bezeichnet werden. Das Analysieren des aktualisierten Referenzbilds durch das Prüfsystem kann auch als Überprüfen oder Prüfen des aktuellen Zustands der Container-Instanz bezeichnet werden. Dass die Effekte zu erwartenden Effekte darstellen, welche die Operationen erwartungsgemäß verursachen bedeutet, dass es sich nicht um tatsächliche Effekte handelt, sondern um Effek-
te, die bei einer bestimmten Operation ein bekanntes Ergebnis sind, insbesondere falls das System korrekt läuft. Das aktua- lisierte Referenzbild stellt somit kein Abbild der Realität dar, sondern ein aufgrund der Operationen zu erwartendes Re- ferenzbild. Aussagen über Schwachstellen von laufenden Container- Instanzen können getroffen werden, indem bei einem Start der Container-Instanz ein in einer Registry/einem Register hin- terlegtes Container-Image als initiales Referenzbild der Con- tainer-Instanz verwendet wird und ständig mit der laufenden Container-Instanz abgeglichen wird. Dies kann initial über eine Image-ID (Identifikation des Container-Image) des initi- alen Container-Image und die Instanz-ID (Identifikation der Container-Instanz) durchgeführt werden, welche ständig auf dem Hostsystem (z.B. über Bordmittel, d.h. über eigene Mittel der Container-Instanz Laufzeitumgebung oder Security-Tools) abgefragt werden kann. Während der Laufzeit der Container-Instanz können sich durch Operationen auf der Container-Instanz Änderungen ergeben. Die Änderungen können sich zum Beispiel auf einem Dateisystem der Container-Instanz und durch zum Beispiel Operationen wie Nachinstallieren von Software oder anderen Schreiboperationen ergeben. Deshalb ist es erforderlich, dass bei einem Eintre- ten eines Ereignisses, das sich auf eine Operation auf der Container-Instanz Daten bezieht bzw. ein Ereignis, dass eine Operation auf der Container-Instanz darstellt, zu dieser Ope- ration auf der Container-Instanz sämtliche relevante Daten mitprotokolliert werden/erfasst werden. Anschließend sollen die Daten zum Beispiel bei Eintreten eines weiteren/anderen Ereignisses und/oder zu einem definierten Zeitpunkt zu einem Prüfsystem übertragen werden. Eine Übertragung zu dem Prüfsystem, welches die Container- Instanz überprüfen soll, kann beispielsweise integritätsgesi- chert, d.h. unter Verhinderung unautorisierter Modifikation von Information und Daten, erfolgen. Eine integritätsgesi-
cherte Übertragung zu dem Prüfsystem kann beispielsweise über MTLS (Mutual Transport Layer Security) erfolgen. Das Prüfsystem soll das initiale Referenzbild dann anhand der Operationen auf der Container-Instanz d.h anhand der Daten aktualisieren und ein aktualisiertes Referenzbild erstellen. Dadurch wird ein aktualisiertes Referenzbild bereitgestellt. Das Prüfsystem analysiert und überprüft das aktualisierte Re- ferenzbild anschließend zum Beispiel bezüglich Schwachstel- len. Operationen auf der Container-Instanz mitsamt Inhalt werden bei dem Eintreten eines Ereignisses in Form von Daten erfasst und können beispielsweise über eBPF-Probes (extended Berklee Packet Filter) oder darauf basierende Programme auf dem da- runterliegenden Hostsystem eventbasiert (d.h. direkt zum Zeitpunkt des Ereignisses) ausgelesen werden und an das Prüfsystem, welches das aktualisierte Referenzbild überprü- fen/analysieren soll, übertragen/übermittelt werden. Alterna- tiv können die Daten zu einem späteren Zeitpunkt ausgelesen und an das Prüfsystem übertragen/übermittelt werden. Die Überprüfung der laufenden Container-Instanz wird somit durchgeführt, indem die – wie oben beschrieben – ermittelten Operationen bzw. Daten, welche sich auf die Operationen be- ziehen, auf das initiale Referenzbild der Container-Instanz angewandt werden, ein aktualisiertes Referenzbild der Contai- ner-Instanz erstellt wird und eine Analyse, zum Beispiel ein Schwachstellenscan, des aktualisierten Referenzbilds durchge- führt wird. Laufende Container-Instanzen können somit eventbasiert ge- triggert durch das Eintreten eines Ereignisses (z.B. über ei- nen definierten Trigger oder eine definierte Änderungsopera- tionen) gescannt/analysiert werden und müssen nicht (nur) über feste Intervalle gescannt/analysiert werden. Dies hat den Vorteil, dass Schwachstellen schneller erkannt werden
können und nicht erst zu einem nächsten festen Zeitpunkt ei- nes Intervalls erkannt werden. Das Prüfsystem ist außerhalb des Hostsystems, auf dem die Container-Instanz betrieben wird, angeordnet. Ein Prüfsystem außerhalb der Container-Instanz und außerhalb des Hostsystems hat den Vorteil, dass kein Agent/Prüfsystem in der Container-Instanz auf der Laufzeitumgebung erforder- lich ist. Das hat den Vorteil, dass das Analysieren/die Prü- fung durch das Prüfsystem nicht auf dem Hostsystem selbst stattfindet und somit dort keine Ressourcen erforderlich sind bzw. verbraucht werden. Die Verwendung eines Prüfsystems außerhalb des Hostsystems hat außerdem den Vorteil, dass für das Analysieren des aktua- lisierten Referenzbilds und ein mögliches Identifizieren von Schwachstellen der Container-Instanz keine privilegierten Prüf-Instanzen auf dem Laufzeitsystem/in der Laufzeitumgebung erforderlich sind, welche weitere Container-Instanzen über- prüfen. Das hat den Vorteil, dass das Prüfsystem unabhängig von dem Betriebssystem/Hostsystem und der Container-Instanz verwaltet werden kann. Außerdem hat es den Vorteil, dass über in die Container-Instanz eingeschleuste Schadsoftware nicht kompromittiert werden kann In einer weiteren Ausführungsform der Erfindung erfolgt das Erfassen des initialen Referenzbilds der Container-Instanz durch eine Abfrage auf dem Betriebssystem, zum Beispiel über Bordmittel (d.h. über eigene Mittel) der Container-Instanz Laufzeitumgebung und/oder Security-Tools. Das hat den Vor- teil, dass ein initiales Referenzbild der Container-Instanz zur Verfügung gestellt wird. Spätere Änderungen auf der Container-Instanz zum Beispiel durch Operationen auf der Container-Instanz werden inklusive Inhalt bei dem Eintreten eines Ereignisses in Form von Daten erfasst und können beispielsweise über eBPF-Probes (extended
Berklee Packet Filter) oder darauf basierende Programme auf dem darunterliegenden Hostsystem eventbasiert (d.h. direkt zum Zeitpunkt des Ereignisses) ausgelesen werden und an das Prüfsystem, welches das aktualisierte Referenzbild überprü- fen/analysieren soll, übertragen/übermittelt werden. In einer weiteren Ausführungsform der Erfindung umfasst das Ereignis und/oder die Operation eine Schreiboperation auf der Container-Instanz. In einer weiteren Ausführungsform der Erfindung umfassen das Ereignis und/oder die Operation Änderungen auf der Container- Instanz, Änderungen eines Dateisystems der Container-Instanz, System Calls, Modifikationen und/oder Anlegen von Dateien und/oder Verzeichnissen, Installationsvorgänge auf der Con- tainer-Instanz, Änderungen von Berechtigungen auf der Contai- ner-Instanz und/oder Änderungen von Dateien auf der Contai- ner-Instanz. In einer weiteren Ausführungsform der Erfindung können das Ereignis und die Operation unterschiedlich ausgeprägt sein. Das Erfassen von Daten erfolgt somit bei einem Eintreten ei- nes Ereignisses und die Daten beziehen sich auf eine Operati- on auf der Container-Instanz, wobei das Ereignis, zu dem das Erfassen von Daten erfolgt und die Operation, auf die sich die Daten bezieht auf dieselbe Weise oder unterschiedlich ausgebildet sein können. So kann zum Beispiel eine bestimmte Schreiboperation auf der Container-Instanz das auslösende Er- eignis sein, zu dem das Erfassen von Daten stattfindet und gleichzeitig können sich die Daten auf die bestimmte Schrei- boperation beziehen. Alternativ können bei einem auslösendem Ereignis Daten erhoben werden, die sich auf eine andere Ope- ration auf der Container-Instanz beziehen als die Operation, auf welche sich die Daten beziehen. In einer weiteren Ausführungsform der Erfindung ist der Zeit- punkt des Übertragens der Daten an das Prüfsystem nicht di-
rekt nach dem Erfassen der Daten, sondern mit zeitlichem Ab- stand nach dem Eintreten des Ereignisses festgelegt. Der definierte Zeitpunkt kann beispielsweise in Abhängigkeit eines definierbaren zyklischen Zeitpunkts festgelegt werden und/oder in Abhängigkeit von verfügbaren Speicherkapazitäten einer für die Daten vorgesehenen Speichereinheit festgelegt werden. Es kann somit zum Beispiel nachdem ein bestimmtes Speichervo- lumen/Speicherkapazität belegt ist (definierter Zeitpunkt) zum nächsten festgelegten zyklischen Zeitpunkt einer zeitli- chen Abfolge (zum Beispiel alle 5 Minuten) ein Übertragen der Daten an das Prüfsystem durchgeführt werden. In einer weiteren Ausführungsform der Erfindung ist der Zeit- punkt des Übertragens der Daten unabhängig vom Zeitpunkt des Ereignisses festgelegt. Der Zeitpunkt kann Teil einer perio- dischen zeitlichen Abfolge sein. So kann das Übertragen der Daten an das Prüfsystem und das anschließende Erstellen des aktualisierten Referenzbildes und das Analysieren des aktua- lisierten Referenzbildes zum Beispiel alle 5 Minuten durchge- führt werden. In diesem Fall findet das Übertragen der Daten an das Prüfsystem nicht eventbasiert statt, das Erfassen der Daten findet aber weiterhin eventbasiert (d.h. getriggert durch Eintreten eines Ereignisses) statt. In einer weiteren Ausführungsform der Erfindung ist der Zeit- punkt des Übertragens der Daten in Abhängigkeit einer verfüg- baren Speicherkapazität einer für die Daten vorgesehenen Speichereinheit festgelegt. Diese Option ist mit der zuvor genannten Ausführungsformen des definierten Zeitpunkts, wel- cher in Abhängigkeit von einem Eintreten eines definierbaren zyklischen Zeitpunkts festgelegt ist, kombinierbar. In einer weiteren Ausführungsform der Erfindung ist das Über- tragen der Daten an das Prüfsystem integritätsgesichert z.B. über MTLS (Mutual Transport Layer Security) durchführbar.
In einer weiteren Ausführungsform der Erfindung ist das Ana- lysieren des aktualisierten Referenzbilds darauf ausgerich- tet, Schwachstellen der Container-Instanz zu identifizieren. Identifizierte Schwachstellen der Container-Instanz können anschließend behandelt und/oder beseitigt werden. In einer weiteren Ausführungsform der Erfindung wird, abhän- gig von einem Inputparameter, bei dem Erstellen des aktuali- sierten Referenzbilds der Container-Instanz eine Operation, die ein Hinzufügen eines zusätzlichen Dateisystems zu der Container-Instanz darstellt, nicht berücksichtigt. Der Inputparameter kann durch eine Eingabe eines Benutzers bereitgestellt werden. Ein zusätzliches Dateisystem kann durch eine zusätzlich verbundene Speichereinheit, wie eine Hardwareeinheit oder ein zusätzlich verbundenes Netzwerklauf- werk geschaffen werden. Diese Ausführungsform hat den Vorteil und technischen Effekt einer erhöhten Flexibilität des Einsatzes des Prüfsystems. Eine verbindliche Prüfung eines zusätzlich verbundenen Netz- werklaufwerks kann eine hohe Komplexität haben und somit op- tional erfolgen. Das zusätzlich verbundene Netzwerklaufwerk kann in Abhängigkeit von einer Eingabe eines Benutzers oder einem berechneten Inputparameter (zum Beispiel berechnet auf Basis von Effizienzparametern) berücksichtigt werden oder nicht berücksichtigt werden. Im Falle einer Nicht- Berücksichtigung kann die Komplexität des Analysierens durch das Prüfsystem geringer gehalten werden. In einer weiteren Ausführungsform der Erfindung werden die Daten vor dem Übertragen an das Prüfsystem zwischengespei- chert. Neben dem direkten Übertragen der Daten an das Prüfsystem ist eine alternative Variante denkbar, bei der die Daten nicht sofort zum Prüfsystem übertragen werden, sondern auf einem
lokalen Zwischenspeicher des darunterliegenden Hostsys- tems/Betriebssystem zwischenspeichert und erst zum Beispiel bei einem definierten Füllgrad des lokalen Zwischenspeichers, einem über die oben beschriebene Richtline hinterlegten Event/ Eintreten eines definierbaren zweiten Ereignisses (wie Änderungen auf der Container-Instanz, Änderungen eines Datei- systems der Container-Instanz, Schreiboperationen auf der Container-Instanz, System Calls, Modifikationen und/oder An- legen von Dateien und/oder Verzeichnissen, Installationsvor- gänge auf der Container-Instanz, Änderungen von Berechtigun- gen auf der Container-Instanz und/oder Änderungen von Dateien auf der Container-Instanz) oder nach Ablauf eines Intervalls an das Prüfsystem übertragen werden. Außerdem können so zum Beispiel in dem Fall, dass das Prüfsystem für mehrere Intervalle nicht erreichbar ist, Da- ten, die noch nicht an das Prüfsystem übertragen wurden, ge- sammelt werden und zu einem späteren Zeitpunkt gesammelt übertragen werden. Die Erfindung beansprucht außerdem ein System aufweisend: - eine Container-Instanz eines Betriebssystems eines Host- systems, wobei die Container-Instanz auf einer Laufzeitum- gebung gestartet ist, - ein Prüfsystem, wobei das Prüfsystem (4) außerhalb des Hostsystems (2) angeordnet ist, - eine erste Erfassungseinheit, wobei die erste Erfas- sungseinheit ausgebildet ist, ein initiales Referenzbild der Container-Instanz erfassen zu können und wobei das initiale Referenzbild ein Abbild der Container-Instanz ist, - eine Übermittlungseinheit, wobei die Übermittlungsein- heit ausgebildet ist, das initiale Referenzbild an ein Prüfsystem übermitteln zu können, - eine zweite Erfassungseinheit, wobei die zweite Erfas- sungseinheit ausgebildet ist, getriggert durch ein Eintre- ten eines Ereignisses Daten erfassen zu können, wobei sich
das Ereignis sowie die Daten auf eine Operation auf der Container-Instanz beziehen, wobei die Operation eine tat- sächlich stattgefundene Operation darstellt und wobei die Daten, die Operation charakterisieren, - eine Übertragungseinheit, wobei die Übertragungseinheit ausgebildet ist, die Daten an das Prüfsystem übertragen zu können, und - eine Aktualisierungseinheit, wobei die Aktualisierungs- einheit ausgebildet ist, ein aktualisiertes Referenzbild der Container-Instanz erstellen zu können, wobei das aktua- lisierte Referenzbild durch Anpassen des initialen Refe- renzbilds bezüglich Effekten, die die Operation auf der Container-Instanz hat, erstellbar ist, wobei die Effekte zu erwartenden Effekte darstellen, welche die Operationen er- wartungsgemäß verursachen und wobei das Prüfsystem außerdem ausgebildet ist, das aktuali- sierte Referenzbild analysieren zu können. In einer weiteren Ausführungsform der Erfindung ist das er- findungsgemäße System ausgebildet, das erfindungsgemäße Ver- fahren durchführen zu können. KURZE BESCHREIBUNG DER ZEICHNUNGEN Die Besonderheiten und Vorteile der Erfindung werden aus den nachfolgenden Erläuterungen mehrerer Ausführungsbeispiele an- hand von schematischen Zeichnungen ersichtlich. Es zeigen Fig. 1 ein Ablaufdiagramm des erfindungsgemäßen Verfah- rens und Fig. 2 ein erfindungsgemäßes System.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG Fig. 1 zeigt ein Ablaufdiagramm des erfindungsgemäßen Verfah- rens zur Analyse einer Container-Instanz (3, siehe Fig. 2) eines Betriebssystems eines Hostsystems (2, siehe Fig. 2), wobei die Container-Instanz (3) auf einer Laufzeitumgebung gestartet ist. Fig. 1 zeigt die folgenden Schritte: - Schritt S1: Erfassen eines initialen Referenzbilds der Container-Instanz (3), wobei das initiale Referenzbild ein Abbild der Container-Instanz (3) ist, - Schritt S2: Übermitteln des initialen Referenzbilds an ein Prüfsystem (4, siehe Fig. 2), - Schritt S3: Erfassen von Daten, wobei das Erfassen ge- triggert durch ein Eintreten eines Ereignisses durchgeführt wird und wobei sich das Ereignis sowie die Daten auf eine Operation auf der Container-Instanz (3) beziehen, wobei die Operation eine tatsächlich stattgefundene Operation dar- stellt und wobei die Daten, die Operation charakterisieren, - Schritt S4: Übertragen der Daten an das Prüfsystem (4), wobei das Prüfsystem (4) außerhalb des Hostsystems (2) an- geordnet ist, - Schritt S5: Erstellen eines aktualisierten Referenzbilds der Container-Instanz (3), wobei das aktualisierte Refe- renzbild durch Anpassen des initialen Referenzbilds bezüg- lich Effekten, die die Operationen auf der Container- Instanz (3) haben, erstellt wird, wobei die Effekte zu er- wartenden Effekte darstellen, welche die Operationen erwar- tungsgemäß verursachen und - Schritt S6: Analysieren des aktualisierten Referenzbilds durch das Prüfsystem (4). Schritt S1, das Erfassen des initialen Referenzbilds (S1) der Container-Instanz (3), kann durch eine Abfrage auf dem Be- triebssystem (2) erfolgen. Dies kann initial über eine Image-
ID (Identifikation des Container-Image) des initialen Contai- ner-Image und die Instanz-ID (Identifikation der Container- Instanz) durchgeführt werden, welche ständig auf dem Hostsys- tem (z.B. über Bordmittel, d.h. über eigene Mittel der Con- tainer-Instanz Laufzeitumgebung oder Security-Tools) abge- fragt werden kann. Schritt S4, das Übertragen der Daten an das Prüfsystem (S4), ist integritätsgesichert, z.B. über MTLS (Mutual Transport Layer Security), durchführbar. Schritt S6, das Analysieren des aktualisierten Referenzbilds (S6), ist insbesondere darauf ausgerichtet, Schwachstellen der Container-Instanz (3) zu identifizieren. Bei Schritt S5, dem Erstellen des aktualisierten Referenz- bilds (S1) der Container-Instanz (3), können, abhängig von einem Inputparameter, Operationen, die ein Hinzufügen eines zusätzlichen Dateisystems zu der Container-Instanz (3) dar- stellen, nicht berücksichtigt werden. Die Daten können vor Schritt S4, dem Übertragen (S4) an das Prüfsystem (4), zwischengespeichert werden. Fig. 2 zeigt eine schematische Darstellung eines erfindungs- gemäßen Systems (1). Fig. 2 zeigt eine Container-Instanz (3) eines Betriebssystems eines Hostsystems (2), wobei die Container-Instanz (3) auf einer Laufzeitumgebung gestartet ist. Fig. 2 zeigt außerdem ein Prüfsystem (4), wobei das Prüfsys- tem (4) außerdem ausgebildet ist, ein später erstelltes aktu- alisiertes Referenzbild analysieren zu können und wobei das Prüfsystem (4) außerhalb des Hostsystems (2) angeordnet ist. Fig. 2 zeigt außerdem eine erste Erfassungseinheit (5), wobei die erste Erfassungseinheit (5) ausgebildet ist, ein initia-
les Referenzbild der Container-Instanz (3) zu erfassen und wobei das initiale Referenzbild ein Abbild der Container- Instanz (3) ist. Fig. 2 zeigt außerdem eine Übermittlungseinheit (6), wobei die Übermittlungseinheit (6) ausgebildet ist, das initiale Referenzbild an das Prüfsystem (4) übermitteln zu können. Fig. 2 zeigt außerdem eine zweite Erfassungseinheit (7), wo- bei die zweite Erfassungseinheit (7) ausgebildet ist, getrig- gert durch ein Eintreten eines Ereignisses Daten erfassen zu können, wobei sich das Ereignis sowie die Daten auf eine Ope- ration auf der Container-Instanz (3) beziehen. Fig. 2 zeigt außerdem eine Übertragungseinheit (8), wobei die Übertragungseinheit (8) ausgebildet ist, die Daten an das Prüfsystem (4) übertragen zu können. Fig. 2 zeigt außerdem eine Aktualisierungseinheit (9), wobei die Aktualisierungseinheit (9) ausgebildet ist, das aktuali- sierte Referenzbild der Container-Instanz (3) erstellen zu können, wobei das aktualisierte Referenzbild durch Anpassen des initialen Referenzbilds bezüglich Effekten, die die Ope- ration auf der Container-Instanz (3) hat, erstellbar ist, wo- bei die Effekte zu erwartenden Effekte darstellen, welche die Operationen erwartungsgemäß verursachen. Das Prüfsystem (4) kann außerhalb der Container-Instanz (3) und außerhalb des Hostsystems (2) angeordnet sein. Das Ereignis und/oder die Operationen können Änderungen auf der Container-Instanz (3), Änderungen eines Dateisystems der Container-Instanz (3), Schreiboperationen auf der Container- Instanz (3), System Calls, Modifikationen und/oder Anlegen von Dateien und/oder Verzeichnissen, Installationsvorgänge auf der Container-Instanz (3), Änderungen von Berechtigungen auf der Container-Instanz (3) und/oder Änderungen von Dateien auf der Container-Instanz (3) umfassen.
Das Ereignis und die Operationen können unterschiedlich oder gleich ausgeprägt sein. Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung durch die offenbarten Beispiele nicht eingeschränkt und ande- re Variationen können vom Fachmann daraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
Bezugszeichenliste 1 System 2 Hostsystem 3 Container-Instanz 4 Prüfsystem 5 erste Erfassungseinheit 6 Übermittlungseinheit 7 zweite Erfassungseinheit 8 Übertragungseinheit 9 Aktualisierungseinheit 10 Speichereinheit S1 Erfassen eines initialen Referenzbilds S2 Übermitteln des initialen Referenzbilds S3 Erfassen von Daten S4 Übertragen der Daten S5 Erstellen eines aktualisierten Referenzbilds S6 Analysieren des aktualisierten Referenzbilds