DE102022205838A1 - Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems - Google Patents

Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems Download PDF

Info

Publication number
DE102022205838A1
DE102022205838A1 DE102022205838.0A DE102022205838A DE102022205838A1 DE 102022205838 A1 DE102022205838 A1 DE 102022205838A1 DE 102022205838 A DE102022205838 A DE 102022205838A DE 102022205838 A1 DE102022205838 A1 DE 102022205838A1
Authority
DE
Germany
Prior art keywords
vulnerability
data processing
processing system
function
response
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
DE102022205838.0A
Other languages
English (en)
Inventor
Paulius Duplys
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
Priority to DE102022205838.0A priority Critical patent/DE102022205838A1/de
Priority to US18/326,833 priority patent/US20230401322A1/en
Priority to CN202310673131.5A priority patent/CN117195218A/zh
Publication of DE102022205838A1 publication Critical patent/DE102022205838A1/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems beschrieben, wobei das Verfahren aufweist: Speichern eines Schwachstellenreaktionsregelwerks in dem Datenverarbeitungssystem, das Reaktionen des Datenverarbeitungssystems angibt, wobei jede Reaktion mit ein oder mehreren Bedingungen und ein oder mehreren Funktionen des Datenverarbeitungssystems verknüpft ist, wobei für jede Bedingung von dem Datenverarbeitungssystem und einer Schwachstelle oder beidem abhängt, ob sie erfüllt ist, Empfangen einer Notifikation über eine Schwachstelle des Datenverarbeitungssystems, Ermitteln, aus dem Schwachstellenreaktionsregelwerk von ein oder mehreren Reaktionen, sodass für jede ermittelte Reaktion die ein oder mehreren Bedingungen, mit denen die ermittelte Reaktion verknüpft ist, für die Schwachstelle und das Datenverarbeitungssystem erfüllt sind und mit zumindest einer Funktion verknüpft ist, auf die sich die Schwachstelle bezieht und Ausführen der ein oder mehreren ermittelten Reaktionen.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems.
  • Vernetzte eingebettete Systeme werden für sicherheitsrelevante Anwendungen, z.B. Steuerung von Fahrzeugen, eingesetzt. Aufgrund ihrer Vernetzung, d.h. ihrer Verbindungen zu externen Netzwerken, z.B. dem Internet, sind sie Angriffen ausgesetzt, die je nach Anwendung gravierende Folgen haben können, wie z.B. Unfälle, bei denen Menschen verletzt werden. Deshalb ist es wichtig, dass Schwachstellen in Software für eingebettete Systeme behoben werden. Üblicherweise passiert das mit einem Patch, der implementiert wird und an die betroffenen eingebetteten Systeme verteilt wird, wenn eine Schwachstelle entdeckt und gemeldet wurde.
  • Für vernetzte eingebettete Systeme in sicherheitsrelevanten Anwendungen ist der Zyklus „Schwachstelle melden->Patch implementieren->Patch verteilen“ jedoch zu langsam, um das Risiko, beispielsweise von Verkehrsunfällen, zuverlässig gering zu halten. Es sind deshalb Mechanismen wünschenswert, auf eine neu gefundene Sicherheitslücke schnell reagieren zu können.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems bereitgestellt, wobei das Verfahren aufweist: Speichern eines Schwachstellenreaktionsregelwerks in dem Datenverarbeitungssystem, das Reaktionen des Datenverarbeitungssystems angibt, wobei jede Reaktion mit ein oder mehreren Bedingungen und ein oder mehreren Funktionen des Datenverarbeitungssystems verknüpft ist, wobei für jede Bedingung von dem Datenverarbeitungssystem und einer Schwachstelle oder beidem abhängt, ob sie erfüllt ist, Empfangen einer Notifikation über eine Schwachstelle des Datenverarbeitungssystems, Ermitteln, aus dem Schwachstellenreaktionsregelwerk von ein oder mehreren Reaktionen, sodass für jede ermittelte Reaktion die ein oder mehreren Bedingungen, mit denen die ermittelte Reaktion verknüpft ist, für die Schwachstelle und das Datenverarbeitungssystem erfüllt sind und mit zumindest einer Funktion verknüpft ist, auf die sich die Schwachstelle bezieht und Ausführen der ein oder mehreren ermittelten Reaktionen.
  • Das oben beschriebene Verfahren ermöglicht eine schnelle Reaktion auf eine Schwachstelle in einer Software, d.h. eine Sicherheitslücke.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems wie oben beschrieben.
  • Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, wobei jede zumindest mancher der Bedingungen ist, das eine der Bedingung zugeordnete Funktion in dem Datenverarbeitungssystem vorhanden ist.
  • Damit können Reaktionen schnell verworfen werden, weil sie Schwachstellen von einer Funktion oder Unterfunktionen dieser Funktion betreffen, die nicht auf dem Datenverarbeitungssystem vorhanden sind.
  • Ausführungsbeispiel 3 ist das Verfahren nach Ausführungsbeispiel 1 oder 2, wobei das Schwachstellenreaktionsregelwerk hierarchisch aufgebaut ist, sodass ausgehend von einer oder mehreren Funktionen des Datenverarbeitungssystems Pfade zu den Reaktionen mit ein oder mehrere Unterfunktionen, wobei jede Unterfunktion eine Unterfunktion der im Pfad vorhergehenden Funktion oder Unterfunktion ist, und mit ein oder mehreren Bedingungen enthalten sind.
  • In anderen Worten sind die Reaktionen als Blätter in einer Baumstruktur organisiert, wobei die über den Blättern liegenden Knoten Bedingungen, Unterfunktionen und Funktionen entsprechen. Dies ermöglicht ein effizientes Ermitteln (d.h. Finden) der Reaktionen, da Unterbäume des Baumes nicht durchsucht werden brauchen, wenn sie von einem Knoten ausgehen, der einer Bedingung entspricht, die nicht erfüllt ist.
  • Eine Reaktion ist mit den (Unter-) Funktionen und Bedingungen verknüpft, die der Pfad zu der Reaktion ausgehend von einem Wurzelknoten der Baumstruktur enthält.
  • Ausführungsbeispiel 4 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei jede zumindest mancher der Bedingungen ist, das für eine der Bedingung zugeordnete Funktion, kein Schutzprogramm vorhanden ist.
  • Dadurch wird vermieden, dass Reaktionen ausgeführt werden, wenn das Datenverarbeitungssystem bereits durch ein jeweiliges Schutzprogramm vor der Schwachstelle geschützt ist.
  • Ausführungsbeispiel 5 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei das Datenverarbeitungssystem ein eingebettetes System zum Steuern einer Robotervorrichtung ist.
  • Insbesondere in solchen Fällen ist eine schnelle Reaktion auf Schwachstellen oftmals dringend erforderlich. Das oben beschriebene Verfahren ermöglicht eine schnelle Reaktion auf Schwachstellen. Dazu braucht nur eine Meldung der Schwachstelle an das eingebettete System übertragen werden (und keine vollständige Softwareaktualisierung). Insbesondere kann die Schwachstelle im Feld behoben werden und die Softwareaktualisierung kann verschoben werden (und z.B. in einer Werkstatt durchgeführt werden.)
  • Ausführungsbeispiel 6 ist ein Datenverarbeitungssystem, das eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchzuführen.
  • Ausführungsbeispiel 7 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • Ausführungsbeispiel 8 ist ein Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben.
    • 1 zeigt ein Fahrzeug 101.
    • 2 veranschaulicht den Mechanismus zum Beheben einer Schwachstelle gemäß einer Ausführungsform unter Verwendung der oben genannten Komponenten.
    • 3 zeigt eine (Spiel-)Baumstruktur 300 eines (Schwachstellenreaktions-)Regelwerks 204 gemäß einer Ausführungsform.
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt ein Fahrzeug 101.
  • Im Beispiel von 1 ist ein Fahrzeug 101, beispielsweise ein PKW oder LKW, mit einer Fahrzeugsteuereinrichtung 102 versehen.
  • Die Fahrzeugsteuereinrichtung 102 weist Datenverarbeitungskomponenten auf, z.B. einen oder mehrere Prozessoren (z.B. eine oder mehrere CPUs (Zentraleinheit) oder Microcontroller) 103 und einen oder mehrere Speicher 104 zum Speichern von Steuersoftware 107, gemäß der die Fahrzeugsteuereinrichtung 102 arbeitet, und Daten, die von dem Prozessor 103 verarbeitet werden.
  • Beispielsweise weist die gespeicherte Steuerungssoftware (Computerprogramm) Anweisungen auf, die, wenn der Prozessor sie ausführt, bewirken, dass der Prozessor 103 Fahrerassistenz-Funktionen ausführt (oder auch Fahrdaten sammelt) oder sogar das Fahrzeug autonom steuert.
  • Die Fahrzeugsteuereinrichtung 102 ist ein eingebettetes System, in diesem Beispiel in einem Fahrzeug. Dies ist jedoch nur ein Beispiel und die Fahrzeugsteuereinrichtung 102 kann in jeglicher Art von Robotervorrichtung, z.B. in einer Industrie 4.0-Maschine eingesetzt werden. Ein solches eingebettetes System (Fahrzeugsteuereinrichtung 102) kann auch verteilt sein, d.h. durch mehrere Datenverarbeitungsvorrichtungen (im Falle eines Fahrzeugs mehrere ECUs (Electronic Control Units) implementiert werden, die miteinander verbunden sind. Außerdem kann es mit externen Komponenten, in diesem Beispiel mit einem Server 105 über ein Netzwerk 106, vernetzt sein. Die Fahrzeugsteuereinrichtung 102 kann also ein vernetztes eingebettetes System sein.
  • Vernetzte eingebettete Systeme wie ein solches Steuersystem eines Fahrzeugs oder einer anderen Robotervorrichtung sind aufgrund der Kombination aus ihrer ständig wachsenden Komplexität (hauptsächlich durch die von ihnen ausgeführte Software 107) und ihrer Konnektivität nach außen (hier zum Server 105) Angriffen von außerhalb ausgesetzt. Da Cyberangriffe auf solche eingebetteten Systeme leicht Fehlfunktionen verursachen können, die zu körperlichen Schäden führen, sind Lösungen erforderlich, um auf Sicherheitsschwachstellen zu reagieren, bevor diese ausgenutzt werden.
  • Im gegenwärtig vorherrschenden IT-Sicherheitsparadigma werden Sicherheitsschwachstellen in der Regel zunächst dem entsprechenden Softwareprojekt oder Gerätehersteller gemeldet (z. B. über das PSIRT (Product Security Incident Response Team) des Herstellers) und nach einer angemessenen Zeitspanne (in der Regel bis zu sechs Monate) als CVEs (Common Vulnerabilities and Exposures) für die öffentliche Bekanntgabe in einem CVE-System, z.B. von MITRE, katalogisiert. Während dieser Zeit wird erwartet, dass das Softwareprojekt oder der Gerätehersteller einen Patch für diese Sicherheitslücke implementiert und den Patch der Öffentlichkeit zur Verfügung stellt (z. B. im Falle eines Open-Source-Softwareprojekts) oder ihn an alle Geräte im Feld verteilt, die von der Sicherheitslücke betroffen sind (im Falle eines spezifischen Produkts).
  • Für vernetzte eingebettete Systeme ist der Zyklus „Schwachstelle melden -> Patch implementieren -> Patch verteilen“ zu langsam. Beispielsweise sind viele eingebettete Systeme stark auf Open-Source-Software oder kommerzielle Komponenten von Drittanbietern (wie Bibliotheken oder Frameworks) angewiesen. Zwischen der Entdeckung der Schwachstelle und der Verfügbarkeit des Patches sind die betroffenen Systeme anfällig für Angriffe. Außerdem hat ein Produkthersteller in dieser Zeitspanne keine Kontrolle darüber, wer von der Schwachstelle weiß und wie schnell der Patch verfügbar sein wird.
  • Gemäß verschiedenen Ausführungsformen wird deshalb ein Mechanismus bereitgestellt, der es vernetzten eingebetteten System ermöglicht, sofort auf eine Sicherheitslücke reagieren, die ihm z. B. durch ein CVE-System oder durch eine Meldung an den Produkthersteller bekannt wird (im Beispiel von 1 z.B. von dem Server 105 der Steuereinrichtung 102 mitgeteilt wird).
  • Gemäß verschiedenen Ausführungsformen ist dazu vorgesehen, dass auf dem jeweiligen zu schützenden eingebetteten System (im vorliegenden Beispiel der Fahrzeugsteuereinrichtung 102) ein Schwachstellenreaktionsregelwerk 108 (oder „Handbuch“) gespeichert ist, das ausführbare Aktionen zur Behebung von Schwachstellen aufweist, sowie eine Überwachungs- bzw. Schwachstellenbehebungseinrichtung (hier implementiert durch ein Schwachstellenbehebungsprogramm 109) vorgesehen ist, das jeweilige Aktionen des (Schwachstellenreaktions-) Regelwerks im Falle einer Schwachstellenerkennung (hier der Empfang einer Notifikation 110 über eine Schwachstelle, d.h. eines Schwachstellenberichts 110, vom Server 105) ausführt.
  • Gemäß verschiedenen Ausführungsformen hat das Regelwerk 108 eine (Spiel-)Baum-ähnliche Struktur für eine einfache Navigation durch das Regelwerk und weist Beschreibungen von ausführbaren Aktionen auf, mittels welcher auf jeweils gemeldete Schwachstellen zu reagieren ist, z. B. durch Deaktivierung bestimmter Funktionen oder durch einen allmählichen/ordnungsgemäßen Funktionsabbau (engl. graceful degradation) bestimmter Systemkomponenten.
  • Das eingebettete System 102 empfängt Meldungen über neu entdeckte Schwachstellen (z.B. vom Server 105 über das Netzwerk 106) über mindestens eine spezielle, ordnungsgemäß gesicherte API (application programming interface) in Form eines Schwachstellenberichts 110. Der Schwachstellenbericht 110 stammt von einem öffentlichen System wie dem CVE-Programm von MITRE oder vom Produkthersteller (d.h. Hersteller des eingebetteten System 102 oder des Fahrzeugs 101).
  • 2 veranschaulicht den Mechanismus zum Beheben einer Schwachstelle gemäß einer Ausführungsform unter Verwendung der oben genannten Komponenten.
  • Eine Schwachstellenbehebungseinrichtung 201 empfängt einen Schwachstellenbericht 202 über eine API 203. Mittels Informationen aus einem (Schwachstellenreaktions-) Regelwerk 204 erzeugt die Schwachstellenbehebungseinrichtung 201 eine Antwort 205 auf eine durch den Schwachstellenbericht 202 berichtete Schwachstelle. Dies bedeutet, dass die Schwachstellenbehebungseinrichtung 201 die Schwachstelle gemäß den Definitionen in dem (Schwachstellen-Reaktions-)Regelwerk 204 bewertet und die in dem Regelwerk 204 kodierte Antwort (Aktion) für diese spezielle Schwachstelle ausführt.
  • Es können mehrere APIs 203, z.B. zu unterschiedlichen externen Datenverarbeitungsvorrichtungen vorgesehen sein, um Schwachstellenberichte 202 über neu entdeckte Schwachstellen (z.B. CVE-Berichte) zu empfangen.
  • Optional können Schwachstellenberichte so vorgefiltert werden, dass die an die Schwachstellenbehebungseinrichtung 201 gelieferten Schwachstellenberichte 202 nur Notifikationen von Schwachstellen in bestimmten Softwarepaketen oder von Schwachstellen sind, die eine oder mehrere andere geeignete Filterbedingungen erfüllen, z. B. so dass nur ein Schwachstellenbericht 201 für ein Softwarepaket X an die Schwachstellenbehebungseinrichtung 201 weitergegeben wird, wenn Merkmal Y auf dem betreffenden Gerät tatsächlich aktiviert ist. Diese Filtern kann extern (z.B. vom Server 105) oder auch lokal von einer Filterkomponente 206 des eingebetteten Systems 102 vorgenommen werden.
  • Die Schwachstellenbehebungseinrichtung 201 nimmt eingehende Schwachstellenberichte 202 (d.h. Notifikationen oder Meldungen von Schwachstellen) an und greift auf das Schwachstellenreaktionsregelwerk 204, das in dem Sinne ausführbar ist, dass es ausführbare Aktionen enthält, zu und bewertet jede Schwachstellenmeldung bzw. reagiert auf jede Schwachstellenmeldung auf der Grundlage der im Regelwerk 204 enthaltenen Anweisungen (insbesondere Anweisungen, bestimmte Aktionen in Reaktion auf Schwachstellen auszuführen).
  • 3 zeigt eine (Spiel-)Baumstruktur 300 eines (Schwachstellenreaktions-)Regelwerks 204 gemäß einer Ausführungsform.
  • In der Baumstruktur 300 für die Reaktion auf Schwachstellen enthält jeder Knoten ein oder mehrere Schlüssel-Wert-Paare, die eine jeweilige Funktion, Unterfunktion, Komponente, Eigenschaft oder auszuführende Aktionen des eingebetteten Systems beschreiben.
  • Dieses Format ist erweiterbar, d.h. die Schwachstellenbehebungseinrichtung 201 kann jederzeit erweitert werden, indem sie zusätzliche Schlüssel-Wert-Paare verarbeitet.
  • Der Wurzelknoten R verweist auf eine endliche Zahl von Funktionen oder Funktionalitäten Fi, die in dem entsprechenden eingebetteten System enthalten sind bzw. davon implementiert werden. Dabei kann es sich zum Beispiel um Komponenten der Top-Level-Architektur des eingebetteten Systems handeln. Im Falle eines Fahrzeugs wären dies beispielsweise eine Motorsteuerung, Multimedia, Konnektivität, Bremsen usw. (z.B. kann für deren Definition die die GENIVI Vehicle Signal Specification verwendet werden).
  • Jede Funktion Fi ist mit einer Reihe von Bedingungen cij verbunden, wobei die Bedingung cij dem j-ten Kindknoten des Knotens zugewiesen ist, dem die Funktion Fi zugewiesen ist.
  • Die Bedingungen können beispielsweise zu Unterfunktionen F'ij von Fi korrespondieren, die auf dem jeweiligen eingebetteten System entweder aktiviert oder deaktiviert sind, d.h. eine Bedingung cij ist beispielsweise, das eine jeweilige Unterfunktion F'ij von Fi auf dem eingebetteten System vorhanden oder aktiviert ist.
  • Die Unterfunktionen F'ij sind je nach Art der Funktion Fi, von der sie Unterfunktionen sind, z.B. Unterfunktionen einer zentralen Steuerung des Fahrzeugs, Unterfunktionen der Motorsteuerung, Unterfunktionen der Telematik, usw.
  • Die Schlüssel-Wert-Paare, die ein Knoten enthält, der einer Funktion oder Unterfunktion zugewiesen ist, bezeichnet ein oder mehrere Unterfunktionen (oder Unterfunktionalitäten) wie Softwarekomponenten, Bibliotheken und Klassen (einschließlich ihrer Versionsnummer), die zur Implementierung der Funktion oder Unterfunktion, von dem der Knoten ein Kindknoten ist, auf dem eingebetteten System verwendet werden kann.
  • Jede Unterfunktion (oder Unterfunktionalität) F'ij kann mit Bedingungen c'ijk verknüpft werden. Die Bedingungen könnten zum Beispiel davon abhängen, wie die spezifischen Softwarekomponenten, Bibliotheken oder Klassen (der Kindknoten von F'ij) verwendet werden und sich auf das eingebettete System oder die Schwachstelle beziehen (z.B. ist eine Bedingung, dass eine Unterfunktion eine bestimmte Bibliotheksfunktion für eine bestimmte Schwachstelle in einer bestimmten Weise verwenden muss).
  • Zum Beispiel könnte c'ijk fordern, dass eine bestimmte Bibliotheksfunktion (mit Index k) zur Implementierung von F'ij verwendet wird oder dass ein Sanitizer-Unterprogramm (d.h. ein Schutzprogramm) fehlt, das diese Funktionen umhüllt, um unerwartete Eingaben zu eliminieren.
  • Diese hierarchische Struktur kann sich weiter erstrecken, d.h. für die Unterfunktionen F'ij können wiederum Unterfunktionen vorhanden sein, die wiederum mit Knoten, denen Bedingungen zugewiesen sind, mit tieferliegende Knoten verbunden sind.
  • In diesem Beispiel ist zur Einfachheit aber angenommen, dass für die Unterfunktionen F'ij selbst keine Unterfunktionen mehr betrachtet werden (d.h. sie bilden die unterste Schicht von Unterfunktionen). Dann verweisen die der Funktion F'ij zugeordneten Bedingungen c'ijk direkt auf Aktionsknoten mit Aktionen aijk. Die Schwachstellenbehebungseinrichtung 201 führt eine Aktion aus, wenn alle Bedingungen auf dem Pfad von der Wurzel R zu ihr erfüllt sind.
  • Die Schwachstellenbehebungseinrichtung 201 durchläuft also für eine gemeldete Schwachstelle die Baumstruktur des Regelwerks und führt jede Aktion aus, die sie mittels eines Pfads durch den Baumstruktur erreicht, für den gilt
    • • der Pfad enthält mindestens einen Knoten, der der Funktion oder Unterfunktion, für die die Schwachstelle besteht (wie es in dem Schwachstellenbericht angegeben ist), zugewiesen ist
    • • alle Bedingungen in dem Pfad sind erfüllt (Unterfunktion ist vorhanden, ein jeweiliges Sanitizerprogramm ist nicht vorhanden, etc.)
  • Jeder Aktionsknoten enthält eine ausführbare Beschreibung der entsprechenden Reaktion auf die Schwachstelle. Im Allgemeinen handelt es sich bei der Beschreibung um eine Sammlung von Shell-Befehlen, z. B. für die Aktualisierung bestimmter Softwarepakete, die Umgestaltung bestimmter Softwarepakete zur Deaktivierung ausgewählter Funktionen, das Schließen von Ports oder die Deaktivierung bestimmter Betriebssystemdienste und -protokolle, das Hinzufügen von Filtern zu vom Benutzer bereitgestellten Eingaben oder das vollständige Ausschalten bestimmter Funktionen.
  • Die Schwachstellenbehebungseinrichtung 201, die das in der oben beschriebenen Weise Regelwerk verarbeitet und ggf. Aktionen ausführt, ist beispielsweise ein spezielles Programm, das das Regelwerk in der oben beschriebenen Weise interpretieren kann (z.B. es entsprechend parsen und analysieren kann) und die in a definierten Aktionen (z.B. Befehle) auf dem Betriebssystem des eingebetteten Geräts ausführen kann.
  • Die dafür erforderliche Funktionalität des Schwachstellenbehebungseinrichtung 201 ist nicht komplex, da jeder Bedingungsknoten im Regelwerk einfach einen logischen Ausdruck bildet, den es auswertet, und jede Aktionen z.B. mit einem exec()-Systemaufruf (oder einem entsprechenden Äquivalent in der entsprechenden Programmiersprache wie Python, Rust, Ruby usw.) ausführen kann.
  • Beispiele für Schwachstellen, die an das eingebettete System gemeldet werden können sind
    1. 1) Schwachstelle im Reifendrucküberwachungssystem (TPMS)
    2. 2) Schwachstelle in Logging-System (z.B. Log4J)
    3. 3) Schwachstelle in der Implementierung des HSM(Hardware Security Module)-Signaturprüfungsalgorithmus
  • Beispiele für zugehörige Bedingungen sind
    1. 1) TPMS ist vorhanden
    2. 2) Log4J wird in der Software der Haupteinheit des Fahrzeugs verwendet
    3. 3) HSM verwendet einen bestimmten Signaturprüfungsalgorithmus in diesem Fahrzeug (der die Schwachstelle hat)
  • Beispiele für zugehörige Aktionen sind
    1. 1) (wenn TPMS vorhanden ist) verdächtige Messwerte ignorieren
    2. 2) (wenn Log4J verwendet wird) die Protokollierung ausschalten
    3. 3) (wenn HSM den bestimmten Signaturverifizierungsalgorithmus verwendet) vorübergehend die Software-Fernaktualisierung deaktivieren (z.B. sind Aktualisierungen nur noch in einer Werkstatt zulässig).
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 4 dargestellt.
  • 4 zeigt ein Ablaufdiagramm 400, das ein Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems gemäß einer Ausführungsform darstellt.
  • In 401 wird ein Schwachstellenreaktionsregelwerk in dem Datenverarbeitungssystem gespeichert, das Reaktionen des Datenverarbeitungssystems angibt, wobei jede Reaktion mit ein oder mehreren Bedingungen und ein oder mehreren Funktionen des Datenverarbeitungssystems verknüpft ist, wobei für jede Bedingung von dem Datenverarbeitungssystem und einer Schwachstelle oder beidem abhängt, ob sie erfüllt ist.
  • In 402 wird eine Notifikation über eine Schwachstelle des Datenverarbeitungssystems, empfangen.
  • In 403 werden aus dem Schwachstellenreaktionsregelwerks eine oder mehrere Reaktionen ermittelt, sodass für jede ermittelte Reaktion die ein oder mehreren Bedingungen, mit denen die ermittelte Reaktion verknüpft ist, für die Schwachstelle und das Datenverarbeitungssystem erfüllt sind und mit zumindest einer Funktion verknüpft ist, auf die sich die Schwachstelle bezieht.
  • In 404 werden die ein oder mehreren ermittelten Reaktionen ausgeführt.
  • Die ein oder mehreren Funktionen können eine Funktion und ein oder mehrere Unterfunktionen davon enthalten, insbesondere eine Kette von Funktionen, wobei, ausgehend von einer Funktion, die nächstfolgende Funktion eine Unterfunktion der vorhergehenden Funktion ist.
  • Das Verfahren von 4 kann durch einen oder mehrere Computer mit einer oder mehreren Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgeführt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgeführt werden.
  • Das Datenverarbeitungssystem ist beispielsweise eine Steuereinrichtung (oder ein Steuersystem) für eine Robotervorrichtung. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein technisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, einen persönlichen Assistenten oder ein Zugangssteuersystem.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung usw. empfangen und verwenden.
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (8)

  1. Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems, aufweisend: Speichern eines Schwachstellenreaktionsregelwerks in dem Datenverarbeitungssystem, das Reaktionen des Datenverarbeitungssystems angibt, wobei jede Reaktion mit ein oder mehreren Bedingungen und ein oder mehreren Funktionen des Datenverarbeitungssystems verknüpft ist, wobei für jede Bedingung von dem Datenverarbeitungssystem und einer Schwachstelle oder beidem abhängt, ob sie erfüllt ist; Empfangen einer Notifikation über eine Schwachstelle des Datenverarbeitungssystems; Ermitteln, aus dem Schwachstellenreaktionsregelwerk von ein oder mehreren Reaktionen, sodass für jede ermittelte Reaktion die ein oder mehreren Bedingungen, mit denen die ermittelte Reaktion verknüpft ist, für die Schwachstelle und das Datenverarbeitungssystem erfüllt sind und mit zumindest einer Funktion verknüpft ist, auf die sich die Schwachstelle bezieht; und Ausführen der ein oder mehreren ermittelten Reaktionen.
  2. Verfahren nach Anspruch 1, wobei jede zumindest mancher der Bedingungen ist, das eine der Bedingung zugeordnete Funktion in dem Datenverarbeitungssystem vorhanden ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Schwachstellenreaktionsregelwerk hierarchisch aufgebaut ist, sodass ausgehend von einer oder mehreren Funktionen des Datenverarbeitungssystems Pfade zu den Reaktionen mit ein oder mehrere Unterfunktionen, wobei jede Unterfunktion eine Unterfunktion der im Pfad vorhergehenden Funktion oder Unterfunktion ist, und mit ein oder mehreren Bedingungen enthalten sind.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei jede zumindest mancher der Bedingungen ist, das für eine der Bedingung zugeordnete Funktion, kein Schutzprogramm vorhanden ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Datenverarbeitungssystem ein eingebettetes System zum Steuern einer Robotervorrichtung ist.
  6. Datenverarbeitungssystem, das eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 5 durchzuführen.
  7. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
  8. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
