-
Die Erfindung betrifft die Überwachung von Computersystemen und/oder Steuerungssystemen auf abnormale Betriebszustände oder böswillige Angriffe.
-
Stand der Technik
-
Als sich Ende der 1980er Jahre DOS-Computerviren durch den Austausch von befallenen Programmen oder Disketten zwischen Computern verbreiteten, wurden bald die ersten Virenscanner verkauft, die bekannte Viren mit Hilfe von Signaturen („Steckbriefen“) ihres Programmcodes aufspüren konnten. Dies ließ noch die Möglichkeit offen, von einem Virus befallen zu werden, das der Virenscanner noch nicht kannte. Daher gab es bald auch heuristische Antivirenprogramme wie beispielsweise „Flu-Shot Plus“ von Ross Greenberg, das die Zugriffe auf die Festplatte und die Versuche anderer Programme, unter DOS speicherresident zu werden (Terminate and Stay Resident, TSR) überwachte. Bei verdächtigen Aktivitäten, wie etwa Schreibzugriffen auf andere Programme, wurde eine Bestätigung des Benutzers angefordert.
-
Die Virenautoren rüsteten daher ihre Viren dahingehend auf, dass sie ihre Aktivitäten unter Umgehung der softwaremäßigen Überwachung ausführten oder das Antivirenprogramm gleich ganz außer Funktion setzten. Daher wurden Anfang der 1990er Jahre verschiedene Einsteckkarten mit Antivirus-Funktionalität für PCs unter Namen wie „Thunderbyte“, „Virustrap“, „V-Card“ oder „C:Cure“ verkauft (Computerworld, 25. Januar 1993, Seite 33). Diese Einsteckkarten waren bereits vor dem Start des DOS-Betriebssystems aktiv und konnten durch softwaremäßige Eingriffe nicht am Funktionieren gehindert werden. Die Einsteckkarten wurden auch in die Verbindung zwischen dem Festplattencontroller und der Festplatte eingeschleift, so dass der Datenverkehr von und zu der Festplatte lückenlos überwacht werden konnte.
-
PC-Systeme benötigen derzeit eine permanente Versorgung mit Sicherheitsupdates und Signaturen für die Antivirensoftware, um zumindest gegen allgemein kursierende Angriffe gewappnet zu sein. Für massenhaft ausgerollte Computersysteme oder Steuerungssysteme im „Internet of Things“ (IoT) ist ein solcher Pflegeaufwand kaum zu bewältigen.
-
Aufgabe und Lösung
-
Es ist daher die Aufgabe der Erfindung, den Betriebszustand eines Computersystems und/oder Steuerungssystems in einer Weise zu überwachen, die für böswillige Angreifer schwer zu umgehen ist und zugleich nicht auf eine ständige Versorgung mit Updates angewiesen ist.
-
Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren gemäß Hauptanspruch, ein Hardwaremodul gemäß Nebenanspruch sowie durch ein Kameramodul, Sensormodul und/oder Aktormodul gemäß weiterem Nebenanspruch. Weitere vorteilhafte Ausgestaltungen ergeben sich aus den darauf rückbezogenen Unteransprüchen.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zur Überwachung des Betriebszustandes eines Computersystems und/oder Steuerungssystems entwickelt. Hierbei ist als Computersystem und/oder Steuerungssystem insbesondere jedes System anzusehen, das zur Erfüllung seiner Funktion maschinenlesbare Anweisungen ausführt.
-
Das Verfahren beginnt damit, dass mindestens ein zeitvariables Signal in dem Computersystem und/oder Steuerungssystem erfasst und an ein von dem Computersystem und/oder Steuerungssystem unabhängig arbeitendes Hardwaremodul weitergeleitet wird. Von dem Hardwaremodul wird über einen vorgegebenen Zeitraum eine zusammenfassende Statistik des Signals gebildet. Es wird nun geprüft, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht. Aus dem Ergebnis dieser Prüfung wird der Betriebszustand des Computersystems und/oder Steuerungssystems ausgewertet.
-
Hierbei erfüllt insbesondere die Bildung einer zusammenfassenden Statistik eine doppelte Funktion.
-
Zum einen wird auch eine sehr große Menge anfallender Rohdaten, wie sie beispielsweise bei der hardwarenahen Überwachung von Busleitungen oder sonstigen Kommunikationsverbindungen des Computersystems und/oder Steuerungssystems anfällt, so verdichtet, dass sie auch mit den beschränkten Ressourcen eines zusätzlichen unabhängigen Hardwaremoduls weiter verarbeitet werden kann. Dieses Hardwaremodul ist dazu gedacht, dem jeweiligen System als „Add-On“ hinzugefügt zu werden, und sollte daher idealerweise sowohl im Hinblick auf den Preis als auch im Hinblick auf den Energieverbrauch nicht deutlich mehr verlangen als das eigentliche zu überwachende System.
-
Zum anderen bewirkt die Bildung und Auswertung der zusammenfassenden Statistik auch eine große Kraft zur Verallgemeinerung. Um überhaupt festzustellen, ob das System ordnungsgemäß arbeitet, muss die Art von Abweichungen, die sich möglicherweise einstellen, nicht vorab bekannt sein. Dies ist sowohl für die Erkennung von Angriffen auf das System als auch für die Erkennung sonstiger Funktionsstörungen vorteilhaft. Angriffe machen sich häufig gerade „Zero-Day“-Sicherheitslücken zu Nutze, die dem Gerätehersteller noch nicht bekannt sind. Funktionsstörungen lassen sich gerade bei neuen IoT-Geräten schwer vorhersagen. Nicht immer lässt es sich beispielsweise mit Rafftests vorhersagen, welche Komponenten in einem IoT-Gerät zuerst verschleißbedingt versagen, wenn das Gerät über mehrere Jahre Wind und Wetter ausgesetzt ist. Oft wird es erst nach einigen Jahren und dem Ausfall einer hinreichenden Anzahl von Geräten offenkundig, was die „Achillesferse“ des Geräts ist (etwa ein bestimmter Kondensator oder Halbleiter, der für die Beanspruchung zu schwach dimensioniert wurde). Ein Rafftest ist ein Test, bei dem ein Gerät um ein Vielfaches intensiver beansprucht wird als im Normalbetrieb mit dem Ziel, innerhalb einer vergleichsweise kurzen Zeit den Zustand des Geräts nach längerfristigem bis langjährigem Gebrauch vorherzusagen.
-
Insbesondere für die Pflege einer größeren installierten Basis von IoT-Geräten ist bereits die binäre Information, ob das jeweilige Gerät völlig ordnungsgemäß arbeitet oder eben nicht, sehr wertvoll. Derartige Geräte werden beispielsweise im Kontext von Verkehrskontrollsystemen, Überwachungskameras und Klimamessstationen häufig an schwer zugänglichen Orten eingesetzt. Es kann dann beispielsweise ein Wartungseinsatz geplant werden, wenn von fünf Geräten drei eine Störung aufweisen, damit nicht für jede einzelne Störung etwa ein Hub steiger oder ein Industriekletterer anrücken muss.
-
In einer besonders vorteilhaften Ausgestaltung umfasst das zeitvariable Signal
- • mindestens ein elektrisches Signal aus einer elektrischen Schaltung des Computersystems und/oder Steuerungssystems, und/oder
- • mindestens ein in dem Computersystem und/oder Steuerungssystem erfasstes Messsignal, und/oder
- • mindestens einen von dem Computersystem und/oder Steuerungssystem ausgegebenen Strom von Ereignissen.
-
Insbesondere direkt abgegriffene elektrische Signale sowie Messsignale lassen sich nicht oder nur schwer durch eine auf dem Computersystem und/oder Steuerungssystem laufende Software gezielt in der Weise beeinflussen oder fälschen, dass ein Normalzustand vorgetäuscht wird. Aber auch ein Strom von Ereignissen, die beispielsweise vom Betriebssystem generiert werden, ist schon vergleichsweise schwer zur Gänze auf einen Normalzustand bzw. Nominalzustand „hinzubiegen“.
-
In einer besonders vorteilhaften Ausgestaltung wird das elektrische Signal an mindestens einem Adressbus, mindestens einem Datenbus, mindestens einem Kontrollbus, und/oder mindestens einer sonstigen Kommunikationsverbindung des Computersystems und/oder Steuerungssystems, erfasst. Insbesondere die genannten Busverbindungen durchziehen häufig das komplette System, so dass sich ein großer Teil der insgesamt im System stattfindenden Aktivitäten mit einem einzigen Abgriff des Signals überwachen lässt. Dies geht allerdings auch damit einher, dass bedingt durch die hohen Taktraten auf diesen Busverbindungen bei der Erfassung des Signals sehr hohe Datenraten anfallen. In diesem Kontext ist es wiederum besonders vorteilhaft, dass die Daten bei der Bildung der zusammenfassenden Statistik stark verdichtet und komprimiert werden.
-
Hierbei muss eine Abweichung vom Normalzustand und/oder Nominalzustand nicht unbedingt dadurch charakterisiert sein, dass alternativ oder zusätzlich zu erwarteten Aktivitäten bestimmte ungewöhnliche Aktivitäten stattfinden. Vielmehr kann auch das Ausbleiben erwarteter Aktivitäten darauf hindeuten, dass das System seine Funktion aktuell nicht ausübt, weil beispielsweise eine Hardwarekomponente ausgefallen ist oder die Software sich „aufgehängt“ hat.
-
Besonders vorteilhaft wird von dem Hardwaremodul beim Bilden der zusammenfassenden Statistik maximal eine physikalische Schicht eines Kommunikationsprotokolls interpretiert. Hierbei kann es sich insbesondere beispielsweise um das auf der besagten Kommunikationsverbindung genutzte Kommunikationsprotokoll handeln. Das heißt, das von der Kommunikationsverbindung abgegriffene elektrische Signal wird zu einem aus Bits und/oder Datensymbolen bestehenden Datenstrom dekodiert, aber dieser Datenstrom wird nicht zu logischen Datenpaketen oder aus solchen Datenpaketen zusammengesetzten komplexeren Datenstrukturen weiterverarbeitet. Das Interpretieren lediglich der physikalischen Schicht lässt sich mit einer einfachen, spezialisierten Empfangshardware bewerkstelligen, die beispielsweise auf einer feldprogrammierbaren Gatteranordnung (Field Programmable Gate Array, FPGA) implementierbar ist. Zugleich bietet das bloße Rekonstruieren des Datenstroms noch keine Angriffsfläche für einen böswilligen Angriff auf das für die Überwachung verwendete Hardwaremodul. Um diesem Hardwaremodul, bzw. der darauf implementierten Software, seinen Willen aufzuzwingen, müsste der Angreifer dem Hardwaremodul Informationen vorlegen, die gezielt gegen mindestens eines der für die Kommunikationsverbindung vorgesehenen Protokolle verstoßen und die Software mit einer Situation konfrontieren, die bei ihrer Implementierung nicht vorgesehen wurde. Wenn etwa ein Datenpaket mit einer bestimmten Länge angekündigt wird und danach ein wesentlich längeres Datenpaket folgt, hat sich die für die Verarbeitung des Datenpakets zuständige Software möglicherweise auf die angekündigte Länge eingerichtet und wird durch einen Pufferüberlauf überwältigt. In dem „nackten“ Datenstrom der physikalischen Schicht lassen sich solche gezielten Verstöße noch nicht unterbringen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet das Messsignal eine Versorgungsspannung des Computersystems und/oder Steuerungssystems, und/oder eine in dem Computersystem und/oder Steuerungssystem gemessene Temperatur. Der zeitliche Verlauf der Versorgungsspannung lässt Rückschlüsse auf den Stromverbrauch des Systems oder einer seiner Komponenten zu. Dies wiederum gibt Aufschluss über die Aktionen, die von dem System, bzw. der Komponente, ausgeführt werden. Dies ist ein Stück weit analog zu den „Seitenkanalangriffen“, bei denen aus Schwankungen des Stromverbrauchs sensitive Informationen, wie etwa kryptographische Schlüssel, extrahiert werden.
-
Ähnliches gilt für die Temperatur. Wenn das System etwa deutlich mehr beschäftigt ist als es eigentlich sein sollte, weil gerade eine Ransomware den Datenbestand verschlüsselt, steigt die Temperatur. Auch Hardwareprobleme können zur Folge haben, dass die Temperatur steigt. Beispielsweise kann ein ausgefallener Lüfter einen Wärmestau verursachen, oder ein defektes Bauelement kann sich durch einen erhöhten Stromfluss stärker erwärmen. Eine auffällig niedrige Temperatur kann hingegen beispielsweise darauf hindeuten, dass das System die Arbeit wegen einer festgefahrenen Software ganz eingestellt hat oder dass das Gehäuse beschädigt ist und Kälte ungehindert von außen eindringt.
-
Die zusammenfassende Statistik kann beispielsweise Histogramme, Mittelwerte, Mediane, Standardabweichungen und andere statistische Auswertungen zu beliebigen aus der zeitlichen Entwicklung des Signals gebildeten Kenngrößen umfassen. In einer besonders vorteilhaften Ausgestaltung beinhaltet die zusammenfassende Statistik ein Maß für eine Auslastung des Computersystems und/oder Steuerungssystems. Wie zuvor erwähnt, kann eine ungewöhnlich hohe Auslastung auf unerwünschte Aktivitäten hindeuten, während eine ungewöhnlich niedrige Auslastung darauf hindeuten kann, dass das System gar nicht mehr funktioniert. Die Auslastung ist hierbei ein besonders einsichtiger Parameter, für den bei Kenntnis der normalen Aktivitäten des Systems zumindest eine Abschätzung angegeben werden kann. Schließlich wird gerade bei IoT-Geräten im Interesse einer möglichst guten Energieeffizienz und geringer Herstellungskosten die Hardware genau so dimensioniert, dass das Gerät die vorgesehene Aufgabe erfüllen kann, aber keine Kapazität brachliegt.
-
Dabei kann insbesondere beispielsweise eine Änderung der Auslastung mit einer zeitlichen Rate, die ein vorgegebenes Kriterium erfüllt, als auf einen anormalen Betriebszustand hindeutend gewertet werden. So kann ein plötzliches Ansteigen der Auslastung auf Malware-Aktivität hindeuten, während ein plötzliches Abfallen auf einen Funktionsausfall hindeuten kann. Änderungen mit langsamerer zeitlicher Rate lassen sich beispielsweise mit tageszeitlichen Schwankungen oder einem ansteigenden Trend der Anfragezahlen an das Computersystem und/oder Steuerungssystem erklären.
-
Wie zuvor an vielen Beispielen erläutert, kann der Betriebszustand rein passiv aus dem Verhalten des Computersystems und/oder Steuerungssystems ausgewertet werden, ohne dass an diesem System selbst etwas geändert wird. Jedoch kann in einer weiteren besonders vorteilhaften Ausgestaltung das Computersystem bzw. Steuerungssystem dahingehend modifiziert werden, dass bei festgelegten Ereignissen und/oder Systemzuständen das zeitvariable Signal geändert wird. Aus diesen Änderungen kann dann direkt auf das Ereignis bzw. den Systemzustand geschlossen werden. Das System kann also das Ereignis bzw. den Systemzustand so zu dem für die Überwachung verwendeten Hardwaremodul „morsen“, dass die Übermittlung nur schwer durch eine auf dem System laufende Malware verfälscht oder unterdrückt werden kann.
-
In Antwort darauf, dass die Auswertung des Betriebszustandes mindestens eine Anomalie anzeigt, kann beispielsweise wenigstens eine der folgenden Aktionen ausgeführt werden:
- • es wird ein Alarm ausgegeben;
- • das Computersystem bzw. Steuerungssystem wird abgeschaltet, neugestartet oder auf Werkseinstellungen zurückgesetzt;
- • es wird ein Software-Update auf das Computersystem bzw. Steuerungssystem eingespielt;
- • das Computersystem bzw. Steuerungssystem wird dazu veranlasst, Betriebsdaten, Protokolldaten und/oder Diagnoseinformationen auszugeben;
- • das Computersystem bzw. Steuerungssystem wird dazu veranlasst, wichtige Daten durch Versenden über eine Kommunikationsschnittstelle vor dem Verlust zu schützen;
- • das Computersystem bzw. Steuerungssystem wird dazu veranlasst, vertrauliche Daten durch Löschen vor der Preisgabe zu schützen;
- • das Computersystem bzw. Steuerungssystem wird in einen Notbetrieb versetzt;
- • ein Selbsttest des Computersystems bzw. Steuerungssystems wird veranlasst; und/oder
- • ein Selbsttest des Hardwaremoduls wird veranlasst.
-
Insbesondere können beispielsweise durch Neustarten, Zurücksetzen auf Werkseinstellungen und/oder Einspielen eines Software-Updates viele Fehlfunktionen automatisiert ohne menschliches Zutun behoben werden. Dies ist insbesondere bei den eingangs erwähnten IoT-Geräten, die an schwer zugänglichen Stellen betrieben werden, vorteilhaft.
-
Selbsttests und das Versenden von Diagnoseinformationen können Wartungsarbeiten an dem System möglicherweise nicht ganz überflüssig machen, aber zumindest vereinfachen. Diese Informationen können insbesondere beispielsweise Hinweise geben, welche Ersatzteile benötigt werden.
-
Das Versenden wichtiger Daten, bzw. das Löschen vertraulicher Daten, ist ebenfalls bei Geräten an schwer zugänglichen Orten besonders vorteilhaft. Wird beispielsweise ein solches Gerät manipuliert, um es zu stehlen, so lässt sich die Entwendung des Geräts selbst aus der Ferne wahrscheinlich nicht verhindern. Bis ein Sicherheitsdienst oder die Polizei eintrifft, ist das Gerät längst weg. Das Gerät kann sich also in Bezug auf die Daten nur selbst helfen.
-
Die beschriebenen Einwirkungen werden von dem Hardwaremodul in einer besonders vorteilhaften Ausgestaltung über eine unidirektionale Kommunikationsschnittstelle auf das Computersystem und/oder Steuerungssystem ausgeübt. Auf diese Weise kann eine auf dem System laufende Malware diese Schnittstelle nicht nutzen, um die auf dem Hardwaremodul implementierte Software in ihrer Funktion zu stören. Würde das Hardwaremodul beispielsweise von dem Computersystem und/oder Steuerungssystem eine Rückmeldung über den Eingriff erwarten, könnte die Malware versuchen, durch eine ungültig formatierte oder sonstwie manipulierte Rückmeldung einen in der auf dem Hardwaremodul implementierten Software nicht vorgesehenen Sonderfall zu erzeugen und der im Arbeitsspeicher des Hardwaremoduls laufenden Software durch Pufferüberlauf oder ähnliche Angriffe ihren Willen aufzuzwingen.
-
In einer besonders vorteilhaften Ausgestaltung wird das zeitvariable Signal durch das Hardwaremodul passiv aus dem Computersystem und/oder Steuerungssystem ausgelesen. Das bedeutet, dass das System selbst von diesem Auslesen nichts mitbekommt. Eine Malware im System kann sich also nicht gezielt in Antwort darauf, dass die Überwachung durch das Hardwaremodul aktiv ist, „schlafend stellen“, um einer Entdeckung zu entgehen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird die zusammenfassende Statistik, und/oder mindestens eine diese zusammenfassende Statistik charakterisierende Kenngröße, von dem Hardwaremodul an einen externen Server übermittelt. Die Prüfung, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht, erfolgt dann zumindest teilweise auf dem externen Server. Dies ermöglicht den Einsatz ausgefeilterer Verfahren, wie beispielsweise Machine Learning-Verfahren, für die Prüfung. Derartige Verfahren lassen sich nicht immer auf dem Hardwaremodul implementieren. So stehen etwa einem Hardwaremodul, das Teil eines batteriebetriebenen IoT-Geräts ist, nur eingeschränkte Ressourcen an Rechenleistung und Energie zur Verfügung. Auch schränkt beispielsweise eine Realisierung des Hardwaremoduls als FPGA die verfügbaren Ressourcen für die Prüfung und die weitere Auswertung des Betriebszustandes ein. Der externe Server hingegen kann sich des vollen Befehlssatzes eines General-Purpose-Computers bedienen. Weiterhin kann mit einem externen Server auch ein zentralisiertes Management einer Vielzahl von Computersystemen und/oder Steuerungssystemen realisiert werden. Es kann also beispielsweise überwacht werden, ob sich eine Störung innerhalb einer großen installierten Basis von Geräten ausbreitet, was auf einen koordinierten Angriff oder gar eine wurmartige Ausbreitung von Malware hindeuten kann.
-
Für die Prüfung auf dem externen Server können neben Machine Learning-Verfahren auch beispielsweise beliebige andere Verfahren der klassischen Signalverarbeitung eingesetzt werden. Die Prüfung kann insbesondere beispielsweise zumindest teilweise selbstlernend sein, d.h., sich automatisch an Veränderungen der zusammenfassenden Statistik anpassen. Sinnvoll ist insbesondere beispielsweise die Unterscheidung von verschiedenen Zeitskalen, um sowohl schnelle, einmalige Änderungen als auch langfristige Abweichungen erkennen zu können. Als Ergebnis der Prüfung können insbesondere beispielsweise auch Parameter des Verfahrens angepasst werden, nach dem das zeitvariable Signal zu der zusammenfassenden Statistik verdichtet wird. Insbesondere können Zeitkonstanten dieser Verdichtung modifiziert werden, wie beispielsweise die Länge von Zeitintervallen („Bins“), mit denen das Signal zeitlich diskretisiert wird.
-
Der externe Server verfügt auch über Zusatzinformationen für die Prüfung, die dem Hardwaremodul nicht zur Verfügung stehen. So ist beispielsweise nicht jeder plötzliche Anstieg der Systemauslastung per se atypisch. Viele Nachfragespitzen lassen sich durch externe Ereignisse, die dem externen Server bekannt sind, erklären. So ist es beispielsweise bekannt, dass in der Wasser- und Energieversorgung in der Halbzeitpause wichtiger Fußballspiele plötzliche Nachfragespitzen auftreten. Dies kann sich in der Auslastung von IoT-Geräten in solchen Versorgungssystemen niederschlagen. Auch kann beispielsweise die Vorstellung eines neuen Smartphones in einer Keynote-Präsentation einen plötzlichen Ansturm von Bestellungen auf ein Computersystem eines Onlineshops auslösen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung werden auf dem externen Server für die Prüfung, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht, zusammenfassende Statistiken von mehreren Computersystemen und/oder Steuerungssystemen zusammengeführt. Dies ermöglicht insbesondere beispielsweise eine Prüfung, ob Veränderungen in der zusammenfassenden Statistik bei mehreren Systemen exakt gleichzeitig oder aber zeitversetzt zueinander erfolgen. Wenn beispielsweise mehrere IoT-Geräte, die die gleiche Szenerie physikalisch beobachten, genau gleichzeitig Veränderungen in der zusammenfassenden Statistik zeigen, dann deutet dies darauf hin, dass die Veränderungen durch Ereignisse oder Veränderungen in der beobachteten Szenerie selbst verursacht wurden. Wenn sich die Veränderungen hingegen in einer installierten Basis von Geräten sukzessive auszubreiten scheinen, kann dies darauf hindeuten, dass die Geräte nacheinander angegriffen werden oder sich gar eine Malware sukzessive wurmartig von Gerät zu Gerät ausbreitet. Dies gilt insbesondere beispielsweise dann, wenn sich Veränderungen innerhalb einer installierten Basis von Geräten auch zwischen Geräten ausbreiten, die an völlig verschiedenen Standorten installiert sind und völlig verschiedene Messgrößen erfassen.
-
In Antwort auf die Feststellung, dass das Computersystem und/oder Steuerungssystem sich nicht im Normalzustand und/oder Nominalzustand befindet, kann der externe Server eine logistische Maßnahme, wie einen Service-Einsatz und/oder einen Geräteaustausch am Ort des Computersystems und/oder Steuerungssystems, veranlassen. Dies lässt sich insbesondere mit existierenden logistischen Systemen verzahnen, so dass beispielsweise Service-Einsätze an IoT-Geräten, die räumlich nahe beieinander liegen, gebündelt werden. Die automatisierte Planung logistischer Maßnahmen kann beispielsweise auch eine vorausschauende Wartung beinhalten. Wenn etwa ein IoT-Gerät an einem schwer zugänglichen Ort gewartet oder ausgetauscht werden muss und auf Grund einer vom zentralen Server registrierten Vorgeschichte zu erwarten ist, dass auch ein benachbartes Gerät am gleichen Ort auf Grund von Verschleiß demnächst ausfallen wird, dann kann es sinnvoll sein, auch dieses Gerät gleich mit zu warten. Damit wird etwas verbliebene Lebenszeit dieses Geräts „verschenkt“. Dies kann jedoch deutlich günstiger sein als beispielswiese eine erneute Anmietung eines Hubsteigers oder ein erneuter Einsatz eines Industriekletterers an dem Tag, an dem das Gerät ausfällt.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird aus der zusammenfassenden Statistik ein Verhalten, und/oder ein Betriebszustand, von auf dem Computersystem und/oder Steuerungssystem installierten Software-Updates ausgewertet. Ein jedes solches Update birgt grundsätzlich die Möglichkeit, dass danach unerwartete Probleme auftreten. Daher wurde bei noch nicht an externe Netzwerke, wie das Internet, angeschlossenen Systemen vielfach nach dem Grundsatz „never change a running system“ verfahren. Bei vernetzten Systemen sind regelmäßige Updates unumgänglich. Indem das Verhalten der Updates im Rahmen des Verfahrens ausgewertet wird, können eventuelle Probleme beim Ausrollen der Updates frühzeitig erkannt werden. Möglicherweise zeigen sich derartige Probleme nur unter bestimmten Bedingungen und werden daher bei Vorab-Tests vor dem Ausrollen nicht erkannt.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird in einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems eine zusammenfassende Statistik des Signals, und/oder mindestens eine diese zusammenfassende Statistik charakterisierende Kenngröße, gelernt und für spätere Prüfungen, inwieweit ein Normalzustand und/oder Nominalzustand vorliegt, herangezogen. Auf diese Weise wird ein Vergleich mit dem Normalzustand bzw. Nominalzustand möglich, ohne dass Kriterien hierfür zunächst manuell in Regeln zu formulieren wären.
-
In einer weiteren vorteilhaften Ausgestaltung wird das Ergebnis der Prüfung, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht, einem Operator angezeigt. Von dem Operator wird eine Eingabe des Systemzustands, und/oder einer an dem Computersystem und/oder Steuerungssystem zu treffenden Maßnahme, von dem Operator angefordert. Auf diese Weise kann das im Hardwaremodul und/oder auf dem externen Server vorhandene Wissen, welche Veränderungen des Verhaltens des Systems noch als normal bzw. nominal anzusehen sind und was bei Abweichungen unternommen werden soll, mit dem Wissen des Operators ergänzt werden.
-
Das Computersystem und/oder Steuerungssystem kann insbesondere ein Kameramodul, ein Sensormodul oder ein Aktormodul sein. Beim Einsatz dieser Module ist häufig gefordert, dass sie über lange Zeit autark arbeiten. Weiterhin sind diese Module häufig an schwer zugänglichen Orten installiert.
-
Die Erfindung bezieht sich auch auf ein Hardwaremodul für die Überwachung des Betriebszustandes eines Computersystems und/oder Steuerungssystems. Dieses Hardwaremodul umfasst
- • eine Signalschnittstelle zur Erfassung mindestens eines zeitvariablen Signals des Computersystems und/oder Steuerungssystems,
- • eine Kompressionseinheit zur Bildung einer zusammenfassenden Statistik über das Signal sowie
- • eine Prüfeinheit, die dazu ausgebildet ist, zu prüfen, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht, und/oder
- • eine von der Signalschnittstelle verschiedene Service-Schnittstelle, die dazu ausgebildet ist, die zusammenfassende Statistik, und/oder eine diese zusammenfassende Statistik charakterisierende Kenngröße, an einen externen Server zu übermitteln.
-
Wie zuvor im Zusammenhang mit dem Verfahren erläutert, kann mit diesem Hardwaremodul unter weitestgehender Vermeidung von Abhängigkeiten zum Computersystem und/oder Steuerungssystem überwacht werden, inwieweit sich der Zustand des jeweiligen Systems verändert und möglicherweise den Rahmen des Normalen bzw. Nominalen verlässt.
-
Dabei kann die letztendliche Auswertung des Betriebszustandes innerhalb des Hardwaremoduls, auf dem externen Server oder auch in Zusammenarbeit des Hardwaremoduls mit dem externen Server erfolgen.
-
In einer besonders vorteilhaften Ausgestaltung umfasst das Hardwaremodul eine Auswerteeinheit. Diese Auswerteeinheit bezieht von der Prüfeinheit, und/oder von dem externen Server, ein Analyseergebnis dahingehend, inwieweit die zusammenfassende Statistik im Einklang mit einem Normalzustand und/oder Nominalzustand des Computersystems und/oder Steuerungssystems steht. Die Auswerteeinheit ist dazu ausgebildet, aus diesem Analyseergebnis den Betriebszustand des Computersystems und/oder Steuerungssystems auszuwerten. Dieser ausgewertete Zustand kann dann beispielsweise von dem Hardwaremodul herangezogen werden, um auf das Computersystem und/oder Steuerungssystem einzuwirken. Damit kann auch die Behebung eines eventuell festgestellten Problems zumindest teilweise autark und automatisiert angegangen werden.
-
Zu diesem Zweck umfasst das Hardwaremodul in einer besonders vorteilhaften Ausgestaltung eine von der Signalschnittstelle und der Service-Schnittstelle verschiedene Systemschnittstelle zur Einwirkung auf das Computersystem und/oder Steuerungssystem auf der Basis des ausgewerteten Betriebszustands. Diese Signalschnittstelle kann beispielsweise mit Signaleingängen des Systems gekoppelt werden, die einen Neustart oder ein Abschalten des Systems auslösen. Es können aber auch komplexere Aktionen auf dem System ausgelöst werden. Beispielsweise kann über die Signalschnittstelle ein Signaleingang des Systems angesteuert werden, der wiederum von der Software des Systems abgefragt wird.
-
In einer besonders vorteilhaften Ausgestaltung ist die Systemschnittstelle für die unidirektionale Kommunikation vom Hardwaremodul zum Computersystem und/oder Steuerungssystem ausgebildet. Wie zuvor erläutert, lässt sich die Systemschnittstelle dann nicht durch das Zurückspielen ungültiger Informationen dazu missbrauchen, die Funktion der auf dem Hardwaremodul implementierten Software zu beeinträchtigen.
-
Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein Kameramodul, Sensormodul und/oder Aktormodul, das mit dem zuvor beschriebenen Hardwaremodul ausgerüstet und/oder mit einem FPGA-Baustein vorgerüstet ist. Wenn ein FPGA-Baustein vorhanden ist, ist dieser schaltungstechnisch so in das Kameramodul, Sensormodul und/oder Aktormodul integriert, dass er sich durch Programmierung zu dem zuvor beschriebenen Hardwaremodul, und/oder zu einem sonstigen für die Durchführung des zuvor beschriebenen Verfahrens geeigneten Modul, herrichten lässt. Ein FPGA-Baustein ist ein am Markt verfügbarer Standardbaustein, der fertigungstechnisch mit geringem Kostenaufwand in das Kameramodul, Sensormodul und/oder Aktormodul integrierbar ist. Wenn die beschriebene Überwachung mit dem Hardwaremodul beispielsweise als Option zu dem Kameramodul, Sensormodul und/oder Aktormodul angeboten wird, kann das jeweilige Modul unabhängig davon, ob die Option mitgekauft wurde, mit dem FPGA-Baustein ausgeliefert werden. Dies spart den Aufwand für die Fertigung zweier unterschiedlicher Produktversionen, der durchaus teurer sein kann als der Wert des FPGA-Bausteins selbst. Für diejenigen Module, für die die Option der Überwachung mitgekauft wurde, kann sie durch die Programmierung des FPGA-Bausteins aktiviert werden.
-
Das Verfahren kann in Programmcode implementiert sein. Ebenso kann das Hardwaremodul in Code implementiert sein, der einem FPGA-Baustein die Funktionalität des Hardwaremoduls verleiht. Die Erfindung bezieht sich daher auch auf ein Computerprogramm mit
- • maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, das zuvor beschriebene Verfahren auszuführen, und/oder
- • einer maschinenlesbaren Konfiguration, die, wenn sie in einen FPGA-Baustein eingebracht wird, den FPGA-Baustein zu dem zuvor beschriebenen Hardwaremodul, und/oder zu einem sonstigen für die Durchführung des zuvor beschriebenen Verfahrens geeigneten Modul, herrichtet.
-
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger, und/oder ein Downloadprodukt, mit dem Computerprogramm.
-
Spezieller Beschreibungsteil
-
Nachfolgend wird der Gegenstand der Erfindung anhand von Figuren erläutert, ohne dass der Gegenstand der Erfindung hierdurch beschränkt wird. Es ist gezeigt:
- 1: Ausführungsbeispiel des Verfahrens 100;
- 2: Ausführungsbeispiel eines Systems 1 mit integriertem Hardwaremodul 3;
- 3: Ausführungsbeispiel eines Hardwaremoduls 3.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zur Überwachung des Betriebszustandes 1b eines Computersystems und/oder Steuerungssystems 1. Das Computersystem und/oder Steuerungssystem 1 kann gemäß Block 105 dahingehend modifiziert sein, dass bei festgelegten Ereignissen und/oder Systemzuständen ein im oder am Computersystem und/oder Steuerungssystem 1 erfassbares zeitvariables Signal 2 geändert wird. Gemäß Block 106 kann das Computersystem und/oder Steuerungssystem 1 ein Kameramodul, ein Sensormodul, und/oder ein Aktormodul sein.
-
In Schritt 110 wird mindestens ein zeitvariables Signal 2 in dem Computersystem und/oder Steuerungssystem 1 erfasst. Dieses zeitvariable Signal 2 kann beispielsweise
- • mindestens ein elektrisches Signal 2a aus einer elektrischen Schaltung des Computersystems und/oder Steuerungssystems 1, und/oder
- • mindestens ein in dem Computersystem und/oder Steuerungssystem 1 erfasstes Messsignal 2b, und/oder
- • mindestens einen von dem Computersystem und/oder Steuerungssystem 1 ausgegebenen Strom von Ereignissen 2c
umfassen.
-
Ein elektrisches Signal 2a kann beispielsweise gemäß Block 111 an einer Kommunikationsverbindung 15 im Computersystem und/oder Steuerungssystem 1, wie beispielsweise an einem Adressbus, Datenbus und/oder Kontrollbus, erfasst werden.
-
Allgemein kann gemäß Block 112 das zeitvariable Signal 2 passiv erfasst werden, so dass das Computersystem und/oder Steuerungssystem 1 nichts von dieser Erfassung mitbekommt.
-
Das zeitvariable Signal 2 wird in Schritt 120 einem Hardwaremodul 3 zugeführt, das von dem Computersystem und/oder Steuerungssystem unabhängig arbeitet. Von dem Hardwaremodul 3 wird in Schritt 130 über einen vorgegebenen Zeitraum eine zusammenfassende Statistik 4 des Signals 2 gebildet.
-
In Schritt 140 wird geprüft, inwieweit die zusammenfassende Statistik 4 im Einklang mit einem Normalzustand und/oder Nominalzustand 1a des Computersystems und/oder Steuerungssystems 1 steht. Aus dem Ergebnis 5 dieser Prüfung 140 wird in Schritt 150 der Betriebszustand 1b des Computersystems und/oder Steuerungssystems 1 ausgewertet.
-
Innerhalb des Kastens 130 sind verschiedene beispielhafte Möglichkeiten angegeben, wie die zusammenfassende Statistik 4 ermittelt werden kann.
-
Gemäß Block 133 kann von dem Hardwaremodul 3 beim Bilden der zusammenfassenden Statistik 4 maximal eine physikalische Schicht des auf der Kommunikationsverbindung 15 genutzten Kommunikationsprotokolls interpretiert werden.
-
Gemäß Block 134 kann die zusammenfassende Statistik 4 ein Maß für eine Auslastung des Computersystems und/oder Steuerungssystems 1 beinhalten. Gemäß Block 144 kann dann im Rahmen der Prüfung 140 beispielsweise eine Änderung der Auslastung mit einer zeitlichen Rate, die ein vorgegebenes Kriterium erfüllt, als auf einen anormalen Betriebszustand 1b hindeutend gewertet werden.
-
Gemäß Block 135 kann die zusammenfassende Statistik 4, und/oder mindestens eine diese zusammenfassende Statistik 4 charakterisierende Kenngröße 4a, von dem Hardwaremodul 3 an einen externen Server 6 übermittelt werden. Die Prüfung 140 kann dann gemäß Block 145 zumindest teilweise auf dem externen Server 6 erfolgen. Hierbei können wiederum gemäß Block 145a auf dem externen Server 6 zusammenfassende Statistiken 4 von mehreren Computersystemen und/oder Steuerungssystemen 1 zusammengeführt werden. Alternativ oder in Kombination hierzu kann der externe Server 6 gemäß Block 145b in Antwort auf die Feststellung, dass das Computersystem und/oder Steuerungssystem 1 sich nicht im Normalzustand und/oder Nominalzustand 1a befindet, eine logistische Maßnahme zur Behebung des Problems veranlassen.
-
Um den Abgleich der zusammenfassenden Statistik 4 mit dem Normalzustand und/oder Nominalzustand 1a vorzubereiten, kann gemäß Block 140a beispielsweise in einem solchen Normalzustand und/oder Nominalzustand 1a eine zusammenfassende Statistik 4* des Signals 2, und/oder mindestens eine diese zusammenfassende Statistik 4* charakterisierende Kenngröße 4a*, gelernt werden. Im Rahmen der Prüfung 140 kann diese zusammenfassende Statistik 4*, und/oder diese Kenngröße 4a*, herangezogen werden.
-
Des Weiteren kann gemäß Block 142 aus der zusammenfassenden Statistik 4 ein Verhalten, und/oder ein Betriebszustand, von auf dem Computersystem und/oder Steuerungssystem 1 installierten Software-Updates ausgewertet werden.
-
In Antwort darauf, dass die Auswertung 150 des Betriebszustandes 1b mindestens eine Anomalie 1c anzeigt, können in Schritt 160 verschiedene Aktionen ausgelöst werden. Hierbei kann gemäß Block 161 von dem Hardwaremodul 3 über eine unidirektionale Kommunikationsschnittstelle 38 auf das Computersystem und/oder Steuerungssystem 1 eingewirkt werden.
-
Das Prüfergebnis 5 kann auch in Schritt 170 einem Operator 7 angezeigt werden, und in Schritt 180 kann von dem Operator 7 eine Eingabe des Systemzustands 1b, und/oder einer an dem Computersystem und/oder Steuerungssystem zu treffenden Maßnahme 1d, angefordert werden.
-
2 zeigt ein Ausführungsbeispiel eines Computersystems und/oder Steuerungssystems 1, das beispielsweise als Kameramodul, Sensormodul und/oder Aktormodul 10 ausgebildet sein kann. Das Computersystem und/oder Steuerungssystem 1 umfasst einen Prozessor 11, einen Speicher 12, einen Eingabe-Ausgabe-Controller 13 sowie sonstige Peripheriegeräte 14, die alle über einen Bus 15 gekoppelt sind. Zusätzlich ist ein FPGA-Baustein 16 vorgesehen, durch dessen Programmierung das Hardwaremodul 3 realisiert wird.
-
In dem in 2 gezeigten Beispiel erhält das Hardwaremodul 3 vom Bus 15 ein elektrisches Signal 2a, von einem Temperatursensor 13a auf dem Eingabe-Ausgabe-Controller 13 ein Messsignal 2b sowie vom Prozessor 11 einen Strom 2c von Ereignissen als zeitvariable Signale 2. Das Hardwaremodul 3 bildet eine zusammenfassende Statistik 4 über diese Signale 2 und sendet diese an einen externen Server 6. Der externe Server 6 antwortet hierauf mit dem Analyseergebnis 5 dahingehend, inwieweit die zusammenfassende Statistik 4 im Einklang mit einem Normalzustand und/oder Nominalzustand 1a des Computersystems und/oder Steuerungssystems 1 steht.
-
3 zeigt ein Ausführungsbeispiel des Hardwaremoduls 3. Das Hardwaremodul 3 hat eine Signalschnittstelle 31, über die es zeitvariable Signale 2 aus dem Computersystem und/oder Steuerungssystem 1 abnehmen kann. Hierbei kann insbesondere beispielsweise Empfangshardware 32 vorgesehen sein, um die physikalische Ebene von Kommunikationsprotokollen zu interpretieren. Eine Kompressionseinheit 33 ist dazu ausgebildet, eine zusammenfassende Statistik 4 über das Signal 2 zu bilden.
-
Eine Prüfeinheit 34 ist dazu ausgebildet, zu prüfen, inwieweit die zusammenfassende Statistik 4 im Einklang mit einem Normalzustand und/oder Nominalzustand 1a des Computersystems und/oder Steuerungssystems 1 steht. In dem in 3 gezeigten Beispiel ist zusätzlich eine von der Signalschnittstelle 31 verschiedene Service-Schnittstelle 36 vorgesehen und dazu ausgebildet, die zusammenfassende Statistik 4, und/oder eine diese zusammenfassende Statistik 4 charakterisierende Kenngröße 4a, an einen externen Server 6 zu übermitteln.
-
Analyseergebnisse 5, die von der Prüfeinheit und/oder von dem externen Server 6 geliefert werden, werden einer Steuereinheit 35 zugeleitet. Die Steuereinheit 35 fungiert in dem in 3 gezeigten Beispiel zugleich als Auswerteeinheit 39, die aus den Analyseergebnissen 5 den Betriebszustand 1b des Computersystems und/oder Steuerungssystems 1 auswertet. Die Steuereinheit 35 kann beispielsweise durch Einwirken auf das Computersystem und/oder Steuerungssystem 1 über eine unidirektionale, von der Signalschnittstelle 31 und der Service-Schnittstelle 36 verschiedene Systemschnittstelle 38 die beschriebenen Maßnahmen 150 auslösen. Die Steuereinheit 35 greift auf einen Speicher 37 zurück und kann ihrerseits Parameter P verändern, die das Verhalten der Kompressionseinheit 33, und/oder das Verhalten der Prüfeinheit 34, charakterisieren.
-
Bezugszeichenliste
-
- 1
- Computersystem und/oder Steuerungssystem
- 1a
- Normalzustand und/oder Nominalzustand des Systems 1
- 1b
- Betriebszustand des Systems 1
- 1c
- Anomalie des Betriebszustands 1b
- 1d
- Maßnahme zur Problembehebung am System 1
- 10
- Kameramodul, Sensormodul und/oder Aktormodul als System 1
- 11
- Prozessor des Systems 1
- 12
- Speicher des Systems 1
- 13
- Eingabe-Ausgabe-Kontroller des Systems 1
- 14
- sonstige Peripheriegeräte des Systems 1
- 15
- Kommunikationsverbindung im System 1
- 16
- FPGA-Baustein im System 1
- 2
- zeitvariables Signal, erfasst im System 1
- 2a
- elektrisches Signal als zeitvariables Signal 2
- 2b
- Messsignal als zeitvariables Signal 2
- 2c
- Strom von Ereignissen als zeitvariables Signal 2
- 3
- Hardwaremodul
- 31
- Signalschnittstelle des Hardwaremoduls 3
- 32
- Empfangshardware für physikalische Protokollebene
- 33
- Kompressionseinheit zur Bildung der Statistik 4
- 34
- Prüfeinheit für Abgleich mit Normalzustand/Nominalzustand 1a
- 35
- Steuereinheit des Hardwaremoduls 3
- 36
- Service-Schnittstelle des Hardwaremoduls 3
- 37
- Speicher des Hardwaremoduls 3
- 38
- Systemschnittstelle des Hardwaremoduls 3
- 39
- Auswerteeinheit des Hardwaremoduls 3
- 4
- zusammenfassende Statistik des zeitvariablen Signals 2
- 4a
- Kenngröße, charakterisiert Statistik 4
- 4*
- Lern-Statistik, erfasst in Normalzustand/Nominalzustand 1a
- 4a*
- Kenngröße der Lern-Statistik 4*
- 5
- Analyseergebnis aus Abgleich der Statistik 4 mit dem Zustand 1a
- 6
- externer Server
- 7
- Operator
- 100
- Verfahren zur Überwachung des Betriebszustands 1b
- 105
- Modifizieren des Systems 1 für die Überwachung
- 106
- Auswahl eines Kameramoduls, Sensormoduls und/oder Aktormoduls
- 110
- Erfassen des zeitvariablen Signals 2
- 111
- Erfassen des elektrischen Signals 2a auf der Verbindung 15
- 112
- passives Auslesen des Signals 2 aus dem System 1
- 120
- Weiterleiten des zeitvariablen Signals 2 an Hardwaremodul 3
- 130
- Bilden der zusammenfassenden Statistik 4
- 133
- Interpretieren maximal einer physikalischen Protokollschicht
- 134
- Bilden einer Statistik 4 mit Maß für die Auslastung
- 135
- Senden der Statistik 4/der Kenngröße 4a an externen Server 6
- 140
- Abgleich der Statistik 4 mit Normalzustand/Nominalzustand 1a
- 140a
- Lernen der Lern-Statistik 4* und/oder der Kenngröße 4a*
- 141
- Heranziehen der Lern-Statistik 4* und/oder der Kenngröße 4a*
- 142
- Auswerten des Verhaltens von Updates
- 144
- Berücksichtigen der zeitlichen Änderungsrate der Auslastung
- 145
- Auslagern der Prüfung 140 auf externen Server 6
- 145a
- Zusammenführen der Statistiken 4 von mehreren Systemen 1
- 145b
- Veranlassen einer logistischen Maßnahme durch den Server 6
- 150
- Auswerten des Betriebszustands 1b
- 160
- Reaktion auf Anomalie 1c in Betriebszustand 1b
- 161
- Einwirken auf System 1 über unidirektionale Schnittstelle 38
- 170
- Anzeigen des Analyseergebnisses 5 an Operator 7
- 180
- Anfordern von Zustand 1b, Maßnahme 1d vom Operator 7