DE102023211239A1 - Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system - Google Patents
Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system Download PDFInfo
- Publication number
- DE102023211239A1 DE102023211239A1 DE102023211239.6A DE102023211239A DE102023211239A1 DE 102023211239 A1 DE102023211239 A1 DE 102023211239A1 DE 102023211239 A DE102023211239 A DE 102023211239A DE 102023211239 A1 DE102023211239 A1 DE 102023211239A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- anomaly
- programs
- correlation
- occurrence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Vorrichtung und computerimplementiertes Verfahren zur Erkennung wenigstens eines Programms, das eine Anomalie in einem Rechnersystem verursacht, wobei ein Auftreten wenigstens einer Anomalie im Rechnersystem erkannt wird (302), wobei ein Verlauf eines Ausführungszustandes oder Installationszustandes für Programme aus einer Menge von Programmen (204) bestimmt wird (304), die auf dem Rechnersystem ausführbar sind, wobei für wenigstens ein Programm aus der Menge von Programmen eine Korrelation zwischen dem Auftreten und dem Verlauf bestimmt wird (306), wobei das wenigstens eine Programm, das die wenigstens eine Anomalie verursacht, abhängig von der Korrelation aus der Menge von Programmen ausgewählt wird (308).Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system, wherein an occurrence of at least one anomaly in the computer system is detected (302), wherein a history of an execution state or installation state is determined (304) for programs from a set of programs (204) that are executable on the computer system, wherein a correlation between the occurrence and the history is determined (306) for at least one program from the set of programs, wherein the at least one program that causes the at least one anomaly is selected from the set of programs depending on the correlation (308).
Description
Stand der TechnikState of the art
Die Erfindung geht von einer Vorrichtung und einem computerimplementierten Verfahren zur Erkennung wenigstens eines Programms, das eine Anomalie in einem Rechnersystem verursacht, aus.The invention relates to a device and a computer-implemented method for detecting at least one program that causes an anomaly in a computer system.
Die Zuverlässigkeit des Rechnersystems wird durch auftretende Anomalien beeinträchtigt. Einer Ursachenfindung der Anomalien kommt daher eine große Bedeutung zu.The reliability of the computer system is compromised by anomalies. Therefore, identifying the root causes of these anomalies is of utmost importance.
Offenbarung der ErfindungDisclosure of the invention
Ein computerimplementiertes Verfahren zur Erkennung wenigstens eines Programms, das eine Anomalie in einem Rechnersystem verursacht, sieht vor, dass ein Auftreten wenigstens einer Anomalie im Rechnersystem erkannt wird, wobei ein Verlauf eines Ausführungszustandes oder Installationszustandes für Programme aus einer Menge von Programmen bestimmt wird, die auf dem Rechnersystem ausführbar sind, wobei für wenigstens ein Programm aus der Menge von Programmen eine Korrelation zwischen dem Auftreten und dem Verlauf bestimmt wird, wobei das wenigstens eine Programm, das die wenigstens eine Anomalie verursacht, abhängig von der Korrelation aus der Menge von Programmen ausgewählt wird. Das Verfahren hilft, mögliche Verursacher beobachteter Anomalien auf dem Rechnersystem im Feld einzugrenzen und somit eine Ursachenbehebung zu erleichtern.A computer-implemented method for detecting at least one program that causes an anomaly in a computer system provides for the detection of an occurrence of at least one anomaly in the computer system, wherein a history of an execution state or installation state is determined for programs from a set of programs that can be executed on the computer system, wherein a correlation between the occurrence and the history is determined for at least one program from the set of programs, wherein the at least one program that causes the at least one anomaly is selected from the set of programs depending on the correlation. The method helps to narrow down possible causes of observed anomalies on the computer system in the field and thus facilitates root cause elimination.
Das Auftreten der wenigstens einen Anomalie umfasst z.B. einen Auftretenszeitpunkt oder mehrere Auftretenszeitpunkte der wenigstens einen Anomalie. Das Verfahren ist für eine sporadisch auftretende Anomalie genauso anwendbar wie für eine wiederholt auftretende Anomalie.The occurrence of the at least one anomaly includes, for example, one or more occurrence times of the at least one anomaly. The method is equally applicable to a sporadically occurring anomaly as to a repeatedly occurring anomaly.
Der Ausführungszustand des jeweiligen Programmes wird beispielsweise abhängig von einem Start und/oder einem Ende der Ausführung des jeweiligen Programmes bestimmt. Die Ereignisse Start und Ende der Ausführung des jeweiligen Programmes korrelieren mit dem Auftreten insoweit, als ein Auftreten einer Anomalie, die durch das jeweilige Programm verursacht ist, vor dem Start und nach dem Ende der Ausführung des jeweiligen Programms weniger wahrscheinlich ist, als während der Ausführung des jeweiligen Programms.The execution state of the respective program is determined, for example, depending on the start and/or end of the respective program's execution. The events "start" and "end" of the respective program's execution correlate with the occurrence insofar as the occurrence of an anomaly caused by the respective program is less likely before the start and after the end of the respective program's execution than during the respective program's execution.
Der Ausführungszustand des jeweiligen Programmes wird beispielsweise abhängig von einer Laufzeit des jeweiligen Programmes bestimmt. Die Laufzeit des jeweiligen Programmes korreliert mit dem Auftreten insoweit, als ein Auftreten einer Anomalie, die durch das jeweilige Programm verursacht ist, mit zunehmender Länge der Laufzeit wahrscheinlich zunimmt.The execution state of a given program, for example, is determined by its runtime. The runtime of a given program correlates with its occurrence in that the likelihood of an anomaly caused by the given program increases with the length of its runtime.
Der Installationszustand für ein Programm wird z.B. abhängig von einem Vorhandensein oder Nichtvorhanden sein des Programmes auf dem Rechnersystem oder einer Versionsnummer des Programmes bestimmt. Sowohl das Vorhandensein als auch das Nichtvorhandensein eines bestimmten Programmes oder einer bestimmten Versionsnummer eines bestimmten Programmes können eine Anomalie verursachen. Eine Anomalie, die durch dieses bestimmte Programm verursacht ist, wird dadurch erkannt.The installation status of a program is determined, for example, based on the presence or absence of the program on the computer system or the program's version number. Both the presence or absence of a specific program or a specific version number of a specific program can cause an anomaly. An anomaly caused by this specific program is thus detected.
Es kann vorgesehen sein, dass mehrere Programme, die die Anomalie verursachen, abhängig von einer Korrelation zwischen den Verläufen des Ausführungszustandes der mehreren Programme bestimmt werden. Eine Kombination von Programmen, die die Anomalie verursacht wird dadurch erkannt.It may be provided that multiple programs causing the anomaly are determined based on a correlation between the execution state histories of the multiple programs. A combination of programs causing the anomaly is thereby detected.
Für mehrere Programme aus der Menge wird beispielsweise ein jeweiliger Grad der Korrelation zwischen dem Auftreten und dem Verlauf des Ausführungszustandes oder des Installationszustandes des jeweiligen Programmes bestimmt, wobei das Programm mit dem größten Grad der Korrelation als das Programm ausgewählt wird, das die wenigstens eine Anomalie verursacht oder wobei die Programme, deren Grad der Korrelation größer als ein Schwellwert ist, als die Programme ausgewählt werden, die die Anomalie verursachen. Beispielsweise deutet ein kurz nach einer Änderung des Ausführungszustandes oder des Installationszustandes eines bestimmten Programmes oder mehrerer bestimmter Programme auftretende Anomalie auf das bestimmte Programm bzw. die mehreren bestimmten Programme als Verursacher hin. Dieses Programm wird bzw. diese Programme werden durch den Grad der Korrelation bestimmt.For several programs from the set, for example, a respective degree of correlation between the occurrence and the course of the execution state or the installation state of the respective program is determined, whereby the program with the greatest degree of correlation is selected as the program that causes the at least one anomaly, or whereby the programs whose degree of correlation is greater than a threshold value are selected as the programs that cause the anomaly. For example, an anomaly occurring shortly after a change in the execution state or the installation state of a specific program or several specific programs indicates the specific program or the several specific programs as the cause. This program or these programs are determined by the degree of correlation.
Beispielsweise wird aus der Menge von Programmen eine Teilmenge von Programmen bestimmt, bei deren Ausführung auf dem Rechensystem wenigstens eine Anomalie erkannt wird, wobei die Korrelation für die Programme aus der Teilmenge bestimmt wird und das wenigstens eine Programm, das die Anomalie verursacht, aus der Teilmenge ausgewählt wird. Dadurch wird der Rechenaufwand reduziert und das Verfahren auf Rechnern mit geringeren Rechenressourcen ermöglicht, als wenn die Korrelation für die Programme aus der Menge bestimmt würde.For example, a subset of programs is determined from the set of programs whose execution on the computer system detects at least one anomaly, the correlation for the programs from the subset is determined, and the at least one program causing the anomaly is selected from the subset. This reduces the computational effort and enables the method to be used on computers with fewer computing resources than if the correlation for the programs from the set were determined.
Beispielsweise wird die Korrelation abhängig von einem Verhältnis zwischen einem insbesondere mittleren Abstand zwischen Auftretenszeitpunkten der Anomalie und einem Zeitraum zwischen einer Änderung des Ausführungszustandes oder Installationszustandes und einem insbesondere ersten Auftretenszeitpunkt nach der Änderung bestimmt wird.For example, the correlation is determined depending on a ratio between a particularly average distance between occurrence times of the anomaly and a period between a Change in the execution state or installation state and, in particular, a first time of occurrence after the change.
Beispielsweise wird die Korrelation abhängig von einem Verhältnis zwischen einer insbesondere durchschnittlichen Anzahl von Anomalien während einer Ausführung eines Programmes und einer Anzahl von Ausführungen des Programmes in einem Zeitraum zwischen einer Änderung des Installationszustandes und einem insbesondere ersten Auftretenszeitpunkt nach der Änderung bestimmt wird.For example, the correlation is determined depending on a ratio between a particular average number of anomalies during an execution of a program and a number of executions of the program in a period between a change in the installation state and a particular first occurrence time after the change.
Es kann vorgesehen sein, dass das Auftreten der wenigstens einen Anomalie in mehreren Rechnersystemen erkannt wird, wobei die Korrelation zwischen dem Auftreten und dem Verlauf auf den mehreren Rechensystemen bestimmt wird, wobei das wenigstens eine Programm, das die wenigstens eine Anomalie verursacht, abhängig von der Korrelation aus der Menge von Programmen ausgewählt wird. Durch die insbesondere zentrale Auswertung für mehrere Rechnersysteme ist ein Verursacher zuordenbar, auch wenn eine Korrelation auf jedem einzelnen Rechnersystem getrennt keine eindeutige Zuordnung auf einen einzelnen Verursacher erlaubt.It can be provided that the occurrence of the at least one anomaly is detected in multiple computer systems, wherein the correlation between the occurrence and the course on the multiple computer systems is determined, wherein the at least one program that causes the at least one anomaly is selected from the set of programs depending on the correlation. Through the central evaluation, in particular for multiple computer systems, a causer can be assigned, even if a correlation on each individual computer system does not allow a clear assignment to a single causer.
Zur Behandlung der Anomalie kann vorgesehen sein, dass das wenigstens eine Programm, das die Anomalie verursacht, ausgegeben, oder insbesondere auf dem Rechnersystem, auf dem das wenigstens eine Programm die Anomalie verursacht, ausgegeben, ausgeschaltet oder ersetzt wird.To treat the anomaly, it can be provided that the at least one program causing the anomaly is output, or in particular is output, switched off or replaced on the computer system on which the at least one program causes the anomaly.
Eine Vorrichtung zur Erkennung wenigstens eines Programms, das eine Anomalie in einem Rechnersystem verursacht, umfasst wenigstens einen Prozessor und wenigstens einen Speicher, wobei der Speicher Instruktionen vom wenigstens einen Prozessor ausführbare umfasst, bei deren Ausführung durch den Prozessor die Vorrichtung das Verfahren ausführt, wobei der wenigstens eine Prozessor ausgebildet ist, die Instruktionen auszuführen.A device for detecting at least one program causing an anomaly in a computer system comprises at least one processor and at least one memory, wherein the memory comprises instructions executable by the at least one processor, upon execution of which instructions by the processor the device carries out the method, wherein the at least one processor is designed to execute the instructions.
Ein Computerprogramm umfasst von einem Computer ausführbare Instruktionen, bei deren Ausführung durch den Computer der Computer das Verfahren ausführt.A computer program comprises instructions executable by a computer, which, when executed by the computer, cause the computer to carry out the method.
Weitere vorteilhafte Ausführungsformen sind der folgenden Beschreibung und der Zeichnung entnehmbar. In der Zeichnung zeigt:
-
1 eine schematische Darstellung einer Vorrichtung zur Erkennung wenigstens eines Programms, das eine Anomalie in einem Rechnersystem verursacht, -
2 eine schematische Darstellung des Rechnersystems, -
3 ein Flussdiagramm mit Schritten eines Verfahrens zur Erkennung des wenigstens einen Programms, -
4 ein erstes Beispiel für eine Korrelation, -
5 ein zweites Beispiel für die Korrelation, -
6 ein drittes Beispiel für die Korrelation, -
7 ein fünftes Beispiel für die Korrelation.
-
1 a schematic representation of a device for detecting at least one program that causes an anomaly in a computer system, -
2 a schematic representation of the computer system, -
3 a flowchart with steps of a method for detecting the at least one program, -
4 a first example of a correlation, -
5 a second example of the correlation, -
6 a third example of the correlation, -
7 a fifth example of correlation.
In
Die Vorrichtung 100 umfasst wenigstens einen Prozessor 102 und wenigstens einen Speicher 104. Der wenigstens eine Speicher 104 ist ausgebildet, vom wenigstens einen Prozessor 102 ausführbare Instruktionen zu speichern, bei deren Ausführung durch den wenigstens einen Prozessor 102 die Vorrichtung 100 ein Verfahren zur Erkennung des wenigstens einen Programms ausführt.The
In
Das Rechensystem 200 kann ein Fahrzeug-Steuerrechner, ein Mobiltelefon oder ein Internet-Router sein. Das Rechnersystem 200 kann eine Beobachtungseinrichtung zur Beobachtung der Programme und der Anomalien umfassen. Die Beobachtungseinrichtung kann außerhalb des Rechnersystems 200 angeordnet sein.The
Die Ausführungsumgebung 202 umfasst im Beispiel ein Betriebssystem und Hardware- oder Software-Komponenten zur Beeinflussung eines Ausführungszustandes oder Installationszustandes für je ein Programme oder für mehrere Programme aus der Menge von Programmen 204.In the example, the
Die Beeinflussung des Installationszustandes umfasst z.B. eine Installation oder eine Deinstallation eines Programmes auf dem Rechensystem 200. Die Beeinflussung des Installationszustandes umfasst z.B. eine Aktualisierung eines auf dem Rechensystem 200 installierten Programmes auf eine aktuellere Version des Programmes.Influencing the installation state includes, for example, installing or uninstalling a program on the
Die Beeinflussung des Ausführungszustandes umfasst z.B. einen Start oder ein Ende oder eine Unterbrechung einer Ausführung eines Programmes auf dem Rechensystem 200.The influence of the execution state includes, for example, a start or an end or an interruption of the execution of a program on the
Programm bezeichnet z.B. eine Anwendung oder eine Software-Komponente. Ein Programm umfasst im Beispiel Programmcode.A program refers, for example, to an application or a software component. In this example, a program includes program code.
Die Ausführungsumgebung 202 stellt Dienste oder Funktionen zur Ausführung von Programmen aus der Menge von Programmen 204 bereit.The
Eine Anwendung ist z.B. ein Programm, welches ausgebildet ist, eine vom Rechnersystem 200 erwartete Funktionalität erbringen. Es kann vorgesehen sein, dass die Anwendung dafür z.B. auf Dienste oder Funktionen der Ausführungsumgebung 202 oder auf eine andere Anwendung oder mehrere anderer Anwendungen zugreift. Eine Anwendung kann eine oder mehrere Software-Komponenten umfassen.An application is, for example, a program designed to provide a functionality expected by
Ein Vorhandensein oder Nichtvorhandensein oder ein Ausführungszustand einer Software-Komponente ist im Rechnersystem 200 einzeln beobachtbar. Eine Software-Komponente ist von einer anderen Software-Komponente unterscheidbar.The presence or absence or execution state of a software component is individually observable in the
Der Ausführungszustand gibt z.B. an, ob ein Programm „aktiv“ ist, d.h. auf dem Rechnersystem 200 ausgeführt wird, oder „inaktiv“ ist, d.h. nicht auf dem Rechnersystem 200 ausgeführt wird. Ein Programm hat z.B. den Ausführungszustand „aktiv“ wenn das Programm in einem laufenden, nicht längerfristig suspendierten Prozess der Ausführungsumgebung 202 abläuft. Dabei braucht sich der Programmcode des Programms nicht in unmittelbar in Ausführung durch einen Prozessor des Rechnersystems 200 befinden. Ein Programm hat z.B. den Ausführungszustand „inaktiv“ wenn für das Programm kein Prozess oder ein längerfristig suspendierter Prozess in der Ausführungsumgebung 202 vorgesehen ist.The execution state indicates, for example, whether a program is "active," i.e., is being executed on
Eine Software-Komponente hat z.B. einen Ausführungszustand „aktiv“, wenn die Software-Komponente Teil eines laufenden, nicht längerfristig suspendierten Prozesses der Ausführungsumgebung 202 ist. Dabei braucht sich der Programmcode der Software-Komponente nicht in unmittelbar in Ausführung durch einen Prozessor des Rechnersystems 200 befinden.For example, a software component has an "active" execution state if the software component is part of a running, non-long-term suspended process of the
Eine Software-Komponente ist z.B. ein Programm, welches eine einzelne Funktion oder Methode einer Klasse im Sinne der objektorientierten Programmierung umfasst.A software component is, for example, a program that includes a single function or method of a class in the sense of object-oriented programming.
Eine Software-Komponente ist z.B. ein Programm, welches die Klasse oder eine Sammlung von Klassen umfasst.A software component is, for example, a program that includes the class or a collection of classes.
Eine Software-Komponente kann eine ausführbare Datei, oder eine Sammlung von ausführbaren Dateien umfassen. Eine Software-Komponente kann eine eigenständig ausführbare Programmdatei, wie Maschinencode, oder ein shell script umfassen.A software component may include an executable file or a collection of executable files. A software component may include a standalone executable program file, such as machine code, or a shell script.
Eine Software-Komponente kann eine statische oder dynamische Bibliotheksdatei oder eine Sammlung von statischen oder dynamischen Bibliotheksdateien umfassen.A software component may include a static or dynamic library file or a collection of static or dynamic library files.
Eine Software-Komponente kann eine nicht eigenständig ausführbare Programmbibliothek, wie z. B. eine DLL oder ein Shared Object umfassen.A software component may include a non-standalone executable program library, such as a DLL or a shared object.
Eine Software-Komponente kann eine Konfigurationsdatei oder eine Sammlung von Konfigurationsdateien umfassen.A software component may include a configuration file or a collection of configuration files.
Die Ausführungsumgebung 202 bildet die Grundlage zur Ausführung der Programme aus der Menge 204.The
Software-Komponenten aus statischen Bibliotheken werden z.B. während einer Erzeugung einer Programmdatei oder -bibliothek statisch an diese gebunden. Ein Ausführungszustand statisch gebundener Software-Komponenten ist von außerhalb der Programmdatei bzw. -bibliothek nicht erkennbar. Sie werden daher hier als integraler Bestandteil der Programmdatei oder -bibliothek betrachtet.Software components from static libraries are statically linked to a program file or library, for example, during its creation. The execution state of statically linked software components is not recognizable from outside the program file or library. They are therefore considered an integral part of the program file or library.
Es kann vorgesehen sein, dass das Rechnersystem 200 Mittel zur Interprozess-Kommunikation zwischen Programmen aus der Menge von Programmen 204 umfasst.It may be provided that the
Es kann vorgesehen sein, dass das Rechnersystem 200 mehrere Ausführungsumgebungen 202 bereitstellt. Das Rechnersystem 200 umfasst z.B. Mittel zum Management der Ausführungsumgebungen, insbesondere ein Container Management System wie Docker, oder eine Laufzeitumgebung oder Software-Plattform wie AUTOSAR.It may be provided that the
Einzelne Programm oder eine Kombination von Programmen, die auf dem Rechnersystem 200 vorgesehen sind, oder ein Nichtvorhandensein eines Programmes oder einer Kombination von Programmen auf dem Rechnersystem 200 oder inkompatible Versionen von Programmen auf dem Rechnersystem können eine Anomalie bewirken.A single program or combination of programs provided on the
Eine Anomalie ist z.B. ein fehlerhaftes, unerwünschtes oder zumindest ungewöhnliches Verhalten des Rechnersystems 200 oder einer seiner Komponenten wie zum Beispiel:
- - Ungewöhnlicher Ressourcenverbrauch insbesondere bezüglich einer CPU, eines Speichers, oder eines Kommunikationsmediums des
Rechnersystems 200, - - Ein Zugriffsversuch oder gehäufte Zugriffsversuche auf eine gesperrte Ressource, Daten oder Dienste des
Rechnersystem 200, - - ein fehlschlagender Versuch einer Authentifizierung gegenüber
dem Rechnersystem 200, - - ein unerwünschtes Beenden einer Software-Komponente,
- - ein unerwünschter Neustart der
Ausführungsumgebung 202 oder desRechnersystems 200, - - ein unerwünschtes oder auffälliges Verhalten bei einer Benutzung einer Schnittstelle zwischen zwei Programmen.
- - Unusual resource consumption, particularly with regard to a CPU, a memory, or a communication medium of the
computer system 200, - - An attempt or repeated attempts to access a locked resource, data or service of the
computer system 200, - - a failed attempt at authentication against the
computer system 200, - - an unwanted termination of a software component,
- - an unwanted restart of the
execution environment 202 or thecomputer system 200, - - undesirable or unusual behavior when using an interface between two programs.
Eine Anomalie kann ein punktuelles, d.h. ein in einem Zeitraum einmalig auftretendes Ereignis sein. Eine Anomalie kann über einen Zeitraum andauern. Eine Anomalie kann über einen bestimmten Zeitraum wiederkehrend auftreten.An anomaly can be a single event, i.e., one that occurs only once within a certain period of time. An anomaly can persist over a period of time. An anomaly can occur repeatedly over a certain period of time.
Weitere Beispiele für eine Anomalie sind:
- Unerwartetes Ende eines Programms,
- Erhöhter Ressourcenverbrauch, z.B. erhöhte Speicherbelegung, eines Programms,
- Unerlaubter Zugriffsversuch auf eine vom Rechnersystem 200 bereitgestellte Ressource durch ein Programm,
- Wiederholtes Abonnieren eines vom Rechnersystem 200 oder einem anderen Programm bereitgestellten Dienstes durch ein Programm ohne zwischenzeitliche Kündigung des Abos,
- Senden eines undefinierten Datums durch ein Programm an
einen vom Rechnersystem 200 oder einem anderen Programm bereitgestellten Dienst, Empfangen eines undefinierten Datums durch ein Programm von einemvom Rechnersystem 200 oder einem anderen Programm bereitgestellten Dienst.
- Unexpected end of a program,
- Increased resource consumption, e.g. increased memory usage, of a program,
- Unauthorized attempt to access a resource provided by the
computer system 200 by a program, - Repeated subscription by a program to a service provided by the
computer system 200 or another program without interim cancellation of the subscription, - Sending an undefined date by a program to a service provided by the
computer system 200 or another program, receiving an undefined date by a program from a service provided by thecomputer system 200 or another program.
In
Das Verfahren umfasst einen Schritt 302.The method includes a
Im Schritt 302 wird ein Auftreten wenigstens einer Anomalie im Rechnersystem 200 erkannt. Das Auftreten umfasst z.B. einen Auftretenszeitpunkt einer Anomalie oder mehrere Auftretenszeitpunkte derselben Anomalie oder unterschiedlicher Anomalien.In
Im Beispiel wird die Anomalie unabhängig von Zuständen, die nur innerhalb einzelner oder weniger Software-Komponenten relevant sind bestimmt. Im Beispiel wird die Anomalie unabhängig von Wissen über einen internen Aufbau der jeweiligen Software-Komponente bestimmt.In this example, the anomaly is determined independently of conditions that are relevant only within individual or a few software components. In this example, the anomaly is determined independently of knowledge about the internal structure of the respective software component.
Im Beispiel wird die Anomalie unabhängig von detaillierten oder umfangreichen Protokollierungsdaten der Software-Komponenten oder deren Struktur und Aufbau bestimmt.In the example, the anomaly is determined independently of detailed or extensive logging data of the software components or their structure and layout.
Im Beispiel wird die Anomalie mittels einer automatisierten Beobachtung des laufenden Rechnersystems 200 erkannt, in der Daten über die Ausführungszustände oder Installationszustände oder das Auftreten der wenigstens einen Anomalie erfasst werden.In the example, the anomaly is detected by means of an automated observation of the running
Es kann vorgesehen sein, dass die Daten in einer lokalen persistenten Datenablage, z.B. Festplatte, Flashspeicher, oder in einer zentralen Datenbank gespeichert werden. Die lokale Ablage wird z.B. verwendet, um Datenverluste bei eventuellen Verbindungsabbrüchen oder Neustarts des Rechnersystems 200 zu verhindern.It may be provided that the data is stored in a local persistent data storage, e.g., hard disk, flash memory, or in a central database. The local storage is used, for example, to prevent data loss in the event of a connection interruption or restart of the
Für die Erkennung von Anomalien kann eine Anomalie-Erkennungseinrichtung oder können unterschiedliche Anomalie-Erkennungseinrichtungen vorgesehen sein, die das Rechnersystem 300 auf das Auftreten von Anomalien überwachen und Anomalien erkennen.For the detection of anomalies, an anomaly detection device or different anomaly detection devices can be provided which monitor the computer system 300 for the occurrence of anomalies and detect anomalies.
Im Beispiel wird der Schritt 302 wiederholt, bis eine Anomalie erkannt wird. Wenn eine Anomalie erkannt wird, wird ein Schritt 304 ausgeführt.In the example,
Im Schritt 304 wird ein Verlauf eines Ausführungszustandes oder Installationszustandes für Programme aus der Menge von Programmen 204 bestimmt. Im Beispiel wird der jeweilige Verlauf aus den Daten bestimmt.In
Der Ausführungszustand des jeweiligen Programmes wird z.B. abhängig von einem Start und/oder einem Ende der Ausführung des jeweiligen Programmes bestimmt.The execution state of the respective program is determined, for example, depending on the start and/or end of the execution of the respective program.
Der Ausführungszustand des jeweiligen Programmes wird z.B. abhängig von einer Laufzeit des jeweiligen Programmes bestimmt.The execution state of the respective program is determined, for example, depending on the runtime of the respective program.
Der Installationszustand für ein Programm wird z.B. abhängig von einem Vorhandensein oder Nichtvorhanden sein des Programmes auf dem Rechnersystem 200 oder einer Versionsnummer des Programmes bestimmt.The installation status for a program is determined, for example, by the presence or absence of the program on the
Das Verfahren umfasst einen Schritt 306.The method includes a
Im Schritt 306 wird für wenigstens ein Programm aus der Menge von Programmen 204 eine Korrelation zwischen dem Auftreten und dem Verlauf bestimmt.In
Im Beispiel wird für mehrere Programme aus der Menge von Programmen 204 ein jeweiliger Grad der Korrelation zwischen dem Auftreten und dem Verlauf des Ausführungszustandes oder des Installationszustandes des jeweiligen Programmes zu bestimmen.In the example, for several programs from the set of
Das Verfahren umfasst einen Schritt 308.The method includes a
Im Schritt 308 wird das wenigstens eine Programm, das die wenigstens eine Anomalie verursacht, abhängig von der Korrelation aus der Menge von Programmen 204 ausgewählt.In
Es kann vorgesehen sein, dass mehrere Programme, die die Anomalie verursachen, abhängig von einer Korrelation zwischen den Verläufen des Ausführungszustandes der mehreren Programme bestimmt werden.It may be provided that several programs causing the anomaly are determined depending on a correlation between the execution state histories of the several programs.
In einem Beispiel wird das Programm mit dem größten Grad der Korrelation als das Programm ausgewählt, das die wenigstens eine Anomalie verursacht.In one example, the program with the highest degree of correlation is selected as the program that causes at least one anomaly.
In einem Beispiel werden die Programme, deren Grad der Korrelation größer als ein Schwellwert ist, als die Programme ausgewählt, die die Anomalie verursachen.In one example, the programs whose degree of correlation is greater than a threshold are selected as the programs that cause the anomaly.
In bestimmten Fällen wird durch die Korrelation zwischen dem Auftreten und dem Verlauf für ein einzelnes Programm die Anomalie direkt dem auslösenden Programm zugeordnet, weil dieses Programm z.B. aufgrund einer Korrelation, die über einem Schwellwert liegt, als Quelle der Anomalie erkennbar ist.In certain cases, the correlation between the occurrence and the history for a single program directly attributes the anomaly to the triggering program because this program can be identified as the source of the anomaly, for example due to a correlation that is above a threshold.
In anderen Fällen ist ein Zurückführen auf den Verursacher aufgrund der Korrelation zwischen dem Auftreten und dem Verlauf für einzelne Programme nicht möglich.In other cases, it is not possible to trace the cause back to the cause due to the correlation between the occurrence and the history for individual programs.
Es kann vorgesehen sein, insbesondere, wenn das Zurückführen nicht möglich ist, anschließend den Schritt 302 auszuführen, z.B. um den Verursacher oder die Verursacher anhand von mehreren Anomalien zu erkennen, die über einen Zeitraum auftreten.It may be provided, in particular if the traceback is not possible, to subsequently carry out
Um ein wiederholtes Auftreten einer bestimmten Anomalie erkennen zu können, wird eine erkannte Anomalie identifiziert. Beispielsweise wird die Anomalie abhängig von einer Art der Anomalie, deren Quell-Programm oder, falls die Anomalie zum Beispiel eine zwischen zwei Programmen ausgetauschte Nachricht betrifft, das Ziel dieser Nachricht, identifiziert.To detect a recurring anomaly, a detected anomaly is identified. For example, the anomaly is identified based on the type of anomaly, its source program, or, if the anomaly concerns a message exchanged between two programs, the destination of that message.
Anomalie-Auswertung über mehrere Rechnersysteme 200, z.B. in einem zentralen System:
- Die Anomalie-Auswertung über mehrere Rechnersysteme 200 erfolgt durch eine Auswertung des Auftretens, insbesondere der Auftretenszeitpunkte, einer oder mehrerer Anomalien und der dabei jeweils vorhandenen Ausführungszustände der jeweiligen Rechnersysteme 200. Beispielsweise erfolgt die Anomalie-Auswertung über die Verläufe des Ausführungszustandes oder Installationszustandes für Programme aus der
Menge von Programmen 204 je Rechnersystem 200.
- The anomaly evaluation across
multiple computer systems 200 is carried out by evaluating the occurrence, in particular the times of occurrence, of one or more anomalies and the respective execution states of therespective computer systems 200. For example, the anomaly evaluation is carried out via the courses of the execution state or installation state for programs from the set ofprograms 204 percomputer system 200.
Beispielsweise wird in Schritt 302 das Auftreten der wenigstens einen Anomalie in mehreren Rechnersystemen 200 erkannt.For example, in
Beispielsweise wird in Schritt 304 der Verlauf des Ausführungszustandes oder Installationszustandes für Programme aus der Menge von Programmen 204 je Rechnersystem 200 bestimmt. Im Beispiel wird der jeweilige Verlauf aus den Daten des jeweiligen Rechnersystems 200 bestimmt.For example, in
Beispielsweise wird in Schritt 306 die Korrelation zwischen dem Auftreten und dem Verlauf auf den mehreren Rechensystemen 200 bestimmt.For example, in
Beispielsweise wird in Schritt 308 das wenigstens eine Programm, das die wenigstens eine Anomalie verursacht, abhängig von der Korrelation zwischen dem Auftreten und dem Verlauf auf den mehreren Rechensystemen 200 aus der Menge von Programmen 204 ausgewählt.For example, in
Die Rechnersysteme 200 sind im Beispiel dieselben Rechnersysteme oder gleichartige Rechnersysteme 200. Gleichartige Rechnersysteme 200 umfassen z.B. zumindest teilweise dieselbe Software oder Hardware.In the example, the
Die Rechnersysteme 200 sind z.B. bei Fahrzeugen verwandter Modellreihen eines Fahrzeugherstellers verwendete Rechnersysteme 200. Die Rechnersysteme 200 sind z.B. eingebettete Software-Systeme, insbesondere Teile eines in großer Serie hergestellten Elektronikprodukts.The
Bei gleichartigen Rechnersystemen 200 ist z.B. die Auswahl installierter Programme, d.h. Software-Komponenten, sehr ähnlich. Dies lässt erwarten, dass eine bestimmte Anomalie in mehreren dieser gleichartigen Rechnersysteme 200 auftritt. Durch die größere Menge an Daten - geliefert durch die hohe Anzahl dieser gleichartigen Rechnersysteme 200 - lässt sich die Korrelation verbessern. Dies trifft insbesondere auf in einzelnen Rechnersystemen 200 selten auftretende Anomalien zu.For
Die Erkennung wird auch verbessert, wenn eine Anomalie durch ein Programm, d.h. ein Software-Komponente, verursacht wird, die nicht auf allen sondern nur auf einer Teilmenge der gleichartigen Rechnersystem installiert ist. Die Korrelation erfolgt in diesem Fall z.B. dadurch, dass die Anomalie nur auf den Rechnersystemen 200 mit diesem zusätzlichen Programm beobachtet wird.Detection is also improved when an anomaly is caused by a program, i.e., a software component, that is not installed on all but only on a subset of the similar computer systems. In this case, correlation is achieved, for example, by observing the anomaly only on the
Durch die insbesondere zentrale Auswertung für mehrere Rechnersysteme 200 ist ein Verursacher zuordenbar, auch wenn eine Korrelation auf jedem einzelnen Rechnersystem 200 getrennt keine eindeutige Zuordnung auf einen einzelnen Verursacher erlaubt.Due to the central evaluation for
Es kann vorgesehen sein, dass das wenigstens eine Programm, das die Anomalie verursacht auf dem Rechnersystem, auf dem das wenigstens eine Programm die Anomalie verursacht, ausgegeben, ausgeschaltet oder ersetzt wird.It may be provided that the at least one program causing the anomaly is output, deactivated or replaced on the computer system on which the at least one program causes the anomaly.
Verwendung des Verfahrens zur Eingrenzung einer Menge möglicher Verursacher:
- Beispielsweise wird das Verfahren zur Eingrenzung einer Menge möglicher Verursacher ausgeführt, um Zeitpunkte eines Auftretens einer bestimmten Anomalie a1 mit protokollierten Ausführungszuständen zu korrelieren, mit dem Ziel möglichst wenige Software-Einheiten als Verursacher der Anomalie zu bestimmen.
- For example, the procedure for narrowing down a set of possible causes is carried out in order to correlate times of occurrence of a certain anomaly a1 with logged execution states, with the aim of determining as few software units as possible as the cause of the anomaly.
Das Verfahren wird z.B. durch das erstmalige Beobachten einer Anomalie, die von anderen unterscheidbar ist, gestartet. Das Verfahren läuft z.B. so lange weiter, bis eine Menge der möglichen Verursacher hinreichend klein ist oder sich über einen bestimmten Beobachtungszeitraum nicht mehr verändert.The process is initiated, for example, by the first observation of an anomaly that is distinguishable from others. The process continues, for example, until the set of possible causes is sufficiently small or no longer changes over a certain observation period.
Beispiel 1:Example 1:
Die Korrelation wird z.B. verwendet, um den Verursacher abhängig von einer gehäufte Beobachtung einer Anomalie im Verhältnis zur einer durchschnittlichen Aktivitätsdauer eines Programms, zu erkennen. Ein Verlauf des Ausführungszustandes ist in
Die Phasen eines gehäuften Auftretens der Anomalie 405 werden durch die Korrelation möglichst gut mit den aktiven Phasen der Programme 401, 402, 403, 404 in Deckung gebracht. Der Start eine aktiven Phasen wird z.B. bei einer positiven Flanke des jeweiligen Ausführungszustandes erkannt. Das Ende eine aktiven Phasen wird z.B. bei einer negativen Flanke des jeweiligen Ausführungszustandes erkannt.The phases of a frequent occurrence of
In einem Beispiel wird ein mittlerer Abstand zwischen den Zeitpunkten, zu denen eine Anomalie auftritt, in Beziehung zu den Zeiträumen gesetzt, die zwischen einem Start eines jeweiligen Programmes und dem ersten Zeitpunkt des darauffolgenden Auftretens der Anomalie liegt.In one example, an average interval between the times at which an anomaly occurs is related to the time periods between the start of a respective program and the first time of the subsequent occurrence of the anomaly.
In einem Beispiel wird ein mittlerer Abstand zwischen den Zeitpunkten, zu denen eine Anomalie auftritt, in Beziehung zu den Zeiträumen gesetzt, die zwischen dem Zeitpunkt des letzten Auftretens der Anomalie und dem darauffolgenden Ende eines jeweiligen Programmes liegt.In one example, an average interval between the times at which an anomaly occurs is related to the time periods between the time of the last occurrence of the anomaly and the subsequent end of a respective program.
Sind beide dieser Zeiträume ähnlich groß wie der mittlere Abstand, d.h. z.B. innerhalb einer vorgegebenen Toleranzgrenze um den mittleren Abstand, wird die Korrelation als hoch, z.B. oberhalb des Schwellwerts, bewertet. Ist mindestens einer der Zeiträume deutlich größer als der mittlere Abstand, d.h. z.B. außerhalbe der vorgegebenen Toleranzgrenze um den mittleren Abstand, wird die Korrelation als demgegenüber geringer, z.B. unterhalb des Schwellwerts, bewertet.If both of these time periods are similar to the mean distance, i.e., within a specified tolerance limit around the mean distance, the correlation is assessed as high, i.e., above the threshold. If at least one of the time periods is significantly larger than the mean distance, i.e., outside the specified tolerance limit around the mean distance, the correlation is assessed as lower, i.e., below the threshold.
Es kann vorgesehen sein, zu beachten, ob bzw. in welchem Maß eine Häufung der Anomalie innerhalb des Aktivitätszeitraums des Programms liegt.It may be necessary to consider whether and to what extent an accumulation of the anomaly occurs within the activity period of the program.
Im Beispiel 1 wird die höchste Korrelation zwischen dem Auftreten und dem Verlauf des Aktivitätszeitraums für das Programm 401 erzielt. Die Korrelationen zwischen dem Auftreten und dem Verlauf des Aktivitätszeitraums für die Programme 403 und 404 sind demgegenüber geringer: beim Programm 403 aufgrund der niedrigen Überdeckung der aktiven Phase des Programms 403 mit dem Auftreten der Anomalie 405 und beim Programm 404 aufgrund der langen Phase einer Nicht-Beobachtung der Anomalie 405 am Anfang und Ende der aktiven Phase des Programms 404. Die Korrelation des Auftretens und dem Verlauf des Aktivitätszeitraums für das Programm 402 ist am geringsten, da die aktive Phase des Programms 402 länger als die aktiven Phasen der anderen Programme vor dem Auftreten der ersten Anomalie 405 beginnt und früher als aktiven Phasen der anderen Programme und vor dem letzten Auftreten der Anomalie 405 endet.In Example 1, the highest correlation between the occurrence and the course of the activity period is achieved for
Beispiel 2:Example 2:
Ein Verlauf des Ausführungszustandes ist in
Die Korrelation zwischen dem Verlauf und dem Aktivitätszeitraums für das Programm 403 ist gegenüber dem Beispiel 1 aufgrund der gegenüber dem Beispiel 1 größeren Häufigkeit des Auftretens der Anomalie erhöht. Dies indiziert, dass die Anomalie durch eine Kombination der Programme 401 und 403 verursacht ist.The correlation between the history and the activity period for
Beispiel 3:Example 3:
Ein Verlauf des Ausführungszustandes ist in
Die gleichzeitige Aktivität mehrerer Verursacher der Anomalie 405 führt nicht zwangsläufig zu einer erhöhten Häufigkeit der Anomalie 405. Möglicherweise wird die Häufigkeit durch eine gemeinsam benutzte Ressource begrenzt, die wechselseitig von nur jeweils einem Programm verwendet werden kann. Dies bestimmt zumindest den kleinstmöglichen Abstand zwischen zwei Auftreten der Anomalie 405 bestimmen. Bei maximaler Benutzungsfrequenz der Ressource würde dies zu keiner Veränderung der Häufigkeit der Anomalie 405 führen, wenn weitere Programme, die auf die Ressource zugreifen, aktiviert werden. Vielmehr würde sich lediglich eine Verlängerung der Laufzeit der aktiven Programme Einheiten ergeben.The simultaneous activity of multiple sources of
Die aktiven Phasen der Programme 401, 403 überdecken das Auftreten der Anomalie 405 jeweils für sich genommen nicht vollständig. Sie kommen daher beide jeweils als ein Verursacher mit ähnlicher Korrelation zum Auftreten der Anomalie in Betracht.The active phases of
Beispiel 4:Example 4:
Das Verfahren kann vorsehen, dass das Auftreten der Anomalie 405 nicht nur mit dem Verlauf für jeweils ein einzelnes Programm korreliert wird, sondern auch mit den Verläufen anderer Programme. Dies ist hilfreich, wenn eine Anomalie 405 nur im Zusammenwirken mehrerer Programme entsteht.The method may provide for the occurrence of
In
Verwendung des Verfahrens bei sporadischer Beobachtung einer Anomalie:
- Wird eine Anomalie nur selten in Bezug auf die durchschnittlichen aktiven Phasen der Programme beobachtet, kann die Korrelation alternativ mit dem folgenden Verfahren erfolgen.
- If an anomaly is observed only rarely with respect to the average active phases of the programs, the correlation can alternatively be performed using the following procedure.
Im ersten Schritt werden in Beobachtungszeitpunkten zu denen ein Auftreten der Anomalie erkannt wird, Aktivitätszustände der Programme in den Beobachtungszeitpunkten ermittelt. Die zu jedem Beobachtungszeitpunkt aktiven Programme bilden die Menge möglicher Verursacher zu diesem Beobachtungszeitpunkt.In the first step, the activity states of the programs at the observation times at which an anomaly is detected are determined. The programs active at each observation time form the set of possible causative agents at that observation time.
Es wird nun eine Vereinigungsmenge A der aktiven Programme ermittelt.A union set A of the active programs is now determined.
Die Vereinigungsmenge A stellt eine maximale Menge möglicher Verursacher dar. Davon bilden die tatsächlichen Verursacher eine unbekannte Teilmenge. Letztere kann bei nur sehr sporadischem Auftreten der Anomalie unvollständig sein.The union set A represents the maximum number of possible causative agents. The actual causative agents form an unknown subset of this set. This subset may be incomplete if the anomaly occurs only very sporadically.
Um den Anteil der Nicht-Verursacher in der Vereinigungsmenge A zu reduzieren, wird als zweiter Schritt die Vereinigungsmenge N der aktiven Programme gebildet, bei denen die Anomalie niemals beobachtet wurde. Die aktiven Programme, bei denen die Anomalie sporadisch auftrat, d. h. also mindestens einmal beobachtet wurde, werden dabei nicht mit der Vereinigungsmenge N vereinigt, weil mindestens eine dieser Programme ein Verursacher der Anomalie sein muss.To reduce the proportion of non-causative programs in the union A, the second step is to form the union N of active programs for which the anomaly was never observed. Active programs for which the anomaly occurred sporadically, i.e., was observed at least once, are not combined with the union N because at least one of these programs must be a causative agent of the anomaly.
Im Falle einer nur sporadisch auftretenden Anomalie kann die Vereinigungsmenge N auch tatsächliche Verursacher enthalten, weil diese aktiv waren während die Anomalie nicht beobachtet wurde. Die Motivation dieses Schritts ist, dass diese Menge bei einen hinreichend langen Beobachtungszeitraum ausreichend klein ist.In the case of a sporadic anomaly, the union set N may also contain actual causative agents because they were active while the anomaly was not observed. The motivation for this step is that this set is sufficiently small for a sufficiently long observation period.
Im dritten Schritt werden die Mitglieder der Vereinigungsmenge N aus der Menge Vereinigungsmenge A entfernt, d. h. es wird die Differenzmenge K = A \ N gebildet. Die Differenzmenge K stellt nun die Menge der wahrscheinlichsten Verursacher dar.In the third step, the members of the union set N are removed from the union set A, i.e., the difference set K = A \ N is formed. The difference set K now represents the set of the most probable causes.
Es kann vorgesehen sein, dass das Rechnersystem 200 zu unterschiedlichen Zeitpunkten beobachtet wird, in denen sich das Rechensystem 200 in unterschiedlichen Laufzeitzuständen befindet, d.h. in denen unterschiedliche Kombinationen von Programmen, sich in der aktiven Phase oder nicht in der aktiven Phase befinden. Die Differenzmenge K wird z.B. abhängig von den Beobachtungen und Nicht-Beobachtungen der Anomalie und den Laufzeitzuständen zu den Zeitpunkten bestimmt. Die Annahme ist, dass dieses Verfahren eine gute Annährung an die tatsächliche Verursachermenge liefert, sofern eine ausreichende Anzahl von Beobachtungen bzw. Nicht-Beobachtung der Anomalie vorliegt.It can be provided that the
Korrelation mit Änderungen des Installationszustandes:
- Die Ursache einer Anomalie ist entweder bereits im Auslieferungszustand des
Rechnersystems 200 enthalten oder wird durch eine Änderung des Installationszustands des überwachten Rechnersystems 200 eingebracht.
- The cause of an anomaly is either already contained in the delivery state of the
computer system 200 or is introduced by a change in the installation state of the monitoredcomputer system 200.
Die Änderung kann z.B. bestehen aus
- - der Installation eines neuen Programms,
- - dem Ersetzen einer Version eines vorhandenen Programms durch eine neuere oder ältere Version.
- - installing a new program,
- - replacing a version of an existing program with a newer or older version.
Das Auftreten der Anomalie wird mit einem oder mehreren dieser Änderungen korreliert.The occurrence of the anomaly is correlated with one or more of these changes.
Es kann vorgesehen sein, dass das Entfernen eines Programmes als eine Änderung betrachtet wird, die einen Verursacher aus dem Rechnersystem 202 entfernt, was zum Ausbleiben oder einer Reduktion der Häufigkeit einer Anomalie führen würde.It may be provided that the removal of a program is considered a change that removes a cause from the
Im Beispiel werden die abhängig von der Korrelation ihres Ausführungszustandes mit dem Auftreten der Anomalie bestimmten Programme darauf untersucht, wie gut das Auftreten der betrachteten Anomalie mit der Installation oder einer Versionsänderung des jeweiligen Programms korreliert.In the example, the programs determined depending on the correlation of their execution state with the occurrence of the anomaly are examined to determine how well the occurrence of the anomaly in question correlates with the installation or a version change of the respective program.
Diese Korrelation ergibt sich beispielsweise, indem der mittlere Abstand zwischen Beobachtungszeitpunkten der Anomalie ins Verhältnis setzt zu einem Zeitraum zwischen der Änderung der Installation des jeweiligen Programms und der erstmaligen Beobachtung der Anomalie. Je höher dieser Wert ist, d. h. desto „direkter“ die Anomalie nach der Änderung der Installation erstmalig beobachtet wurde, desto höher die Korrelation.This correlation is calculated, for example, by comparing the average interval between the anomaly observation times to the time period between the change in the installation of the respective program and the first observation of the anomaly. The higher this value, i.e., the more "directly" the anomaly was first observed after the change in the installation, the higher the correlation.
Je geringer der jeweilige Wert ist, desto wahrscheinlicher hängt die Ursache der Anomalie nicht mit der Änderung der Installation des Programms zusammen, sondern die Anomalie wird durch ein späteres Ereignis ausgelöst wie zum Beispiel das Ausnutzen einer Sicherheitslücke bzw. der Versuch dessen.The lower the respective value, the more likely the cause of the anomaly is not related to the change in the installation of the program, but the anomaly is triggered by a later event such as the exploitation of a security vulnerability or the attempt to do so.
Alternativ kann auch die durchschnittliche Anzahl der Beobachtungen der Anomalie während der aktiven Phasen der jeweiligen Programme ins Verhältnis zur Zahl der aktiven Phasen dieses Programms zwischen der Änderung der Installation und der erstmaligen Beobachtung der Anomalie gesetzt werden, um den Grad der Korrelation zu ermitteln.Alternatively, the average number of observations of the anomaly during the active phases of the respective programs can be compared to the number of active phases of that program between the change in the installation and the first observation of the anomaly to determine the degree of correlation.
Die Menge möglicher Verursacher kann durch passives Beobachten der Programme aus der Menge der Programme 204 bestimmt. Es kann vorgesehen sein, Programme aus der Menge der Programme 204 zu entfernen, deaktivieren oder eine neuere oder ältere Version der Programme zu installieren, um die Menge der möglichen Verursacher zu reduzieren.The set of possible culprits can be determined by passively monitoring the programs from the set of
Der Beobachtungseitraum wird im Beispiel derart gewählt, dass nach der Reduzierung der möglichen Verursacher ein Zeitraum beobachtet wird, der mindestens genausolang ist, wie der Beobachtungszeitraum vor der Reduzierung.In the example, the observation period is chosen such that after the reduction of the possible causes, a period is observed that is at least as long as the observation period before the reduction.
Für das beschriebene Vorgehen sind nur geringe Rechenressourcen, wie z.B. Speicher für Protokolldaten, nötig. Dadurch kann bei denselben Rechenressourcen ein größerer zurückliegender Zeitraum vorgehalten werden. Dadurch wird die Korrelation aufgrund der größeren Historie verbessert. Für das beschriebene Vorgehen ist kein Spezialwissen über die beobachteten Software-Komponenten nötig. Die ist besonders vorteilhaft, wenn die Software-Komponenten aus verschieden Quellen, z.B. von verschiedenen Herstellern stammen.The described approach requires only minimal computing resources, such as memory for log data. This allows a longer period of time to be retained with the same computing resources. This improves correlation due to the larger history. The described approach does not require any specialized knowledge of the observed software components. This is particularly advantageous when the software components come from different sources, e.g., from different manufacturers.
Das Verfahren kann in der Ausführungsumgebung 202 oder ausgelagert ausgeführt werden. Beispielsweise erfolgt eine Beobachtung des Rechensystems 202 und das Durchführen oder Auswerten der Korrelation von einer anderen Ausführungsumgebung aus, zum Beispiel von einer „House Keeping“ Domain aus. Es kann eine Verlagerung der Beobachtung des Rechensystems 202 und das Durchführen oder Auswerten der Korrelation in ein zentral angeordnetes System in einer Rechnercloud vorgesehen sein.The method can be executed in the
Wurde die Reduktion durch eine Versionsänderung bestimmter Programme erreicht, wird dieser Zustand bei Ausbleiben der Anomalie z.B. endgültig im Rechensystem 200 etabliert.If the reduction was achieved by a version change of certain programs, this state is definitively established in the
Wurde die Reduktion durch eine Deaktivierung bestimmter Programme erreicht, wird z.B. von einem Nutzer entschieden, ob deren dauerhafte Deaktivierung akzeptabel ist oder ob eine Versionsänderung durchgeführt wird.If the reduction was achieved by deactivating certain programs, a user can decide, for example, whether their permanent deactivation is acceptable or whether a version change should be carried out.
Claims (14)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023211239.6A DE102023211239A1 (en) | 2023-11-13 | 2023-11-13 | Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system |
| PCT/EP2024/081502 WO2025103869A1 (en) | 2023-11-13 | 2024-11-07 | Device and computer-implemented method for detecting at least one program which causes an anomaly in a computing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023211239.6A DE102023211239A1 (en) | 2023-11-13 | 2023-11-13 | Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102023211239A1 true DE102023211239A1 (en) | 2025-05-15 |
Family
ID=93455891
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102023211239.6A Pending DE102023211239A1 (en) | 2023-11-13 | 2023-11-13 | Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102023211239A1 (en) |
| WO (1) | WO2025103869A1 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10303539B2 (en) * | 2015-02-23 | 2019-05-28 | International Business Machines Corporation | Automatic troubleshooting from computer system monitoring data based on analyzing sequences of changes |
| US9626277B2 (en) * | 2015-04-01 | 2017-04-18 | Microsoft Technology Licensing, Llc | Anomaly analysis for software distribution |
| US10073753B2 (en) * | 2016-02-14 | 2018-09-11 | Dell Products, Lp | System and method to assess information handling system health and resource utilization |
-
2023
- 2023-11-13 DE DE102023211239.6A patent/DE102023211239A1/en active Pending
-
2024
- 2024-11-07 WO PCT/EP2024/081502 patent/WO2025103869A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025103869A1 (en) | 2025-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69905946T2 (en) | METHOD AND DEVICE FOR CHARGING OPERATING SYSTEMS IN A SET-TOP BOX ENVIRONMENT | |
| DE60106799T2 (en) | Probabilistic diagnosis, especially for embedded remote applications | |
| EP0894304B2 (en) | Process for automatic diagnosis of technical systems taking into consideration efficient knowledge acquisition and efficient processing in relation to operational time | |
| EP2056201A2 (en) | Method, computing system and computer program product | |
| DE10240883A1 (en) | Method of capturing unlimited growth of linked lists in a running application | |
| DE102021130957A1 (en) | RECOMMENDATIONS FOR THE STABILITY OF SOFTWARE UPDATES | |
| DE102014201682A1 (en) | Method for coexistence of software with different security levels in a multicore processor system | |
| DE102021210327A1 (en) | CONTINUOUS MONITORING AND/OR DELIVERY OF SOFTWARE | |
| WO2023061733A1 (en) | Automatic analysis of the exploitability of vulnerabilities of a software image | |
| DE102023211239A1 (en) | Apparatus and computer-implemented method for detecting at least one program that causes an anomaly in a computer system | |
| DE102006029138A9 (en) | Method and computer program product for the detection of memory leaks | |
| WO2006032617A1 (en) | Method for running a computer program on a computer system | |
| WO2006032585A1 (en) | Method for executing a computer program on a computer system | |
| EP2363809A1 (en) | Method for optimizing a control program for actuators | |
| DE102021212595A1 (en) | Method of monitoring a computing system | |
| WO2006045754A1 (en) | Method, operational system and computing unit for executing a computer program | |
| DE102018210733A1 (en) | Method for monitoring at least one computing unit | |
| DE102022210264A1 (en) | Method for detecting potential data exfiltration attacks in at least one software package | |
| DE102009000874A1 (en) | Method for improving analyzability of software error in microcontroller of motor vehicle, involves providing access to conditional information, and providing conditional information for analyzing software error | |
| EP2338111B1 (en) | Method and device for testing a computer core in a processor comprising at least two computer cores | |
| EP2021922A2 (en) | Method and device for the fault tolerance management of a software component | |
| DE102017222292B4 (en) | PARALLELIZATION METHOD AND PARALLELIZATION TOOL | |
| DE102022132369A1 (en) | DETECTION AND ELIMINATION OF DEADLOCKS IN A DATABASE MANAGEMENT SYSTEM | |
| DE102023201038A1 (en) | Method for providing information about a safety-critical software state of an embedded device | |
| DE102023203625A1 (en) | METHODS FOR HANDLING UNCERTAINTY ESTIMATES FOR NON-DETERMINISTIC FUZZ EXECUTES |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed |