DE102021210659A1 - System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers - Google Patents

System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers Download PDF

Info

Publication number
DE102021210659A1
DE102021210659A1 DE102021210659.5A DE102021210659A DE102021210659A1 DE 102021210659 A1 DE102021210659 A1 DE 102021210659A1 DE 102021210659 A DE102021210659 A DE 102021210659A DE 102021210659 A1 DE102021210659 A1 DE 102021210659A1
Authority
DE
Germany
Prior art keywords
adc
measurement
microcontroller
runtime
channel
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
DE102021210659.5A
Other languages
English (en)
Inventor
Shalabh Jain
Jorge Guajardo Merchan
Stefan GEHRER
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 DE102021210659A1 publication Critical patent/DE102021210659A1/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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
    • 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/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

Ein System, das einen Speicher und einen Mikrocontroller beinhaltet, der einen Analog-Digital-Wandler (ADC) beinhaltet und mit dem Speicher kommuniziert. Der Mikrocontroller ist dafür ausgelegt, einen Fingerprint zu definieren, der eine Basismessung von Seitenkanalspuren eines Seitenkanals beinhaltet, die vom ADC gewonnen werden, und zwar während einer Registrierungsperiode des Systems, wobei die Registrierungsperiode das Messen von Spannung vor dem Laufzeitbetrieb beinhaltet, eine Laufzeitmessung vom ADC zu empfangen, die Spannung mindestens des separaten Mikrocontrollers während der Laufzeit beinhaltet, die Laufzeitmessung mit dem Fingerprint zu vergleichen und als Reaktion darauf, dass die Messung einen Schwellenwert überschreitet, eine Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software auszuführen.

Description

  • Technisches Sachgebiet
  • Die vorliegende Offenbarung bezieht sich auf die Sicherheit eines Computersystems, wie etwa eines Fahrzeugcomputersystems oder eines anderen Systems.
  • Hintergrund
  • Moderne fahrzeuginterne Netzwerke stellen aus Sicherheitssicht eine große Angriffsfläche dar, sowohl aufgrund der Anzahl der elektronischen Steuergeräte (engl. „Electronic Control Units“, ECUs) als auch aufgrund ihrer Verbindungen zu externen Netzwerken. Das Erkennen eines böswilligen Eindringens in solche Netzwerke ist ein wesentlicher Bestandteil der Fahrzeugsicherheit zum Verhindern von Angriffen oder zumindest zum Verringern ihrer Auswirkungen.
  • Zusammenfassung
  • Gemäß einer Ausführungsform beinhaltet ein System einen Speicher und einen Mikrocontroller, der einen Analog-Digital-Wandler (ADC) beinhaltet und mit dem Speicher kommuniziert. Der Mikrocontroller ist dafür ausgelegt, einen Fingerprint zu definieren, der eine Basismessung von Seitenkanalspuren eines Seitenkanals eines separaten Prozessors beinhaltet, die vom ADC während einer Registrierungsperiode des Systems gewonnen wird, wobei die Registrierungsperiode das Messen einer Spannung des separaten Prozessors und das Erzeugen eines Fingerprints vor dem Laufzeitbetrieb beinhaltet, eine Laufzeitmessung vom ADC bezüglich der Spannung mindestens des separaten Prozessors während der Laufzeit zu empfangen, die Laufzeitmessung mit dem Fingerprint zu vergleichen und als Reaktion darauf, dass die Messung einen Schwellenwert überschreitet, eine Gegenmaßnahme gegen eine vom separaten Prozessor ausgeführte Software auszuführen. Gemäß einer Ausführungsform beinhaltet ein computerimplementiertes Verfahren das Definieren eines Fingerprints, der eine Basismessung beinhaltet, die von einem Seitenkanal mindestens eines separaten Prozessors während einer Registrierungsperiode des Systems gewonnen wird, wobei die Basismessung ein oder mehrere physikalische Attribute beinhaltet, die von einem Analog-Digital-Wandler (ADC) eines Mikrocontrollers empfangen werden, das Empfangen einer Laufzeitmessung vom ADC, wobei die Laufzeitmessung das eine oder die mehreren physikalischen Attribute mindestens des separaten Prozessors während der Laufzeit beinhaltet, das Vergleichen der Laufzeitmessung des physikalischen Attributs mit dem Fingerprint, und als Reaktion darauf, dass die Laufzeitmessung einen Schwellenwert überschreitet, das Ausführen einer Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software.
  • Gemäß einer Ausführungsform beinhaltet ein System einen Speicher und einen Mikrocontroller, der einen Analog-Digital-Wandler (ADC) beinhaltet und mit dem Speicher kommuniziert. Der Mikrocontroller ist dafür ausgelegt, einen Fingerprint zu definieren, der eine Basismessung von Seitenkanalspuren eines Seitenkanals beinhaltet, die vom ADC gewonnen werden, und zwar während einer Registrierungsperiode des Systems, wobei die Registrierungsperiode das Messen von Spannung vor dem Laufzeitbetrieb beinhaltet, eine Laufzeitmessung vom ADC zu empfangen, die Spannung mindestens des separaten Mikrocontrollers während der Laufzeit beinhaltet, die Laufzeitmessung mit dem Fingerprint zu vergleichen und als Reaktion darauf, dass die Messung einen Schwellenwert überschreitet, eine Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software auszuführen.
  • Figurenliste
    • 1 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung gemäß einigen Ausführungsformen der Offenbarung.
    • 2 zeigt ein exemplarisches Blockdiagramm einer Rechenvorrichtung, die eine MCU mit einem ADC verwendet.
    • 3A zeigt eine erste Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC.
    • 3B zeigt eine zweite Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC.
    • 3C zeigt eine dritte Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC.
    • 3D zeigt eine vierte Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC.
    • 4 zeigt ein System mit einer variablen Referenzspannung für den ADC.
  • Ausführliche Beschreibung
  • Ausführungsformen der vorliegenden Offenbarung werden im Folgenden beschrieben. Es versteht sich jedoch von selbst, dass es sich bei den dargestellten Ausführungsformen lediglich um Beispiele handelt und dass andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale könnten übertrieben oder verkleinert sein, um Details spezifischer Komponenten darzustellen. Daher sind spezifische strukturelle und funktionelle Details, die hier offengelegt werden, nicht als einschränkend zu verstehen, sondern lediglich als repräsentative Grundlage für Fachleute dafür, die Ausführungsformen in unterschiedlicher Weise zu verwenden. Wie Fachleute wissen, können verschiedene Merkmale, die unter Bezugnahme auf eine der Figuren dargestellt und beschrieben sind, mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren dargestellt sind, und so Ausführungsformen erzeugen, die nicht ausdrücklich dargestellt oder beschrieben sind. Die dargestellten Kombinationen von Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen dar. Verschiedene Kombinationen und Modifikationen der Merkmale, die den Lehren dieser Offenbarung entsprechen, könnten jedoch für spezifische Anwendungen oder Implementierungen erwünscht sein.
  • Die dargestellte Ausführungsform stellt ein System und ein Verfahren zum Erkennung bösartiger Angriffe vor. Eine physikalische Eigenschaft einer Vorrichtung oder eines elektronischen Steuergeräts (ECU), das mit einem bordeigenen Bus verbunden ist, kann ständig gemessen werden. Aufgrund ihrer erweiterten Verbindungsmöglichkeiten mit internen und externen Netzwerken können moderne Mikrocontrollereinheiten (MCUs) von Kraftfahrzeugen bösartigen Angriffen durch Software-, Hardware- oder Parametermodifikationen ausgesetzt sein. Im Automobilbereich können solche Angriffe, selbst wenn sie nur von kurzer Dauer sind, schwerwiegende Folgen haben, so dass eine Erkennung dieser Angriffe während der Laufzeit für die Sicherheit von Kraftfahrzeugen von entscheidender Bedeutung sein kann.
  • In einer Ausführungsform dieser Offenbarung wird eine Technik beschrieben, die die Qualität von Techniken verbessern kann, mit denen versucht wird, solche Angriffe zu entschärfen. Diese Familie von Gegenmaßnahmen ist - je nach Implementierung - in der Lage, ohne Modifikationen der Software oder Hardware auf den vorhandenen Geräten zu funktionieren. In einer möglichen Ausführungsform werden nur externe Drähte benötigt, um den Stromverbrauch der betrachteten MCU zu messen. Nützliche Signaturen werden dann aus diesen Echtzeitmessungen extrahiert und mit Referenzsignaturen verglichen, die zuvor aus Trainingsmessungen während einer Profilerstellungsphase berechnet wurden. Während der Profilerstellungsphase werden nur zulässige Programme ausgeführt, zu dem Zweck, eine Datenbank mit ihren individuellen Signaturen (d. h. Fingerprints) zu erstellen. Jegliche verschiedene oder modifizierte Programme - die nicht in der Datenbank profiliert sind - sollten idealerweise andere Eigenschaften aufweisen und somit andere Signaturen erzeugen. Durch die ständige Überwachung der zu prüfenden MCU kann das System daher durch den Vergleich dieser Signaturen eine physikalische Angriffserkennung auf niedriger Ebene während der Laufzeit durchführen.
  • Viele MCUs verfügen über integrierte On-Chip-Analog-Digital-Wandler (engl. „Analog to Digital Converter“, ADC). Die integrierten ADCs können in einem Angriffserkennungssystem (engl. „Intrusion Detection System“, IDS) eingesetzt werden. Die ADCs bieten eine kostengünstige Lösung zum Erhalten einer physikalischen Messung, die auch zum Erstellen eines Fingerprints verwendet werden kann. Viele moderne MCUs beinhalten viele (potenziell ungenutzte) ADC-Eingänge, so dass es eine kostengünstige Aufgabe und Lösung sein kann, den ADC für ein IDS zu nutzen. Viele der modernen MCUs stellen zwar On-Chip-ADCs zur Verfügung, aber viele der ADC-Eingänge werden nicht genutzt. Die ungenutzten Ressourcen könnten als kostengünstiges IDS auf niedriger Ebene genutzt werden. Die Messungen können sehr lokal durchgeführt werden, was dazu beitragen kann, Rauschen und andere Störungen zu reduzieren. Alternativ können die Messungen zur Verarbeitung und Erkennung an ein anderes Gerät im selben Fahrzeug (z. B. ein „Central Automotive Gateway“) gesendet werden. Eine andere Möglichkeit wäre, die Messungen zur weiteren Verarbeitung und Erkennung an eine entfernte Vorrichtung (einen entfernten Computer oder Server außerhalb des Fahrzeugs) zu senden.
  • Gemäß einigen Ausführungsformen der Offenbarung ist in 1 ein Blockdiagramm einer exemplarischen Rechenvorrichtung dargestellt. Eine Vorrichtung 100 kann eine Steuerung 105, die beispielsweise eine zentrale Recheneinheit (CPU), ein Chip oder eine andere geeignete Rechenvorrichtung sein kann, ein Betriebssystem 115, einen Speicher 120, ausführbaren Code 125, ein Speichersystem 130, das Eingabegeräte 135 und Ausgabegeräte 140 beinhalten kann, einschließen. Die Steuerung 105 (oder eine oder mehrere Steuerungen oder Prozessoren, möglicherweise über mehrere Einheiten oder Geräte hinweg) kann dafür ausgelegt sein, die hier beschriebenen Verfahren durchzuführen und/oder die verschiedenen Module, Einheiten usw. auszuführen oder als solche zu fungieren. In einem System gemäß den Ausführungsformen der Erfindung kann mehr als eine Rechenvorrichtung 100 beinhaltet sein, und eine oder mehrere Rechenvorrichtungen 100 können als Komponenten eines Systems fungieren.
  • Das Betriebssystem 115 kann ein beliebiges Codesegment sein oder beinhalten (z. B. eines, das dem hierin beschriebenen ausführbaren Code 125 ähnelt), das dafür konzipiert und/oder ausgelegt ist, Aufgaben auszuführen, die die Koordination, Planung, Entscheidung, Überwachung, Steuerung oder anderweitige Verwaltung des Betriebs der Rechenvorrichtung 100 beinhalten, zum Beispiel die Planung der Ausführung von Softwareprogrammen oder Aufgaben oder die Ermöglichung der Kommunikation von Softwareprogrammen oder anderen Modulen oder Einheiten. Das Betriebssystem 115 kann ein kommerzielles Betriebssystem sein. Es wird darauf hingewiesen, dass ein Betriebssystem 115 eine optionale Komponente sein kann, z. B. kann ein System in einigen Ausführungsformen eine Rechenvorrichtung beinhalten, das kein Betriebssystem 115 benötigt oder beinhaltet. Ein Computersystem kann beispielsweise ein Mikrocontroller, ein anwendungsspezifischer Schaltkreis (ASIC), ein feldprogrammierbares Array (FPGA), eine Netzwerksteuerung (z. B. CAN-Bus-Steuerung), ein zugehöriger Sender-Empfänger, ein System-on-Chip (SOC) und/oder eine beliebige Kombination davon sein oder diese beinhalten, die mit oder ohne ein Betriebssystem oder Echtzeitbetriebssystem (RTOS) verwendet werden kann.
  • Der Speicher 120 kann beispielsweise ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein dynamischer RAM (DRAM), ein synchroner DRAM (SD-RAM), ein Speicherchip mit doppelter Datenrate (DDR), ein Flash-Speicher, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein Cache-Speicher, ein Puffer, eine Kurzzeitspeichereinheit, eine Langzeitspeichereinheit oder andere geeignete Speichereinheiten oder Speichereinheiten sein oder diese beinhalten. Der Speicher 120 kann eine Vielzahl von möglicherweise unterschiedlichen Speichereinheiten sein oder diese beinhalten. Beim Speicher 120 kann es sich um ein nichtflüchtiges computer- oder prozessorlesbares Medium oder um ein nichtflüchtiges Computerspeichermedium handeln, z. B. einen RAM.
  • Der ausführbare Code 125 kann beliebiger ausführbarer Code sein, z. B. eine Anwendung, ein Programm, ein Prozess, ein Task oder ein Skript. Der ausführbare Code 125 kann von der Steuerung 105 ausgeführt werden, möglicherweise unter der Kontrolle des Betriebssystems 115. Beim ausführbaren Code 125 kann es sich beispielsweise um eine Anwendung handeln, die die Sicherheit in einem Fahrzeug, wie hier im Weiteren beschrieben, erhöht und zum Beispiel Cyberangriffe auf fahrzeuginterne Netzwerke erkennt oder verhindert. Obwohl der Übersichtlichkeit halber in 1 ein einzelnes Element des ausführbaren Codes 125 dargestellt ist, kann ein System gemäß einigen Ausführungsformen der Erfindung eine Vielzahl von ausführbaren Codesegmenten beinhalten, die dem ausführbaren Code 125 ähnlich sind und in den Speicher 120 geladen werden können und die Steuerung 105 veranlassen, die hier beschriebenen Verfahren durchzuführen. Gegebenenfalls können die Begriffe „Prozess“ und „ausführbarer Code“ das gleiche bedeuten und können hier austauschbar verwendet werden. So kann beispielsweise die Verifizierung, Validierung und/oder Authentifizierung eines Prozesses die Verifizierung, Validierung und/oder Authentifizierung von ausführbarem Code bedeuten.
  • Das Speichersystem 130 kann zum Beispiel ein Flash-Speicher, wie er in der Technik bekannt ist, ein interner oder in einen Mikrocontroller oder Chip eingebetteter Speicher, wie er in der Fachwelt bekannt ist, ein Festplattenlaufwerk, ein CD-Recordable-(CD-R)-Laufwerk, eine Blu-ray-Disk (BD), ein „Universal Serial Bus“-(USB)-Gerät oder eine andere geeignete entfernbare und/oder feste Speichereinheit sein oder diese beinhalten. Inhalte können im Speichersystem 130 gespeichert und vom Speichersystem 130 in den Speicher 120 geladen werden, wo sie von der Steuerung 105 verarbeitet werden können. In einigen Ausführungsformen können einige der in 1 dargestellten Komponenten weggelassen werden. Zum Beispiel kann der Speicher 120 ein nichtflüchtiger Speicher mit der Speicherkapazität des Speichersystems 130 sein. Dementsprechend kann das Speichersystem 130 im Speicher 120 eingebettet oder eingeschlossen sein, obwohl es als separate Komponente dargestellt ist.
  • Die Eingabegeräte 135 können jegliche geeignete Eingabegeräte, -komponenten oder -systeme sein oder diese beinhalten, z. B. Sensoren für physikalische Größen, wie etwa Beschleunigungsmesser, Drehzahlmesser, Thermometer, Mikrofone, Analog-Digital-Wandler usw., eine abnehmbare Tastatur oder ein Keypad, eine Maus und dergleichen. Die Ausgabegeräte 140 können ein oder mehrere (möglicherweise abnehmbare) Anzeigen oder Monitore, Motoren, Servomotoren, Lautsprecher und/oder andere geeignete Ausgabegeräte beinhalten. Wie mit den Blöcken 135 und 140 dargestellt, können beliebige Eingabe/Ausgabe-(E/A)-Geräte mit der Rechenvorrichtung 100 verbunden werden. So können beispielsweise eine kabelgebundene oder drahtlose Netzwerkschnittstelle (NIC), ein „Universal Serial Bus“-(USB)-Gerät, eine JTAG-Schnittstelle oder eine externe Festplatte in den Eingabegeräten 135 und/oder den Ausgabegeräten 140 beinhaltet sein. Wie ersichtlich ist, kann eine beliebige geeignete Anzahl von Eingabegeräten 135 und Ausgabegeräten 140 betriebsfähig mit der Rechenvorrichtung 100 verbunden sein, wie durch die Blöcke 135 und 140 dargestellt. Beispielsweise können Eingabegeräte 135 und Ausgabegeräte 140 von einem Techniker oder Ingenieur dazu verwendet werden, eine Verbindung zu einer Rechenvorrichtung 100 herzustellen, Software zu aktualisieren und dergleichen. Eingabe- und/oder Ausgabegeräte oder - komponenten 135 und 140 können dazu eingerichtet sein, eine Schnittstelle zu Steuer- oder anderen Einheiten in einem Fahrzeug bilden oder mit diesen kommunizieren, z. B. können Eingabe- und/oder Ausgabegeräte oder - komponenten 135 und 140 Anschlüsse beinhalten, die es der Vorrichtung 100 ermöglichen, mit einem Motorsteuergerät, einem Fahrwerkssteuergerät, einer Traktionskontrolle und dergleichen zu kommunizieren.
  • Ausführungsformen können einen Gegenstand beinhalten, wie etwa ein von einem Computer oder einem Prozessor lesbares nichtflüchtiges Medium oder ein von einem Computer oder einem Prozessor lesbares nichtflüchtiges Speichermedium, wie zum Beispiel einen Speicher, ein Disk-Laufwerk oder einen USB-Flash-Speicher, der Anweisungen, z. B. computerausführbare Befehle, kodiert, beinhaltet oder speichert, die bei ihrer Ausführung durch einen Prozessor oder eine Steuerung die hierin offenbarten Verfahren durchführen. Zum Beispiel kann es sich um ein Speichermedium wie den Speicher 120, computerausführbare Anweisungen wie den ausführbaren Code 125 und eine Steuerung wie die Steuerung 105 handeln.
  • Das Speichermedium kann jegliche Art von Disk, einschließlich magnetooptischer Platten, Halbleiterbauelementen wie Festwertspeicher (ROMs), Direktzugriffsspeicher (RAMs), z. B. dynamische RAMs (DRAMs), löschbare programmierbare Festwertspeicher (EPROMs), Flash-Speicher, elektrisch löschbare programmierbare Festwertspeicher (EEPROMs), magnetische oder optische Karten oder jede Art von Medium, das zur Speicherung elektronischer Anweisungen geeignet ist, einschließlich programmierbarer Speichervorrichtungen, beinhalten, ist aber nicht darauf beschränkt.
  • Ausführungsformen der Erfindung können Komponenten wie etwa eine Vielzahl von Zentraleinheiten (CPU), Grafikverarbeitungseinheiten (GPU) oder jegliche andere geeignete Mehrzweck- oder Spezialprozessoren oder -steuerungen (z. B. Steuerungen ähnlich der Steuerung 105), Hardwaresicherheitsmodule (HSM), eine Vielzahl von Eingabeeinheiten, eine Vielzahl von Ausgabeeinheiten, eine Vielzahl von Speichereinheiten und eine Vielzahl von Speichereinheiten beinhalten, sind aber nicht darauf beschränkt. Der Kürze halber kann sich die nachstehende Offenbarung auf eine CPU beziehen, doch kann die Bezugnahme auf eine CPU oder CPUs so interpretiert werden, dass sie auch GPUs, Steuerungen, Prozessoren, Mikroprozessoren, Mikrocontroller, FPGAs, SOCs, HSMs oder andere Komponenten beinhaltet. Ein System kann außerdem andere geeignete Hardwarekomponenten und/oder Softwarekomponenten beinhalten. In einigen Ausführungsformen kann ein System beispielsweise einen Personalcomputer, einen Desktop-Computer, einen mobilen Computer, einen Laptop-Computer, einen Notebook-Computer, ein Terminal, eine Workstation, einen Server-Computer, ein „Personal Digital Assistant“-(PDA)-Gerät, einen Tablet-Computer, eine Netzwerkvorrichtung oder eine beliebige andere geeignete Rechenvorrichtung beinhalten oder sein.
  • In einigen Ausführungsformen kann ein System beispielsweise eine Vielzahl von Komponenten beinhalten oder sein, die jeweils eine Vielzahl von Zentraleinheiten beinhalten, z. B. eine Vielzahl von CPUs wie beschrieben, eine Vielzahl von CPUs, die in ein bordeigenes oder fahrzeuginternes System oder Netzwerk eingebettet sind, eine Vielzahl von Chips, FPGAs oder SOCs, Mikroprozessoren, HSMs, Sender-Empfängern, Mikrocontrollern, eine Vielzahl von Computer- oder Netzwerkvorrichtungen, GPUs, eine beliebige andere geeignete Rechenvorrichtung und/oder jede Kombination davon. Ein hier beschriebenes System kann zum Beispiel ein oder mehrere Geräte wie die Rechenvorrichtung 100 beinhalten.
  • 2 zeigt ein exemplarisches Blockdiagramm einer Rechenvorrichtung, die eine MCU mit einem ADC verwendet. Die Schaltung 200 kann ein erstes ECU 201, ein zweites ECU 202, ein drittes ECU 203, ein Angriffserkennungssystem (IDS) 205 sowie einen ADC 215 beinhalten, der ein in die MCU 211 integrierter On-Chip-ADC 215 sein kann. Die Schaltung kann jede dieser Komponenten über einen CAN-Bus 209 verbinden. Der CAN-Bus 209 kann dazu verwendet werden, verschiedenen Steuerungen im Fahrzeug die Kommunikation untereinander zu ermöglichen. Das IDS 205 kann in einer Variante dazu verwendet werden, einen Fingerprint und andere sichere Daten in Bezug auf das System zu speichern. Der Fingerprint kann als Profil des ECU oder der Schaltung verwendet werden und vom IDS zur Erkennung von bösartigem Verhalten genutzt werden. Wenngleich in der Schaltung 200 mehrere ECUs dargestellt sind, können in alternativen Ausführungsformen auch mehr oder weniger ECUs eingeschlossen sein.
  • Das IDS 205 kann dazu verwendet werden, einen Fingerprint zu speichern, der auf Messungen während einer Trainingsphase des Systems basiert. In einer anderen Ausführungsform kann das IDS dazu verwendet werden, Messungen vom ersten ECU 201 zu erhalten, die mit dem ADC 205 oder einer anderen Art von Sensor oder Sonde verbunden ist. In einer Ausführungsform kann ein optionales IDS 205 daher feststellen, ob eine Anomalie aufgetreten ist, die die Ausführung einer Gegenmaßnahme erfordert. Die Gegenmaßnahme kann beinhalten, den Betrieb gewisser Software abzuschalten, die Stromzufuhr zu einer oder mehreren Komponenten zu unterbrechen, ein Remote-System über eine mögliche Anomalie oder ein Problem zu informieren, Informationen über eine solche Anomalie an einen Benutzer auszugeben, um eine angemessene Reaktion zu ermöglichen, einen Alarm auszulösen, usw. Der Fingerprint kann ein Code sein, der dazu verwendet wird, den normalen Betrieb des Systems zu identifizieren, indem eine oder mehrere Messungen von Spannung oder anderen physikalischen Attributen (z. B. parasitäres Rauschen) vom ADC 215 eines oder mehrerer ECUs des Systems verwendet werden. Die Messungen können von einem Sensor abgeleitet werden, der zur Identifizierung physikalischer Eigenschaften der ECUs oder des Systems verwendet werden kann. Das System kann zum Beispiel einen Sensor wie ein Mikrofon, einen Beschleunigungsmesser, ein Gyroskop, ein thermisches Bauteil (Thermistor), Thermometer oder andere ähnliche interne oder externe Sensoren usw. verwenden. Zum Beispiel kann das System einen Fingerprint aus einer physikalischen Messung von Strom oder Spannung von einem ADC 215, der mit einem ECU verbunden ist, sowie einer Temperatur des ECU ableiten. Zur Durchführung der eigentlichen Messung und zur Umwandlung dieser Messung in einen digitalen Wert, der analysiert werden kann, kann das System einen Analog-Digital-Wandler (ADC) 215) verwenden. Ein solcher eingebetteter ADC 215 kann in einem Mikrocontroller verfügbar sein.
  • Die Trainingsphase kann auch als Profilerstellungsphase oder Basisphase bezeichnet werden. Das Angriffserkennungssystem kann Spannungsmessungen, die vom ADC vorgenommen werden, oder andere physikalische Messungen dazu verwenden, einen Fingerprint von einer Software zu erstellen, die auf einem integrierten Schaltkreis ausgeführt wird, wie in der am 20. Dezember 2019 eingereichten Anmeldung Nr. 16/723.861 mit dem Titel „A SYSTEM AND METHOD FOR NETWORK INTRUSION DETECTION BASED ON PHYSICAL MEASUREMENTS“ offengelegt, die hiermit durch Bezugnahme in vollem Umfang aufgenommen wird. Das Angriffserkennungssystem kann in zwei Phasen betrieben werden, einer Registrierungsphase (z. B. Trainingsphase) und einer Laufzeitphase. In der Registrierungsphase kann der ADC eine Gerätemessung durchführen und dabei Spannung vom Mikrocontroller messen. In alternativen Ausführungsformen führt ein externer oder interner Sensor eine Gerätemessung einer physikalischen Eigenschaft (z. B. Leistung, Zeitmessung, Schall, Temperatur, Vibration usw.) durch und nimmt damit eine erste Basismessung vor. Aus dieser Messung kann ein Fingerprint abgeleitet werden, z. B. mit Techniken des „Machine Learning“ (ML)/„Deep Learning“ (DL), der Signalverarbeitung oder einer Kombination davon. Eine mögliche Variante ist ein Registrierungsverfahren, das den Schutz des Modells in einem sicheren Teil des IDS-Host-Prozessors einschließt. Es könnte beispielsweise unter Verwendung eines sicheren Prozessors oder eines sicheren Speichers oder beides geschützt werden.
  • In einer alternativen Ausführungsform könnten die Messungen an ein Gateway oder ein Netzwerk-IDS übertragen werden, das von der Schaltung entfernt ist. Das Remote-IDS kann dann Messungen der Schaltung vornehmen und die Vergleiche durchführen. Die Netzwerkübertragung könnte mit der Verarbeitung korreliert werden, indem nach der Übertragung kritischer Nachrichten eine Signatur der Verarbeitung gesendet wird. Die Übertragung einer injizierten Nachricht würde im Idealfall eine andere Signatur aufweisen, da keine Verarbeitung stattfindet. Es können auch Funktionen zur Remote-Bestätigung hinzugefügt werden, die es dem Netzwerk-IDS ermöglichen, Challenges zu senden, die eine spezielle Abfolge von Funktionen oder Anweisungen auslösen, die zu einem Fingerprint führen (aus Messungen von Stromverbrauch, Zeit, Schall, Temperatur, Vibration oder anderen physikalischen Eigenschaften usw.). Die Fingerprints können an eine Überprüfungsstelle gesendet werden (die ein geschützter Bereich desselben Geräts, ein anderes lokales Gerät, ein Remote-Gerät oder ein Cloud-Dienst sein kann), wo die Fingerprints überprüft werden. Die Fingerprints können aus einer physikalischen Messung abgeleitet werden, die auch dazu verwendet werden kann, einen Kontext zu definieren (z. B. eine spezifische Situation, in der das Gerät aktiv ist, wie z. B. langsames Fahren, schnelles Fahren, Anhalten usw.) Der Kontext kann wiederum zur Festlegung von Regeln (z. B. Reaktionsmöglichkeiten) durch das IDS verwendet werden.
  • Während der Laufzeit des Geräts können in einem spezifischen Zeitfenster Seitenkanalleistungsmessungen durchgeführt werden. Diese Messungen können dann auf die gleiche Weise wie in der Registrierungsphase verarbeitet und mit den Basiswerten verglichen werden. Wenn der Fingerprint nicht mit dem erwarteten Fingerprint dieser Funktion übereinstimmt (innerhalb eines bestimmten Schwellenwerts), muss davon ausgegangen werden, dass die Funktion - möglicherweise böswillig - verändert wurde. Der Angriff kann protokolliert und weitere Aktionen können ausgelöst werden, z. B. das Beenden/Verzögern/Ändern eines Prozesses/einer Nachricht/einer Verbindung, das Deaktivieren/Neustarten des Geräts, das Neuprogrammieren des Geräts mit dem ursprünglichen Code oder das Zurücksetzen des Geräts.
  • Wie in 2 gezeigt, kann der interne ADC 215 der MCU zur Erfassung der Seitenkanalspuren verwendet werden, anstatt sich auf einen externen Sensor für physikalische Größen zu verlassen. Der statische und dynamische Stromverbrauch der MCU korreliert mit den Anweisungen, die auf der MCU ausgeführt werden. Die ständig wechselnde Leistungsaufnahme kann auch zu einer wechselnden Belastung der Versorgungsspannungsleitung führen. Dies kann zu leichten Abweichungen von der idealen Spannung (z. B. 1,2 V) führen. Diese Abweichungen können daher auch mit den Anweisungen korreliert werden, die auf dem Mikrocontroller ausgeführt werden. Die ADC kann zur Aufzeichnung dieser Abweichungen verwendet werden. Die aufgezeichneten Spuren können dann für die Registrierung und das Fingerprinting während der Laufzeit verwendet werden. Der Stromversorgungspin 217 kann über eine Verbindung 213 mit dem ADC verbunden werden, zu dem Zweck, die verschiedenen Spuren und mögliche Änderungen des Stromverbrauchs aufzuzeichnen.
  • Der ADC 215 kann zwei Sätze von Spannungsquellen haben. Eine der Stromversorgungen kann den ADC mit Strom versorgen, und eine der Stromversorgungen kann das Referenzsignal bereitstellen. Die Referenzstromversorgung versorgt in der Regel den analogen Abschnitt des ADC mit Strom, und es wird angenommen, dass sie rauschfrei ist (oder zumindest ein sehr sauberes Signal liefert). Der ADC kann auch mehrere Kanäle haben, die über Auslegungsregister ausgelegt werden können. Solche Register können in der Regel vom Mikrocontroller aus ausgelegt werden und haben oft keine Zugriffskontrolle (d. h. jede Anwendung kann sie setzen). Typischerweise können die Ausgangskanäle in Ausgangsregistern empfangen werden, die auch von jeder Anwendung gelesen werden können. Gemäß einer Ausführungsform in dieser Offenbarung verfügen die Register möglicherweise über keine Vertraulichkeit oder Integrität in ihren Daten für solche Register.
  • Der Stromversorgungspin 217 kann über einen Verbindungspin 213 oder eine andere Art von Verbindung mit dem internen Spannungspin 211 der MCU verbunden werden. Der ADC kann anschließend zur Überwachung des physikalischen Verhaltens der MCU 211, zur Erstellung von Fingerprints und zur Erkennung bösartiger (oder zufälliger) Änderungen verwendet werden. Weitere ECUs könnten mit solchen Messfähigkeiten ausgestattet werden. Die Messergebnisse können auch an ein separates IDS gesendet werden, das den Vergleich durchführt.
  • Weitere alternative Ausführungsformen sind in den verschiedenen Figuren dargestellt und beschrieben. In einem Beispiel könnte die Messung des ADC auch an eine andere Quelle übertragen werden, wie etwa an ein Gateway oder ein Netzwerk-IDS, das den Vergleich der Signatur mit der Laufzeitmessung durchführen kann. Auf diese Weise wird die Messung vom IDC an einen anderen Prozessor, eine Steuerung oder eine Komponente übertragen. Der ADC kann einen spezifischen Kanal für das IDS verwenden. Zum Beispiel kann der Kanal eine höhere Bandbreite als die anderen (Standard-) Kanäle und eine viel höhere Abtastrate beinhalten. Der Vergleich kann ein Abstandsmaß zwischen der Basislinie und der Messung (z. B. der Laufzeitmessung) gemäß einem vordefinierten Abstand (z. B. Korrelation, euklidischer Abstand, L1-Abstand usw.) beinhalten, wobei der resultierende Abstand mit einem Schwellenwert verglichen wird usw. In einer weiteren Ausführungsform kann nach der Messung des physikalischen Attributs eine Nachbearbeitung des gemessenen Signals erfolgen. Die Nachbearbeitung des Signals kann das Signal selbst, eine gefilterte Version des Signals, einige abgeleitete Merkmale des Signals durch Signalverarbeitung oder möglicherweise durch ein neuronales Netz usw. beinhalten. Das System kann auch einen Prozess der Abstimmung des gemessenen Signals in Bezug auf ein Basissignal beinhalten.
  • Der Vergleich zwischen der Signatur und der Laufzeitmessung kann über ein neuronales Netz oder eine andere Art von Machine-Learning-System durchgeführt werden. Die Vergleichsausgabe kann ein Tupel von Genauigkeits- und Konfidenzwerten sein, die zum Vergleich und zur Definieren einer schwellenwertdefinierten Basislinie für einen Trainingsprozess verwendet werden können. So kann das Netz in Abhängigkeit von den Konfidenzwerten und der Höhe des Verlustes aus einer Vorhersage trainiert werden. Es könnte sinnvoll sein, auch eine abhängige Anforderung hinzuzufügen, bei der der Vergleich durch ein neuronales Netz erfolgt und die Vergleichsausgabe ein Tupel aus Genauigkeits- und Konfidenzwerten ist, die beide mit einem definierten (geeigneten) Schwellenwert verglichen werden, der während der Basisphase (Trainingsprozess) definiert wurde.
  • Die Netzwerkübertragung könnte mit der Verarbeitung korreliert werden, indem nach der Übertragung kritischer Nachrichten eine Signatur der Verarbeitung gesendet wird. Die Übertragung einer injizierten Nachricht würde im Idealfall eine andere Signatur aufweisen, da keine Verarbeitung stattfindet.
  • Es könnten Fähigkeiten zur Remote-Bestätigung hinzugefügt werden, die es dem Netzwerk-IDS ermöglichen würden, Challenges zu senden, die eine spezielle Abfolge von Funktionen oder Anweisungen auslösen, die zu einem Fingerprint führen (aus Messungen von Stromverbrauch, Zeit, Schall, Temperatur, Vibration usw.). Diese Fingerprints werden an eine Überprüfungsstelle gesendet (diese kann ein geschützter Bereich desselben Geräts, ein anderes lokales Gerät, ein Remote-Gerät oder ein Cloud-Dienst sein), wo die Fingerprints überprüft werden.
  • Die Fingerprints können aus einer physikalischen Messung abgeleitet werden, die auch dazu verwendet werden kann, einen Kontext zu definieren (z. B. eine spezifische Situation, in der das Gerät aktiv ist, wie z. B. langsames Fahren, schnelles Fahren, Anhalten usw.) Dieser Kontext kann wiederum zur Festlegung von Regeln (Reaktionsmöglichkeiten) durch das IDS verwendet werden.
  • Der ADC kann auch ein spezielles Sicherheitsregister oder mehrere Register beinhalten. Solche Register könnten für ein „Secure Element“ (z. B. ein HSM) innerhalb des Mikrocontrollers zugänglich sein oder nur nach einer anfänglichen geheimen Auslegung. Nur wenn das HSM (oder bei Vorliegen des erwarteten Geheimnisses) das Sicherheitsregister aktiviert, wäre der „IDS“-Kanal zum Lesen verfügbar. Eine alternative Verwendung des Sicherheitsregisters, sobald es aktiviert ist, besteht darin, Verschlüsselung oder „Message Authentication Code“-(MAC)-Berechnung vollständig in den ADC zu integrieren. Das System kann auch zulassen, dass Challenges während des IDS-Betriebs akzeptiert werden. Der Empfang und die Annahme solcher Challenges könnte in einem Challenge-Register innerhalb der ADC ermöglicht werden. Es kann ein entsprechendes Response-Register vorhanden sein. Der Ausgang des Registers kann in eine beliebige Verschlüsselungs- oder MAC-Einheit eingegeben werden, um Verschlüsselung und/oder Integritätsschutz der ADC-Response zu ermöglichen. Die Verschlüsselungs-/Integritätseinheit ist Teil des ADC und nicht eine separate Komponente.
  • Der ADC kann über mindestens einen Datenbus mit der Haupt-CPU des Mikrocontrollers verbunden sein. Es kann auch ein IDS-ADC verwendet werden, bei dem mindestens ein Kanal über einen sicheren Bus verbunden ist. „Sicherer Bus“ kann bedeuten, dass er verschlüsselt und/oder authentifiziert ist. Der Bus kann durch das „Secure Element“ (z. B. HSM) oder durch Zugriff auf einen sicheren Zustand des Mikrocontrollers gesteuert werden. Das System kann einen Schlüssel (z. B. öffentlicher Schlüssel/privater Schlüssel) verwenden, der zur Verschlüsselung oder Authentifizierung über ein beliebiges sicheres Protokoll eingesetzt wird. So kann der Datenbus logisches UND-Verhalten beinhalten, ähnlich wie bei einem CAN-Bus.
  • 3A zeigt eine erste Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC. Das System von 3A kann in dieser Ausführungsform die interne Spannung der Steuerung direkt messen. Die MCU 301 kann einen internen ADC beinhalten. Der ADC kann einen Spannungseingangspin 303 beinhalten, der mit dem Stromversorgungspin 307 verbunden ist. Der Stromversorgungspin 307 kann in einer Ausführungsform die positive Versorgungsspannung sein. Insbesondere darf die Masseverbindung 305 nicht mit dem Eingangspin 303 des ADC verbunden sein. In einer solchen Auslegung kann nur ein Kanal der mehreren Kanäle des ADC über eine interne Chipverbindung mit Vdd verbunden werden. Der Anschluss kann so gestaltet werden, dass das Rauschen durch Verwendung eines Tiefpassfilters (z. B. Widerstand-Kondensator-Schaltung), der sorgfältig auf die Eigenschaften des Vdd-Signals abgestimmt sein kann, minimiert wird. Zum Beispiel kann schnelles Laden und Entladen des Tiefpassfilters ermöglicht werden.
  • 3B zeigt eine zweite Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC. In dieser Ausführungsform kann die Messung am Massepin des Mikrocontrollers 301 durchgeführt werden. Die MCU 301 kann einen internen ADC beinhalten. Der ADC kann einen Spannungseingangspin 303 beinhalten, der mit dem Masseanschluss 305 verbunden ist. Der Stromversorgungspin 307 kann in einer Ausführungsform die positive Versorgungsspannung sein. Insbesondere darf der Stromversorgungspin 307 nicht mit dem Eingangspin 303 des ADC verbunden sein.
  • 3C zeigt eine dritte Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC. Bei dem System kann der ADC-Pin 303 unverbunden bleiben. Daher darf der ADC-Pin 303 weder mit dem Stromversorgungspin 307 noch mit der Masse 305 verbunden sein. Das System kann in dieser Ausführungsform dann parasitäres Rauschen des ADC messen.
  • 3D zeigt eine vierte Ausführungsform einer Auslegung eines IDS unter Verwendung eines ADC. Das System kann in dieser Ausführungsform eine sekundäre MCU 307 mit einem ADC 309 dazu verwenden, die Messungen und Abtastungen durchzuführen. Die sekundäre MCU 307 kann mit der primären MCU 301 über den ADC-Eingang 309 und den Stromversorgungspin 307 verbunden werden. Die MCU 301 kann daher ihren eigenen ADC nicht verwenden. In einer alternativen Ausführungsform kann das System den Massepin 305 anstelle des Stromversorgungspins 307 messen.
  • 4 zeigt ein System mit einer variablen Referenzspannung für den ADC. Die ADC-Auslegung in einer solchen Ausführungsform kann es ermöglichen, dass die ADC-Referenzspannung von einem System steuerbar ist, das somit über ein internes Register ausgelegt werden kann. Der Mikrocontroller 401 kann einen ADC 403 beinhalten. Der ADC 403 kann einen Eingang 404 aufweisen, der zum Abrufen einer Eingangsspannung verwendet wird. Die MCU 401 kann ein Referenzspannungserzeugungssystem 405 und ein Referenzspannungssteuerungsregister 407 beinhalten. Das System kann eine Referenzspannung beinhalten, die durch ein internes Register, wie etwa das Referenzspannungsregister 407, gesteuert werden kann. Die Spannungsreferenz kann eine feste (oder konstante) Spannung erzeugen, unabhängig von der Last des Mikrocontrollers 401 oder des Geräts, von Schwankungen der Stromversorgung, von Temperaturänderungen und vom Zeitablauf. Das interne Register kann zusätzlich nur vom „Secure Element“ (z. B. HSM) oder während IDS-Operationen zugänglich sein. Für verschiedene Phasen des IDS-Betriebs kann die Referenzspannung je nach dem zu prüfenden Vorgang oder der durchzuführenden Aufgabe variiert werden. Zum Beispiel kann die Referenzspannung für den Betrieb einer gewissen Anwendung anders sein als für eine andere. Im Falle des Empfangs von Challenges kann die Auslegung des Referenzpegels ein Teil der Challenge sein. Ein solches System würde für die Challenge-/Bestätigungsstelle zusätzliche Freiheitsgrade bereitstellen. In einem anderen Szenario kann das Referenzspannungssteuerungsregister ein Teil des „Secure Element“ sein.
  • Die hierin offengelegten Prozesse, Verfahren oder Algorithmen können von einer Verarbeitungsvorrichtung, einer Steuerung oder einem Computer ausgeführt/implementiert werden, was eine beliebige vorhandene programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit einschließen kann. Ebenso können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen gespeichert werden, die von einer Steuerung oder einem Computer in vielen Formen ausgeführt werden können, einschließlich, aber nicht beschränkt auf Informationen, die dauerhaft auf nicht beschreibbaren Speichermedien wie etwa ROM- oder Flash-Speichergeräten gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie Disketten, Magnetbändern, CDs, RAM-Geräten und anderen magnetischen und optischen Medien 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 ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsautomaten, Steuerungen oder anderer Hardwarekomponenten oder -geräte oder einer Kombination aus Hardware-, Software- und Firmwarekomponenten realisiert werden.
  • Wenngleich oben exemplarische Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die von den Ansprüchen abgedeckt werden. Die in der Beschreibung verwendeten Wörter sind eher beschreibend als einschränkend, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Wie bereits beschrieben, können die Merkmale verschiedener Ausführungsformen zu weiteren Ausführungsformen der Erfindung kombiniert werden, die möglicherweise nicht ausdrücklich beschrieben oder abgebildet sind. Während verschiedene Ausführungsformen möglicherweise als vorteilhaft oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen des Standes der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften beschrieben wurden, ist für Fachleute ersichtlich, dass ein oder mehrere Merkmale oder Eigenschaften abgeschwächt werden können, um die gewünschten Gesamtsystemeigenschaften zu erreichen, was von der spezifischen Anwendung und Implementierung abhängt. Diese Attribute beinhalten, aber nicht einschränkend, Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Gebrauchstauglichkeit, Gewicht, Herstellbarkeit, einfache Montage usw. Soweit Ausführungsformen in Bezug auf ein oder mehrere Merkmale als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Standes der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Umfangs der Offenbarung und können für spezifische 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 Patentliteratur
    • WO 16/723861 [0021]

