-
[Technisches Gebiet]
-
Die vorliegende Offenbarung betrifft ein Sicherheitsverfahren und eine Sicherheitsvorrichtung.
-
[Technischer Hintergrund]
-
Nach dem Stand der Technik gibt es Systeme, die Sicherheit in Kommunikationsnetzen, wie etwa Fahrzeug-Bord-Kommunikationsnetzen, vorsehen.
-
Die Patentschrift 1 offenbart eine Vorrichtung, die die Steuerungen eines Fahrzeugs gemäß Einflüssen auf die Steuerungen des Fahrzeugs einschränkt, wenn ein Angriff auf das Fahrzeug erkannt ist.
-
[Liste der Anführungen]
-
[ Patenthiteratur]
-
[Patenschrift 1] Japanische ungeprüfte Patentoffenlegung Nr.
2019-75056
-
[Zusammenfassung der Erfindung]
-
[Technische Aufgabe]
-
Jedoch vermeidet die in der Patentschrift 1 offenbarte Vorrichtung einen Angriff als Notmaßnahme, während der Gebrauch des Fahrzeugs unmöglich sein kann, bis eine dauerhafte Maßnahme, wie etwa eine Verwundbarkeitsanalyse oder die Erstellung eines Sicherheitspatchs, entwickelt ist. Dies bereitet Schwierigkeiten; beispielsweise ist die Fahrt des angegriffenen Fahrzeugs gesperrt, ein Teil der Funktionen kann nicht genutzt werden, und/oder das Fahrzeug sollte in einem Service-Center repariert oder dergleichen werden.
-
Die vorliegende Offenbarung sieht ein Sicherheitsverfahren vor, das eine Maßnahme gegen einen Angriff gegen ein Fahrzeug ergreifen kann, ohne Fahrfunktionen des Fahrzeugs einzuschränken, sogar wenn das Fahrzeug angegriffen wird.
-
[Lösung der Aufgabe]
-
Das Sicherheitsverfahren gemäß einem Aspekt der vorliegenden Offenbarung ermittelt eine elektronische Steuereinheit (ECU), die einen betrügerischen Befehl senden kann, wenn der betrügerische Befehl in einem Fahrzeug-Bord-Kommunikationsnetz erfasst ist; veranlasst die ermittelte ECU, eine Aktualisierung einer durch die ermittelte ECU benutzten Software auszuführen; und untersagt es der ermittelten ECU, eine Aktualisierung der Software auszuführen, nachdem die Aktualisierung der Software durch die ermittelte ECU ausgeführt wurde.
-
Diese umfassenden und speziellen Aspekte können umgesetzt sein mit einem System, einem Verfahren, einer integrierten Schaltung, einem Computerprogramm oder einen nichtflüchtigen Aufzeichnungsmedium, wie etwa einer computerlesbaren CD-ROM, oder mit einer beliebigen Kombination eines Systems, eines Verfahrens, einer integrierten Schaltung, eines Computerprogramms und eines nichtflüchtigen Aufzeichnungsmediums.
-
[Vorteilhafte Wirkungen der Erfindung]
-
Das Sicherheitsverfahren gemäß einem Aspekt der vorliegenden Offenbarung kann eine Maßnahme gegen einen Angriff gegen ein Fahrzeug ergreifen, ohne Fahrfunktionen des Fahrzeugs einzuschränken, sogar wenn das Fahrzeug angegriffen wird.
-
[Kurze Beschreibung der Zeichnung]
-
- 1 ist eine schematische Ansicht des Sicherheitssystems gemäß einer Ausführungsform.
- 2 ist ein Blockdiagramm, das den Aufbau des Fahrzeugs gemäß der Ausführungsform darstellt.
- 3 ist ein Blockdiagramm, das den Aufbau der Sicherheitsvorrichtung gemäß der Ausführungsform darstellt.
- 4 ist ein Ablaufdiagramm, das das Verarbeitungsverfahren zum Sperren der Aktualisierung von Software in dem Sicherheitssystem gemäß der Ausführungsform darstellt.
- 5 ist ein Ablaufdiagramm, das das Verarbeitungsverfahren zum Freigeben der Aktualisierung von Software in dem Sicherheitssystem gemäß der Ausführungsform darstellt.
- 6 ist ein Flussdiagramm, das das Verarbeitungsverfahren der Sicherheitsvorrichtung gemäß der Ausführungsform darstellt.
-
[Beschreibung der Ausführungsform]
-
(Zugrunde liegende Kenntnisse, die die Grundlage der vorliegenden Offenbarung bilden)
-
Wenn ein Angriff (genauer, ein Cyberangriff) in einem Fahrzeugbordnetz eines Fahrzeugs erkannt wird, ist, um die Sicherheit eines Insassen des Fahrzeugs sicherzustellen, wie etwa eines Fahrers, eine sofortige Reaktion als Notmaßnahme erforderlich, um einen durch den Angriff verursachten anomalen Betrieb des Fahrzeugs zu verhindern. Beispiele der sofortigen Reaktion umfassen eine Degeneration, ein Einschränken der Fahrzeugsteuerung oder ein Abschalten der externen Kommunikation.
-
Die Degeneration ist eine Betriebsweise zum Durchführen eines Nothalts des Fahrzeugs an einer sicheren Stelle, wie etwa auf einem Randstreifen, durch eine automatische Steuerung. Das Einschränken der Fahrzeugsteuerung ist eine Betriebsweise zum Einschränken der Steuerung eines Betätigungselements (wie etwa eines Lenkrads, einer Bremse und eines Gaspedals), um durch den Angriff verursachte Einflüsse anomalen Betriebs zu unterdrücken. Das Abschalten der externen Kommunikation ist eine Betriebsweise, die Kommunikation zwischen dem Fahrzeug und einer externen Vorrichtung außerhalb des Fahrzeugs über Wi-Fi- (eingetragene Handelsmarke) oder Mobilfunkkommunikation zu unterbrechen, unter der Annahme irgendeines betrügerischen Fernangriffs gegen die Steuerung des Fahrzeugs von außerhalb des Fahrzeugs.
-
Jedoch blockiert beispielsweise die Degeneration nicht den Angriff selbst. Somit kann ein ähnlicher Angriff wieder empfangen werden, wenn die Fahrt wieder aufgenommen wird. Aus diesem Grund ist zu befürchten, dass das sich das Fahrzeug nach dem Nothalt nicht bewegen kann.
-
Zum Beispiel schränkt das Einschränken der Fahrzeugsteuerung auch die normalen Fahrtsteuerungen ein, und somit ist zu befürchten, dass auch der Fahrer nicht normal fahren kann.
-
Zum Beispiel ist beim Abschalten der externen Kommunikation zu befürchten, dass autonome Fahrfunktionen, die eine externe Kommunikation benötigen, nicht verwendet werden können. In diesem Fall kann ein ähnlicher Angriff wieder empfangen werden, wenn die externe Kommunikation wieder aufgenommen wird.
-
Bei solchen Sofortreaktionen kann der Angriff als Notmaßnahme vermieden werden, während der Gebrauch des Fahrzeugs unmöglich sein kann, bis eine dauerhafte Maßnahme, wie etwa eine Verwundbarkeitsanalyse oder ein Erstellen eines Sicherheitspatchs, entwickelt ist. Dies bereitet Schwierigkeiten; beispielsweise ist die Fahrt des angegriffenen Fahrzeugs gesperrt oder kann ein Teil der Funktionen nicht genutzt werden, und das Fahrzeug sollte in einem Service-Center repariert oder dergleichen werden, wobei ein anderes Fahrzeug zum Transportieren des Fahrzeugs benutzt wird.
-
Somit haben die Erfinder des Vorliegenden ein Sicherheitsverfahren und dergleichen gefunden, das schnell auf einen Angriff gegen das Fahrzeug reagieren kann, sogar wenn es angegriffen wird, ohne die Fahrfunktionen des Fahrzeugs einzuschränken, nachdem der Angriff erkannt wurde.
-
Das Sicherheitsverfahren gemäß einem Aspekt der vorliegenden Offenbarung ermittelt eine elektronische Steuereinheit (ECU), die einen betrügerischen Befehl senden kann, wenn der betrügerische Befehl in einem Fahrzeug-Bord-Kommunikationsnetz erfasst ist; veranlasst die ermittelte ECU, eine Aktualisierung einer durch die ermittelte ECU benutzten Software auszuführen; und untersagt es der ermittelten ECU, eine Aktualisierung der Software auszuführen, nachdem die Aktualisierung der Software durch die ermittelte ECU ausgeführt wurde.
-
Der Angriff, für den eine sofortige Reaktion erforderlich ist, ist beispielsweise ein Angriff, der zu einem anomalen Betrieb des Fahrzeugs führt, indem er einen betrügerischen Steuerbefehl des Controller Area Network (CAN) einschleust. Der Angriff durch ein Einschleusen eines betrügerischen CAN-Steuerbefehls wird durchgeführt durch ein Umschreiben von Software, die durch eine elektronische Steuereinheit (ECU) verwendet wird, wobei die Software das Senden des CAN-Steuerbefehls ermöglicht. Zum Beispiel wird die Software durch eine Fern-Anweisung von außerhalb des Fahrzeugs umgeschrieben, einen betrügerischen CAN-Steuerbefehl zu senden. Zum Beispiel erfolgt eine unautorisierte Verbindung (ein Eindringen) an einem Eingangspunkt, wird die Software betrügerisch umgeschrieben (d.h. übernommen), und wird ein betrügerischer CAN-Steuerbefehl gesendet (d.h. ein Angriff wird ausgeführt). Dann, wenn der betrügerische CAN-Steuerbefehl erkannt ist, wird die ECU ermittelt, die den betrügerischen CAN-Steuerbefehl sendet, und die ECU wird gezwungen, eine Aktualisierung (ein Aktualisieren) der Software auszuführen. Dadurch wird die Software beispielsweise auf einen Zustand vor dem betrügerischen Umschreiben aktualisiert. Weiterhin wird beispielsweise die Aktualisierungsfunktion der ECU, in der die Software aktualisiert ist, zeitweilig gesperrt, bis eine dauerhafte Maßnahme fertiggestellt ist (genauer eine Ausgabe einer Patch-Software gegen Verwundbarkeit vorbereitet ist). Mit anderen Worten, der Software-Umschreibbefehl wird gesperrt. Aus diesem Grund kann sogar, wenn ein Angriff mit einem betrügerischen CAN-Steuerbefehl empfangen wird, eine sofortige Reaktion durchgeführt werden, ohne die Fahrfunktionen einzuschränken. Mit anderen Worten, das Sicherheitsverfahren gemäß einem Aspekt der vorliegenden Offenbarung kann eine Maßnahme gegen einen Angriff gegen das Fahrzeug ergreifen, sogar wenn er empfangen wird, ohne die Fahrfunktionen des Fahrzeugs einzuschränken. Dadurch kann der Fahrer beispielsweise das angegriffene Fahrzeug zum Verlassen nach Hause fahren oder kann das angegriffene Fahrzeug zu einem Service-Center zum Beseitigen der Schwierigkeiten fahren.
-
Darüber hinaus sind beispielsweise Informationen, die beim Aktualisieren der Software verwendet werden, in einem Speicher gespeichert, der in einem Fahrzeug enthalten ist, wo die ermittelte ECU enthalten ist.
-
Dadurch kann das Aktualisieren der Software ausgeführt werden, ohne mit einem außerhalb des Fahrzeugs befindlichen Server zu kommunizieren.
-
Darüber hinaus enthält das Verfahren zum Ausführen der Aktualisierung der Software ein Veranlassen der ermittelten ECU, ein Rollback der Software auszuführen.
-
Dadurch kann die Software unmittelbar zu einem Zustand vor dem Angriff aktualisiert (geändert) werden, ohne eine Aktualisierungssoftware zu erstellen, wie etwa einen Sicherheitspatch gegen betrügerische Befehle.
-
Darüber hinaus wird beispielsweise, wenn, nachdem es der ermittelten ECU untersagt wurde, eine Aktualisierung der Software auszuführen, Informationen erhalten werden, die angeben, dass eine Maßnahme gegen den betrügerischen Befehl entwickelt worden ist, die ermittelte ECU befähigt, eine Aktualisierung der Software auszuführen.
-
Dadurch kann, wenn eine Maßnahme gegen ähnliche Angriffe wie der Angriff, der das Senden des betrügerischen Befehls verursacht, fertiggestellt ist, wenn beispielsweise ein Sicherheitspatch, wo eine Maßnahme gegen den betrügerischen Befehl, entwickelt ist, erstellt ist, nach Bedarf eine Aktualisierung der Software ausgeführt werden.
-
Darüber hinaus enthält die Sicherheitsvorrichtung gemäß einem Aspekt der vorliegenden Offenbarung eine Sicherheitsvorrichtung, die einen Ermittler enthält, der eine elektronische Steuereinheit (ECU) ermittelt, die einen betrügerischen Befehl senden kann, wenn der betrügerische Befehl in einem Fahrzeug-Bord-Kommunikationsnetz erfasst ist; einen Aktualisierungsanweiser, der die ermittelte ECU veranlasst, eine Aktualisierung einer durch die ermittelte ECU benutzten Software auszuführen; und einen Aktualisierungsuntersagungsanweiser, der es der ermittelten ECU untersagt, eine Aktualisierung der Software auszuführen, nachdem die Aktualisierung der Software durch die ermittelte ECU ausgeführt wurde.
-
Dadurch werden dieselben Wirkungen erlangt wie diejenigen des Sicherheitsverfahrens gemäß einem Aspekt gemäß der vorliegenden Offenbarung.
-
Diese umfassenden und speziellen Aspekte können umgesetzt sein mit einem System, einem Verfahren, einer integrierten Schaltung, einem Computerprogramm oder einen nichtflüchtigen Aufzeichnungsmedium, wie etwa einer computerlesbaren CD-ROM, oder mit einer beliebigen Kombination eines Systems, eines Verfahrens, einer integrierten Schaltung, eines Computerprogramms und eines nichtflüchtigen Aufzeichnungsmediums.
-
Nachstehend ist eine Ausführungsform gemäß der vorliegenden Offenbarung mit Bezugnahme auf die Zeichnung genau beschrieben.
-
Es ist anzumerken, dass alle nachstehend beschriebenen Ausführungsformen ein spezifisches Beispiel der vorliegenden Offenbarung darstellen. Zahlenwerte, Formen, Materialien, Bestandteile, Anordnungspositionen von Bestandteilen, ihre Verbindungsarten, Schritte, Reihenfolge von Schritten und dergleichen, die in den nachstehenden Ausführungsformen gezeigt sind, sind beispielhaft und sollten daher nicht als Einschränkungen der vorliegende Offenbarung ausgelegt werden. Darüber hinaus sind unter den Bestandteilen der nachstehenden Ausführungsformen die Bestandteile, die in einem unabhängigen Anspruch nicht beschrieben sind, als wahlweise Bestandteile beschrieben.
-
[Ausführungsform 1]
-
[Aufbau]
-
1 ist eine schematische Ansicht des Sicherheitssystems 1, das einem Fahrzeug gemäß einer Ausführungsform Informationen vorsieht.
-
Das Sicherheitssystem 1 ist ein Fahrzeug-Bord-Kommunikationsnetzsystem, enthaltend eine Sicherheitsvorrichtung 100, ein Fahrzeug 200, einen Überwachungsserver 300 und einen OTA-Server (Over The Air) 400, die kommunikationsfähig miteinander über ein Netzwerk 500, wie etwa das Internet, verbunden sind.
-
Die Sicherheitsvorrichtung 100 ist eine Vorrichtung zum Überwachen des Zustands des Fahrzeugs 200. Die Sicherheitsvorrichtung 100 ist kommunikationsfähig mit dem Überwachungsserver 300 verbunden.
-
Die Sicherheitsvorrichtung 100 erlangt Informationen (auch als Erfassungsinformationen bezeichnet) bezüglich eines durch das Fahrzeug 200 erkannten Angriffs (genauer, eines Cyberangriffs) gegen das Fahrzeug 200 und überwacht den Zustand des Fahrzeugs 200 auf Grundlage der erlangten Erfassungsinformationen. Genauer schaltet die Sicherheitsvorrichtung 100 das Freigeben/Sperren einer Aktualisierung von Software, die von jeder der ECUs 220 (siehe 2) benutzt wird, die im Fahrzeug 200 enthalten sind, auf Grundlage der erlangten Erfassungsinformationen.
-
Zum Beispiel ist die Sicherheitsvorrichtung 100 ein Computer, ausgeführt mit einer Telematik-Steuereinheit (TCU), enthaltend ein Mobilfunkmodul, das Standards eines Kommunikationsnetzes für sich bewegende Körper zum Kommunizieren mit dem Überwachungsserver 300 unterstützt, einer Kommunikationsschnittstelle zum Kommunizieren mit einem Anomaliedetektor 210 und einem Softwareaktualisierer 230, einem nichtflüchtigen Speicher, der Programme speichert, einem flüchtigen Speicher als temporärem Speicherbereich zum Ausführen von Programmen, Ein-/Ausgabeanschlüssen zum Senden und Empfangen von Signalen und einem Prozessor, der Programme ausführt.
-
Die in der Sicherheitsvorrichtung 100 enthaltene Kommunikationsschnittstelle kann eine Schnittstelle zu einem drahtgebundenen Local Area Network (LAN) sein oder kann eine Schnittstelle zu einem drahtlosen LAN sein. Die in der Sicherheitsvorrichtung 100 enthaltene Kommunikationsschnittstelle ist nicht auf die LAN-Schnittstelle beschränkt und kann eine beliebige Kommunikationsschnittstelle sein, solange sie eine Kommunikationsverbindung mit dem Kommunikationsnetz herstellen kann.
-
Alternativ kann die Sicherheitsvorrichtung 100 mit der TCU und der ECU umgesetzt sein, die in dem Fahrzeug 200 enthalten sind, indem sie der TCU und der ECU zusätzlich zu ihren ursprünglichen Funktionen die Funktion der Sicherheitsvorrichtung 100 erteilt.
-
Das Fahrzeug 200 enthält die Sicherheitsvorrichtung 100 und empfängt Erfassungsinformationen. Das Fahrzeug 200 ist ein beliebiges Fahrzeug, wie etwa ein zwei- oder vierrädriges. In der vorliegenden Ausführungsform ist das Fahrzeug 200 ein autonomes Fahrzeug mit autonomen Fahrfunktionen.
-
Zum Beispiel enthält das Fahrzeug 200 eine TCU und ECUs 220 als Hardwareaufbau, und jede der ECUs 220 ist ein Computer, ausgeführt mit einem nichtflüchtigen Speicher, der Programme speichert, einem flüchtigen Speicher als temporärem Speicherbereich zum Ausführen von Programmen, Ein-/Ausgabeanschlüssen zum Senden und Empfangen von CAN-Steuerbefehlssignalen zu und von der TCU und anderen ECUs und einem Prozessor, der Programme ausführt. Die ECUs 220 sind an ein Fahrzeug-Bord-Kommunikationsnetz, wie etwa ein CAN, über die Ein-/Ausgabeanschlüsse angeschlossen, um über das Fahrzeug-Bord-Kommunikationsnetz kommunikationsfähig zu sein.
-
Das Fahrzeug 200 braucht kein autonomes Fahrzeug zu sein.
-
Der Überwachungsserver 300 ist ein Computer zum Kommunizieren mit der Sicherheitsvorrichtung 100 und zum Überwachen des Zustands des Fahrzeugs 200. Zum Beispiel ist der Überwachungsserver 300 ein Server, verwendet in einem Überwachungszentrum, wie etwa einem Security Operations Center (SOC). Der Überwachungsserver 300 ist kommunikationsfähig mit der Sicherheitsvorrichtung 100 verbunden. Der Überwachungsserver 300 ist ausgeführt mit einer Kommunikationsschnittstelle zum Kommunizieren mit der Sicherheitsvorrichtung 100, einem nichtflüchtigen Speicher, der Programme speichert, einem flüchtigen Speicher als temporärem Speicherbereich zum Ausführen von Programmen, Ein-/Ausgabeanschlüssen zum Senden und Empfangen von Signalen und einem Prozessor, der Programme ausführt.
-
Der OTA-Server 400 ist ein Server Over-The-Air (OTA-Server), der Software speichert, die durch jede der in dem Fahrzeug 200 enthaltenen ECUs 220 verwendet wird. Der OTA-Server 400 ist kommunikationsfähig mit dem Fahrzeug 200 verbunden (genauer, mit dem in dem Fahrzeug 200 enthaltenen Softwareaktualisierer 230 [siehe 2]).
-
Zum Beispiel ist der OTA-Server 400 ausgeführt mit einer Kommunikationsschnittstelle zum Kommunizieren mit dem Fahrzeug 200, einem nichtflüchtigen Speicher, der Programme speichert, einem flüchtigen Speicher als temporärem Speicherbereich zum Ausführen von Programmen, Ein-/Ausgabeanschlüssen zum Senden und Empfangen von Signalen und einem Prozessor, der Programme ausführt.
-
2 ist ein Blockdiagramm, das den Aufbau des Fahrzeugs 200 gemäß der Ausführungsform darstellt. In 2 ist das Netzwerk 500 nicht dargestellt.
-
Das Fahrzeug 200 enthält den Anomaliedetektor 210, ECUs 220, den Softwareaktualisierer 230 und den Speicher 240. In der vorliegenden Ausführungsform enthält das Fahrzeug 200 die Sicherheitsvorrichtung 100.
-
Zum Beispiel ist der Anomaliedetektor 210 ein netzwerkbasiertes Angriffserkennungssystem (NIDS) und ist ein Prozessor, der kommunikationsfähig mit jeder der ECUs 220 über einen Bus (den Bus A oder B in der vorliegenden Ausführungsform) verbunden und überwacht Daten, die durch den angeschlossenen Bus fließen. Genauer erkennt der Anomaliedetektor 210 einen Angriff gegen das Fahrzeug 200 (genauer, die ECU 220) durch ein Überwachen von Daten, die durch den an die ECU 220 angeschlossenen Bus fließen. Der Anomaliedetektor 210 ist kommunikationsfähig mit der Sicherheitsvorrichtung 100 verbunden und sendet Erfassungsinformationen, die das Ergebnis der Erkennung des Angriffs angeben (ein Anomalieerfassungsprotokoll), an die Sicherheitsvorrichtung 100.
-
Zum Beispiel ist der Anomaliedetektor 210 bei einer ECU umgesetzt.
-
Die ECUs 220 sind jeweils in dem Fahrzeug 200 enthalten und sind über ein Fahrzeug-Bord-Kommunikationsnetz (genauer, den an jede ECU angeschlossenen Bus) kommunikationsfähig. Die ECUs 220 führen beispielsweise die Steuerung von in dem Fahrzeug 200 enthaltenen Vorrichtungen aus. Beispiele der Vorrichtungen umfassen einen Verbrennungsmotor, einen Elektromotor, Instrumente, ein Getriebe, eine Bremse, ein Lenkrad, einen Fensterheber und eine Klimaanlage. Mindestens eine der ECUs 220 ist beispielsweise eine Steuerschaltung, die den Fahrzeugbetrieb gemäß dem autonomen Fahren des Fahrzeugs 200 steuert. Zum Beispiel sind die ECUs 220 entsprechend diesen verschiedenen Vorrichtungen angeordnet. Die ECUs 220 enthalten jeweils einen Speicher (einen nichtflüchtigen Speicherbereich) (nicht dargestellt), der ein durch jede ECU 220 ausgeführtes Programm (Software) speichert. Beispielsweise ist der Speicher ein nichtflüchtiger Speicher.
-
Die ECUs 220 senden Befehle zum Steuern der entsprechenden Vorrichtungen. Der Befehl ist ein Befehl beispielsweise gemäß einem Kommunikationsprotokoll eines Controller Area Network (CAN) oder dergleichen (auch als CAN-Steuerbefehl bezeichnet).
-
Durch ein Überwachen des durch den Bus fließenden Befehls bestimmt der Anomaliedetektor 210, ob ECUs 220 angegriffen sind, genauer, ob die durch jede der ECUs 220 benutzte Software unerwünscht modifiziert ist.
-
Die Anzahl von ECUs 220 und die Anzahl von an die ECUs 220 angeschlossenen Bussen sind nicht besonders eingeschränkt.
-
Der Softwareaktualisierer 230 ist ein Prozessor, der eine Aktualisierung von durch jede der ECUs 220 benutzter Software ausführt. Genauer ist der Softwareaktualisierer 230 beispielsweise kommunikationsfähig mit dem OTA-Server 400 verbunden, erlangt die neueste Software vom OTA-Server 400 und veranlasst die erlangte Software, eine Aktualisierung der durch jede der ECUs 220 benutzten Software auszuführen. Zum Beispiel veranlasst der Softwareaktualisierer 230, dass die erlangte neueste Software (das heißt, ein Backup der bereits installierten Software und eine beim weiter unten beschriebenen Rollback verwendete Aktualisierungssoftware) im Speicher 240 gespeichert wird.
-
Zum Beispiel ist der Softwareaktualisierer 230 bei einer TCU und einer ECU ausgeführt.
-
Der Speicher 240 ist eine Speichervorrichtung, die im Fahrzeug 200 enthalten ist und die durch jede der ECUs 220 benutzte Software speichert. Zum Beispiel ist der Speicher 240 mit einem Festplattenlaufwerk (HDD) oder einem Halbleiterlaufwerk (SSD) umgesetzt. Darüber hinaus speichert der Speicher 240 beispielsweise beim Aktualisieren der Software benutzte Informationen. Zum Beispiel kann der Speicher 240 als die beim Aktualisieren der Software benutzten Informationen Aktualisierungssoftware (das heißt, durch das Rollback benutzte Rollback-Software), die bei dem weiter unten beschriebenen Rollback benutzt wird, oder Aktualisierungssoftware speichern, wie etwa beliebige beim Aktualisieren benutzte Software.
-
Der Speicher 240 kann einen Nur-Lese-Speicher (ROM) und/oder einen Direktzugriffsspeicher (RAM), der unbeschreibbar ist, sofern nicht die Legitimität durch eine Authentifizierung verifiziert ist, enthalten. Die Aktualisierungssoftware, wie etwa eine Rollback-Software, kann im ROM und/oder im RAM gespeichert sein.
-
Dadurch kann ein betrügerisches Umschreiben der Aktualisierungssoftware unterdrückt sein.
-
3 ist ein Blockdiagramm, das den Aufbau der Sicherheitsvorrichtung 100 gemäß der Ausführungsform darstellt.
-
Die Sicherheitsvorrichtung 100 enthält eine Steuerung 110, einen Anomalieerfassungsprotokollempfänger 120, einen Ermittler 130 betrügerischer ECUs, einen Softwareaktualisierungsanweiser 140, einen Softwareaktualisierungssperrer 150, einen Maßnahmenfertigstellungsmeldungsempfänger 160, einen Softwareaktualisierungsentsperrer 170 und einen Speicher 180.
-
Die Steuerung 110 ist ein Prozessor, der in der Sicherheitsvorrichtung 100 enthaltene Vorrichtungen steuert. Zum Beispiel steuert die Steuerung 110 den Anomalieerfassungsprotokollempfänger 120, den Ermittler 130 betrügerischer ECUs, den Softwareaktualisierungsanweiser 140, den Softwareaktualisierungssperrer 150, den Maßnahmenfertigstellungsmeldungsempfänger 160 und den Softwareaktualisierungsentsperrer 170 und veranlasst sie, die Verarbeitungen auszuführen.
-
Der Anomalieerfassungsprotokollempfänger 120 empfängt Informationen (auch als Anomalieerfassungsprotokoll bezeichnet) vom Anomaliedetektor 210, wobei die Informationen angeben, dass ein Anomaliebefehl (im Folgenden auch als betrügerischer CAN-Steuerbefehl bezeichnet) durch den Bus im Fahrzeug-Bord-Kommunikationsnetz fließt. Der betrügerische CAN-Steuerbefehl ist ein Beispiel des betrügerischen Befehls. Das Anomalieerfassungsprotokoll enthält den Inhalt des erkannten betrügerischen Befehls und Informationen, die beispielsweise den Bus angeben, durch den der betrügerische CAN-Steuerbefehl fließt, unter den Bussen, die das Fahrzeug-Bord-Kommunikationsnetz bilden. Wenn der Anomaliedetektor 210 die ECU 220 bestimmen kann, die den betrügerischen CAN-Steuerbefehl sendet, kann das Anomalieerfassungsprotokoll Informationen enthalten, die die ECU 220 angeben, die den betrügerischen CAN-Steuerbefehl sendet.
-
Der Ermittler 130 betrügerischer ECUs ist ein Prozessor, der die ECU 220 ermittelt, die einen betrügerischen CAN-Steuerbefehl senden kann, wenn der betrügerische CAN-Steuerbefehl im Fahrzeug-Bord-Kommunikationsnetz erkannt ist. Zum Beispiel ermittelt der Ermittler 130 betrügerischer ECUs die ECU 220, die den betrügerischen CAN-Steuerbefehl senden kann, auf Grundlage des durch den Anomalieerfassungsprotokollempfänger 120 empfangenen Anomalieerfassungsprotokolls.
-
Die ECU 220, die den betrügerischen CAN-Steuerbefehl senden kann, ist beispielsweise eine ECU 220, die an den Bus angeschlossen ist, durch den der betrügerische CAN-Steuerbefehl fließt. Wenn beispielsweise der Anomaliedetektor 210 den betrügerischen CAN-Steuerbefehl, der durch den Bus A unter den in 2 dargestellten Bussen A und B fließt, unter fünf zumindest an einen aus den Bussen A und B angeschlossenen ECUs 220 erkennt, kann der Ermittler 130 betrügerischer ECUs drei an den Bus A angeschlossene ECUs 220 als ECUs 220 bestimmen, die den betrügerischen CAN-Steuerbefehl senden können.
-
In einigen Fällen ist es auf einer Hardwareebene so aufgebaut, dass jede ECU nur bestimmte Befehle abhängig vom Inhalt des Befehls senden kann (z.B. Sendefilterung). In einem solchen Fall ermittelt der Ermittler 130 betrügerischer ECUs die ECU 220, die den betrügerischen CAN-Steuerbefehl senden kann, auf Grundlage des Inhalts des betrügerischen CAN-Steuerbefehls. Informationen hinsichtlich der Befehle, die durch jede ECU 220 gesendet werden können, können vorab beispielsweise im Speicher 180 gespeichert sein.
-
Die Anzahl von durch den Ermittler 130 betrügerischer ECUs ermittelten ECUs 220 ist nicht besonders eingeschränkt.
-
Der Softwareaktualisierungsanweiser 140 veranlasst die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software auszuführen. Genauer sendet der Softwareaktualisierungsanweiser 140 eine Anweisung an den Softwareaktualisierer 230, eine Aktualisierung der Software auszuführen, die durch die ECU 220 benutzt wird, die durch den Ermittler 130 betrügerischer ECUs ermittelt ist (genauer, eine Information, die eine Anweisung angibt). Wenn beispielsweise der Softwareaktualisierer 230 die Anweisung vom Softwareaktualisierungsanweiser 140 empfängt, veranlasst der Softwareaktualisierer 230 die ermittelte ECU 220, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software gemäß der Anweisung auszuführen. Genauer sendet der Softwareaktualisierungsanweiser 140 bei der Verarbeitung zum Ausführen der Aktualisierung der Software eine Anweisung an den Softwareaktualisierer 230, die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220 zu veranlassen, ein Rollback der Software auszuführen. Darüber hinaus, wenn beispielsweise der Softwareaktualisierer 230 die Anweisung vom Softwareaktualisierungsanweiser 140 empfängt, veranlasst der Softwareaktualisierer 230 unter Verwendung der vom OTA-Server 400 oder vom Speicher 240 erlangten Aktualisierungssoftware die ermittelte ECU 220, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software auszuführen. Wenn beispielsweise der Softwareaktualisierer 230 die Anweisung empfängt, die ermittelte ECU 220 zu veranlassen, eine Aktualisierung der Software auszuführen, veranlasst der Softwareaktualisierer 230 die ermittelte ECU 220, eine Aktualisierung der verwendeten Software auszuführen, um beispielsweise die verwendete Software in die Aktualisierungssoftware zu ändern oder ein Rollback der Software auszuführen.
-
Nachdem der Softwareaktualisierungsanweiser 140 die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220 angewiesen und veranlasst hat, eine Aktualisierung der durch die ECU 220 benutzten Software auszuführen, untersagt der Softwareaktualisierungssperrer 150 die Ausführung einer Aktualisierung der Software durch die ermittelte ECU 220. Genauer ist der Softwareaktualisierungssperrer 150 ein Prozessor, der eine Anweisung an den Softwareaktualisierer 230 sendet, eine Ausführung der Aktualisierung der Software zu untersagen, die durch die ECU 220, die durch den Ermittler 130 betrügerischer ECUs ermittelt ist, benutzt wird, das heißt, eine Anweisung, eine Aktualisierung der Software zu sperren. Wenn der Softwareaktualisierer 230 die Anweisung empfängt, eine Aktualisierung der Software zu sperren, sendet der Softwareaktualisierer 230 die Anweisung, eine Aktualisierung der benutzten Software zu sperren, an die ermittelte ECU 220. Wenn die ermittelte ECU 220 die Anweisung erlangt, eine Aktualisierung der benutzten Software zu sperren, führt sie keine Aktualisierung der Software aus, bis sie eine Anweisung erlangt, die Aktualisierung der Software freizugeben, sogar, wenn sie einen Befehl zum Anweisen einer Aktualisierung der Software erlangt.
-
Zum Beispiel wird eine solche Anweisung zum Sperren einer Aktualisierung der Software ausgeführt, nachdem der Softwareaktualisierer 230 und die ECU 220 unter Verwendung eines vorgegebenen Authentifizierungsverfahrens verifiziert haben, ob sie eine korrekte Anweisung ist. Bei dem vorgegebenen Authentifizierungsverfahren authentifiziert der Softwareaktualisierer 230 oder die ECU 220 beispielsweise gemäß einem Authentifizierungsschlüsselaustauschprotokoll (AKE-Protokoll) unter Verwendung eines Codes mit privatem Schlüssel oder eines Codes mit öffentlichem Schlüssel den Softwareaktualisierungssperrer 150 oder den Softwareaktualisierer 230, der die Anweisung sendet, die Aktualisierung der Software zu sperren, und teilt einen temporären Schlüssel. Unter Verwendung des geteilten temporären Schlüssels verschlüsselt der authentifizierte Softwareaktualisierungssperrer 150 oder Softwareaktualisierer 230 dann einen Befehl, eine Sperrung der Softwareaktualisierung anzuweisen und sendet den Befehl zum Softwareaktualisierer 230 oder zur ECU 220. Wenn er/sie den Befehl empfängt, entschlüsselt der Softwareaktualisierer 230 oder die ECU 220 den verschlüsselten Befehl und sperrt die Softwareaktualisierung nur, wenn ein korrekter Befehl entschlüsselt ist.
-
Das Obige ist ein Beispiel des Authentifizierungsverfahrens, und das vorgegebene Authentifizierungsverfahren ist nicht auf dieses Verfahren beschränkt. Zum Beispiel kann anhand dessen, ob eine Sperranweisung eine von der Sicherheitsvorrichtung 100 gesendete Anweisung ist, bestimmt werden, ob die Anweisung eine korrekte Anweisung ist.
-
Der Maßnahmenfertigstellungsmeldungsempfänger 160 ist ein Prozessor, der Informationen von dem Überwachungsserver 300 empfängt, wobei die Informationen angeben, dass eine Maßnahme, einen betrügerischen CAN-Steuerbefehl nicht zu senden, für die Software entwickelt ist, die durch die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220 benutzt wird.
-
Der Softwareaktualisierungsentsperrer 170 ist ein Prozessor, der eine Anweisung an den Softwareaktualisierer 230 sendet, eine Aktualisierung der durch die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220 benutzten Software zuzulassen, das heißt, eine Anweisung, eine Aktualisierung der Software freizugeben.
-
Wenn beispielsweise die Informationen erlangt sind, die angeben, dass eine Maßnahme gegen einen betrügerischen CAN-Steuerbefehl entwickelt ist, sendet der Softwareaktualisierungsentsperrer 170 eine Anweisung an den Softwareaktualisierer 230, die Ausführung einer Aktualisierung der Software durch die ermittelte ECU 220 freizugeben. Wenn der Softwareaktualisierer 230 die Anweisung empfängt, eine Aktualisierung der Software freizugeben, sendet der Softwareaktualisierer 230 eine Anweisung, eine Aktualisierung der benutzten Software freizugeben, an die ermittelte ECU 220. Wenn die ermittelte ECU 220 die Anweisung erlangt, eine Aktualisierung der benutzten Software freizugeben, wenn die ECU 220 beispielsweise einen Befehl erlangt, eine Aktualisierung der Software anzuweisen, ändert die ermittelte ECU 220 die Verarbeitung, um die Aktualisierung der Software auszuführen.
-
Zum Beispiel wird eine solche Anweisung zum Freigeben einer Aktualisierung der Software ausgeführt, nachdem der Softwareaktualisierer 230 und die ECU 220 unter Verwendung eines vorgegebenen Authentifizierungsverfahrens verifiziert haben, ob sie eine korrekte Anweisung ist.
-
Das vorgegebene Authentifizierungsverfahren ist nicht besonders eingeschränkt. Zum Beispiel kann das vorgegebene Authentifizierungsverfahren ein Verfahren auf Grundlage des oben beschriebenen Authentifizierungsschlüsselaustauschprotokolls (AKE-Protokolls) unter Verwendung eines Codes mit privatem Schlüssel sein, oder es kann bestimmt werden, ob die Entsperranweisung eine korrekte Anweisung ist, anhand dessen, ob die Anweisung von der Sicherheitsvorrichtung 100 gesendet ist.
-
Das Authentifizierungsverfahren für die Entsperranweisung und dasjenige für die Sperranweisung können dasselbe oder verschieden sein.
-
Die Informationen, die angeben, dass eine Maßnahme gegen einen betrügerischen CAN-Steuerbefehl entwickelt worden ist, können Informationen sein, die angeben, dass die Aktualisierungssoftware, in der eine Maßnahme gegen den betrügerischen CAN-Steuerbefehl entwickelt wurde (auch bezeichnet als Aktualisierungssoftware, in der eine Maßnahme entwickelt wurde, oder als Sicherheitspatch) erstellt wurde, nachdem der Softwareaktualisierungssperrer 150 die Ausführung der Aktualisierung der Software durch die durch den Ermittler 130 betrügerischer ECUs ermittelte ECU 220 untersagt hat, oder können die Aktualisierungssoftware selbst sein, in der eine Maßnahme entwickelt ist, und sind nicht besonders eingeschränkt.
-
Wenn der Softwareaktualisierer 230 die Aktualisierungssoftware, in der eine Maßnahme gegen den betrügerischen CAN-Steuerbefehl entwickelt wurde (auch bezeichnet als Aktualisierungssoftware, in der eine Maßnahme entwickelt wurde, oder als Sicherheitspatch), beispielsweise vom OTA-Server 400 oder dergleichen erlangt, sendet der Softwareaktualisierer 230 eine Anweisung an die ermittelte ECU 220, wobei die Anweisung besagt, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software unter Verwendung der Aktualisierungssoftware auszuführen, in der eine Maßnahme entwickelt wurde.
-
Ob der Softwareaktualisierer 230 die Aktualisierungssoftware, in der eine Maßnahme gegen den betrügerischen CAN-Steuerbefehl entwickelt wurde, vom OTA-Server 400 oder dergleichen erlangt, kann beispielsweise auf Grundlage dessen bestimmt werden, ob der Maßnahmenfertigstellungsmeldungsempfänger 160 Informationen, die angeben, dass die Maßnahme gegen ein Senden des betrügerischen CAN-Steuerbefehls fertiggestellt ist (auch als Maßnahmenfertigstellungsmeldung bezeichnet), vom Überwachungsserver 300 oder dergleichen empfängt. Wenn beispielsweise die Steuerung 110 die Maßnahmenfertigstellungsmeldung über den Maßnahmenfertigstellungsmeldungsempfänger 160 vom Überwachungsserver 300 empfängt, kann die Steuerung 110 bestimmen, dass der Softwareaktualisierer 230 die Aktualisierungssoftware für den betrügerischen CAN-Steuerbefehl vom OTA-Server 400 oder dergleichen erlangt, und kann den Softwareaktualisierer 230 veranlassen, an den Softwareaktualisierungsentsperrer 170 eine Anweisung zu senden, die Ausführung der Aktualisierung der Software durch die ermittelte ECU 220 freizugeben. Weiterhin kann in diesem Fall die Steuerung 110 den Softwareaktualisierer 230 veranlassen, an den Softwareaktualisierungsanweiser 140 eine Anweisung zu senden, die Aktualisierung der Software durch die ermittelte ECU 220 unter Verwendung der Aktualisierungssoftware auszuführen, in der eine Maßnahme entwickelt wurde.
-
Die Prozessoren, wie etwa die Steuerung 110 und der Ermittler 130 betrügerischer ECUs, und die in dem Anomalieerfassungsprotokollempfänger 120, im Softwareaktualisierungsanweiser 140, im Softwareaktualisierungssperrer 150, im Maßnahmenfertigstellungsmeldungsempfänger 160 und im Softwareaktualisierungsentsperrer 170 enthaltenen Prozessoren sind mit einem Prozessor und einem Speicher umgesetzt, der durch den Prozessor ausgeführte Steuerprogramme speichert. Darüber hinaus enthalten der Anomalieerfassungsprotokollempfänger 120, der Softwareaktualisierungsanweiser 140, der Softwareaktualisierungssperrer 150, der Maßnahmenfertigstellungsmeldungsempfänger 160 und der Softwareaktualisierungsentsperrer 170 jeweils einen Kommunikator zum Senden und Empfangen von Informationen, wie etwa eine Kommunikationsschnittstelle. Die Kommunikatoren, die im Anomalieerfassungsprotokollempfänger 120, im Softwareaktualisierungsanweiser 140, im Softwareaktualisierungssperrer 150, im Maßnahmenfertigstellungsmeldungsempfänger 160 und im Softwareaktualisierungsentsperrer 170 enthalten sind, können mit derselben Kommunikationsschnittstelle ausgeführt sein oder können mit verschiedenen Kommunikationsschnittstellen ausgeführt sein.
-
Der Speicher 180 ist eine Speichervorrichtung, die Informationselemente speichert, die sie vom Anomaliedetektor 210 und vom Überwachungsserver 300 empfangen hat. Der Speicher 180 ist mit einer HDD oder einer SSD umgesetzt. Der Speicher 180 kann Informationen speichern, die bei der Aktualisierung der Software benutzt werden, die durch die ECU 220 benutzt wird, die durch den Ermittler 130 betrügerischer ECUs ermittelt ist (wie etwa Aktualisierungssoftware). Zum Beispiel kann der Softwareaktualisierungsanweiser 140 die im Speicher 180 gespeicherte Aktualisierungssoftware zum Softwareaktualisierer 230 zusätzlich zu der Anweisung senden, eine Aktualisierung der Software auszuführen. Der Softwareaktualisierer 230 kann die ermittelte ECU 220 veranlassen, eine Aktualisierung der Software unter Verwendung der von der Sicherheitsvorrichtung 100 erlangten Aktualisierungssoftware auszuführen.
-
Der Speicher 180 kann ein ROM und/oder ein RAM, das unbeschreibbar ist, sofern nicht die Legitimität durch eine Authentifizierung verifiziert ist, enthalten. Die Aktualisierungssoftware, wie etwa die Rollback-Software, kann in einem ROM und/oder in einem RAM gespeichert sein.
-
Dadurch kann ein betrügerisches Umschreiben der Aktualisierungssoftware unterdrückt sein.
-
[Verarbeitungsverfahren]
-
Im Folgenden sind die Verarbeitungsverfahren des Sicherheitssystems 1 und der Sicherheitsvorrichtung 100 beschrieben.
-
4 ist ein Ablaufdiagramm, das ein Verarbeitungsverfahren zum Sperren der Aktualisierung der Software in dem Sicherheitssystem 1 gemäß der Ausführungsform darstellt. Die in 4 dargestellte Objekt-ECU 221 ist eine ECU 220, die eine der in dem Fahrzeug 200 enthaltenen ECUs 220 ist, und die durch die Sicherheitsvorrichtung 100 ermittelt ist, dass sie den betrügerischen CAN-Steuerbefehl senden kann. 4 stellt eine Objekt-ECU 221 dar, obwohl eine Vielzahl von ECUs 221 enthalten sein kann.
-
Als Erstes überwacht der Anomaliedetektor 210 Befehle im Fahrzeug-Bord-Kommunikationsnetz des Fahrzeugs 200. Wenn der Anomaliedetektor 210 eine Anomalie erkennt, das heißt, einen in dem Fahrzeug-Bord-Kommunikationsnetz fließenden betrügerischen CAN-Steuerbefehl erkennt (S110), sendet der Anomaliedetektor 210 ein Anomalieerfassungsprotokoll an die Sicherheitsvorrichtung 100.
-
Als Nächstes ermittelt die Sicherheitsvorrichtung 100 auf Grundlage des Anomalieerfassungsprotokolls eine Objekt-ECU 221, die eine ECU 220 unter den im Fahrzeug 200 enthaltenen ECUs 220 ist, die den betrügerischen CAN-Steuerbefehl senden kann (S120).
-
Als Nächstes sendet die Sicherheitsvorrichtung 100 eine Anweisung an den Softwareaktualisierer 230, eine Aktualisierung der Software auszuführen, die durch die Objekt-ECU 221 benutzt wird (eine Anweisung zum Aktualisieren), zusätzlich zu den Informationen, die die Objekt-ECU 221 angeben (wie etwa die Kennung der Objekt-ECU 221, wobei eine Kennung einzigartig für jede ECU 220 bestimmt ist) (S130).
-
Als Nächstes erlangt der Softwareaktualisierer 230 die Aktualisierungssoftware vom OTA-Server 400 oder dergleichen (S140). Der Softwareaktualisierer 230 kann die Aktualisierungssoftware vom Speicher 240 oder der Sicherheitsvorrichtung 100 erlangen.
-
Als Nächstes führt der Softwareaktualisierer 230 einen Schreibvorgang zum Umschreiben der durch die Objekt-ECU 221 benutzten Software auf die erlangte Aktualisierungssoftware durch (S150). Zum Beispiel veranlasst der Softwareaktualisierer 230 durch ein Senden der erlangten Aktualisierungssoftware zur Objekt-ECU 221 die Objekt-ECU 221, die durch die Objekt-ECU 221 benutzte Software mit der Aktualisierungssoftware umzuschreiben, d.h., die Software zu aktualisieren.
-
Als Nächstes schreibt die Objekt-ECU 221 die benutzte Software um (S160). Das heißt, die Objekt-ECU 221 führt eine Aktualisierung der Software unter Verwendung der Aktualisierungssoftware aus. Weiterhin sendet die Objekt-ECU 221 beispielsweise Informationen an den Softwareaktualisierer 230, wobei die Informationen angeben, dass das Umschreiben der Software abgeschlossen ist. Weiterhin sendet der Softwareaktualisierer 230 beispielsweise Informationen an die Sicherheitsvorrichtung 100, wobei die Informationen angeben, dass das Umschreiben der Software durch die Objekt-ECU 221 abgeschlossen ist.
-
Als Nächstes sendet die Sicherheitsvorrichtung 100 an den Softwareaktualisierer 230 eine Anweisung, eine Aktualisierung der durch die Objekt-ECU 221 benutzten Software zu sperren (eine Anweisung, eine Aktualisierung zu sperren), zusätzlich zu den Informationen, die die Objekt-ECU 221 angeben (S170).
-
Als Nächstes führt der Softwareaktualisierer 230 einen Vorgang zum Sperren einer Aktualisierung der durch die Objekt-ECU 221 benutzten Software durch. Zum Beispiel veranlasst der Softwareaktualisierer 230 die Objekt-ECU 221 durch ein Senden einer Anweisung, die Aktualisierung der Software zu sperren (Anweisung zum Sperren der Aktualisierung), an die Objekt-ECU 221, die Aktualisierung der durch die Objekt-ECU 221 benutzten Software zu sperren (S180).
-
Als Nächstes sperrt die Objekt-ECU 221 eine Aktualisierung der Software, das heißt, sperrt ein Umschreiben der Software (S190). Dies verhindert eine Aktualisierung der durch die Objekt-ECU 221 benutzten Software.
-
5 ist ein Ablaufdiagramm, das ein Verarbeitungsverfahren zum Freigeben der Aktualisierung der Software in dem Sicherheitssystem 1 gemäß der Ausführungsform darstellt. 5 ist eine Verarbeitung, die beispielsweise ausgeführt wird, nachdem die Verarbeitung in 4 ausgeführt wurde.
-
Angenommen, das Erstellen einer Maßnahme gegen die Anomalie sei abgeschlossen, beispielsweise die Aktualisierungssoftware sei erstellt, in der eine Maßnahme gegen die in dem im Schritt S110 in 4 erkannte Anomalie (den betrügerischen CAN-Steuerbefehl) entwickelt ist. Der Überwachungsserver 300 sendet an die Sicherheitsvorrichtung 100 eine Information, dass das Erstellen einer Maßnahme gegen die Anomalie abgeschlossen ist (Meldung zum Abschluss der Erstellung einer dauerhaften Maßnahme) (S210).
-
Als Nächstes sendet die Sicherheitsvorrichtung 100 eine Anweisung an den Softwareaktualisierer 230, eine Aktualisierung der Software freizugeben, die durch die Objekt-ECU 221 benutzt wird (eine Anweisung zum Freigeben der Aktualisierung), zusätzlich zu den Informationen, die die Objekt-ECU 221 angeben (wie etwa die Kennung der Objekt-ECU 221) (S220).
-
Als Nächstes führt der Softwareaktualisierer 230 einen Vorgang zum Freigeben einer Aktualisierung der durch das Objekt-ECU 221 benutzten Software durch. Zum Beispiel veranlasst der Softwareaktualisierer 230 die Objekt-ECU 221 durch ein Senden einer Anweisung, die Aktualisierung der Software freizugeben (Anweisung zum Freigeben der Aktualisierung), an die Objekt-ECU 221, die Aktualisierung der durch die Objekt-ECU 221 benutzten Software freizugeben (S230).
-
Als Nächstes gibt die Objekt-ECU 221 eine Aktualisierung der benutzten Software frei, d.h. gibt ein Umschreiben durch ein Aufheben der Umschreibsperre frei (S240). Dies ermöglicht ein Ausführen einer Aktualisierung der Software durch die Objekt-ECU 221. Dabei kann die Objekt-ECU 221 beispielsweise Informationen an den Softwareaktualisierer 230 senden, wobei die Informationen angeben, dass die Aktualisierung der Software freigegeben ist.
-
Als Nächstes erlangt der Softwareaktualisierer 230 die Aktualisierungssoftware vom OTA-Server 400, in der eine Maßnahme gegen den betrügerischen CAN-Steuerbefehl entwickelt ist (S250).
-
Als Nächstes führt der Softwareaktualisierer 230 einen Vorgang zum Umschreiben der durch die Objekt-ECU 221 benutzten Software auf die erlangte Aktualisierungssoftware durch, in der eine Maßnahme entwickelt ist (S260). Zum Beispiel veranlasst der Softwareaktualisierer 230 die Objekt-ECU 221 durch ein Senden der erlangten Aktualisierungssoftware, in der eine Maßnahme entwickelt ist, zur Objekt-ECU 221, die durch die Objekt-ECU 221 benutzte Software mit der Aktualisierungssoftware umzuschreiben, in der eine Maßnahme entwickelt ist.
-
Als Nächstes schreibt die Objekt-ECU 221 die benutzte Software um (S270). Das heißt, die Objekt-ECU 221 führt eine Aktualisierung der Software unter Verwendung der Aktualisierungssoftware aus, in der eine Maßnahme entwickelt ist. Die Objekt-ECU 221 sendet beispielsweise Informationen an den Softwareaktualisierer 230, wobei die Informationen angeben, dass das Umschreiben der Software abgeschlossen ist. Weiterhin sendet der Softwareaktualisierer 230 beispielsweise die Informationen an die Sicherheitsvorrichtung 100, wobei die Informationen angeben, dass die Objekt-ECU 221 das Umschreiben der Software abschließt.
-
6 ist ein Flussdiagramm, das ein Verarbeitungsverfahren der Sicherheitsvorrichtung 100 gemäß der Ausführungsform darstellt.
-
Die Steuerung 110 überprüft Informationen (empfangene Daten), die sie über den Anomalieerfassungsprotokollempfänger 120 oder den Maßnahmenfertigstellungsmeldungsempfänger 160 vom Anomaliedetektor 210 oder Überwachungsserver 300 empfangen hat (S310).
-
Wenn die empfangenen Daten ein Anomalieerfassungsprotokoll sind („Anomalieerfassungsprotokoll“ in S310), wird die in dem Ablaufdiagramm von 4 dargestellte Verarbeitung durchgeführt. Genauer ermittelt der Ermittler 130 betrügerischer ECUs, wenn er über den Anomalieerfassungsprotokollempfänger 120 ein Anomalieerfassungsprotokoll empfängt, die ECU 220, die den betrügerischen CAN-Steuerbefehl senden kann (d.h. die Objekt-ECU 221) (S320).
-
Als Nächstes weist der Softwareaktualisierungsanweiser 140 eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software an (S330). Genauer veranlasst der Softwareaktualisierungsanweiser 140 die ermittelte ECU 220, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software auszuführen.
-
Als Nächstes sperrt der Softwareaktualisierungssperrer 150 eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software (S340). Genauer veranlasst der Softwareaktualisierungssperrer 150 die ermittelte ECU 220, eine Aktualisierung der Software auszuführen und untersagt danach der ermittelten ECU 220, eine Aktualisierung der Software auszuführen.
-
Wenn dagegen die empfangenen Daten eine Meldung des Abschlusses der Erstellung einer dauerhaften Maßnahme sind („Meldung des Abschlusses der Erstellung einer dauerhaften Maßnahme“ in S310) ist, wird die in dem Ablaufdiagramm von 5 dargestellte Verarbeitung durchgeführt. Genauer, wenn eine Meldung des Abschlusses der Erstellung einer dauerhaften Maßnahme über den Anomalieerfassungsprotokollempfänger 120 empfangen wird, gibt der Softwareaktualisierungsentsperrer 170 die Aktualisierung der durch die ermittelte ECU 220 verwendeten Software frei (S350). Genauer gibt der Softwareaktualisierungsentsperrer 170 die Ausführung der Aktualisierung der Software durch die ermittelte ECU 220 frei. Dadurch führt die ermittelte ECU 220 beispielsweise in den in 5 dargestellten Schritten S250 bis S270 die Verarbeitung unter Verwendung der Aktualisierungssoftware durch.
-
[Zusammenfassung]
-
Wie oben beschrieben, wird in dem Sicherheitsverfahren gemäß der Ausführungsform, wenn ein betrügerischer CAN-Steuerbefehl in einem Fahrzeug-Bord-Kommunikationsnetz erkannt wird („Anomalieerfassungsprotokoll“ in S310), eine ECU 220 ermittelt, die den betrügerischen CAN-Steuerbefehl senden kann (S320), wird die ermittelte ECU 220 veranlasst, eine Aktualisierung der durch die ermittelte ECU 220 benutzten Software auszuführen (S330), und wird die Ausführung einer Aktualisierung der Software durch die ermittelte ECU 220 untersagt, nachdem die Aktualisierung der Software ausgeführt wurde (S340).
-
Dadurch kann eine sofortige Reaktion durchgeführt werden, ohne die Fahrfunktionen einzuschränken, sogar wenn ein Angriff durch ein Senden des betrügerischen CAN-Steuerbefehls aufgrund betrügerischen Umschreibens der durch die ECU benutzten Software empfangen ist. Aus diesem Grund kann, sogar wenn das Fahrzeug 200 angegriffen wird, eine Maßnahme gegen den Angriff ergriffen werden, ohne die Fahrfunktionen des Fahrzeugs 200 einzuschränken. Dadurch kann der Fahrer beispielsweise das angegriffene Fahrzeug 200 zum Verlassen nach Hause fahren oder kann das angegriffene Fahrzeug 200 zu einem Service-Center zum Beseitigen der Schwierigkeiten fahren.
-
Darüber hinaus sind beispielsweise Informationen, die beim Aktualisieren der Software verwendet werden, in einem Speicher gespeichert, der in dem Fahrzeug 200 enthalten ist, wo die ermittelte ECU 220 enthalten ist. Der Speicher kann beispielsweise der Speicher 240 sein oder kann der Speicher 180 sein. Wenn die bei der Aktualisierung benutzten Informationen im Speicher 180 gespeichert sind, kann der Softwareaktualisierer 230 die Informationen von der Sicherheitsvorrichtung 100 erlangen.
-
Dadurch kann die Aktualisierung der Software ausgeführt werden, ohne mit dem außerhalb des Fahrzeugs 200 befindlichen OTA-Server 400 oder dergleichen zu kommunizieren.
-
Darüber hinaus enthält das Verfahren zum Veranlassen der ECU 220, die Aktualisierung der Software auszuführen (S330), ein Veranlassen der ermittelten ECU 220, ein Rollback der Software auszuführen.
-
Dadurch kann die Software unmittelbar zu einem nicht angegriffenen Zustand aktualisiert (geändert) werden, ohne eine Aktualisierungssoftware zu erstellen, wie etwa einen Sicherheitspatch gegen den betrügerischen CAN-Steuerbefehl.
-
Darüber hinaus wird beispielsweise, wenn, nachdem es der ermittelten ECU 220 untersagt ist, eine Aktualisierung der Software durch die ermittelte ECU 220 auszuführen (nach S340), die Informationen erhalten werden, die angeben, dass eine Maßnahme gegen einen betrügerischen CAN-Steuerbefehl entwickelt worden ist („Meldung des Abschlusses der Erstellung einer dauerhaften Maßnahme“ in S310), die ermittelte ECU 220 veranlasst, eine Ausführung der Aktualisierung der Software durch die ermittelte ECU 220 zu ermöglichen (S350).
-
Dadurch kann, wenn eine Maßnahme gegen ähnliche Angriffe wie der Angriff, der das Senden des betrügerischen CAN-Steuerbefehls verursacht, fertiggestellt ist, beispielsweise wenn ein Sicherheitspatch, wo eine Maßnahme gegen den betrügerischen CAN-Steuerbefehl entwickelt ist (eine Aktualisierungssoftware, in der eine Maßnahme entwickelt ist), erstellt ist, nach Bedarf eine Aktualisierung der Software ausgeführt werden.
-
Darüber hinaus enthält die Sicherheitsvorrichtung 100 gemäß einem Aspekt der vorliegenden Offenbarung einen Ermittler, der eine ECU ermittelt, die einen betrügerischen CAN-Steuerbefehl senden kann, wenn der betrügerische CAN-Steuerbefehl in einem Fahrzeug-Bord-Kommunikationsnetz erfasst ist; einen Aktualisierungsanweiser, der die ermittelte ECU 220 veranlasst, eine Aktualisierung einer durch die ermittelte ECU 220 benutzten Software auszuführen; und einen Aktualisierungsuntersagungsanweiser, der es der ermittelten ECU 220 untersagt, eine Aktualisierung der Software auszuführen, nachdem die Aktualisierung der Software ausgeführt wurde. Ein Beispiel des Ermittlers ist der Ermittler 130 betrügerischer ECUs. Ein Beispiel des Aktualisierungsanweisers ist der Softwareaktualisierungsanweiser 140. Ein Beispiel des Aktualisierungsuntersagungsanweiser ist der Softwareaktualisierungssperrer 150.
-
Dadurch werden dieselben Wirkungen erlangt wie diejenigen des Sicherheitsverfahrens gemäß einem Aspekt gemäß der vorliegenden Offenbarung.
-
(Andere Ausführungsformen)
-
Obwohl vorstehend die Sicherheitsvorrichtung und dergleichen gemäß einem oder mehreren Aspekten auf Grundlage der Ausführungsform beschrieben sind, ist die vorliegende Offenbarung nicht auf die Ausführungsform beschränkt. Die vorliegende Offenbarung deckt auch eine Vielfalt von Modifikationen der Ausführungsform ab, die durch Fachleute erdacht werden, ohne vom Kern der vorliegenden Offenbarung abzuweichen.
-
Obwohl beispielsweise in der obigen Ausführungsform die Sicherheitsvorrichtung 100 im Fahrzeug 200 enthalten ist, kann die Sicherheitsvorrichtung 100 außerhalb des Fahrzeugs 200 angeordnet sein.
-
Darüber hinaus kann beispielsweise die Sicherheitsvorrichtung 100 den Anomaliedetektor 210 und/oder den Softwareaktualisierer 230 enthalten.
-
Darüber hinaus kann die Sicherheitsvorrichtung 100 beispielsweise die Aktualisierungssoftware und/oder die Aktualisierungssoftware, in der eine Maßnahme entwickelt ist, durch ein Kommunizieren mit dem OTA-Server 400 erlangen.
-
Darüber hinaus können beispielsweise die Informationen, die angeben, dass eine Maßnahme gegen einen betrügerischen CAN-Steuerbefehl entwickelt worden ist, die Aktualisierungssoftware sein, in der die Maßnahme entwickelt ist.
-
Darüber hinaus können die Aktualisierungssoftware und/oder die Aktualisierungssoftware, in der eine Maßnahme entwickelt ist, von der Sicherheitsvorrichtung 100 zum Softwareaktualisierer 230 gesendet werden.
-
Darüber hinaus braucht beispielsweise das Fahrzeug 200 den Speicher 240 nicht zu enthalten, wenn es mit dem OTA-Server 400 kommunikationsfähig verbunden ist. Darüber hinaus braucht das Fahrzeug 200 nicht mit dem OTA-Server 400 kommunikationsfähig verbunden zu sein, wenn es den Speicher 240 enthält, der vorab Software (Aktualisierungssoftware) speichert, die bei der Aktualisierung benutzt wird, wenn die ECU 220 angegriffen wird.
-
Darüber hinaus kann die Software beim Rollback durch die ECU 220 in dem in der ECU 220 enthaltenen Speicher gespeichert sein oder kann in einer anderen Vorrichtung als der ECU 220 gespeichert sein, wie etwa dem Speicher 180 oder dem Speicher 240.
-
Darüber hinaus kann in der obigen Ausführungsform eine durch einen bestimmten Prozessor ausgeführte Verarbeitung durch einen anderen Prozessor ausgeführt werden. Darüber hinaus kann die Reihenfolge von Vorgängen geändert werden, oder eine Vielzahl von Vorgängen kann parallel ausgeführt werden.
-
Darüber hinaus können in der obigen Ausführungsform die Bestandteile der Prozessoren mit zweckbestimmter Hardware gestaltet sein oder können durch ein Ausführen von für die Bestandteile geeigneten Softwareprogrammen umgesetzt sein. Die Bestandteile können durch eine Programmausführungseinheit, wie etwa eine CPU oder einen Prozessor, ausgeführt sein, die Softwareprogramme ausliest und ausführt, die auf einem Aufzeichnungsmedium, wie etwa einer Festplatte oder einem Halbleiterspeicher, gespeichert sind. Hier veranlassen die Programme zum Umsetzen der Vorrichtungen in der obigen Ausführungsform einen Computer, beispielsweise die im Flussdiagramm und im Ablaufdiagramm in 4, 5 und 6 dargestellten Schritte auszuführen.
-
Die vorliegende Offenbarung deckt auch die folgenden Fälle ab.
-
(1) Mindestens eine obige Vorrichtung ist speziell ein Computersystem, aufgebaut aus einem Mikroprozessor, einem ROM, einem RAM, einer Festplatteneinheit, einer Anzeigeeinheit, einer Tastatur, einer Maus und dergleichen. Das RAM oder die Festplatteneinheit speichert ein Computerprogramm. Der Mikroprozessor arbeitet gemäß dem Computerprogramm, und dadurch erzielt die mindestens eine Vorrichtung die Funktion. Hier ist das Computerprogram gestaltet durch ein Kombinieren von Befehlscodes, die Anweisungen an den Computer angeben, um vorgegebene Funktionen zu erzielen.
-
(2) Ein Teil oder alle der Bestandteile, die mindestens eine oben beschriebene Vorrichtung bilden, können als ein hochintegriertes Einchipsystem (LSI: hochintegrierte Schaltung) aufgebaut sein. Der System-LSI-Chip ist ein ultramultifunktionaler LSI-Chip, so gefertigt, dass eine Vielzahl von Bestandteilen in einen einzigen Chip integriert ist, und ist insbesondere ein Computersystem, das zum Beispiel aus einem Mikroprozessor, einem ROM und einem RAM aufgebaut ist. Das RAM speichert ein Computerprogramm. Der Mikroprozessor arbeitet gemäß dem Computerprogramm, und dadurch erzielt der System-LSI-Chip die Funktion.
-
(3) Ein Teil oder alle der Bestandteile, die mindestens eine obige Vorrichtung bilden, können als eine IC-Karte oder ein Einzelmodul aufgebaut sein, das abnehmbar an der Vorrichtung anbringbar ist. Die IC-Karte oder das Modul ist ein Computersystem, aufgebaut mit einem Mikroprozessor, einem ROM, einem RAM und dergleichen. Die IC-Karte oder das Modul kann den obigen ultramultifunktionalen LSI-Chip enthalten. Der Mikroprozessor arbeitet gemäß dem Computerprogramm, und dadurch erzielt die IC-Karte oder das Modul die Funktion. Diese IC-Karte oder das Modul kann eine Manipulationsfestigkeit aufweisen.
-
(4) Die vorliegende Offenbarung kann aus dem oben dargestellten Verfahren bestehen. Alternativ kann die vorliegende Offenbarung ein Computerprogramm sein, um einen Computer zu veranlassen, diese Verfahren umzusetzen, oder kann durch das Computerprogramm erzeugte Digitalsignale sein.
-
Alternativ kann die vorliegende Offenbarung ein Computerprogramm oder digitale Signale sein, die auf einem computerlesbaren Aufzeichnungsmedium aufgezeichnet sind, wie etwa einer flexiblen Platte, einer Festplatte, einer CD-ROM, einer DVD, einer DVD-ROM, einer DVD-RAM, einer Blu-ray-Platte (eingetragene Handelsmarke) oder einem Halbleiterspeicher. Alternativ kann die vorliegende Offenbarung aus digitalen Signalen bestehen, die auf diesen Aufzeichnungsmedien aufgezeichnet sind.
-
Alternativ kann die vorliegende Offenbarung ein Computerprogramm oder digitale Signale sein, die über eine elektrische Kommunikationsleitung, eine drahtlose oder drahtgebundene Kommunikationsleitung, ein Netzwerk, wie etwa das Internet, oder Datenrundsendung gesendet werden.
-
Alternativ kann die vorliegende Offenbarung durch ein anderes unabhängiges Computersystem umgesetzt sein durch ein Aufzeichnen eines Programms oder digitaler Signale auf einem Aufzeichnungsmedium und ein Transportieren des Aufzeichnungsmediums oder durch ein Transportieren des Programms oder der digitalen Signale über ein Netzwerk oder dergleichen.
-
[Gewerbliche Anwendbarkeit]
-
Die vorliegende Offenbarung ist anwendbar auf Sicherheitsvorrichtungen, die Cyberangriffe in Fahrzeug-Bord-Kommunikationsnetzen überwachen.
-
[Liste der Bezugszeichen]
-
- 1
- Sicherheitssystem
- 100
- Sicherheitsvorrichtung
- 110
- Steuerung
- 120
- Anomalieerfassungsprotokollempfänger
- 130
- Ermittler betrügerischer ECUs
- 140
- Softwareaktualisierungsanweiser
- 150
- Softwareaktualisierungssperrer
- 160
- Maßnahmenfertigstellungsmeldungsempfänger
- 170
- Softwareaktualisierungsentsperrer
- 180, 240
- Speicher
- 200
- Fahrzeug
- 210
- Anomalieerfasser
- 220
- ECU
- 221
- Objekt-ECU
- 230
- Softwareaktualisierer
- 300
- Überwachungsserver
- 400
- OTA-Server
- 500
- Netzwerk
-
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
-