-
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) Schwachstelle im Reifendrucküberwachungssystem (TPMS)
- 2) Schwachstelle in Logging-System (z.B. Log4J)
- 3) Schwachstelle in der Implementierung des HSM(Hardware Security Module)-Signaturprüfungsalgorithmus
-
Beispiele für zugehörige Bedingungen sind
- 1) TPMS ist vorhanden
- 2) Log4J wird in der Software der Haupteinheit des Fahrzeugs verwendet
- 3) HSM verwendet einen bestimmten Signaturprüfungsalgorithmus in diesem Fahrzeug (der die Schwachstelle hat)
-
Beispiele für zugehörige Aktionen sind
- 1) (wenn TPMS vorhanden ist) verdächtige Messwerte ignorieren
- 2) (wenn Log4J verwendet wird) die Protokollierung ausschalten
- 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.