Claims (20)

  1. System, umfassend: Speicher; einen Mikrocontroller, der einen Analog-Digital-Wandler (ADC) beinhaltet und mit dem Speicher in Verbindung steht und der für folgende Vorgänge ausgelegt ist: Definieren eines Fingerprints, der eine Basismessung von Seitenkanalspuren eines Seitenkanals eines separaten Prozessors beinhaltet, die vom ADC während einer Registrierungsperiode des Systems gewonnen wird, wobei die Registrierungsperiode das Messen einer Spannung des separaten Prozessors vor dem Laufzeitbetrieb beinhaltet; Empfangen einer Laufzeitmessung vom ADC in Bezug auf die Spannung mindestens des separaten Prozessors während der Laufzeit; Vergleichen der Laufzeitmessung mit dem Fingerprint; und als Reaktion darauf, dass die Messung einen Schwellenwert überschreitet, Ausführen einer Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software, eine Hardwareänderung oder einen oder mehrere Störungsangriffe.
  2. System nach Anspruch 1, wobei die Gegenmaßnahme das Ausgeben einer Meldung oder einer Benachrichtigung beinhaltet.
  3. System nach Anspruch 1, wobei der ADC einen ADC-Eingangspin beinhaltet, der mit einem internen Spannungspin des Mikrocontrollers, einer Stromversorgung, einem internen Regler oder einer Zwischenspannung verbunden ist.
  4. System nach Anspruch 1, wobei der ADC eine Verschlüsselungseinheit beinhaltet.
  5. System nach Anspruch 1, wobei der ADC einen ADC-Eingangspin beinhaltet, der mit einem internen Spannungspin des Mikrocontrollers zum Messen von Drain-Spannung verbunden ist.
  6. System nach Anspruch 1, wobei ein Kanal des Seitenkanals eine höhere Bandbreite als andere Kanäle des Seitenkanals beinhaltet, wobei der Kanal für die Basismessung verwendet wird.
  7. System nach Anspruch 1, wobei der ADC über mindestens einen Datenbus mit dem separaten Prozessor verbunden ist, wobei der ADC mindestens einen Kanal beinhaltet, der über einen sicheren Bus verbunden ist, der Verschlüsselung oder Authentifizierung oder beides erfordert.
  8. System nach Anspruch 7, wobei der sichere Bus durch ein „Secure Element“ oder in Reaktion auf einen sicheren Zustand des Mikrocontrollers gesteuert wird.
  9. System nach Anspruch 1, wobei ein Kanal des Seitenkanals eine höhere Abtastrate beinhaltet als andere Kanäle des Seitenkanals des ADCs, wobei der Kanal für die Basismessung verwendet wird.
  10. System nach Anspruch 1, wobei der ADC unverbunden und dafür ausgelegt ist, parasitäres Rauschen auf dem ADC zu messen.
  11. Computerimplementiertes Verfahren, umfassend: Definieren eines Fingerprints, der eine Basismessung beinhaltet, die von einem Seitenkanal mindestens eines separaten Prozessors während einer Registrierungsperiode gewonnen wird, wobei die Basismessung ein oder mehrere physikalische Attribute beinhaltet, die von einem Analog-Digital-Wandler (ADC) eines Mikrocontrollers empfangen werden; Empfangen einer Laufzeitmessung vom ADC, wobei die Laufzeitmessung das eine oder die mehreren physikalischen Attribute zumindest des separaten Prozessors während der Laufzeit beinhaltet; Vergleichen der Laufzeitmessung des physikalischen Attributs mit dem Fingerprint; und als Reaktion darauf, dass die Laufzeitmessung einen Schwellenwert überschreitet, Ausführen einer Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software, eine Hardwareänderung oder einen oder mehrere Störungsangriffe.
  12. Computerimplementiertes Verfahren nach Anspruch 11, wobei das physikalische Attribut eine Spannung beinhaltet.
  13. System, umfassend: Speicher; einen Mikrocontroller, der einen Analog-Digital-Wandler (ADC) beinhaltet und mit dem Speicher in Verbindung steht und der für folgende Vorgänge ausgelegt ist: Definieren eines Fingerprints, der eine Basismessung von Seitenkanalspuren eines Seitenkanals beinhaltet, die vom ADC während einer Registrierungsperiode des Systems gewonnen wird, wobei die Registrierungsperiode das Messen einer Spannung vor dem Laufzeitbetrieb beinhaltet; Empfangen einer Laufzeitmessung vom ADC, die Spannung von mindestens einem separaten Mikrocontroller während der Laufzeit beinhaltet; Vergleichen der Laufzeitmessung mit dem Fingerprint; und als Reaktion darauf, dass die Messung einen Schwellenwert überschreitet, Ausführen einer Gegenmaßnahme gegen die vom separaten Prozessor ausgeführte Software, eine Hardwareänderung oder einen oder mehrere Störungsangriffe.
  14. System nach Anspruch 13, wobei die Laufzeitmessung aus einer Verbindung zwischen einem Eingangsversorgungspin des ADC und einer Spannungsversorgung des Mikrocontrollers gewonnen wird.
  15. System nach Anspruch 13, wobei die Laufzeitmessung aus einer Verbindung zwischen einem Eingangsversorgungspin des ADC und einer Masse des Mikrocontrollers gewonnen wird.
  16. System nach Anspruch 13, wobei die Laufzeitmessung aus keiner Verbindung mit einem Eingangsversorgungspin des ADC gewonnen wird, wobei die Laufzeitmessung parasitäres Rauschen des ADC beinhaltet.
  17. System nach Anspruch 13, wobei die Gegenmaßnahme das Umprogrammieren der Software auf ursprünglichen Code beinhaltet.
  18. System nach Anspruch 13, wobei die Gegenmaßnahme das Umprogrammieren der Software beinhaltet.
  19. System nach Anspruch 13, wobei der Seitenkanal einem separaten Mikrocontroller zugeordnet ist.
  20. System nach Anspruch 13, wobei die Laufzeitmessung an ein vom separaten Prozessor und der MCU getrenntes Angriffserkennungssystem gesendet wird, wobei das Angriffserkennungssystem dafür ausgelegt ist, die Laufzeitmessung mit der Basismessung unter Verwendung eines neuronalen Netzwerks zu vergleichen.