DE102022205838.0A 2022-06-08 2022-06-08 Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems Pending DE102022205838A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102022205838.0A DE102022205838A1 (de) 2022-06-08 2022-06-08 Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems
US18/326,833 US20230401322A1 (en) 2022-06-08 2023-05-31 Method for remediating vulnerabilities of a data processing system
CN202310673131.5A CN117195218A (zh) 2022-06-08 2023-06-07 用于消除数据处理***的薄弱点的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022205838.0A DE102022205838A1 (de) 2022-06-08 2022-06-08 Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems

Publications (1)

Publication Number Publication Date
DE102022205838A1 true DE102022205838A1 (de) 2023-12-14

Family

ID=88874224

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022205838.0A Pending DE102022205838A1 (de) 2022-06-08 2022-06-08 Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems

Country Status (3)

Country Link
US (1) US20230401322A1 (de)
CN (1) CN117195218A (de)
DE (1) DE102022205838A1 (de)

Also Published As

Publication number Publication date
CN117195218A (zh) 2023-12-08
US20230401322A1 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
EP3278529B1 (de) Angriffserkennungsverfahren, angriffserkennungsvorrichtung und bussystem für ein kraftfahrzeug
DE602006000878T2 (de) Verfahren zur Steuerung eines Ressourcenzugriffs eines Prozesses durch einen Elternprozess
WO2019072840A1 (de) Vorrichtung zur absicherung von diagnosebefehlen an ein steuergerät und entsprechendes kraftfahrzeug
DE102014117971B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE112015007104T5 (de) Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
DE102012207215A1 (de) Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems, vorzugsweise eines Motorsteuersystems eines Kraftfahrzeuges
EP3655876B1 (de) Ein-chip-system, verfahren zum betrieb eines ein-chip-systems und kraftfahrzeug
DE112016004301T5 (de) Vornehmen einer flüchtigen Fehleratomarität von Isolierungstransaktionen in einem nichtflüchtigen Speicher
EP3983897B1 (de) Verfahren zum sicherstellen und aufrechterhalten der funktion eines sicherheitskritischen gesamtsystems
DE102010011652A1 (de) Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen
DE102022205838A1 (de) Verfahren zum Beheben von Schwachstellen eines Datenverarbeitungssystems
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
WO2017167490A1 (de) Reduzieren einer angriffsmöglichkeit auf eine schwachstelle eines gerätes über eine netzwerkzugangsstelle
DE102017209856A1 (de) Recheneinheit und Betriebsverfahren hierfür
DE102014204417A1 (de) Vorrichtung und Verfahren zum Detektieren einer Manipulation an einem Programmcode
DE102018211844A1 (de) Elektronische Anomalieerkennungseinheit zum Einsatz in einem Fahrzeug und Verfahren zum Erkennen einer Anomalie in einer Komponente eines Fahrzeugs
EP1894101A1 (de) Verfahren und vorrichtung zum überwachen eines unerlaubten speicherzugriffs einer rechenvorrichtung, insbesondere in einem kraftfahrzeug
DE102018210733A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
EP3893113B1 (de) Überwachung einer komponente eines steuerungssystems für ein fortbewegungsmittel
WO2024088790A1 (de) Verfahren und system zur umgebungs-abhängigen sicherheitsbezogenen anomalieerkennung für eine containerinstanz
WO2024105073A1 (de) Überwachungssystem zum nachgelagerten prüfen einer systemintegrität
DE102022210020A1 (de) Sicherheitsdatenverarbeitungseinheit für eine Recheneinheit
DE102021212594A1 (de) Verfahren zum Starten einer Speichereinheit einer Recheneinheit
DE102022205918A1 (de) Verfahren zum Durchführen einer Datenverarbeitung
WO2023180069A1 (de) Dynamische integritätsüberwachung einer auf einem gastrechner ausgeführten container-laufzeitumgebung