-
Die vorliegende Erfindung betrifft Verfahren zur Verwaltung eines Speichers sowie ein hierzu eingerichtetes Computerprogramm.
-
Aus der nicht vorveröffentlichten
DE 10 2018 215 945 A1 ist ein Network-based Intrusion Detection System für die Anwendung im Fahrzeug bekannt.
-
Offenbarung der Erfindung
-
Vorgestellt wird ein computerimplementiertes Verfahren zur Verwaltung eines Speichers in einem Netzwerk, insbesondere im Überlastbetrieb, welcher insbesondere einer Einheit zur Detektion oder Verhinderung unerwünschter Netzwerkeingriffe zugeordnet ist.
-
Dabei kann das Netzwerk drahtgebunden oder drahtlos sein, beispielsweise ein Ethernetnetzwerk, ein CAN- oder CAN-FD-Bus, ein WLAN oder ein Bluetooth-Netzwerk. Insbesondere handelt es sich um ein Rechnernetzwerk, insbesondere ein Kommunikations- und/oder Steuernetzwerk, eines Fahrzeugs. Die Einheit zur Detektion oder Verhinderung unerwünschter Netzwerkeingriffe kann insbesondere ein IDS (Intrusion Detection System), ein IDPS (Intrusion Detection and Prevention System) oder eine Firewall sein.
-
Es wird nun vorgeschlagen, dass eine erste Nachricht durch einen Teilnehmer des Netzwerks empfangen wird, zufällig entschieden wird, ob die erste Nachricht in dem Speicher gespeichert werden soll oder nicht, und abhängig von der zufälligen Entscheidung die Speicherung in dem Speicher erfolgt oder eben nicht. Bei dem Teilnehmer kann es sich dabei um einen Netzwerkteilnehmer mit Netzwerkschnittstellen, Speichermitteln und mindestens einer Recheneinheit handeln, zum Beispiel auch um ein Gateway eines Netzwerkes. In einem Fahrzeugnetzwerk kann es auch um ein Steuergerät, ein zentrales Steuergerät oder einen Bordcomputer handeln. Die Entscheidung erfolgt vorzugsweise durch eine Recheneinheit, insbesondere durch eine Recheneinheit des Teilnehmers, nach Abarbeitung eines entsprechenden Computerprogramms. Um die Entscheidung zufällig zu gestalten, kommt insbesondere ein Zufallsgenerator oder ein Pseudozufallsgenerator zum Einsatz.
-
Durch ein solches Verfahren kann eine Eingangslast einer Einheit zur Detektion oder Verhinderung unerwünschter Netzwerkeingriffe reduziert werden, insbesondere um mit beschränkten Rechen- und / oder Speicherressourcen umgehen zu können. Die Entlastung erfolgt dabei auf für einen Angreifer nicht vorhersagbare Weise, so dass dieser eine solche Funktion nicht für Angriffe ausnutzen kann. Diese Verhinderung von Angriffen oder einem gezielten Ausnutzen eine Maßnahme zur Speicherverwaltung kann nicht nur in Speichern von Einheiten zur Detektion oder Verhinderung unerwünschter Netzwerkeingriffe vorteilhaft realisiert werden, sondern auch in allen möglichen anderen Netzwerkspeichern, beispielsweise von Gateways oder Switches.
-
Eine vorteilhafte Ausgestaltung ist gekennzeichnet durch die weiteren Schritte:
- - soll die erste Nachricht gespeichert werden, so wird eine zweite Nachricht von in dem Speicher gespeicherten Nachrichten zufällig ausgewählt,
- - die zufällig ausgewählte zweite Nachricht wird aus dem Speicher gelöscht,
- - die erste Nachricht wird in dem Speicher gespeichert.
-
Diese Speicherverwaltungsfunktion führt zu einer weiteren Entlastung des Speichers der Sicherheitseinheit, wiederum derart, dass sie für den Angreifer nicht vorhersehbar ist. Auch hier wird die Ausnutzung der Speicherverwaltungseigenschaften für einen Angriff erschwert.
-
Die beschriebenen Verfahren können dabei nicht nur in einem bestehenden Überlastfall von Rechen- oder Speicherkapazität eingesetzt werden, sondern bereits, falls festgestellt wird, dass ein solcher Überlastfall droht oder auch rein vorsorglich.
-
In vorteilhafter Ausgestaltung kommen die beschriebenen Verfahren zum Einsatz, wenn ein Überlastbetrieb des Speichers festgestellt wird oder droht oder wenn in dem Speicher eine bestimmte freie Kapazität unterschritten wird, insbesondere, wenn die bestimmte freie Kapazität weniger als eine maximale Nachrichtengröße oder weniger als eine Größe der ersten Nachricht beträgt.
-
Das randomisierte Verwerfen von einkommenden Nachrichten im Überlastbetrieb erschwert es dabei einem Angreifer, die Funktionsweise eines Speichers im Überlastbetrieb vorherzusagen und Angriffe im Überlastbetrieb unbemerkt an einer Einheit zur Detektion unerwünschter Netzwerkeingriffe vorbei zu lenken. Es wird also insbesondere im Überlastbetrieb eingesetzt, wenn der Speicher voll ist bzw. voll zu werden droht, und gezwungenermaßen neu einkommende Nachrichten oder bereits gespeicherte Nachrichten verworfen werden sollten.
-
Durch die vorgestellten Verfahren wird es einem potentiellen Angreifer unmöglich gemacht vorherzusagen, welche Nachrichten durch ein Sicherheitssystem im bestehenden oder drohenden Überlastfall verarbeitet bzw. verworfen werden. Sie tragen damit zur Sicherheit und Robustheit eines solchen Systems bei.
-
In vorteilhaften Ausgestaltungen der beschriebenen Verfahren weist der Speicher mindestens zwei Speicherblöcke auf, insbesondere mindestens zwei Speicherblöcke mit einer Kapazität ausreichend zum Speichern einer maximalen Nachrichtengröße. Hierdurch werden weitere Angriffsmöglichkeiten auf das Sicherheitssystem reduziert, das System wird somit noch sicherer. In einer besonders einfachen und effizienten Realisierungsvariante kann dabei immer der gleiche der mindestens zwei Speicherblöcke für eine Speicherung neu eintreffender Nachrichten gelöscht und überschrieben werden.
-
Um den Verlust an Informationen über die Empfangsreihenfolge von einkommenden Nachrichten für die Sicherheitseinheit durch die vorgestellten Verfahren möglichst gering zu halten, werden in einer bevorzugten Ausführung Metadaten zu einer empfangenen Nachricht in dem Speicher abgelegt, insbesondere ein Zählerwert eines Nachrichtenzählers und / oder eine Information über einen Empfangskanal, über den die Nachricht empfangen wurde. Diese können vom Sicherheitssystem für die Detektion oder Verhinderung von Eindringversuchen in das Netzwerk eingesetzt werden und das System somit effektiver machen. Dabei kann das System besonders robust gestaltet werden, wenn der Zählerwert des Nachrichtenzählers vor einem Herunterfahren des Netzwerks oder des Teilnehmers des Netzwerks gespeichert und nach einem Hochfahren von dem gespeicherten Zählerwert aus weitergezählt wird. Alternativ kann zum gleichen Zweck der Zählerwert bei einem Hochfahren des Netzwerks oder des Teilnehmers des Netzwerks zufällig initial bestimmt werden.
-
Die beschriebenen Verfahren zur Speicherverwaltung im Netzwerk können in Hardwareschaltung, in Software oder durch Hardwareschaltung und Software kombiniert realisiert werden. Insbesondere kann ein Computerprogramm dazu eingerichtet sein, solche Verfahren durchzuführen. Hierzu ist ein solches Computerprogramm in einem maschinenlesbaren Speicher im Netzwert, insbesondere in einem Speicher des empfangenden Netzwerkteilnehmers, abgelegt und wird von einer Recheneinheit im Netzwerk, insbesondere von einer Recheneinheit des Netzwerkteilnehmers, abgearbeitet.
-
Zeichnungen
-
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen 1 schematisch ein beispielhaftes Netzwerk und 2 schematisch ein beispielhaftes Verfahren zur Verwaltung eines Speichers.
-
Beschreibung der Ausführungsbeispiele
-
Netzwerk-basierte IDS können in der IT-Sicherheit eingesetzt werden, um den Datenverkehr eines Systems zu überwachen und auf bekannte Angriffe zu überprüfen. Dabei steht IDS für Intrusion Detection System und bezeichnet ein System mit Sicherheitsfunktionen, deren Fokus auf der Erkennung von eindringenden Angriffen auf ein IT-System liegt, beispielsweise auf ein Rechnernetzwerk eines Fahrzeugs. Während zum Beispiel eine Firewall ein unerwünschtes Eindringen in ein System verhindern soll, reicht es einem IDS (zunächst) beispielsweise durch Plausibilisieren eines Systemverhaltens zu erkennen, dass ein solches Eindringen stattfindet oder stattgefunden hat. Geeignete Reaktionen hierauf können daraufhin eingeleitet werden, z.B. auch in einem kombinierten IDPS (Intrusion Detection and Prevention System).
-
Im Unterschied zu einer Firewall müssen die Nachrichten in einem Netzwerkbasierten IDS nicht in Echtzeit verarbeitet werden. Vielmehr können Kopien der Nachrichten angefertigt werden. Die Original-Nachricht kann ohne weitere Verzögerung dem Empfänger zugestellt werden. Die Kopie der Original-Nachricht wird vorerst zwischengespeichert, um einen günstigen Betriebszeitpunkt zur weiteren Verarbeitung durch das IDS abzuwarten (bspw. geringe Auslastung der Rechenressource). Bspw. kann für eine Ethernet-basierte Kommunikation die Original-Nachricht vom Switch empfangen werden, durch eine TCAM-Regel verarbeitend eine Kopie angelegt werden und diese an eine Recheneinheit eines IDS im Switch-internen Mikrocontroller weitergeleitet werden.
-
In 1 ist ein Netzwerk 100 mit Netzwerkteilnehmern 1, 2, 3, 4 sowie Netzwerkverbindungen 101 und 102 gezeigt. Das Netzwerk kann hierbei drahtlos oder drahtgebunden sein. Insbesondere handelt es sich um ein Rechner- bzw. Kommunikations- und / oder Steuernetzwerk eines Fahrzeugs. Das Netzwerk kann beispielsweise ein Ethernetnetzwerk, ein CAN- oder CAN-FD-Bus, ein Bluetooth-Netzwerk oder ein WLAN sein.
-
Netzwerkteilnehmer 1 umfasst hierbei ein IDS 13. Beispielsweise kann es sich bei dem Netzwerkteilnehmer 1 um ein Gateway des Netzwerks 100 handeln. Netzwerkteilnehmer 1 kann nun über Kommunikationsverbindung 101 eine Nachricht empfangen, beispielsweise von Netzwerkteilnehmer 2 oder 3. Diese Nachricht kann über eine Schnittstelle 11 des Netzwerkteilnehmers 1 empfangen werden, welche insbesondere auch über einen Pufferspeicher verfügt. Eine Recheneinheit 12 des Netzwerkteilnehmers 1 kann Nachrichtenempfang, Nachrichtenverarbeitung, die Verwaltung von Speicherressourcen und Nachrichtenversendung steuern bzw. konfigurieren. Über eine Schnittstelle 14 des Netzwerkteilnehmers 1 können Nachrichten versendet, beispielsweise empfangene Nachrichten weitergeleitet werden. Die Schnittstelle 14 verfügt insbesondere auch über einen Pufferspeicher. Nachrichten können dabei über Kommunikationsverbindung 102 versendet werden, beispielsweise an Netzwerkteilnehmer 4.
-
Das IDS 13 des Netzwerkteilnehmers 1 verfügt über einen Speicher 131 und gegebenenfalls über eine Recheneinheit 132. In dem Speicher 131 können eingegangene Nachrichten zwischengespeichert werden, die von dem IDS 13, insbesondere der Recheneinheit 132 auf Hinweise auf ein Eindringvorgang in das Netzwerk untersucht werden können.
-
Aufgrund der möglichen zeitlichen Entkopplung zwischen Empfang einer Nachricht durch Netzwerkteilnehmer 1 und IDS-Untersuchung der Nachricht, können die empfangenen Nachrichten also vorerst in dem Speicher 131 zwischengespeichert werden, wo sie auf die weitere Verarbeitung warten. Auf Grund von Ressourcenbeschränkungen kann für den Speicher 131 in der Regel nicht so viel Speicher vorgesehen werden, dass für jedes Szenario freie Speicherkapazitäten garantiert sind. In einem Überlastszenario läuft das IDS 13 daher Gefahr, dass im Speicher 131 keine Speicherkapazität für die Speicherung weiterer Nachrichten mehr besteht - es müssen also Nachrichten verworfen werden.
-
Kommen nun zur Verwaltung des Zwischenspeichers übliche Warteschlangenverwaltungsmechanismen wie beispielsweise Leacky Bucket zum Einsatz, so wird das IDS 13 hierdurch angreifbar. Das liegt daran, dass derartige Warteschlangenmechanismen in der Regel ein vorhersagbares Verhalten zeigen. Diese Eigenschaft kann von einem potentiellen Angreifer ausgenutzt werden, indem er das IDS 13 mit Absicht in ein Überlastszenario treibt. Als Folge kann das IDS 13 keine neuen Nachrichten mehr berücksichtigen und somit keine neuen Angriffe mehr identifizieren. In solchen Phasen hat der Angreifer dann die Möglichkeit, den eigentlichen Angriff unbemerkt vom IDS 13 durchzuführen.
-
Es wird daher für ein System zur Detektion oder Verhinderung eines eindringenden Angriffs in ein Netzwerk insbesondere im Überlastszenario ein zufallsgesteuerter Umgang mit der Verarbeitung und Speicherung neu empfangener Nachrichten vorgeschlagen.
-
In 2 ist schematisch ein beispielhafter Ablauf zum Verwalten eines Speichers gezeigt.
-
In einem ersten Schritt 21 wird durch einen Netzwerkteilnehmer festgestellt, dass eine neue Nachricht eingegangen ist, welche in einem Speicher des Netzwerkteilnehmers gespeichert werden soll, und das Verfahren gestartet. Im Schritt 21 kann zusätzlich vorgesehen sein, dass das Verfahren nur ausgeführt oder weitergeführt wird, falls eine freie Kapazität des Speichers eine bestimmte Schwelle unterschreitet, insbesondere eine maximale Nachrichtengröße oder die Größe der neu eingegangenen Nachricht unterschreitet.
-
In einem zweiten Schritt 22 wird für die eine neu eintreffende Nachricht per Zufall entschieden, insbesondere durch Einsatz eines Zufallsgenerators, ob sie in einem Speicher gespeichert werden soll, um daraufhin von dem System zur Detektion oder Verhinderung eines eindringenden Angriffs auf das Netzwerk untersucht werden zu können, oder ob sie verworfen werden soll. Das Verwerfen bezieht sich hierbei insbesondere nur auf die Zwecke des Sicherheitssystems. Die Nachricht kann insbesondere im oben beschriebenen Szenario nach dem Empfang in einem Pufferspeicher des Netzwerkteilnehmers von diesem auch weitergeleitet oder anderweitig verarbeitet werden.
-
Wird in Schritt 22 entschieden, dass die Nachricht verworfen wird, verzweigt das Verfahren in Schritt 23. Es findet keine Speicherung im Speicher des Netzwerkteilnehmers zum Zwecke einer Sicherheitsuntersuchung statt und das Verfahren wird beendet. Die Nachricht kann trotzdem vom Netzwerkteilnehmer anderweitig verarbeitet oder weitergeleitet werden.
-
Wird in Schritt 22 entschieden, dass die Nachricht in dem Speicher gespeichert werden soll, so verzweigt das Verfahren in Schritt 24. Wird das Verfahren nur durchgeführt, falls die freie Speicherkapazität des Speichers eine bestimmte Schwelle unterschreitet oder wird in einer Überprüfung in Schritt 24 eine entsprechende Unterschreitung festgestellt, so wird in Schritt 24 wiederum zufällig entschieden, welche bereits im Speicher abgelegte Nachricht aus diesem gelöscht werden soll, so dass die neue Nachricht entsprechend abgelegt werden kann.
-
Dabei ist der Speicherbedarf der neuen Nachricht entsprechend zu berücksichtigen. Der freiwerdende Speicher muss mindestens dem Speicherbedarf der neuen Nachricht entsprechen.
-
Da sich hierdurch neue Angriffsmöglichkeiten ergeben können, wird vorgeschlagen, dass der Speicher vorzugsweise mindestens zwei Blöcke aufweist, welche eine maximale Nachrichtengröße speichern können.
-
In einem abschießenden Schritt 25 wird nun die zufällig ausgewählte Nachricht aus dem Speicher gelöscht und die neu eingegangene Nachricht in dem Speicher abgelegt.
-
In einer alternativen Ausgestaltung kann immer der gleiche Speicherblock, beispielsweise immer der letzte oder immer der erste, zum Speichern neuer, zufällig für die Speicherung vorgesehener Nachrichten genutzt werden. Dies führt zu einer Vereinfachung in der Realisierung, aber auch zu neuen Angriffsmöglichkeiten.
-
Die beschriebenen Verfahren können nicht nur für IDS zugeordnete Speicher, sondern beispielsweise auch für IDPS oder Firewalls zugeordnete Speicher vorteilhaft angewendet werden.
-
Durch die beschriebenen Verfahren kann sich als Nachteil ergeben, dass durch die Zufallsteuerung Empfangssequenzen, die bisher implizit durch die Speicherverwaltung gegeben waren, verloren gehen. Im Überlastfall ist dies allerdings ohnehin der Fall, da Nachrichten verworfen werden müssen. Um entsprechende Informationen dennoch sichtbar zu machen und insbesondere zu Sicherheitszwecken durch das Sicherheitssystem auswerten zu können, wird vorgeschlagen, dass die Nachrichten im Speicher mit Metadaten angereichert werden.
-
Als Metadaten kommen beispielsweise der Wert eines Zählers der einkommenden Nachrichten, insbesondere pro Empfangskanal, und eine Information über den jeweiligen Empfangskanal, über welchen die Nachricht empfangen wurde, in Frage. Um dadurch entstehende Angriffsmöglichkeiten zu vermeiden, wird zudem vorgeschlagen, dass ein entsprechender Zähler beim Herunterfahren des Systems den alten Zählerwert speichert und ab dem Hochfahren des Systems ab dem alten Wert weiterzählt oder dass beim Hochfahren zufallsgesteuert ein Wert gewürfelt wird, ab dem der Zähler für diesen Betriebszyklus zählt. Vorzugsweise werden der Wertebereich des Zählers bzw. das zufällige Würfeln des Start-Wertes derart gewählt bzw. eingeschränkt, dass Replay-Angriffe durch einen Überlauf vermieden werden.
-
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
-
- DE 102018215945 A1 [0002]