DE102021210659.5A 2020-09-25 2021-09-24 System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers Pending DE102021210659A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/032,624 US20220100853A1 (en) 2020-09-25 2020-09-25 System and method for intrusion detection on a physical level using an internal analog to digital converter
US17/032624 2020-09-25

Publications (1)

Publication Number Publication Date
DE102021210659A1 true DE102021210659A1 (de) 2022-03-31

Family

ID=80624709

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021210659.5A Pending DE102021210659A1 (de) 2020-09-25 2021-09-24 System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers

Country Status (3)

Country Link
US (1) US20220100853A1 (de)
CN (1) CN114254312A (de)
DE (1) DE102021210659A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966503B2 (en) * 2021-09-24 2024-04-23 Intel Corporation Glitch attack mitigation for in-vehicle networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040268159A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Power profiling

Also Published As

Publication number Publication date
CN114254312A (zh) 2022-03-29
US20220100853A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
DE102020215586A1 (de) Ein system und verfahren für network intrusion detection auf basis von physikalischen messungen
DE112012004439B4 (de) Speichergestützte intrinsische Fingerabdruck-Identifikation mit einem Fuzzy-Algorithmus und einem dynamischen Schlüssel
DE102012212471B3 (de) Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen
US10397251B2 (en) System and method for securing an electronic circuit
Xun et al. VehicleEIDS: A novel external intrusion detection system based on vehicle voltage signals
DE112016004325T5 (de) Universalsensor und/oder Sensorcluster zur Bereitstellung eines Detektionsmusters
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
CN113162794B (zh) 下一步攻击事件预测方法及相关设备
DE112017005007T5 (de) Systemmonitor
DE102019214759A1 (de) Bereitstellen von Kompensationsparametern für integrierte Sensorschaltungen
DE102021210659A1 (de) System und Verfahren zur Angriffserkennung auf physikalischer Ebene unter Verwendung eines internen Analog-Digital-Wandlers
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE112014006642T5 (de) Halbleitervorrichtungs-Prüfgerät mit Dut-Daten-Streaming
DE102020114099A1 (de) Funktionale sicherheit über verfolgung-und-fehlerbeseitigung
WO2023072956A1 (de) Automobiler prozessor mit pqk verschlüsselungsunterstützung
DE102019134677A1 (de) Kopplung von vorrichtungen an eine authentifizierungsvorrichtung durch sensor-fingerabdrücke
DE102014002302A1 (de) System und Verfahren zum Bestimmen der operativen Robustheit eines Systems auf einem Chip
DE102021208885A1 (de) Ein System und Verfahren zum Verbessern der Messungen eines Systems zur Erkennung des Eindringens durch Umwandeln eindimensionaler Messungen in mehrdimensionale Bilder
DE102021202580A1 (de) Mikrocontroller-programmanweisungsausführungs-fingerprinting und eindringungsdetektion
DE102017214057A1 (de) Verfahren zum Prüfen der Integrität von Systemkomponenten eines Systems und Anordnung zur Durchführung des Verfahrens
WO2015071002A1 (de) Zugriff auf einen speicher
CN111145386A (zh) 一种基于区块链管理行车电脑数据的方法、设备及介质
EP3371733B1 (de) Verschlüsseln des speicherinhalts eines speichers in einem eingebetteten system
DE102014115736B4 (de) Sicherer Informationsspeicher
KR102573636B1 (ko) 차분 프라이버시를 보장하는 히스토그램 생성 장치 및 방법

Legal Events

Date Code Title Description
R012 Request for examination validly filed