DE102021204707A1 - Procedure for testing a facility - Google Patents
Procedure for testing a facility Download PDFInfo
- Publication number
- DE102021204707A1 DE102021204707A1 DE102021204707.6A DE102021204707A DE102021204707A1 DE 102021204707 A1 DE102021204707 A1 DE 102021204707A1 DE 102021204707 A DE102021204707 A DE 102021204707A DE 102021204707 A1 DE102021204707 A1 DE 102021204707A1
- Authority
- DE
- Germany
- Prior art keywords
- test data
- procedure
- testing
- until
- data
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
Verfahren zum Testen einer Einrichtung (108), bei dem in die Einrichtung (108) Testdaten eingegeben werden und anschließend der Zustand der Einrichtung (108) überwacht wird, um mindestens eine Schwachstelle in der Einrichtung (108) zu erkennen, wobei bei der Auswahl der Testdaten Seitenkanal-Informationen (112) berücksichtigt werden.Method for testing a device (108), in which test data are entered into the device (108) and the state of the device (108) is then monitored in order to identify at least one weak point in the device (108), wherein when selecting the Test data side channel information (112) are taken into account.
Description
Die Erfindung betrifft ein Verfahren zum Testen einer insbesondere technischen Einrichtung, eine Anordnung zum Durchführen des Verfahrens sowie ein Computerprogramm und ein maschinenlesbares Speichermedium.The invention relates to a method for testing a device, in particular a technical one, an arrangement for carrying out the method, and a computer program and a machine-readable storage medium.
Stand der TechnikState of the art
Zum Testen von Software und von Produkten bzw. Einrichtungen, in denen Software eine wichtige Rolle spielt, sind unterschiedliche Verfahren bzw. Techniken bekannt. Eine verbreitete Technik zum automatisierten Testen von Software wird als Fuzzing Testing bzw. Fuzzing-Testen bezeichnet. Bei dieser Technik wird das zu testende Programm an einer oder mehreren Eingabeschnittstellen immer wieder mit Daten beschickt. Es handelt sich hierbei um fehlerhafte bzw. falsch gebildete, unerwartete oder zufällige Daten, um Schwachstellen in der Software zu finden. Die Ausgabe wird im Allgemeinen nicht überprüft bzw. verifiziert, lediglich der allgemeine Zustand des Ziels. Ein Einfrieren oder ein Absturz der Software wird als ein Hinweis auf das Vorliegen einer Schwachstelle betrachtet.Various methods and techniques are known for testing software and products or devices in which software plays an important role. A common technique for automated testing of software is referred to as fuzzing testing. With this technique, the program to be tested is repeatedly fed with data at one or more input interfaces. This is incorrect or incorrectly formed, unexpected or random data in order to find weaknesses in the software. The output is generally not checked or verified, only the general state of the target. A software freeze or crash is considered an indication of the presence of a vulnerability.
Dem liegt die Überlegung zugrunde, dass mit derartigen Daten Situationen im Betrieb der Software bzw. des Programms erzeugt werden, die mit anderen Testverfahren nicht erreicht werden können. So können Programme bei nicht plausiblen Daten ungewollt abstürzen. Auf diese Weise können Sicherheitslücken im Programm, die ansonsten verborgen bleiben, erkannt werden.This is based on the consideration that such data creates situations in the operation of the software or program that cannot be achieved with other test methods. This means that programs can crash unintentionally if the data is implausible. In this way, security gaps in the program that would otherwise remain hidden can be detected.
Bei einem sogenannten white box Ansatz stehen interne Informationen, wie bspw. der Quellcoce oder ein Testzugriff, typischerweise ein Diagnose- bzw. Testzugriff zur Fehlererkennung und Fehlerbeseitigung, zur Verfügung, während bei einem black box Ansatz keine internen Informationen bereitgestellt sind.In a so-called white box approach, internal information such as the source code or test access, typically diagnostic or test access for error detection and error elimination, is available, while no internal information is provided in a black box approach.
Es stehen verschiedene Werkzeuge für ein white box Quellcode-Fuzzing zur Verfügung, die ein Diagnoseprogramm bzw. einem Debugger verwenden, um eine Code-Ausführung während des Fuzzing-Prozesses zu überwachen. Eine Rückmeldung von dem Debugger wird verwendet, um die erzeugte Eingabe zu den unerschlossenen Kernbereichen zu führen, was die Codeabdeckung optimiert. Diese Techniken stehen jedoch ohne Zugriff auf den Quellcode nicht zur Verfügung.Various tools are available for white box source code fuzzing that use a debugger to monitor code execution during the fuzzing process. Feedback from the debugger is used to direct the generated input to the untapped core areas, optimizing code coverage. However, these techniques are not available without access to the source code.
Beim black box Fuzzing-Testen, bei dem der Quellcode nicht verfügbar ist, gibt es typischerweise keine Rückmeldung, um anzuzeigen, ob eine gegebene Eingabe tiefere Teile der Software ausführt oder diese zu einem frühen Zeitpunkt in der Verarbeitung verworfen wurde. Nur wenn ein Fehler erfasst wird, ist bekannt, dass ein Problem angestoßen bzw. ausgelöst wurde.In black box fuzzing testing, where the source code is not available, there is typically no feedback to indicate whether a given input executes deeper parts of the software or whether it was discarded early in processing. It is only when an error is detected that a problem is known to have been triggered.
Black box Tests werden eingesetzt, um Fehler hinsichtlich der Spezifikation zu erkennen. Um Fehler in bestimmten Komponenten oder gar in fehlerauslösenden Komponenten selbst zu erkennen, werden jedoch white box Tests eingesetzt.Black box tests are used to detect errors in the specification. However, white box tests are used to detect faults in certain components or even in fault-triggering components themselves.
Black box Tests sind im Vergleich zu white box Tests regelmäßig aufwändiger in der Durchführung, ermöglichen aber typischerweise eine bessere Verifikation des Gesamtsystems.Black box tests are regularly more complex to carry out than white box tests, but typically enable better verification of the overall system.
Der vornehmliche Nachteil des black box Fuzzing-Testens besteht darin, dass es ohne Zugriff auf den internen Zustand des Geräts bzw. der Software nicht möglich ist, die Abdeckung und den Fortgang des Testprozesses im Allgemeinen und im Besonderen eine konkrete Eingabe geeignet zu testen. Es ist nur eine binäre Rückgabe verfügbar, die lediglich bestimmt, ob die Zielanwendung abgestürzt ist oder nicht. Es werden keine zusätzlichen Informationen bereitgestellt.The main disadvantage of black box fuzzing testing is that without access to the internal state of the device or software, it is not possible to properly test the coverage and progress of the testing process in general and a concrete input in particular. Only binary return is available, which only determines whether the target application crashed or not. No additional information is provided.
Selbst wenn diese Daten nach der Ausführung des Testfalls verfügbar sind, ist diese Rückgabe nicht ausreichend, um die Wirksamkeit einer Eingabe zu erkennen und geeignete Modifikationen während des Tests an dieser vorzunehmen. Daher wird bei diesem Ansatz die Eingabe zufällig manipuliert, ohne irgendeine Intelligenz und ohne irgendeine Rückmeldung zu dem Fortgang des Testens bezüglich der Teile der getesteten Anwendung.Even if this data is available after running the test case, this return is not sufficient to recognize the effectiveness of an input and to make appropriate modifications to it during the test. Therefore, in this approach, the input is manipulated randomly, without any intelligence and without any feedback on the testing progress on the parts of the tested application.
White box basierte Softwareansätze überwachen den internen Zustand der Zielanwendung während des Tests und sammeln nützliche Daten, wie bspw. eine Codeabdeckung, um die Testfälle zu evaluieren. Diese Information wird dann berücksichtigt, wenn zusätzliche Eingaben erzeugt werden, so dass ein umfangreicherer Code abgedeckt wird oder spezifische Funktionen öfter getroffen werden. Der Nachteil dieses Ansatzes besteht darin, dass die Software in einer sterilen, simulierten Umgebung und nicht auf der tatsächlichen Hardwareumgebung ausgeführt wird.White box based software approaches monitor the internal state of the target application during testing and collect useful data such as code coverage to evaluate the test cases. This information is then considered when additional inputs are generated, so that more extensive code is covered or specific functions are hit more often. The disadvantage of this approach is that the software runs in a sterile, simulated environment rather than on the actual hardware environment.
Wenn wenige Probleme erfasst werden, ist es nicht möglich, die Eingabeerzeugung für eine verbesserte Effizienz zu optimieren, da keine Rückmeldung von dem Fuzzing-Prozess vorliegt.If few problems are detected, it is not possible to optimize input generation for improved efficiency since there is no feedback from the fuzzing process.
Ein white box Fuzzing-Testen mit einem instrumentierten Quellcode oder einem Debugger kann verwendet werden, um die Eingabe hinsichtlich des ausgeführten Codes zu evaluieren, um eine Eingabe zu finden, die eine größere Codeabdeckung bereitstellt. Ein instrumentierter Quellcode ist ein Quellcode, dem zusätzliche Befehle für Testzwecke hinzugefügt sind. Der Eingabe-Generator kann eine Eingabe bevorzugen, die mit einer höheren Wahrscheinlichkeit eine Schwachstelle aufdeckt, indem die Codeabdeckung erweitert wird oder komplexere Abläufe ausgelöst werden.White box fuzzing testing with instrumented source code or a debugger can be used to evaluate the input in terms of the executed code to find input that provides greater code coverage. An instrumented source code is a Source code with additional commands added for testing purposes. The input generator can favor an input that is more likely to uncover a vulnerability by extending code coverage or triggering more complex flows.
Offenbarung der ErfindungDisclosure of Invention
Vor diesem Hintergrund werden ein Verfahren mit den Merkmalen des Anspruchs 1, eine Anordnung gemäß Anspruch 10, ein Computerprogramm nach Anspruch 11 sowie ein maschinenlesbares Speichermedium gemäß Anspruch 12 vorgestellt. Ausführungsformen ergeben sich aus den abhängigen Ansprüchen und aus der Beschreibung.Against this background, a method having the features of claim 1, an arrangement according to
Das vorgestellte Verfahren dient zum Testen einer Einrichtung, insbesondere einer technischen Einrichtung. Diese Einrichtung kann sowohl Software als auch Hardware umfassen. In einer Ausgestaltung ist die Einrichtung durch eine Software gegeben. In diesem Fall dient das vorgestellte Verfahren zum Testen einer Software.The method presented is used to test a device, in particular a technical device. This facility may include both software and hardware. In one embodiment, the device is provided by software. In this case, the method presented is used to test software.
Es ist vorgesehen, dass in die Einrichtung Testdaten eingegeben werden und anschließend der Zustand der Einrichtung überwacht wird, um mindestens eine Schwachstelle bzw. ein Fehler in der Einrichtung zu erkennen, wobei bei der Auswahl der Testdaten Seitenkanal-Informationen berücksichtigt werden. Seitenkanal-Informationen sind Informationen, die bei einer sogenannten Seitenkanal-Attacke bzw. einem Seitenkanal-Angriff gewonnen werden. Damit sind insbesondere Informationen gemeint, die nicht direkt durch die Anwemdung an ihren Ausgängen, sondern indirekt durch den Betrieb der Einrichtung als ein Nebeneffekt gewonnen werden. Bspw. ist der Energieverbrauch oder die Reaktions- bzw. Antwortzeit der Einrichtung eine Seitenkanal-Information. Hierauf wird nachstehend noch eingegangen.It is provided that test data is entered into the device and the condition of the device is then monitored in order to detect at least one weak point or error in the device, with side channel information being taken into account when selecting the test data. Side channel information is information that is obtained in a so-called side channel attack or a side channel attack. This means in particular information that is not obtained directly through the application at its outputs, but indirectly through the operation of the device as a side effect. For example, the energy consumption or the reaction or response time of the device is side channel information. This is discussed further below.
In einer Ausführung wird die Einrichtung im Rahmen eines black box Fuzzing-Testens getestet. Mit black box Fuzzing-Testen wird eine Methode zum Testen einer Software bezeichnet, bei der Tests anhand der Spezfikation bzw. Anforderung entwickelt werden. Die Tests werden somit ohne Kentnisse über die innere Funktionsweise bzw. Implementierung des zu testenden Systems entwickelt. Black box Tests werden eingesetzt, um Fehler hinsichtlich der Spezifikation zu erkennen. Um Fehler in bestimmten Komponenten oder gar in fehlerauslösenden Komponenten selbst zu erkennen, werden bevorzugt white box Tests eingesetzt.In one embodiment, the device is tested using black box fuzzing testing. Black box fuzzing testing is a method for testing software, in which tests are developed based on the specification or requirement. The tests are thus developed without knowledge of the inner workings or implementation of the system to be tested. Black box tests are used to detect errors in the specification. White box tests are preferably used to detect errors in certain components or even in error-triggering components themselves.
Black box Tests sind im Vergleich zu white box Tests regelmäßig aufwändiger in der Durchführung, ermöglichen aber typischerweise eine bessere Verifikation des Gesamtsystems.Black box tests are regularly more complex to carry out than white box tests, but typically enable better verification of the overall system.
Im Bereich des black box Fuzzing-Testens, bei dem keine expliziten internen Informationen vorliegen, können Seitenkanal-Informationen als ein Hinweis der Menge an internen Verarbeitungen verwendet werden, die durch die Eingabe ausgelöst sind.In the realm of black box fuzzing testing, where there is no explicit internal information, side channel information can be used as an indication of the amount of internal processing induced by the input.
Unter Seitenkanal-Attacken (engl.: side-channel attack), die auch als Seitenkanal-Angriffe bezeichnet werden, sind kryptoanalytische Methoden zu verstehen, die die physische Implementierung eines Systems, bspw. eines Kryptosystems, in einem Gerät oder einer Software ausnutzen. Dabei wird typischerweise nicht das kryptographische Verfahren selbst, sondern nur eine bestimmte Implementierung angegriffen.Side-channel attacks, also known as side-channel attacks, are cryptanalytic methods that exploit the physical implementation of a system, e.g. a cryptosystem, in a device or software. Typically, it is not the cryptographic method itself that is attacked, but only a specific implementation.
Bei sogenannten Seitenkanal-Angriffen werden nicht funktionelle Informationen, wie bspw. ein Timing, ein Energieverbrauch oder eine elektromagnetische Strahlung, verwendet, um indirekte Informationen über die interne Verarbeitung zu erlangen. Bspw. wird bei sogenannten Timing-Angriffen die Antwortzeit verwendet, um eine gültige Eingabe zu identifizieren, typischerweise eine existierende Nutzerkennung auf einer Anmeldeseite, basierend auf der Reaktions- bzw. Antwortzeit. Eine ungültige Nutzerkennung kann ohne Überprüfung des Passworts schneller verworfen werden als eine existierende Nutzerkennung mit ungültigem Passwort, wobei die Überprüfung des Passworts zusätzliche Zeit in Anspruch nimmt.In so-called side-channel attacks, non-functional information such as timing, energy consumption or electromagnetic radiation is used to obtain indirect information about internal processing. For example, so-called timing attacks use the response time to identify a valid input, typically an existing user ID on a login page, based on the response time. An invalid user ID can be discarded faster without checking the password than an existing user ID with an invalid password, with the verification of the password taking additional time.
Das Prinzip einer Seitenkanal-Attacke beruht darauf, das angegriffene Gerät oder die angegriffene Software bei Ausführung von Vorgängen bzw. Algorithmen zu beobachten und Korrelationen zwischen den beobachteten Daten und einem verwendeten Schlüssel zu finden. Diese charakteristische Information betreffend die Korrelation kann durch die Analyse der Laufzeit des Algorithmus, des Energieverbrauchs oder der elektromagnetischen Strahlung gewonnen werden.The principle of a side-channel attack is based on observing the attacked device or the attacked software when executing processes or algorithms and finding correlations between the observed data and a key used. This characteristic information regarding the correlation can be obtained by analyzing the running time of the algorithm, the energy consumption or the electromagnetic radiation.
Es wird bspw. beim Fuzzing-Testen mit einer Eingabe, bei der eine Antwort erwartet wird, durch das Timing dieser Antwort oder den Energieverbrauch des Geräts eine indirekte Informationen zu der Menge an Verarbeitungen, die das Zielsystem ausführt, bereitgestellt.For example, in fuzz testing with an input where a response is expected, the timing of that response or the power consumption of the device provides indirect information about the amount of processing the target system is performing.
Das Maß bzw. die Menge an Verarbeitung(en) wiederum kann als ein Hinweis darauf verwendet werden, zu welchem Anteil der Quellcode bei der Verarbeitung beteiligt ist. Dieses Maß ist ein Hinweis darauf, wie nützlich die Eingabe bei der Erfassung von potenziellen Fehlern ist.The level or amount of processing(s), in turn, can be used as an indication of how much source code is involved in the processing. This measure is an indication of how useful the input is in capturing potential errors.
Bspw. würde eine Eingabe, die bei der Eingangsvalidierungsstufe verworfen wird, eine weitaus geringe Verarbeitung benötigen und ist entsprechend weniger nützlich bei dem Auffinden von Anfälligkeiten als eine Eingabe, die die Eingangsvalidierungsstufe passiert und in den funktionalen Verarbeitungsteil der Software eintritt.For example, input that is discarded at the entry validation stage would require far less processing and is correspondingly less useful in finding vulnerabilities than input that passes the entry validation stage and enters the functional processing portion of the software.
Basierend auf der Nützlichkeit jeder einzelnen Eingabe ist es möglich, die Eingabeerzeugungslogik zu optimieren, um im selben Zeitraum mehr Schwachstellen zu finden.Based on the usefulness of each input, it is possible to tune the input generation logic to find more vulnerabilities in the same amount of time.
Als Testdaten können zufällige Daten, unerwartete Daten und/oder fehlerhaft gebildete Daten eingegeben werden.Random data, unexpected data and/or incorrectly formed data can be entered as test data.
Weiterhin können Seitenkanal-Informationen genutzt werden, die ausgewählt sind aus einer Menge, die umfasst: Energieverbrauch, elektromagnetische Strahlung, Timing-Informationen.Furthermore, side channel information selected from a set comprising: energy consumption, electromagnetic radiation, timing information can be used.
Bei einer Ausführungsform des Verfahrens werden wiederholt in mehreren Durchgängen in einem ersten Schritt Testdaten erzeugt, in einem zweiten Schritt die Testdaten in die Einrichtung eingegeben werden und anschließend sowohl der Zustand der Einrichtung überwacht als auch Seitenkanal-Informationen verwendet, um eine Auswirkung der ersten Testdaten auf die Einrichtung zu ermitteln, wobei die ermittelte Auswirkung bei der Erzeugung der Testdaten im nächsten Durchgang berücksichtigt wird.In one embodiment of the method, test data are repeatedly generated in several passes in a first step, in a second step the test data are entered into the device and then both the state of the device is monitored and side-channel information is used to determine an effect of the first test data to determine the facility, with the effect determined being taken into account when generating the test data in the next pass.
Der Ablauf des Verfahrens bei der wiederholten Durchführung in Durchgängen kann abgebrochen werden, sobald die Überwachung des Zustands der Einrichtung einen Hinweis auf eine Schwachstelle in der Einrichtung gibt.The course of the procedure in the case of repeated execution in rounds can be interrupted as soon as the monitoring of the condition of the facility indicates a weak point in the facility.
Es kann bzw. können bspw. ein maschinelles Lernen oder andere Techniken im Bereich der künstlichen Intelligenz verwendet werden, um eine Eingabe zu bevorzugen, von der erwartet wird, mehr Treffer zu erzeugen.For example, machine learning or other artificial intelligence techniques may be used to favor an input that is expected to generate more hits.
Zu beachten ist, dass bei der Entwicklung von Software ebenso das white box Fuzzing-Testen insbesondere während der aktiven Softwareentwicklungsphase eingesetzt werden. Das black box Fuzzing-Testen wird typischerweise während der finalen Verifikationsphase, sowohl für Hardware und Software, verwendet, sobald die Hardware und/oder Software in dem endgültigen Produkt integriert ist und ein Debugger-Zugriff erschwert ist. Mit dem vorgestellten Verfahren kann insbesondere die Wirksamkeit der finalen Verifikation hinsichtlich der Sicherheit und Robustheit verbessert werden.It should be noted that when developing software, white box fuzzing testing is also used, especially during the active software development phase. Black box fuzzing testing is typically used during the final verification phase, both for hardware and software, once the hardware and/or software is integrated into the final product and debugger access is difficult. With the method presented, the effectiveness of the final verification in terms of security and robustness can be improved in particular.
Die vorgestellte Anordnung ist zum Durchführen des hierin vorgestellten Verfahrens eingerichtet und kann in einer Hardware und/oder Software implementiert sein. Ein entsprechendes Computerprogramm, das ebenfalls Gegenstand der Anmeldung ist, dient zum Durchführen des Verfahrens und kann auf einem maschinenlesbaren Speichermedium abgelegt sein.The arrangement presented is set up to carry out the method presented here and can be implemented in hardware and/or software. A corresponding computer program, which is also the subject of the application, is used to carry out the method and can be stored on a machine-readable storage medium.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.Further advantages and refinements of the invention result from the description and the accompanying drawings.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It goes without saying that the features mentioned above and those still to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.
Figurenlistecharacter list
-
1 zeigt in einem Flussdiagramm einen Ablauf eines bekannten Verfahrens.1 shows a sequence of a known method in a flow chart. -
2 zeigt in einem Flussdiagramm einen Ablauf eines weiteren bekannten Verfahrens.2 shows a sequence of a further known method in a flow chart. -
3 zeigt in einem Diagramm eine Ausführungsform des vorgestellten Verfahrens.3 shows an embodiment of the presented method in a diagram. -
4 zeigt in einer schematischen Darstellung eine Anordnung zum Durchführen des Verfahrens.4 shows a schematic representation of an arrangement for carrying out the method.
Ausführungsformen der ErfindungEmbodiments of the invention
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.The invention is shown schematically on the basis of embodiments in the drawings and is described in detail below with reference to the drawings.
In
Das Verfahren beginnt mit einem ersten Schritt 10, mit einem zweiten Schritt 12 wird die zu testende Software initialisiert. Es werden dann in einem weiteren Schritt 14 intelligente Testszenarien entwickelt. Anschließend werden in einem Schritt 16 falsch gebildete Daten bzw. Nachrichten zu der zu testenden Einrichtung 18 (DUT: device under test), die in diesem Fall eine zu testende Software 20 umfasst, gesendet. Es können dabei ergänzend oder alternativ zufällige Daten bzw. Nachrichten gesendet werden. Die Software sendet Daten bzw. Informationen an einen Debugger 22. In einem nächsten Schritt 24 wird überwacht, ob die Software abstürzt oder einfriert. Abschließend wird in einem Schritt 26 überprüft, ob ein Fehler gefunden wurde. Ist dies der Fall, so endet die Ausführung. Ist dies nicht der Fall (Pfeil 28), so erfolgt ein Rücksprung zu Schritt 12.The method starts with a
In
In einem nächsten Schritt 64 wird überwacht, ob die Software abstürzt oder einfriert. Abschließend wird in einem Schritt 66 überprüft, ob ein Fehler gefunden wurde. Ist dies der Fall, so endet die Ausführung. Ist dies nicht der Fall (Pfeil 68), so erfolgt ein Rücksprung zu Schritt 52.In a
In
In einem ersten Schritt 100 startet das Testverfahren. In einem nächsten Schritt 102 erfolgt eine Initialisierung. Es wird dann in einem Schritt 104 ein zufälliges Testszenario erzeugt. Darauf werden in einem Schritt 106 falsch gebildete Nachrichten bzw. Daten zu einer zu testenden Einrichtung 108 mit einer zu testenden Software 110 gesendet. Die Software 110 sendet Daten von einem Seitenkanal-Angriff, die sogenannten Seitenkanal-Informationen 112, zu Schritt 104, die hierbei beachtet werden. Somit ist eine Rückmeldung gegeben.In a
In einem nächsten Schritt 114 wird überwacht, ob die Software 110 abstürzt oder einfriert. Abschließend wird in einem Schritt 116 überprüft, ob ein Fehler gefunden wurde. Ist dies der Fall, so endet die Ausführung. Ist dies nicht der Fall (Pfeil 118), so erfolgt ein Rücksprung zu Schritt 102.In a
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021204707.6A DE102021204707A1 (en) | 2021-05-10 | 2021-05-10 | Procedure for testing a facility |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021204707.6A DE102021204707A1 (en) | 2021-05-10 | 2021-05-10 | Procedure for testing a facility |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021204707A1 true DE102021204707A1 (en) | 2022-11-10 |
Family
ID=83692157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021204707.6A Pending DE102021204707A1 (en) | 2021-05-10 | 2021-05-10 | Procedure for testing a facility |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021204707A1 (en) |
-
2021
- 2021-05-10 DE DE102021204707.6A patent/DE102021204707A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Staats et al. | Automated oracle creation support, or: How I learned to stop worrying about fault propagation and love mutation testing | |
Ciupa et al. | Experimental assessment of random testing for object-oriented software | |
EP2940620A1 (en) | Derivation of a device-specific value implying an unclonable function | |
EP3430558A1 (en) | Detecting a deviation of a security state of a computing device from a desired security state | |
Segura et al. | Functional testing of feature model analysis tools: a test suite | |
Bozic et al. | Evaluation of the IPO-family algorithms for test case generation in web security testing | |
EP0304033A2 (en) | Method for diagnosing a data-processing installation infected with computer viruses | |
Marre et al. | An experimental evaluation of formal testing and statistical testing | |
DE102019210562A1 (en) | Method and device for testing software | |
DE102021204707A1 (en) | Procedure for testing a facility | |
EP3134842B1 (en) | Computing device and method for detecting attacks on a technical system based on events of an event sequence | |
Gaudel | Formal methods for software testing | |
EP3770766A1 (en) | Method for testing a system | |
Vilkomir et al. | Using mc/dc as a black-box testing technique | |
Parsai et al. | Dynamic mutant subsumption analysis using LittleDarwin | |
DE102022109866A1 (en) | SYSTEM FOR AN IMPROVED SECURITY AND PROTECTION TEST | |
DE102005020899A1 (en) | Method for preparing test coverage analysis involves testing of a program with several threads of error, which results e.g. from lack of synchronization between the threads with an conflicting access on common resources | |
EP3798873B1 (en) | Method for protecting a computer-implemented application from manipulation | |
Gaudel | Formal methods and testing: Hypotheses, and correctness approximations | |
Alatawi et al. | Generating source inputs for metamorphic testing using dynamic symbolic execution | |
EP3757698A1 (en) | Method and device for evaluating and selecting signal comparison metrics | |
DE10307797B4 (en) | Device and method for determining an irregularity in a sequence of a utility | |
Staats | The influence of multiple artifacts on the effectiveness of software testing | |
Bhatia et al. | Design of a fuzzy model to detect equivalent mutants for weak and strong mutation testing | |
Bozzano et al. | A formal framework for the specification, verification and synthesis of diagnosers |