DE102014208774A1 - Computing device with a manipulation detection and a method for detecting a manipulation of a computing device - Google Patents
Computing device with a manipulation detection and a method for detecting a manipulation of a computing device Download PDFInfo
- Publication number
- DE102014208774A1 DE102014208774A1 DE102014208774.0A DE102014208774A DE102014208774A1 DE 102014208774 A1 DE102014208774 A1 DE 102014208774A1 DE 102014208774 A DE102014208774 A DE 102014208774A DE 102014208774 A1 DE102014208774 A1 DE 102014208774A1
- Authority
- DE
- Germany
- Prior art keywords
- program code
- spectrum
- runtime
- determined
- computing device
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
Die Rechenvorrichtung (10) mit einer Manipulations-Erkennung stellt Dienste mit Echtzeitanforderungen mittels eines Programmcodes (15) bereit und umfasst mindestens eine Prozessoreinheit (11) und eine Überwachungseinheit (12). Die Prozessoreinheit (11) ist derart ausgebildet, den Programmcode (15) auszuführen. Die Überwachungseinheit (12) ist derart ausgebildet, in einer Aufnahmephase ein Referenz-Laufzeitspektrum (16) für den Programmcode (15) zu ermitteln und zu speichern, indem eine Vielzahl möglicher Ausführungsvarianten des Programmcodes (15) ausgeführt werden und eine Laufzeit für jede Ausführungsvariante ermittelt oder gespeichert wird. Nachfolgend wird in einer Überwachungsphase fortlaufend die Laufzeit der Ausführung des Programmcodes (15) ermittelt, die ermittelte Laufzeit mit dem Referenz-Laufzeitspektrum (16) verglichen und eine Warnmeldung generiert, wenn die ermittelte Laufzeit mit keiner im Referenz-Laufzeitspektrum enthaltenen Laufzeit übereinstimmt. Das erfindungsgemäße Verfahren umfasst entsprechende Verfahrensschritte.The manipulation device (10) with a manipulation recognition provides services with real-time requirements by means of a program code (15) and comprises at least one processor unit (11) and a monitoring unit (12). The processor unit (11) is designed to execute the program code (15). The monitoring unit (12) is designed to determine and store a reference runtime spectrum (16) for the program code (15) in a recording phase by executing a multiplicity of possible variants of the program code (15) and determining a runtime for each variant or saved. Subsequently, in a monitoring phase, the running time of the execution of the program code (15) is continuously determined, the determined runtime compared with the reference runtime spectrum (16) and generates a warning if the determined runtime does not coincide with any runtime included in the reference runtime spectrum. The method according to the invention comprises corresponding method steps.
Description
Die Erfindung betrifft eine Rechenvorrichtung mit einer Manipulations-Erkennung, die Dienste mit Echtzeitanforderungen mittels eines Programmcodes bereitstellt sowie ein Verfahren zur Erkennung einer Manipulation einer Rechenvorrichtung. The invention relates to a computing device with a manipulation detection, which provides services with real-time requirements by means of a program code and a method for detecting a manipulation of a computing device.
Heutige Büro- und Heimrechenvorrichtungen, wie Personal Computer oder mobile Geräte, wie beispielsweise Laptops, Smartphones oder Tablets, mit modernen Standard-Betriebssystemen, wie beispielsweise Windows oder Linux, enthalten bereits oft umfangreiche Sicherheitsfunktionen, wie Viren-Scanner, lokale Firewalls und automatische Software-Aktualisierungsprogramme. Solche Sicherheitsfunktionen sollen eine Manipulation des Rechners oder das Ausspähen von Programmen oder abgespeicherten Daten verhindern. Host-basierte Eindringerkennungssysteme, auch Intrusion Detection Systems genannt, sind bekannt und können, installiert auf einer Rechenvorrichtung, Sicherheitsereignisse dem Anwender anzeigen, in einer Datei protokollieren oder an eine zentrale Stelle melden. Today's office and home computing devices, such as personal computers or mobile devices, such as laptops, smartphones or tablets, with modern standard operating systems, such as Windows or Linux, often already contain extensive security functions, such as virus scanners, local firewalls and automatic software. updaters. Such security functions are intended to prevent manipulation of the computer or the spying of programs or stored data. Host-based intrusion detection systems, known as intrusion detection systems, are known and, when installed on a computing device, can display security events to the user, log them to a file, or report them to a central location.
Bei echtzeitfähigen Rechenvorrichtungen, wie beispielsweise speicherprogrammierbaren Steuerungen im Industrieumfeld, ist der Einsatz solcher Lösungen oft problematisch. Schadsoftware-Scanner können die Performanz reduzieren und damit Echtzeitanforderungen verletzen. Eine Firewall kann wichtige Schaltbefehle blockieren. Das Einspielen von Software-Updates kann Sicherheitsanforderungen verletzen und zu unerwünschten Neustarts der Rechenvorrichtung im laufenden Betrieb führen. Rechenvorrichtungen in sicherheitskritischen Infrastrukturen, wie beispielsweise einem Automatisierungsnetz für eine Automatisierungsanlage, wurden traditionell physikalisch strikt getrennt von öffentlichen Netzen wie dem Internet betrieben. In real-time computing devices, such as programmable logic controllers in the industrial environment, the use of such solutions is often problematic. Malware scanners can reduce performance and violate real-time requirements. A firewall can block important switching commands. The import of software updates can violate security requirements and lead to unwanted restarts of the computing device during operation. Computing devices in security-critical infrastructures, such as an automation network for an automation system, have traditionally been operated physically strictly separate from public networks such as the Internet.
Neuerdings müssen aber oft Kommunikationskanäle für beispielsweise Fernwartung oder Abgleich zwischen Verwaltung und Produktion bereitgestellt werden. Recently, however, communication channels for, for example, remote maintenance or alignment between management and production often have to be provided.
Es ist somit die Aufgabe der vorliegenden Erfindung, Rechenvorrichtungen zur Ausführung von Echtzeitdiensten in sicherheitsrelevanten Bereichen so zu erweitern, dass eine Manipulation der Rechenvorrichtung einfach und frühzeitig erkannt wird, ohne die Funktionsweise der Rechenvorrichtung an sich und insbesondere bezüglich der Echtzeitanforderungen einzuschränken. It is thus the object of the present invention to expand computing devices for real-time services in security-relevant areas so that manipulation of the computing device is detected simply and early without restricting the operation of the computing device per se and in particular with respect to real-time requirements.
Die Aufgabe wird durch die in den unabhängigen Ansprüchen beschriebenen Maßnahmen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt. The object is achieved by the measures described in the independent claims. In the dependent claims advantageous developments of the invention are shown.
Die erfindungsgemäße Rechenvorrichtung mit einer Manipulations-Erkennung stellt Dienste mit Echtzeitanforderungen mittels eines Programmcodes bereit und umfasst mindestens eine Prozessoreinheit und eine Überwachungseinheit. Die Prozessoreinheit ist derart ausgebildet, den Programmcode auszuführen. Die Überwachungseinheit ist derart ausgebildet, in einer Aufnahmephase ein Referenz-Laufzeitspektrum für den Programmcode zu ermitteln und zu speichern, indem eine Vielzahl möglicher Ausführungsvarianten des Programmcodes ausgeführt werden und eine Laufzeit für jede Ausführungsvariante ermittelt oder gespeichert wird. Nachfolgend wird in einer Überwachungsphase fortlaufend die Laufzeit der Ausführung des Programmcodes ermittelt, die ermittelte Laufzeit mit dem Referenz-Laufzeitspektrum verglichen und eine Warnmeldung generiert, wenn die ermittelte Laufzeit mit keiner im Referenz-Laufzeitspektrum enthaltenen Laufzeit übereinstimmt. The computing device according to the invention with a manipulation detection provides services with real-time requirements by means of a program code and comprises at least one processor unit and a monitoring unit. The processor unit is designed to execute the program code. The monitoring unit is designed to determine and store a reference propagation time spectrum for the program code in a recording phase by executing a multiplicity of possible variants of the program code and determining or storing a runtime for each embodiment variant. Subsequently, in a monitoring phase, the running time of the execution of the program code is continuously determined, the determined runtime is compared with the reference runtime spectrum and a warning message is generated if the determined runtime does not coincide with any runtime included in the reference runtime spectrum.
Da zur Erfüllung von Echtzeitanforderungen isochrone Zykluszeiten, d.h. feste bzw. nach oben beschränkte Laufzeiten des Programmcodes erforderlich sind, sind auch die Laufzeiten der verschiedenen Ausführungsvarianten des Programmcodes in einem engen Zeitbereich festgelegt, so dass eine Änderung des Programmcodes zu signifikanten Abweichungen der Laufzeit des Programms führt. Des Weiteren kann die Laufzeit der Ausführung des Programmcodes einfach, beispielsweise durch einen Zeitstempel am Anfang sowie am Ende der Ausführung eines Programmcodes, erfasst werden und benötigt lediglich eine geringe Rechenleistung der Rechenvorrichtung. Somit kann insbesondere bei Rechenvorrichtungen mit Echtzeitanforderungen durch die Überwachung der Laufzeit des Programmcodes und Vergleich gegenüber einem Referenz-Laufzeitspektrum in einfacher und wenig aufwändiger Art und Weise eine Manipulation der Rechenvorrichtung detektiert werden. Since isochronous cycle times, i. fixed or upwardly limited terms of the program code are required, the terms of the various variants of the program code are set in a narrow time range, so that a change of the program code leads to significant deviations of the duration of the program. Furthermore, the running time of the execution of the program code can be easily detected, for example by a time stamp at the beginning and at the end of the execution of a program code, and only requires a low computing power of the computing device. Thus, a manipulation of the computing device can be detected in particular in computing devices with real-time requirements by monitoring the running time of the program code and comparison with a reference time-of-flight spectrum in a simple and inexpensive manner.
In einer vorteilhaften Ausführungsform ist die Überwachungseinheit derart ausgebildet, jeder Laufzeit eines Referenz-Laufzeitspektrums eine Häufigkeit des Auftretens dieser Laufzeit zuzuordnen. In an advantageous embodiment, the monitoring unit is designed to assign a frequency of occurrence of this runtime to each runtime of a reference runtime spectrum.
Diese Zuordnung kann beispielsweise bei der Ermittlung des Referenz-Laufzeitspektrums durch eine Anzahl von wiederholten Ausführungen des Programmcodes unter unterschiedlichen Randbedingungen und Ausführung unterschiedlicher Funktionen gemäß dem vorbestimmten Einsatz der Rechenvorrichtung ermittelt werden. Alternativ kann jeder Laufzeit des Referenz-Laufzeitspektrums eine Soll-Häufigkeit vorgegeben werden, die auf andere Art und Weise ermittelt wurde, beispielsweise durch Simulation. Dadurch kann auch dann, wenn eine Laufzeit viel häufiger oder weniger häufig als erwartet vorkommt, eine Meldung generiert werden und die Rechenvorrichtung auf Manipulation überprüft werden. This assignment can be determined, for example, in the determination of the reference time-of-flight spectrum by a number of repeated executions of the program code under different boundary conditions and execution of different functions according to the predetermined use of the computing device. Alternatively, each runtime of the reference runtime spectrum can be given a desired frequency which has been determined in another way, for example by simulation. This can be even if a runtime is more frequent or less frequent than expected occurs, a message is generated and the computing device is checked for tampering.
In einer vorteilhaften Ausführungsform führt die Prozessoreinheit einen Programmcode aus, der eine Mehrzahl von Teil-Programmcodes umfasst. Die Überwachungseinheit ist dann derart ausgebildet, für jeden Teil-Programmcode jeweils ein eigenes Referenz-Laufzeitspektrum für die Ausführungsvarianten des Teil-Programmcodes zu ermitteln und zu speichern. Nachfolgend überwacht die Überwachungseinheit fortlaufend die Laufzeit eines jeden Teil-Programmcodes einzeln und generiert bei mangelnder Übereinstimmung mindestens einer ermittelten Laufzeit eines Teil-Programmcodes mit dem Referenz-Laufzeitspektrum des entsprechenden Teil-Programmcodes eine Warnmeldung. In an advantageous embodiment, the processor unit executes a program code comprising a plurality of partial program codes. The monitoring unit is then designed to determine and store for each sub-program code a respective reference time-of-flight spectrum for the variants of the sub-program code. Subsequently, the monitoring unit continuously monitors the runtime of each partial program code individually and generates a warning message if there is a mismatch of at least one determined running time of a partial program code with the reference time-of-flight spectrum of the corresponding partial program code.
Bei sehr umfangreichen Programmcodes, die aus gut separierbaren Komponenten, hier Teil-Programmcodes genannt, aufgebaut sind, kann durch die getrennte Behandlung jedes einzelnen Teil-Programmcodes ein Laufzeitspektrum einfach gehalten werden und somit Abweichungen in den Laufzeiten besser erkannt werden. Des Weiteren kann dadurch einfacher der manipulierte Teil-Programmcode identifiziert werden bzw. eine Änderung des Ablaufs des Programms lokalisiert werden. With very extensive program codes, which are composed of well separable components, here called part program codes, a runtime spectrum can be kept simple by the separate treatment of each individual part program code and thus deviations in the transit times can be better recognized. Furthermore, this makes it easier to identify the manipulated partial program code or localize a change in the sequence of the program.
In einer vorteilhaften Ausführungsform ist die Überwachungseinheit derart ausgebildet, eine Warnmeldung erst dann zu generieren, wenn das Auftreten einer nicht den Laufzeiten des Referenz-Laufzeitspektrums entsprechenden, ermittelten Laufzeit eine vorgegebene Häufigkeit übersteigt. In an advantageous embodiment, the monitoring unit is configured to generate a warning message only when the occurrence of a determined runtime that does not correspond to the transit times of the reference runtime spectrum exceeds a predetermined frequency.
Dadurch wird das Auftreten von fehlerhaften Warnmeldungen durch eine lediglich sporadische, nicht auf eine Manipulation zurückzuführende Laufzeitänderung reduziert. This reduces the occurrence of erroneous warnings by a sporadic, not attributable to a manipulation runtime change.
In einer weiteren vorteilhaften Variante ist die Überwachungseinheit derart ausgebildet, die ermittelten Laufzeiten fortlaufend in einem Ist-Laufzeitspektrum aufzuzeichnen bzw. zu speichern. In a further advantageous variant, the monitoring unit is designed such that the determined transit times are continuously recorded or stored in an actual runtime spectrum.
Damit kann beim späteren Auswerten eines solchen Ist-Laufzeitspektrums die Arbeitsweise der Rechenvorrichtung nachvollzogen und überprüft werden. In this way, during the later evaluation of such an actual time-of-flight spectrum, the operation of the computing device can be reconstructed and checked.
In einer vorteilhaften Ausführungsform ist die Überwachungseinheit derart ausgebildet, das Ist-Laufzeitspektrum an eine Meldestelle zu übermitteln. In an advantageous embodiment, the monitoring unit is designed to transmit the actual time-of-flight spectrum to a reporting office.
Dies ermöglicht eine Auswertung des Ist-Laufzeitspektrums außerhalb der Rechenvorrichtung und entlastet somit die Rechenvorrichtung. This allows an evaluation of the actual runtime spectrum outside the computing device and thus relieves the computing device.
In einer vorteilhaften Ausführungsform ist die Rechenvorrichtung eine speicherprogrammierbare Steuerungseinrichtung. In an advantageous embodiment, the computing device is a programmable logic controller.
Solche speicherprogrammierbaren Steuerungseinrichtungen werden insbesondere zur Anlagensteuerung in Automatisierungsanlagen verwendet. Such programmable logic controllers are used in particular for system control in automation systems.
In einer weiteren vorteilhaften Ausführungsform ist die Überwachungseinheit als ein spezieller Teil-Programmcode ausgebildet, der in der Prozessoreinheit der Rechenvorrichtung ausgeführt wird. In a further advantageous embodiment, the monitoring unit is designed as a special partial program code that is executed in the processor unit of the computing device.
Somit kann bei einer Änderung der Programmierung einfach auch die Überwachungseinheit angepasst werden. Allerdings wird dann auch beim Austausch oder einer Manipulation des Programmcodes durch einen Angreifer möglicherweise die Alarmierung außer Kraft gesetzt. Thus, when changing the programming, the monitoring unit can be easily adapted. However, even if an attacker exchanges or tampering with the program code, the alert may be overridden.
In einer Ausführungsvariante ist die Überwachungseinheit in einem Betriebssystem und/oder in einer Firmware der Rechenvorrichtung ausgebildet. In one embodiment, the monitoring unit is embodied in an operating system and / or in a firmware of the computing device.
Dies hat den Vorteil, dass bei einem Austausch oder einer Manipulation des Programmcodes die Laufzeitüberwachung aktiv bleibt, da diese in einer vom Programmcode getrennten Einheit integriert ist. This has the advantage that when exchanging or manipulating the program code, the runtime monitoring remains active since it is integrated in a separate unit from the program code.
Das erfindungsgemäße Verfahren zur Erkennung einer Manipulation einer Rechenvorrichtung, die Dienste mit Echtzeitanforderungen mittels eines Programmcodes bereitstellt, umfasst die Schritte:
- – Ermitteln und Speichern eines Referenz-Laufzeitspektrums für den Programmcode, in dem eine Vielzahl möglicher Ausführungsvarianten des Programmcodes ausgeführt werden und eine Laufzeit für jede Ausführungsvariante ermittelt und gespeichert wird, und nachfolgend in einer Überwachungsphase fortlaufend
- – Ausführen des Programmcodes,
- – Ermitteln der Laufzeit der Ausführung des Programmcodes und Vergleichen der ermittelten Laufzeit mit den Laufzeiten des Referenz-Laufzeitspektrums, und
- – Generieren einer Warnmeldung, wenn die ermittelte Laufzeit mit keiner im Referenz-Laufzeitspektrum enthaltenen Laufzeit übereinstimmt.
- Determining and storing a reference runtime spectrum for the program code in which a plurality of possible execution variants of the program code are executed and a runtime is determined and stored for each variant, and subsequently in a monitoring phase continuously
- - executing the program code,
- Determining the duration of execution of the program code and comparing the determined transit time with the transit times of the reference transit time spectrum, and
- - Generate a warning message if the determined runtime does not match any runtime in the reference runtime spectrum.
Die Laufzeiten eines Programmcodes hängen sehr stark von der Programmierung der Rechenvorrichtung ab. Auch Messwerte von Sensoren und Eingabeparameter spielen dabei eine Rolle. Dennoch ist für jeden Programmcode ein bestimmtes Spektrum an Laufzeiten zu erwarten, die durch Varianten des Programmcodes, wie beispielsweise Reaktion auf bestimmte Eingabeparameter oder auch Verzweigung des Programms als Reaktion auf einen anderen Eingabeparameter, verursacht werden. Ändert sich dieses Spektrum, so kann daraus abgeleitet werden, dass der Programmcode verändert wurde. Das Verfahren bietet somit eine Möglichkeit, mit geringem Rechenaufwand in der Rechenvorrichtung selbst, eine Manipulation des Programmcodes und auch eine dadurch verursachte Manipulation im Ablauf von Steuerungsfunktionen einer Anlage frühzeitig zu erkennen. The runtimes of a program code depend very much on the programming of the computing device. Measurements of sensors and input parameters also play a role. Nevertheless, for each program code, a certain range of runtimes is to be expected, which is due to variants of the program code, such as reaction to certain input parameters or even branching of the program in response to a other input parameters. If this spectrum changes, it can be deduced that the program code has been changed. The method thus offers a possibility, with little computational effort in the computing device itself, to early detect a manipulation of the program code and also a manipulation caused thereby in the course of control functions of a system.
In einer Variante des erfindungsgemäßen Verfahrens umfasst der Programmcode eine Mehrzahl von Teil-Programmcodes, wobei für jeden Teil-Programmcode jeweils ein Referenz-Laufzeitspektrum für die Ausführungsvarianten des entsprechenden Teil-Programmcodes ermittelt und gespeichert wird, und nachfolgend fortlaufend die Laufzeit eines jeden Teil-Programmcodes einzeln überwacht wird und bei mangelnder Übereinstimmung mindestens einer ermittelten Laufzeit eines Teil-Programmcodes mit dem Referenz-Laufzeitspektrum des Teil-Programmcodes eine Warnmeldung generiert wird. In a variant of the method according to the invention, the program code comprises a plurality of sub-program codes, wherein for each sub-program code in each case a reference runtime spectrum for the variants of the corresponding sub-program code is determined and stored, and subsequently continuously the term of each sub-program code is individually monitored and in the case of a mismatch of at least one determined duration of a partial program code with the reference time-of-flight spectrum of the partial program code, a warning message is generated.
In einem vorteilhaften Ausführungsbeispiel wird die Warnmeldung an eine Meldestelle übermittelt. Dies ermöglicht eine zentrale Auswertung der Warnmeldungen, beispielsweise in einem Betriebszentrum und eine schnelle Reaktion zur Überprüfung der Rechenvorrichtung. In an advantageous embodiment, the warning message is transmitted to a hotline. This allows a central evaluation of the warning messages, for example in an operations center and a quick response to check the computing device.
In einer vorteilhaften Ausführungsform des Verfahrens wird erst dann eine Warnmeldung generiert, wenn die Häufigkeit der nicht den Laufzeiten des Referenz-Laufzeitspektrums entsprechenden, ermittelten Laufzeiten eine vorgegebene Häufigkeit übersteigt. In an advantageous embodiment of the method, a warning message is generated only when the frequency of the determined transit times not corresponding to the transit times of the reference runtime spectrum exceeds a predetermined frequency.
In einer vorteilhaften Ausführungsform des Verfahrens werden die ermittelten Laufzeiten fortlaufend in einem Ist-Laufzeitspektrum aufgezeichnet bzw. gespeichert und/oder das Ist-Laufzeitspektrum an eine Meldestelle übermittelt. In an advantageous embodiment of the method, the determined running times are continuously recorded or stored in an actual runtime spectrum and / or the actual runtime spectrum is transmitted to a reporting office.
Des Weiteren wird ein Computerprogrammprodukt mit Programmbefehlen zur Durchführung des Verfahrens beansprucht. Furthermore, a computer program product with program instructions for carrying out the method is claimed.
Ausführungsbeispiele der erfindungsgemäßen Vorrichtung und des erfindungsgemäßen Verfahrens sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen: Embodiments of the device according to the invention and of the method according to the invention are shown by way of example in the drawings and will be explained in more detail with reference to the following description. Show it:
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen. Corresponding parts are provided in all figures with the same reference numerals.
Die Rechenvorrichtung
Um eine solche Rechenvorrichtung
Neben den einzelnen Laufzeiten der Ausführungsvarianten wird vorteilhafterweise auch die Häufigkeit einer gemessenen Laufzeit im Referenz-Laufzeitspektrum festgehalten. In addition to the individual terms of the embodiments, the frequency of a measured transit time is advantageously also recorded in the reference transit time spectrum.
Nach der Ermittlung und Speicherung des Referenz-Laufzeitspektrums
Die Überwachungseinheit
Ebenso wird eine Warnmeldung generiert, wenn eine ermittelte Laufzeit, hier beispielsweise rt2, mit einer signifikant anderen Häufigkeit PX, auftritt, als die entsprechend dem Referenz-Laufzeitspektrum
Die Warnmeldung kann beispielsweise durch ein Lichtsignal an der Rechenvorrichtung
Besteht, wie in
Die Überwachungseinheit
Die Überwachungseinheit
In
Eine mehrfache Ausführung des Programmcodes
Im nachfolgenden Betrieb der Rechenvorrichtung
Wird im Schritt
Alle beschriebenen und/oder gezeichneten Merkmale können im Rahmen der Erfindung vorteilhaft miteinander kombiniert werden. Die Erfindung ist nicht auf die beschriebenen Ausführungsbeispiele beschränkt. All described and / or drawn features can be advantageously combined with each other within the scope of the invention. The invention is not limited to the described embodiments.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014208774.0A DE102014208774A1 (en) | 2014-05-09 | 2014-05-09 | Computing device with a manipulation detection and a method for detecting a manipulation of a computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014208774.0A DE102014208774A1 (en) | 2014-05-09 | 2014-05-09 | Computing device with a manipulation detection and a method for detecting a manipulation of a computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014208774A1 true DE102014208774A1 (en) | 2015-11-12 |
Family
ID=54336575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014208774.0A Withdrawn DE102014208774A1 (en) | 2014-05-09 | 2014-05-09 | Computing device with a manipulation detection and a method for detecting a manipulation of a computing device |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014208774A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009019089A1 (en) * | 2009-04-20 | 2010-11-04 | Pilz Gmbh & Co. Kg | Method and device for creating a user program for a safety control |
-
2014
- 2014-05-09 DE DE102014208774.0A patent/DE102014208774A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009019089A1 (en) * | 2009-04-20 | 2010-11-04 | Pilz Gmbh & Co. Kg | Method and device for creating a user program for a safety control |
Non-Patent Citations (4)
Title |
---|
Ermedahl, A.; Engblom, J.: Execution Time Analysis for Embedded Real-Time Systems. In: Handbook of Real-Time Embedded Systems. Chapman & Hall/CRC, Januar 2007. ISBN: 1-58488-678-1. URL: http://www.es.mdh.se/publications/2840- |
Ermedahl, A.; Engblom, J.: Execution Time Analysis for Embedded Real-Time Systems. In: Handbook of Real-Time Embedded Systems. Chapman & Hall/CRC, Januar 2007. ISBN: 1-58488-678-1. URL: http://www.es.mdh.se/publications/2840- * |
Li, Y.A. et al.: Determining the Execution Time Distribution for a Data Parallel Program in a Heterogeneous Computing Environment. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING 44, 35-52 (1997). URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.8588 * |
Li, Y.A. et al.: Determining the Execution Time Distribution for a Data Parallel Program in a Heterogeneous Computing Environment. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING 44, 35–52 (1997). URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.8588 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3428756B1 (en) | Integrity monitoring in automation systems | |
EP3097506B1 (en) | Method and system for obtaining and analysing forensic data in a distributed computer infrastructure | |
EP2908195B1 (en) | Method for monitoring security in an automation network, and automation network | |
EP2980662B1 (en) | Protection for an automation component against program manipulation by means of signature matching | |
DE102015201443A1 (en) | Method and device for controlling a watchdog | |
DE112008001528T5 (en) | Multiprocessor system and control method therefor | |
DE102005048037A1 (en) | Method for controlling / regulating at least one task | |
EP3430558A1 (en) | Detecting a deviation of a security state of a computing device from a desired security state | |
WO2013164224A2 (en) | Method and device for monitoring functions of a computer system, preferably of an engine control system of a motor vehicle | |
WO2015010831A1 (en) | Monitoring redundant components | |
EP2954534B1 (en) | Device and method for detecting unauthorised manipulations of the system state of an open-loop and closed-loop control unit of a nuclear plant | |
EP3752911A1 (en) | Method for installing a program code packet onto a device, device, and motor vehicle | |
CN111289036A (en) | Equipment fault early warning method, device, equipment and system | |
DE102014208774A1 (en) | Computing device with a manipulation detection and a method for detecting a manipulation of a computing device | |
DE102009047724A1 (en) | Program sequence monitoring method for operating field device utilized for e.g. measuring physical parameter at defined areas in process plant, involves comparing test value with another test value to monitor program sequence | |
EP3454154A1 (en) | Automated detection of statistical dependencies between process messages | |
EP3486825A1 (en) | Method and apparatus for the computer-aided determination of a severity of a breach in integrity | |
WO2006136189A1 (en) | Method and apparatus for monitoring unauthorized access to the memory of an arithmetic unit, especially in a motor vehicle | |
EP3726309A1 (en) | Method and system for monitoring the current integrity of a distributed automation system | |
DE102017200280B4 (en) | Method and apparatus for qualifying a fault of a sensor by means of status information | |
WO2023031131A1 (en) | Method for operating an automation system with at least one monitoring module, and attestation device | |
EP4142321A1 (en) | Method for operating an automation system with at least one monitoring module and locking device | |
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 | |
WO2017186596A1 (en) | Control of a robot system | |
DE102016010069A1 (en) | To detect a factor at the time of an abnormal state of a PC function capable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |