DE102021202580A1 - Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion - Google Patents

Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion Download PDF

Info

Publication number
DE102021202580A1
DE102021202580A1 DE102021202580.3A DE102021202580A DE102021202580A1 DE 102021202580 A1 DE102021202580 A1 DE 102021202580A1 DE 102021202580 A DE102021202580 A DE 102021202580A DE 102021202580 A1 DE102021202580 A1 DE 102021202580A1
Authority
DE
Germany
Prior art keywords
mcu
execution
features
program
instruction
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
Application number
DE102021202580.3A
Other languages
English (en)
Inventor
Stefan GEHRER
Jorge Guajardo Merchan
Mesbah Uddin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102021202580A1 publication Critical patent/DE102021202580A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0266Marks, test patterns or identification means
    • H05K1/0268Marks, test patterns or identification means for electrical inspection or testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Medical Informatics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es wird eine Anweisungsklassifikation und eine Softwareeindringungsdetektion durchgeführt. Eine Programmanweisungsausführung eines Prozessors einer Mikrocontrollereinheit (MCU) wird mittels Seitenkanalsignalanalyse überwacht, wobei das Überwachen Erfassen eines Signalverlaufs einer physikalischen Eigenschaft der MCU, die Informationen in Zusammenhang mit der Programmanweisungsausführung der MCU preisgibt, beinhaltet, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt. Aus dem Signalverlauf werden Zeitbereichsmerkmale, Frequenzbereichsmerkmale und Mel-Frequenz-Cepstrum-Koeffizienten(MFCC)-Merkmale extrahiert. Es wird ein Modell zur Anweisungsdetektion genutzt, um eine Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen zu identifizieren. Die Ausführungssignatur wird mit einer oder mehreren Referenzausführungssignaturen verglichen. Eine Behebungsmaßnahme wird als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt, durchgeführt.

Description

  • TECHNISCHES GEBIET
  • Aspekte der Offenbarung beziehen sich auf einen verbesserten Ansatz zum Fingerprinting einer Mikrocontrollereinheit (MCU) mittels Analyse einer physikalischen Eigenschaft der MCU während Ausführung von Programmanweisungen sowie auf Durchführen von Eindringungsdetektion basierend auf dem Fingerprinting.
  • KURZDARSTELLUNG
  • Gemäß einem oder mehreren veranschaulichenden Beispielen beinhaltet ein Verfahren zur Anweisungsklassifikation und Softwareeindringungsdetektion Überwachen einer Programmanweisungsausführung eines Prozessors einer Mikrocontrollereinheit (MCU) mittels Seitenkanalsignalanalyse, wobei das Überwachen Erfassen eines Signalverlaufs einer physikalischen Eigenschaft der MCU, die Informationen in Zusammenhang mit der Programmanweisungsausführung der MCU preisgibt, beinhaltet, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und Mel-Frequenz-Cepstrum-Koeffizienten(MFCC)-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt.
  • Gemäß einem oder mehreren veranschaulichenden Beispielen wird ein System zur Anweisungsklassifikation und Softwareeindringungsdetektion beschrieben. Das System beinhaltet eine Messvorrichtung, ausgelegt zum Überwachen einer Programmanweisungsausführung eines Prozessors einer MCU mittels Seitenkanalsignalanalyse, zum Erfassen eines Signalverlaufs einer physikalischen Eigenschaft der MCU, die Informationen in Zusammenhang mit der Programmanweisungsausführung der MCU preisgibt, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt, wobei die physikalische Eigenschaft der MCU eines oder mehrere von Spannung, Leistung, Schall, elektromagnetischer Strahlung, Vibration, Licht oder Wärme beinhaltet. Das System beinhaltet ferner eine Analysevorrichtung in Kommunikation mit der Messvorrichtung. Die Analysevorrichtung ist programmiert zum Empfangen, von der Messvorrichtung, des von der MCU erfassten Signalverlaufs; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt.
  • Gemäß einem oder mehreren veranschaulichenden Beispielen beinhaltet ein nichtflüchtiges computerlesbares Medium Anweisungen zur Anweisungsklassifikation und Softwareeindringungsdetektion, die bei Ausführung durch eine Analysevorrichtung bewirken, dass die Analysevorrichtung Operationen durchführt, die Folgendes beinhalten: Empfangen, von einer Messvorrichtung, eines Signalverlaufs einer physikalischen Eigenschaft einer MCU, der Informationen in Zusammenhang mit einer Programmanweisungsausführung der MCU preisgibt, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt, wobei die physikalische Eigenschaft der MCU eines oder mehrere von Spannung, Leistung, Schall, elektromagnetischer Strahlung, Vibration, Licht oder Wärme beinhaltet; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt, wobei die Behebungsmaßnahme eines oder mehrere von Zurücksetzen von Puffern der MCU, Neustarten der MCU, Neuflashen einer Software der MCU mit einer aus einem Nur-Lese-Speicher abgerufenen Kopie der Software, Sperren der MCU gegenüber einem Netzwerk, Sperren von Interrupts der MCU oder Stoppen einer Ausführung der MCU beinhaltet.
  • Figurenliste
    • 1 zeigt ein beispielhaftes System für die Erfassung von Signalverläufen, die Seitenkanal-Informationsleckagen beinhalten;
    • 2 zeigt ein beispielhaftes Programm zum Erzeugen von Signalverlaufsdaten bezüglich einer einzigen Anweisung;
    • 3 veranschaulicht einen beispielhaften Prozess für das Training des Modells hinsichtlich Anweisungsdetektion;
    • 4 veranschaulicht einen beispielhaften Prozess für das Erstellen von Referenzausführungssignaturen;
    • 5 veranschaulicht einen beispielhaften Prozess für die Verwendung des Modells bei einer Softwareeindringungsdetektion; und
    • 6 veranschaulicht eine beispielhafte Rechenvorrichtung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung werden hier beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Die hier offenbarten speziellen strukturellen und funktionalen Einzelheiten sind daher nicht als beschränkend aufzufassen, sondern lediglich als eine repräsentative Basis, um Fachleute zu lehren, die Ausführungsformen verschiedentlich einzusetzen. Durchschnittsfachleute auf dem Gebiet werden verstehen, dass verschiedene unter Bezugnahme auf irgendeine der Figuren veranschaulichte und beschriebene Merkmale mit in einer oder mehreren anderen Figuren veranschaulichten Merkmalen kombiniert werden können, um Ausführungsformen zu produzieren, die nicht explizit veranschaulicht oder beschrieben sind. Die Kombinationen von veranschaulichten Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der mit den Lehren dieser Offenbarung konsistenten Merkmale könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Aufgrund ihrer erhöhten Konnektivität mit internen und externen Netzwerken können Kraftfahrzeug-Mikrocontrollereinheiten (Kraftfahrzeug-MCUs) Ziele für Angriffe durch Software- oder Parametermodifikation darstellen. Im Kraftfahrzeugumfeld können solche Angriffe selbst für einen kurzen Zeitraum schwerwiegend sein. Eine Laufzeitdetektion solcher Angriffe ist also äußerst wichtig für Kraftfahrzeugschutz und -sicherheit.
  • Ein prozessorbasiertes System kann Informationen über Seitenkanäle preisgeben. Diese Seitenkanäle können Leistungsaufnahme, elektromagnetische Ausstrahlungen oder sogar Audio beinhalten. Diese Offenbarung bezieht sich auf eine neue und nicht offensichtliche Technik, bei der diese Seitenkanal-Informationsleckagen erfasst werden, um die Qualität von Techniken, deren Ziel die Abschwächung bösartiger Angriffe ist, zu verbessern. Kabel und/oder Sensoren können verwendet werden, um die Leistungsaufnahme oder andere physikalische Eigenschaften der betrachteten MCU zu messen. Bei einigen Implementierungen erfordern die beschriebenen Ansätze keine Software- oder Hardwaremodifikation der zu messenden Vorrichtungen.
  • Während einer Profilierungsphase werden gültige Programme ausgeführt, um eine Datenbank ihrer individuellen Signaturen zu erstellen. Andere oder modifizierte Programme, die nicht in der Datenbank profiliert sind, sollten im Idealfall andere Charakteristiken aufweisen und somit andere Signaturen erzeugen. Die Signaturen oder Merkmale der Profile zum Verifizieren der Gültigkeit eines auf der MCU laufenden Programms müssen sorgfältig gewählt werden und sollten sich selbst bei Änderung einer beliebigen einzigen Operation in einem gültigen Programm signifikant voneinander unterscheiden. Der offenbarte Ansatz gibt an, wie man solche Merkmale berechnet und wählt, um die Effizienz eines Eindringungsdetektionssystems zu erhöhen.
  • Zur Laufzeit werden Signaturen aus den Echtzeitmessungen extrahiert und mit den Referenzausführungssignaturen, die anhand während einer Profilierungsphase genommener Trainingsmessungen berechnet wurden, verglichen. Durch kontinuierliches Überwachen der getesteten MCU kann mittels des Vergleichs mit diesen Ausführungssignaturen eine physische Laufzeiteindringungsdetektion auf niedriger Ebene durchgeführt werden.
  • Es sei angemerkt, dass bei vielen Beispielen hierin eine Verwendung des offenbarten Ansatzes in Fahrzeugen, die ECUs oder eingebettete Prozessoren verwenden (also nahezu jedes heutige Kraftfahrzeug), erörtert wird. Bei anderen Beispielen lässt sich der Ansatz auch auf Internetder-Dinge(IoT)-Vorrichtungen (mit einem Prozessor/Mikrocontroller) und allgemein auf jedes eingebettete System mit einem Prozessor, der Programmanweisungen ausführt, anwenden, wobei die Programmanweisungsausführung mit der durch den Prozessor während der Ausführung des Programms aufgenommenen Leistung in Zusammenhang steht. Es sei außerdem angemerkt, dass, obgleich sich viele Beispiele hierin auf Leistungsaufnahme beziehen, diese Art von Analyse an anderen Signalverlaufsarten (oder Kombinationen von Signalverläufen), die Seitenkanal-Informationsleckagen beinhalten, durchgeführt werden kann, wie beispielsweise elektromagnetische Signalverläufe, Schallsignalverläufe, Vibrationssignalverläufe oder beliebige andere durch eine Sensorvorrichtung gemessene physikalische Messsignalverläufe.
  • 1 zeigt ein beispielhaftes System 100 für die Erfassung von Signalverläufen 102, die Seitenkanal-Informationsleckagen beinhalten. Wie gezeigt, wird eine Messvorrichtung 110 zum Erfassen von Informationen über die Zeit verwendet, um die Seitenkanal-Informationsleckagen von der MCU 104 einer elektronischen Steuereinheit (ECU) 106 zu sammeln. Eine Analysevorrichtung 114 ist mit der Messvorrichtung 110 verbunden. Wie hier ausführlich beschrieben, werden die Signalverläufe 102 durch die Analysevorrichtung 114 dazu verwendet, Klassifikatoren eines Modells 112 zu trainieren (Profilierung), wobei das Modell 112, sobald es trainiert ist, zum Detektieren bösartiger Modifikationen (die auf ein Sicherheitsrisiko hinweisen können) oder sogar unbeabsichtigter Modifikationen von Programmen (die auf ein Schutzrisiko hinweisen können) verwendet wird. Das Modell 112 kann beispielsweise dazu verwendet werden, die durch die MCU 104 ausgeführten Anweisungen mit gespeicherten Ausführungssignaturen 120 bekannter ordnungsgemäßer Software zu vergleichen.
  • Obgleich in dem Beispielsystem 100 nur eine einzige MCU 104 gezeigt ist, sei angemerkt, dass sich der beschriebene Ansatz auf eine einzige MCU 104, eine Sammlung von MCUs 104, die eine einzige Aufgabe durchführen, oder mehrere individuell arbeitende MCUs 104 anwenden lässt. Es sei außerdem angemerkt, dass die Analysevorrichtung 114 hinsichtlich der MCU 104 lokal sein kann oder in anderen Beispielen ein Fernrechensystem, wie etwa ein Gateway in dem Fahrzeug, zu dem die Signalverläufe 102 gesendet werden, oder ein Fernserver außerhalb des Fahrzeugs sein kann. Es sei ferner angemerkt, dass die Analysevorrichtung 114, die zum Durchführen des Trainings des Modells 112 verwendet wird, und die Analysevorrichtung 114, die zum Vergleichen des trainierten Modells 112 und des Messsignalverlaufs während der Verifikation verwendet wird, unterschiedliche Vorrichtungen sein können.
  • Bei einem Beispiel kann eine verbesserte und kostengünstige Weise des Klassifizierens von auf der MCU 104 laufenden Anweisungen hoher Ebene durchgeführt werden, indem der von einem Versorgungsspannungsanschlussstift 108 abgegriffene Leistungsseitenkanal verwendet wird. Wie gezeigt, wird ein Beispiel eines solchen Abgriffs durch Sondieren zugänglicher Anschlussstifte 108 der MCU 104 erzielt. Zwei Anschlussstifte 108 von der MCU 104 (z. B. ein VDD, ein E/A) sind mit einer Messvorrichtung 110 (z. B. einem Oszilloskop) für Eindringungsdetektionszwecke unter Verwendung von Leistungsseitenkanälen verbunden. Ein solcher Ansatz nutzt ein neues Verfahren zur Sondierung einer MCU 104, um eine physikalische Messung der MCU 104 durchzuführen, die zu einem Signalverlauf führt, der eine messbare Änderung aufgrund spezifischer in der CPU dieser MCU 104 laufender Programme angibt.
  • Andere Beispiele der Messvorrichtung 110 können einen mit den Leistungsanschlussstiften der getesteten MCU 104 verbundenen zusätzlichen Controller, ein Hardwaresicherheitsmodul mit Zugriff auf den Leistungsanschlussstift der getesteten/untersuchten MCU 104, das in demselben Gehäuse wie die getestete MCU 104 zur Verfügung steht, beinhalten. Dies ist wichtig, da viele Kraftfahrzeug-ECUs 106 mehr als eine MCU 104 enthalten, von denen eine möglicherweise eine „sichere“ MCU 104 ist, die mitunter als Hardwaresicherheitsmodul (HSM) bezeichnet wird.
  • In vielen seitenkanalleistungsbasierten Angriffs- oder Eindringungsdetektionssystemen wird zum Messen der Leistung ein kleiner Widerstand von einigen wenigen Ohm zwischen der Leistungsversorgung und dem Versorgungsspannungsanschlussstift 108 (VDD) der die MCU 104 enthaltenden ECU 106 eingeführt. Im Fall der Kraftfahrzeug-MCU 104 ist die MCU 104 üblicherweise nur ein Teil einer Platine, die andere Komponenten enthält, wie etwa ADCs (Analog-Digital-Umsetzer), FFT-Blöcke (FFT: Fast Fourier Transform - Schnelle FourierTransformation), einen CAN-Controller (CAN: Controller Area Network) und/oder einen E/A-Controller (E/A: Eingabe/Ausgabe). Eine Leistungsversorgung mit einer ersten Spannung (z. B. 12 Volt in vielen Beispielen) kann für die Platine verwendet werden, während die MCU 104 bei einer zweiten Spannung (z. B. 1,2 Volt VDD in vielen Beispielen) arbeiten kann, die die MCU 104 von einem Leistungswandler auf der Platine, der die erste Spannung in die zweite Spannung umwandelt, empfängt. Bei einem anderen Beispiel erzeugt die MCU 104 die zweite Spannung selbst. Somit würde, bei Durchführung einer Messung des Stroms und der Leistung von der ersten Spannungsleitung, dieses Signal eine Leistungsaufnahme nicht nur von der MCU 104, sondern außerdem auch von anderen Komponenten auf der Platine enthalten. Solche Daten wären daher rauschbehaftet und zur Klassifizierung durch die MCU 104 ausgeführter Programme 116 schwer verwendbar.
  • Eine nicht-beeinflussende Messung der der MCU 104 zugeführten Leistung mit der zweiten Spannung durch Anbringen eines Inline-Nebenschlusswiderstands gestaltet sich möglicherweise schwierig. Dennoch gibt es einige Stellen, an denen es möglich ist, die interne Leistungsschiene mit der zweiten Spannung der MCU 104 zu sondieren. Werden Programme 116 durch die MCU 104 ausgeführt, so würden jegliche Schwankungen der zweiten Spannung auf dem VDD-Anschlussstift 108 Informationen über die mit diesen Programmen 116 in Zusammenhang stehende dynamische und statische Leistungsaufnahme enthalten. Daher kann, anstatt einen Widerstand zum Messen der Leistung zu verwenden, stattdessen der Zweite-Spannung-Anschlussstift 108 sondiert werden, um eine Spannungsvariation aufgrund verschiedener in der CPU der MCU 104 laufender Anweisungen zu messen. Gegebenenfalls kann ein E/A-Anschlussstift 108 der MCU 104 als externer Trigger verwendet werden (sehr häufig werden nicht alle E/A-Anschlussstifte 108 eines Mikrocontrollers verwendet). Anhand des Leistungssignalverlaufs lässt sich nicht ohne Weiteres erkennen, wo eine Ausführung eines gewünschten Programms 116 beginnt und wo sie endet. Zu diesem Zweck kann die MCU 104 den Zustand eines E/A-Anschlussstifts 108 zu Beginn und am Ende einer Ausführung des Programms 116 umschalten. Somit wäre, wenn das Programm 116 kontinuierlich läuft, der Signalverlauf zwischen zwei aufeinanderfolgenden E/A-Umschaltungen die Region, in der das Programm 116 eine Ausführung beginnt und beendet. Beide dieser Techniken - Verlagerung zum Zweite-Spannung-Anschlussstift 108 und Verwendung eines E/A-Anschlussstifts 108 als Hardwaretrigger - unterstützen eine Verbesserung der Klassifikationsgenauigkeit anhand Seitenkanalleistungssignalverläufen 102 gegenüber vorherigen Techniken unter Verwendung eines Reihenwiderstands zur Leistungsmessung. Es sei angemerkt, dass andere Trigger zum Steuern der Signalverlaufserfassung verwendet werden können. So kann das Erfassen der Signalverläufe 102 beispielsweise durch ein oder mehrere überwachte Hardware- oder Softwareinterrupts der MCU 104 getriggert werden. Ein mögliches Beispiel könnte ein durch einen Scheduler angeforderter Interrupt sein, der einen Kontextwechsel zu einem anderen Prozess, Programm oder Thread initiiert. In der Unterbrechungsroutine kann ein externer Port getriggert werden, um die Messvorrichtung 110 über den Kontextwechsel zu informieren. Dies würde beispielsweise eine Durchführung einer Signalverlaufserfassung je Prozess, Programm oder Thread gestatten.
  • Wie erwähnt, ist die Leistungsversorgungsspannung ein Beispiel einer Vorrichtungsmessung einer physikalischen Eigenschaft der MCU 104, die zum Erzeugen eines Signalverlaufs verwendet werden kann. Es sei erwähnt, dass auch andere Messungen und/oder physikalische Eigenschaften verwendet werden können, wie etwa Schall (z. B. mit einem Mikrofon gemessen), Vibration (z. B. mit einem MEMS-Sensor gemessen), ein Signalverlauf von einer elektromagnetischen Sonde und so weiter.
  • Beispielsweise kann zusätzlich oder alternativ ein externer oder interner Sensor 122 zum Bereitstellen einer Vorrichtungsmessung einer anderen physikalischen Eigenschaft (z. B. Schall, Temperatur) genutzt werden, um eine anfängliche Basislinienmessung (Profilierung) durchzuführen. Diese zusätzliche oder alternative Messung kann durchgeführt werden, um die Identifizierung von Merkmalen zu unterstützen, die die maximale Trennung unter physikalischen Eigenschaften (z. B. Leistungsaufnahme, Wärmedissipation, Schall usw.) verschiedener Anweisungen oder Funktionen (d. h. eines Anweisungssatzes) der MCU 104 bereitstellen. Dann können Klassifikatoren (z. B. geeignete Maschinenlernalgorithmen oder neuronale Netze) des Modells 112 an diesen berechneten Merkmalen verwendet werden, um laufende Anweisungen rasch zu identifizieren und somit eine schnelle Eindringungsdetektion zu ermöglichen.
  • Im Hinblick auf eine Merkmalsextraktion sind Signalverläufe 102, die Tausende oder gar Millionen von Abtastpunkten enthalten, üblicherweise zu groß und rechenaufwendig, um direkt in ein beliebiges Klassifikationsmodell 112 eingespeist zu werden. Zudem erfordern die meisten Maschinenlernalgorithmen eine Vorverarbeitung, um Einzelheiten über Frequenz, Abtastrate oder andere relevante Informationen über die Hardware zu erlernen. Anstatt eine Hauptkomponentenanalyse (PCA: Principal Component Analysis) zu verwenden, um eine Dimensionalität der Daten blind zu reduzieren, werden einige brauchbare Merkmale extrahiert, sodass diese extrahierten Merkmale zum Trainieren des Klassifikators des Modells 112 verwendet werden. Einige häufig verwendete Merkmale sind mittlere Signalverlaufsleistung, maximale Leistung, minimale Leistung, statistische Eigenschaften eines Signalverlaufs wie etwa Standardabweichung, Schiefe, Wölbung und Effektivleistung (Root-Mean-Square(RMS)-Leistung). Auch Frequenzbereichsmerkmale wie etwa Bandenergien werden verwendet, da einige Frequenzen in hohem Maße mit einer bestimmten Anweisung oder einem Anweisungssatz, die/der durch ein Programm 116 ausgeführt wird, in Zusammenhang stehen könnten.
  • Der Ansatz verwendet eindeutige Merkmale in einem Klassifikationslernelement des Modells 112, die im Vergleich zu Merkmalen, die zuvor in diesen Arten von Systemen zur Eindringungsdetektion verwendet wurden, eine verbesserte Genauigkeit bereitstellen. Insbesondere verwendet der beschriebene Ansatz Mel-Frequenz-Cepstrum-Koeffizienten (MFCC) als zusätzliche Merkmale für das Modell 112, wodurch die Test- und Trainingsgenauigkeit mehrerer Maschinenlernmodelle 112 im Vergleich zu Fällen, bei denen keine MFCC-Merkmale verwendet werden, um 5%-10% verbessert werden. MFCCs werden ausführlich erörtert in M. Sahidullah et al. (M. Sahidullah und G. Saha, „Design, analysis and experimental evaluation of block-based transformation in MFCC computation for speaker recognition", Speech Communication, Band 54, Nr. 4, S. 543-565, 2012).
  • MFCCs werden in erster Linie zur Sprachsignalverarbeitung verwendet, wobei die Frequenzbänder im regulären Frequenzbereich nicht gleichmäßig beabstandet sind. Vielmehr sind die Frequenzbänder auf der Mel-Skala (modifizierter Frequenzbereich) gleichmäßig beabstandet, um eine bessere Repräsentation des menschlichen auditorischen Systems zu erhalten. Obgleich es sich bei den im beschriebenen Ansatz analysierten Signalen nicht um Sprachsignale handelt, zeigt die Verwendung von MFCCs als Merkmale eine Verbesserung der Klassifikationsgenauigkeit im Bereich von 5%-15%, insbesondere für Einzelanweisungsklassifikation. Nach Analyse der Merkmale in einem Beispieltest wurde erkannt, dass eine Verwendung lediglich der 10. MFCC (von 13 in dem Test) zu mehr als 10% der Klassifikationsgenauigkeit beiträgt, was in Anbetracht der Tatsache, dass im Test insgesamt 35 Merkmale genutzt wurden, signifikant ist.
  • 2 zeigt ein beispielhaftes Programm 116 zum Erzeugen von Daten eines Signalverlaufs 102 bezüglich einer einzigen Anweisung. Wie gezeigt ist die einzige Anweisung die „and“-Anweisung. Unter Verwendung eines solchen Programms 116 können Signalverläufe für die „and“-Anweisung erfasst werden. Ähnliche Programme 116, die jede Anweisung mehrfach in einer Schleife verwenden (z. B. fünfmal wie gezeigt) können auch verwendet werden, um Signalverläufe für andere Anweisungen zu erfassen, wie etwa „add“, „multiply“, „left shift“, „right shift“, „or“ und „xor“. Dadurch können repräsentative Signalverläufe 102 für jede eines Satzes von Anweisungen erfasst werden. Dann können Zeitbereichsmerkmale und Frequenzbereichsmerkmale der Signalverläufe 102 extrahiert werden, wie hier erörtert. Darüber hinaus können auch MFCC-Merkmale berechnet werden.
  • Während der Laufzeit der ECU 106 im Feld können Seitenkanalleistungsmessungen (oder andere physikalische Eigenschaften) in einem spezifischen Zeitfenster durchgeführt werden. Dann werden Merkmale oder Ausführungssignaturen anhand dieser Messungen berechnet und mit den gespeicherten Ausführungssignaturen 120 für bekannte Programme 116, die auf der MCU 104 laufen, verglichen. Anhand dieses Vergleichs können die in dem aktuellen Programm 116 laufenden Anweisungen oder Funktionen gefunden werden und folglich lassen sich jegliche unbeabsichtigte Anweisungen aufgrund irgendeiner bösartigen Softwaremodifikation auf sehr niedriger Ebene detektieren. Durch Einbeziehen zusätzlicher Schritte als Behebungsmaßnahmen, wie etwa Zurücksetzen von Puffern der MCU 104, Neustarten des Prozessors der MCU 104, Neuflashen der Software der MCU 104 mit einer aus einem Nur-Lese-Speicher abgerufenen Softwarekopie, Sperren der ECU (MCU 104) gegenüber dem Netzwerk bis auf Weiteres, Sperren von Interrupts, Stoppen des Prozessors und/oder Ausgeben eines Warnhinweises, kann das Eindringungsdetektionssystem dementsprechend hilfreich sein bei einer Verhinderung solcher Ausführungen bösartiger Programme 116 (Eindringungsprävention).
  • Klassifikationstechniken wie etwa Support Vector Machines (SVMs) mit verschiedenen Kernels, (tiefe) neuronale Netze, Ensemble-Modelle, baumbasierte Klassifikatoren usw. können zur Anweisungsklassifikation und somit zur robusten Detektion von Softwareeindringung verwendet werden.
  • Variationen des beschriebenen Ansatzes sind möglich. Als eine mögliche Variation können die Messungen an jede(s) externe dedizierte Vorrichtung oder Eindringungsdetektionssystem (IDS) übertragen werden, die/das möglicherweise leistungsstärker und vertrauenswürdiger ist.
  • Als eine andere Möglichkeit können zusätzlich zur Klassifizierung individueller Anweisungen komplexe und kritische Programme als Ganzes einem Fingerprinting unterzogen werden. Solche sensiblen Anwendungen können bei diesem Eindringungsdetektionsverfahren einem Verifikationsschritt unterzogen werden, um jegliche Bedrohung durch irgendeine bösartige Modifikation aktiv zu verhindern.
  • Als noch eine weitere Möglichkeit könnten Ferndatenerfassungs- und -verifikationsverfahren hinzugefügt werden. Dies würde dabei helfen, die Fingerprint-Datenbank von Zeit zu Zeit zu aktualisieren, um jeglichen Änderungen der Leistungsaufnahme, verursacht durch Umgebungsänderungen, Prozessvariation oder Alterung, nachzukommen. Es können Fernverifikationsverfahren hinzugefügt werden, die, wenn sie getriggert werden, eine Ausführung einer Sequenz von Anweisung zum Fingerprinting verursachen würden, und dann kann ein Netzwerk-Eindringungsdetektionssystem (Netzwerk-IDS) eine Antwort zum Zertifizieren der Gültigkeit all dieser Anweisungen senden.
  • 3 veranschaulicht einen beispielhaften Prozess 300 für das Training des Modells 112 hinsichtlich Anweisungsdetektion. Bei einem Beispiel kann der Prozess 300 durch eine Analysevorrichtung 114 im Kontext des Systems 100 durchgeführt werden.
  • Bei Operation 302 wird ein Testprogramm 116 ausgeführt. Ein Beispiel für ein solches Programm 116 ist in 2 gezeigt. Das Testprogramm 116 kann durch einen Prozessor der MCU 104 ausgeführt werden.
  • Bei Operation 304 wird eine Ausführung der MCU 104 durch das Testprogramm 116 überwacht, um Ausführungsdetails des Betriebs der MCU 104 zu erfassen. Beispielsweise wird ein Leistungssignalverlauf durch eine mit einem oder mehreren Anschlussstiften der MCU 104 verbundenen Messvorrichtung 110 erfasst. Bei einigen Beispielen können zusätzliche oder alternative physikalische Messungen unter Verwendung von dem Sensor 122 empfangener Daten durchgeführt werden. Diese Ausführungsdetails werden durch die Analysevorrichtung 114 empfangen.
  • Bei Operation 306 werden Merkmale extrahiert. Bei einem Beispiel extrahiert die Analysevorrichtung 114 Merkmale, die eines oder mehrere von mittlerer Signalverlaufsleistung, maximaler Leistung, minimaler Leistung, statistischen Eigenschaften eines Signalverlaufs wie etwa Standardabweichung, Schiefe, Wölbung, RMS-Leistung, Bandenergien und MFCCs beinhalten können.
  • Bei Operation 308 wird das Modell 112 trainiert. Bei einem Beispiel trainiert die Analysevorrichtung 114 das Modell 112 basierend auf den extrahierten Merkmalen und den bekannten Anweisungen des Testprogramms 116. Nach Operation 308 endet der Prozess 300. Es sei angemerkt, dass der Prozess 300 für mehrere Testprogramme 116 durchgeführt werden kann, um eine erhöhte Abdeckung möglicher Anweisungsausführungsfälle zu ermöglichen.
  • 4 veranschaulicht einen beispielhaften Prozess 400 für das Erstellen von Referenzausführungssignaturen 120. Bei einem Beispiel kann der Prozess 400 wie der Prozess 300 durch die Analysevorrichtung 114 im Kontext des Systems 100 durchgeführt werden. Bei Operation 402 wird ein Referenzprogramm 116 ausgeführt. Das Referenzprogramm 116 kann insbesondere durch einen Prozessor der MCU 104 ausgeführt werden.
  • Bei Operation 404 werden Ausführungsdetails des Referenzprogramms 116 erfasst. Bei einem Beispiel, und ähnlich wie oben bezüglich Operation 304 des Prozesses 300 erörtert, können physikalische Messungen der MCU 104 durchgeführt werden, um einen Signalverlauf 102 einer erfassten Ausführung des Programms 116 zu erzeugen.
  • Bei Operation 406 wird eine Referenzausführungssignatur 120 bezüglich der Ausführung des Programms 116 erstellt. Bei einem Beispiel kann das Modell 112 (z. B. gemäß dem Prozess 300 trainiert) dazu verwendet werden, die Ausführungssignatur 120 unter Verwendung der bei Operation 404 erfassten Ausführungsdetails als Eingabe zu erstellen. Nach Operation 406 endet der Prozess 400.
  • Es sei angemerkt, dass die Referenzausführungssignatur 120 bei einigen Beispielen in manipulationssicherer Speicherung gespeichert werden kann, um zu garantieren, dass die Referenzausführungssignaturen 120 zur Zeit ihrer Verwendung nicht modifiziert wurden. Eine manipulationssichere Speicherung könnte bereitgestellt werden über ein Hardwaresicherheitsmodul, Speicherung in Nur-Lese-Speicher, Speicherung in einer anderen Vorrichtung (die als sicher gilt), alle oder beliebige der Obigen kombiniert mit einer kryptografischen Signatur oder einem Nachrichtenauthentifizierungscode (MAC: Message Authentication Code), wobei der private Schlüssel oder der geheime Schlüssel in einem für einen Angreifer unzugänglichen sicheren Speicher gespeichert ist.
  • 5 veranschaulicht einen beispielhaften Prozess 500 für die Verwendung des Modells 112 hinsichtlich Softwareeindringungsdetektion. Bei einem Beispiel kann der Prozess 500 wie die Prozesse 300 und 400 durch die Analysevorrichtung 114 im Kontext des Systems 100 durchgeführt werden.
  • Bei Operation 502 wird eine Ausführung der MCU 104 überwacht, um Ausführungsdetails des Betriebs der MCU 104 zu erfassen. Bei einem Beispiel, und ähnlich wie oben bezüglich Operationen 304 und 306 des Prozesses 300 erörtert, können physikalische Messungen der MCU 104 durchgeführt werden und/oder ein Signalverlauf 102 einer Ausführung des Programms 116 erfasst werden.
  • Bei Operation 504 wird eine Ausführungssignatur 120 der Ausführung der MCU 104 identifiziert. Bei einem Beispiel, und ähnlich wie oben bezüglich Operation 406 des Prozesses 400 erörtert, kann das Modell 112 (z. B. gemäß dem Prozess 300 trainiert) dazu verwendet werden, die Ausführungssignatur 120 unter Verwendung der bei Operation 502 erfassten Ausführungsdetails als Eingabe zu erstellen.
  • Bei Operation 506 wird die Ausführungssignatur 120 mit den Referenzausführungssignaturen 120 verglichen. Bei Operation 508 wird bestimmt, ob die Ausführungssignatur 120 mit der der einen oder der mehreren Referenzausführungssignaturen 120 übereinstimmt. Bei dem Vergleich kann beispielsweise bestimmt werden, ob ein Fehlerbetrag zwischen der Ausführungssignatur 120 und den Referenzausführungssignaturen 120 innerhalb einer maximalen Toleranz liegt. Trifft dies zu, kehrt die Steuerung zu Operation 502 zurück. Ansonsten geht die Steuerung zu Operation 510 über.
  • Bei Operation 510 wird eine Behebungsmaßnahme durchgeführt. Als einige Beispiele kann die Behebungsmaßnahme eines oder mehrere der Folgenden beinhalten: Zurücksetzen von Puffern der MCU 104, Neustarten des Prozessors der MCU 104, Neuflashen der Software der MCU 104 mit einer aus einem Nur-Lese-Speicher abgerufenen Softwarekopie, Sperren der ECU (MCU 104) gegenüber dem Netzwerk bis auf Weiteres, Sperren von Interrupts, Stoppen des Prozessors und/oder Ausgeben eines Warnhinweises. Nach Operation 510, wenn der Prozessor nicht gestoppt ist, geht die Steuerung zu Operation 502 über. Ansonsten endet der Prozess 500.
  • 6 veranschaulicht eine beispielhafte Rechenvorrichtung 600. Die Algorithmen und/oder Methodiken einer oder mehrerer hier erörterter Ausführungsformen können unter Verwendung einer solchen Rechenvorrichtung implementiert werden. Beispielsweise kann es sich bei der Analysevorrichtung 114 um eine solche Rechenvorrichtung 600 handeln. Bei einem anderen Beispiel können die Messvorrichtung 110, die MCU 104 und/oder die ECU 106 solche Vorrichtungen beinhalten oder sein. Die Rechenvorrichtung 600 kann einen Speicher 602, einen Prozessor 604 und eine nichtflüchtige Speicherung 606 beinhalten. Der Prozessor 604 kann eine oder mehrere Vorrichtungen beinhalten, ausgewählt aus Hochleistungsrechen(HPC)-Systemen einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, Zentralverarbeitungseinheiten, feldprogrammierbaren Gate-Arrays, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen oder beliebigen anderen Vorrichtungen, die (analoge oder digitale) Signale basierend auf sich in dem Speicher 602 befindenden computerausführbaren Anweisungen manipulieren. Der Speicher 602 kann eine einzige Speichervorrichtung oder mehrere Speichervorrichtungen beinhalten, die unter anderem Direktzugriffsspeicher (RAM), flüchtigen Speicher, nichtflüchtigen Speicher, statischen Direktzugriffsspeicher (SRAM), dynamischen Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder eine beliebige andere Vorrichtung, die zum Speichern von Informationen in der Lage ist, beinhalten. Die nichtflüchtige Speicherung 606 kann eine oder mehrere beständige Datenspeicherungsvorrichtungen beinhalten, wie etwa eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Solid-State-Vorrichtung, eine Cloud-Speicherung oder eine beliebige andere Vorrichtung, die zum beständigen Speichern von Informationen in der Lage ist.
  • Der Prozessor 604 kann dazu ausgelegt sein, in den Speicher 602 zu lesen und computerausführbare Anweisungen, die sich in Programmanweisungen 608 der nichtflüchtigen Speicherung 606 befinden und Algorithmen und/oder Methodiken einer oder mehrerer Ausführungsformen umsetzen, auszuführen. Die Programmanweisungen 608 können Betriebssysteme und Anwendungen beinhalten. Die Programmanweisungen 608 können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem, und entweder allein oder in Kombination, Java, C, C++, C#, Objective-C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Bei Ausführung durch den Prozessor 604 können die computerausführbaren Anweisungen der Programmanweisungen 608 bewirken, dass die Rechenvorrichtung 600 eine(n) oder mehrere der hierin offenbarten Algorithmen und/oder Methodiken implementiert. Die nichtflüchtige Speicherung 606 kann auch Daten 610 beinhalten, die Funktionen, Merkmale und Prozesse der einen oder der mehreren hierin beschriebenen Ausführungsformen unterstützen. Diese Daten 610 können als einige Beispiele Signalverläufe 102, das Modell 112, die Ausführungssignaturen 120 und die Daten von dem Sensor 122 beinhalten.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen können lieferbar sein an/implementiert werden durch eine Verarbeitungsvorrichtung, einen Controller oder einen Computer, die/der eine beliebige existierende programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit beinhalten kann. Gleichermaßen können die Prozesse, Verfahren oder Algorithmen als Daten und durch einen Controller oder einen Computer ausführbare Anweisungen in vielen Formen gespeichert werden, darunter unter anderem Informationen, die auf nichtbeschreibbaren Speicherungsmedien wie etwa ROM-Vorrichtungen permanent gespeichert sind, und Informationen, die auf beschreibbaren Speicherungsmedien wie etwa Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien, änderbar gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen in Gänze oder teilweise unter Verwendung geeigneter Hardwarekomponenten umgesetzt werden, wie etwa anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsmaschinen, Controller oder anderer Hardwarekomponenten oder -vorrichtungen oder einer Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Obgleich oben beispielhafte Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen durch die Ansprüche eingeschlossenen Formen beschreiben. Die in der Beschreibung verwendeten Ausdrücke sind Ausdrücke der Beschreibung und nicht der Beschränkung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne von der Idee und dem Schutzumfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die möglicherweise nicht explizit beschrieben oder veranschaulicht sind. Obgleich verschiedene Ausführungsformen als Vorteile ergebend oder gegenüber anderen Ausführungsformen oder Implementierungen im Stand der Technik bezüglich einer oder mehrerer erwünschter Charakteristiken bevorzugt beschrieben worden sein können, erkennen Durchschnittsfachleute auf dem Gebiet, dass ein(e) oder mehrere Merkmale oder Charakteristiken beeinträchtigt werden können, um erwünschte Gesamtsystemattribute zu erzielen, die von der speziellen Anwendung und Implementierung abhängen. Diese Attribute können unter anderem Kosten, Stärke, Haltbarkeit, Lebenszykluskosten, Vermarktungsfähigkeit, Erscheinungsbild, Aufmachung, Größe, Wartbarkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. beinhalten. Von daher liegen jegliche in dem Maße als weniger wünschenswert als andere Ausführungsformen oder Implementierungen im Stand der Technik bezüglich einer oder mehreren Charakteristiken beschriebene Ausführungsformen nicht außerhalb des Schutzumfangs der Offenbarung und können für gewisse Anwendungen wünschenswert sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • M. Sahidullah et al. (M. Sahidullah und G. Saha, „Design, analysis and experimental evaluation of block-based transformation in MFCC computation for speaker recognition“, Speech Communication, Band 54, Nr. 4, S. 543-565, 2012 [0020]

Claims (20)

  1. Verfahren zur Anweisungsklassifikation und Softwareeindringungsdetektion, wobei das Verfahren Folgendes umfasst: Überwachen einer Programmanweisungsausführung eines Prozessors einer Mikrocontrollereinheit (MCU) mittels Seitenkanalsignalanalyse, wobei das Überwachen Erfassen eines Signalverlaufs einer physikalischen Eigenschaft der MCU, die Informationen in Zusammenhang mit der Programmanweisungsausführung der MCU preisgibt, beinhaltet, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und Mel-Frequenz-Cepstrum-Koeffizienten(MFCC)-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt.
  2. Verfahren nach Anspruch 1, wobei die physikalische Eigenschaft der MCU eines oder mehrere von Spannung, Leistung, Schall, elektromagnetischer Strahlung, Vibration, Licht oder Wärme beinhaltet.
  3. Verfahren nach Anspruch 1, wobei der Signalverlauf ein Leistungssignalverlauf ist, der von einem oder mehreren Anschlussstiften der MCU, von einer die MCU versorgenden Spannung, von einer Masseverbindung der MCU oder von einem die MCU versorgenden Zwischenspannungsregler erfasst wird.
  4. Verfahren nach Anspruch 3, wobei der eine oder die mehreren Anschlussstifte einen Versorgungsspannungsanschlussstift der MCU beinhalten.
  5. Verfahren nach Anspruch 3, wobei der eine oder die mehreren Anschlussstifte einen E/A-Anschlussstift der MCU zur Verwendung als externer Trigger zur Initiierung und/oder Beendigung einer Erfassung des Signalverlaufs beinhalten.
  6. Verfahren nach Anspruch 1, wobei eine Initiierung und/oder Beendigung einer Erfassung des Signalverlaufs durch einen oder mehrere Hardware- oder Softwareinterrupts der MCU getriggert wird.
  7. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Ausführen eines Referenzprogramms; Erfassen eines Referenzprogrammsignalverlaufs von der MCU während einer Ausführung des Referenzprogramms; Extrahieren, aus dem Referenzprogrammsignalverlauf, von Referenzprogrammausführungsmerkmalen, einschließlich Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen des Modells zur Anweisungsdetektion, um eine Referenzprogrammanweisungssignatur für das Referenzprogramm zumindest teilweise basierend auf den Referenzprogrammausführungsmerkmalen zu erzeugen; und Hinzufügen der Referenzprogrammanweisungssignatur zu der einen oder den mehreren Referenzanweisungssignaturen.
  8. Verfahren nach Anspruch 1, wobei die Behebungsmaßnahme eines oder mehrere der Folgenden beinhaltet: Zurücksetzen von Puffern der MCU, Neustarten des Prozessors der MCU, Neuflashen einer Software der MCU mit einer aus einem Nur-Lese-Speicher abgerufenen Kopie der Software, Sperren der MCU gegenüber dem Netzwerk, Sperren von Interrupts der MCU oder Stoppen der Ausführung der MCU.
  9. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Ausführen eines oder mehrerer Testprogramme auf der MCU, wobei die Testprogramme vordefinierte Anweisungen der MCU ausführen; Empfangen von Vorrichtungsmessungen einer oder mehrerer physikalischer Eigenschaften der MCU während einer Ausführung der Testprogramme, wobei die physikalischen Eigenschaften Testprogrammsignalverläufe beinhalten, die während einer Ausführung der Testprogramme von der MCU erfasst werden; Extrahieren, aus den Testprogrammsignalverläufen, von Testprogrammzeitbereichsmerkmalen, Testprogrammfrequenzbereichsmerkmalen und Testprogramm-MFCC-Merkmalen; und Trainieren des Modells hinsichtlich Anweisungsdetektion, um eine Ausführung der vorbestimmten Anweisungen zu identifizieren, unter Nutzung der Vorrichtungsmessungen, der Testprogrammzeitbereichsmerkmale, der Testprogrammfrequenzbereichsmerkmale und der Testprogramm-MFCC- Merkmale.
  10. System zur Anweisungsklassifikation und Softwareeindringungsdetektion, wobei das System Folgendes umfasst: eine Messvorrichtung, ausgelegt zum Überwachen einer Programmanweisungsausführung eines Prozessors einer MCU mittels Seitenkanalsignalanalyse, zum Erfassen eines Signalverlaufs einer physikalischen Eigenschaft der MCU, die Informationen in Zusammenhang mit der Programmanweisungsausführung der MCU preisgibt, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt, wobei die physikalische Eigenschaft der MCU eines oder mehrere von Spannung, Leistung, Schall, elektromagnetischer Strahlung, Vibration, Licht oder Wärme beinhaltet; und eine Analysevorrichtung, die mit der Messvorrichtung in Kommunikation steht, zum Empfangen, von der Messvorrichtung, des von der MCU erfassten Signalverlaufs; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt.
  11. System nach Anspruch 10, wobei die Analysevorrichtung ein Hardwaresicherheitsmodul ist.
  12. System nach Anspruch 10, wobei die Analysevorrichtung eine separate Hardwarevorrichtung entfernt von der Messvorrichtung ist.
  13. System nach Anspruch 10, wobei die Analysevorrichtung ferner zu Folgendem programmiert ist: Empfangen, von der Messvorrichtung, eines von der MCU erfassten Referenzprogrammsignalverlaufs während einer Ausführung eines Referenzprogramms; Extrahieren, aus dem Referenzprogrammsignalverlauf, von Referenzprogrammausführungsmerkmalen, einschließlich Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen des Modells zur Anweisungsdetektion, um eine Referenzprogrammanweisungssignatur für das Referenzprogramm zumindest teilweise basierend auf den Referenzprogrammausführungsmerkmalen zu erzeugen; und Hinzufügen der Referenzprogrammanweisungssignatur zu der einen oder den mehreren Referenzanweisungssignaturen.
  14. System nach Anspruch 10, wobei der Signalverlauf ein Leistungssignalverlauf ist, der von einem oder mehreren Anschlussstiften der MCU, von einer die MCU versorgenden Spannung, von einer Masseverbindung der MCU oder von einem die MCU versorgenden Zwischenspannungsregler erfasst wird, wobei der eine oder die mehreren Anschlussstifte einen Versorgungsspannungsanschlussstift der MCU und/oder einen E/A-Anschlussstift der MCU zur Verwendung als externer Trigger zur Initiierung und/oder Beendigung einer Erfassung des Signalverlaufs beinhalten.
  15. System nach Anspruch 10, wobei eine Initiierung und/oder Beendigung einer Erfassung des Signalverlaufs durch einen oder mehrere Hardware- oder Softwareinterrupts der MCU getriggert wird.
  16. System nach Anspruch 10, wobei die Behebungsmaßnahme eines oder mehrere der Folgenden beinhaltet: Zurücksetzen von Puffern der MCU, Neustarten des Prozessors der MCU, Neuflashen einer Software der MCU mit einer aus einem Nur-Lese-Speicher abgerufenen Kopie der Software, Sperren der MCU gegenüber dem Netzwerk, Sperren von Interrupts der MCU oder Stoppen der Ausführung der MCU.
  17. System nach Anspruch 10, wobei die Analysevorrichtung ferner zu Folgendem programmiert ist: Empfangen von Vorrichtungsmessungen einer oder mehrerer physikalischer Eigenschaften der MCU während einer Ausführung eines oder mehrerer Testprogramme auf der MCU, wobei die Testprogramme vordefinierte Anweisungen der MCU ausführen, wobei die eine oder die mehreren physikalischen Eigenschaften Testprogrammsignalverläufe beinhalten, die während einer Ausführung der Testprogramme von der MCU erfasst werden; Extrahieren, aus den Testprogrammsignalverläufen, von Testprogrammzeitbereichsmerkmalen, Testprogrammfrequenzbereichsmerkmalen und Testprogramm-MFCC-Merkmalen; und Trainieren des Modells hinsichtlich Anweisungsdetektion, um eine Ausführung der vorbestimmten Anweisungen zu identifizieren, unter Nutzung der Vorrichtungsmessungen, der Testprogrammzeitbereichsmerkmale, der Testprogrammfrequenzbereichsmerkmale und der Testprogramm-MFCC- Merkmale.
  18. System nach Anspruch 10, wobei die Messvorrichtung ein Oszilloskop ist.
  19. Nichtflüchtiges computerlesbares Medium, das Anweisungen zur Anweisungsklassifikation und Softwareeindringungsdetektion beinhaltet, die bei Ausführung durch eine Analysevorrichtung bewirken, dass die Analysevorrichtung Operationen durchführt, die Folgendes beinhalten: Empfangen, von einer Messvorrichtung, eines Signalverlaufs einer physikalischen Eigenschaft einer MCU, der Informationen in Zusammenhang mit einer Programmanweisungsausführung der MCU preisgibt, wobei der Signalverlauf einen Wert der physikalischen Eigenschaft über die Zeit angibt, wobei die physikalische Eigenschaft der MCU eines oder mehrere von Spannung, Leistung, Schall, elektromagnetischer Strahlung, Vibration, Licht oder Wärme beinhaltet; Extrahieren, aus dem Signalverlauf, von Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen eines Modells zur Anweisungsdetektion zum Identifizieren einer Ausführungssignatur basierend auf den Zeitbereichsmerkmalen, den Frequenzbereichsmerkmalen und den MFCC-Merkmalen; Vergleichen der Ausführungssignatur mit einer oder mehreren Referenzausführungssignaturen; und Durchführen einer Behebungsmaßnahme als Reaktion darauf, dass die Ausführungssignatur nicht mit der einen oder den mehreren Referenzausführungssignaturen übereinstimmt, wobei die Behebungsmaßnahme eines oder mehrere der Folgenden beinhaltet: Zurücksetzen von Puffern der MCU, Neustarten der MCU, Neuflashen einer Software der MCU mit einer aus einem Nur-Lese-Speicher abgerufenen Kopie der Software, Sperren der MCU gegenüber dem Netzwerk, Sperren von Interrupts der MCU oder Stoppen der Ausführung der MCU.
  20. Medium nach Anspruch 19, wobei Anweisungen ferner bewirken, dass die Analysevorrichtung Operationen durchführen, die Folgendes beinhalten: Empfangen, von der Messvorrichtung, eines von der MCU erfassten Referenzprogrammsignalverlaufs während einer Ausführung eines Referenzprogramms; Extrahieren, aus dem Referenzprogrammsignalverlauf, von Referenzprogrammausführungsmerkmalen, einschließlich Zeitbereichsmerkmalen, Frequenzbereichsmerkmalen und MFCC-Merkmalen; Nutzen des Modells zur Anweisungsdetektion, um eine Referenzprogrammanweisungssignatur für das Referenzprogramm zumindest teilweise basierend auf den Referenzprogrammausführungsmerkmalen zu erzeugen; Hinzufügen der Referenzprogrammanweisungssignatur zu der einen oder den mehreren Referenzanweisungssignaturen; Empfangen von Vorrichtungsmessungen einer oder mehrerer physikalischer Eigenschaften der MCU während einer Ausführung eines oder mehrerer Testprogramme auf der MCU, wobei die Testprogramme vordefinierte Anweisungen der MCU ausführen, wobei die eine oder die mehreren physikalischen Eigenschaften Testprogrammsignalverläufe beinhalten, die während einer Ausführung der Testprogramme von der MCU erfasst werden; Extrahieren, aus den Testprogrammsignalverläufen, von Testprogrammzeitbereichsmerkmalen, Testprogrammfrequenzbereichsmerkmalen und Testprogramm-MFCC-Merkmalen; und Trainieren des Modells hinsichtlich Anweisungsdetektion, um eine Ausführung der vorbestimmten Anweisungen zu identifizieren, unter Nutzung der Vorrichtungsmessungen, der Testprogrammzeitbereichsmerkmale, der Testprogrammfrequenzbereichsmerkmale und der Testprogramm-MFCC- Merkmale.
DE102021202580.3A 2020-03-18 2021-03-17 Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion Pending DE102021202580A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/822,861 2020-03-18
US16/822,861 US11354411B2 (en) 2020-03-18 2020-03-18 Microcontroller program instruction execution fingerprinting and intrusion detection

Publications (1)

Publication Number Publication Date
DE102021202580A1 true DE102021202580A1 (de) 2021-09-23

Family

ID=77552748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202580.3A Pending DE102021202580A1 (de) 2020-03-18 2021-03-17 Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion

Country Status (5)

Country Link
US (1) US11354411B2 (de)
KR (1) KR20210117203A (de)
CN (1) CN113495756A (de)
DE (1) DE102021202580A1 (de)
TW (1) TW202207058A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210152125A (ko) * 2020-06-08 2021-12-15 주식회사 만도모빌리티솔루션즈 프로세스 검사 장치 및 방법과, 전자 제어 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010141826A2 (en) 2009-06-05 2010-12-09 The Regents Of The University Of Michigan System and method for detecting energy consumption anomalies and mobile malware variants
WO2015145425A1 (en) 2014-03-23 2015-10-01 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University System and method for detecting activities within a computerized device based on monitoring of its power consumption
US9258604B1 (en) * 2014-11-24 2016-02-09 Facebook, Inc. Commercial detection based on audio fingerprinting
US11178166B2 (en) * 2016-02-22 2021-11-16 The Regents Of The University Of California Information leakage-aware computer aided cyber-physical manufacturing
US10977367B1 (en) * 2018-02-06 2021-04-13 Facebook, Inc. Detecting malicious firmware modification
US11630900B2 (en) * 2019-09-30 2023-04-18 Mcafee, Llc Detection of malicious scripted activity in fileless attacks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M. Sahidullah et al. (M. Sahidullah und G. Saha, „Design, analysis and experimental evaluation of block-based transformation in MFCC computation for speaker recognition", Speech Communication, Band 54, Nr. 4, S. 543-565, 2012

Also Published As

Publication number Publication date
US11354411B2 (en) 2022-06-07
KR20210117203A (ko) 2021-09-28
US20210294893A1 (en) 2021-09-23
TW202207058A (zh) 2022-02-16
CN113495756A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
Yu et al. A new statistical modeling and detection method for rolling element bearing faults based on alpha–stable distribution
EP3074781B1 (de) Verfahren und einrichtung zur ortung von teilentladungen in elektrischen kabeln
Jabłoński et al. Automatic validation of vibration signals in wind farm distributed monitoring systems
DE112017007014T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
DE102020215586A1 (de) Ein system und verfahren für network intrusion detection auf basis von physikalischen messungen
DE102018109049A1 (de) Überprüfung von Blitzableitern für Windenergieanlagen
DE102021202580A1 (de) Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion
DE112019007899T5 (de) System und Methode für die Vorhersage von Gerätefehler mittels akustischer Signale im Ultraschallfrequenzband
CN110781612A (zh) 滚珠丝杠的故障诊断方法、装置、计算机设备和存储介质
EP3134842B1 (de) Rechenvorrichtung und verfahren zum erkennen von angriffen auf ein technisches system anhand von ereignissen einer ereignisfolge
DE102015007641A1 (de) Verfahren zur Messung der Entfernung eines Objektes mittels Ultraschallsensor und solcher
DE102015211108A1 (de) Vorrichtung und Verfahren zur Ausführung eines Rechenverfahrens
Wang et al. Revealing the temporal dynamics in non-invasive electrophysiological recordings with topography-based analyses
DE102011114058A1 (de) Verfahren und Vorrichtung zu akustischen Beurteilung eines Bauteils
CN113449804B (zh) 血液类别的确定方法及相关设备
DE102021210659A1 (de) System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers
DE102021208885A1 (de) Ein System und Verfahren zum Verbessern der Messungen eines Systems zur Erkennung des Eindringens durch Umwandeln eindimensionaler Messungen in mehrdimensionale Bilder
DE102017214057A1 (de) Verfahren zum Prüfen der Integrität von Systemkomponenten eines Systems und Anordnung zur Durchführung des Verfahrens
Abd El-khalek et al. A Computer‐Based System for Evaluation of Slub Yarn Characteristics
Gao et al. A Method Using EEMD and L-Kurtosis to detect faults in roller bearings
Liu et al. A method for blind source separation of multichannel electromagnetic radiation in the field
DE102020200946A1 (de) Verfahren und Vorrichtung zur Erkennung von akustischen Anomalien
Manhertz et al. Real-time acoustic emission event detection with data evaluation for supporting material research
DE102018220600A1 (de) Verfahren und Vorrichtung zum Detektieren von Partikeln
Nyemkova et al. Fluctuations of internal electromagnetic fields as the means of electronic device authentication

Legal Events

Date Code Title Description
R012 Request for examination validly filed