DE60031346T2 - Verfahren und Vorrichtung zur Modellzerlegung und Benutzung davon zur Detektierung der Angriffe gegen die Informatiksysteme - Google Patents

Verfahren und Vorrichtung zur Modellzerlegung und Benutzung davon zur Detektierung der Angriffe gegen die Informatiksysteme Download PDF

Info

Publication number
DE60031346T2
DE60031346T2 DE60031346T DE60031346T DE60031346T2 DE 60031346 T2 DE60031346 T2 DE 60031346T2 DE 60031346 T DE60031346 T DE 60031346T DE 60031346 T DE60031346 T DE 60031346T DE 60031346 T2 DE60031346 T2 DE 60031346T2
Authority
DE
Germany
Prior art keywords
formulas
clauses
formula
sub
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60031346T
Other languages
English (en)
Other versions
DE60031346D1 (de
Inventor
Muriel Roger
Jean Goubault-Larrecq
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Application granted granted Critical
Publication of DE60031346D1 publication Critical patent/DE60031346D1/de
Publication of DE60031346T2 publication Critical patent/DE60031346T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Machine Translation (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Auflösen von Modellen und deren Verwendung bei der Erfassung von Angriffen auf Datenverarbeitungssysteme.
  • Gesicherte Datenverarbeitungssysteme können Angriffen oder betrügerischen Eingabeversuchen ausgesetzt sein. Im Allgemeinen wird versucht, diese Angriffe zu parieren, indem Versuchs- oder Protokolldateien, beispielsweise Systemprotokolldateien (System-Log) oder Netzprotokolldateien (Netz-Log) eingerichtet werden und Filterungen an diesen Dateien ausgeführt werden, um einen Vorfall oder ein Eindringen zu erfassen. Systeme, die eine Prüfung der Protokolldateien vornehmen, stützen sich im Allgemeinen auf ein kompliziertes Verfahren, das beim Schreiben Probleme stellt, wobei die resultierende Prüfung zudem schwer zu lesen ist. Das Dokument FR 2 706 652 beschreibt einen Vorrichtungstyp, der das Erfassen eines Eindringens nach einem komplexen Verfahren ermöglicht. Im Übrigen kann es vorkommen, dass dann, wenn ein Eindringen in mehreren aufeinander folgenden nicht zusammenhängenden Schritten erfolgt, das System dieses nicht erfasst. Überdies ist das Schreiben der Prüfbedingungen wenig entgegenkommend, kaum modifizierbar und stellt Modularitätsprobleme. So ist es bei den meisten Systemen, die mit Hilfe von Regeln arbeiten, notwendig, die Prüfbedingungen in Form von Programmen zu schreiben, die das Anstoßen von bedingten Regeln durch Ereignisse beschreiben: Beispielsweise müssen, um eine Prüfbedingung, die einen Schritt A spezifiziert, dem einige Zeit später B folgt, dem einige Zeit später C folgt, zu beschreiben, Regeln zum Abwarten des Schritts A, die im Erfolgsfall Regeln zum Abwarten des Schritts B auslösen müssen, die Erfolgsfall Regeln zum Abwarten des Schritts C auslösen müssen, beschrieben werden. Diese Art, die Folge A, B, C zu beschreiben, ist schwerfällig und Ursache von Fehlern, die durch einfaches Lesen schwer zu erfassen sind. Außerdem erfordern bestimmte herkömmliche Systeme ein mehrfaches Abtasten der Protokolldateien.
  • Ein Ziel der Erfindung ist folglich, ein leistungsfähiges Verfahren zum Auflösen von Spezifikationen vorzuschlagen.
  • Dieses Ziel wird durch das leistungsfähige Verfahren zum Auflösen von Spezifikationen nach Anspruch 1 erreicht.
  • Ein weiteres Ziel ist das Ermöglichen einer großen Flexibilität.
  • Dieses Ziel wird durch das Verfahren nach Anspruch 2 erreicht.
  • Weiterbildungen der Erfindung sind in den Ansprüchen 3 bis 6 beschrieben.
  • Ein weiteres Ziel ist es, eine Vorrichtung vorzuschlagen, die das Ausführen des Verfahrens ermöglicht. Dieses Ziel wird durch die leistungsfähige Vorrichtung zum Auflösen einer Spezifikation nach Anspruch 7 erreicht.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden deutlich beim Lesen der folgenden Beschreibung, die mit Bezug auf die beigefügte Zeichnung erstellt worden ist, worin:
  • 1 eine schematische Ansicht der Hardware- und Softwareelemente zeigt, die das Ausführen des Verfahrens ermöglichen;
  • 2 den Inhalt der Tabelle, Formel- oder Unterformelzähler, die in den negativen Teilen der Klauseln vorhanden sind, und des Stapels sowie ihre Entwicklung im Zuge der Ausführung des Verfahrens zeigt.
  • 1 zeigt die Elemente, die zum Ausführen des erfindungsgemäßen Verfahrens erforderlich sind. Die Protokolldatei (1) ist im Allgemeinen auf allen Maschinen vorhanden und kann die Netzprotokolldatei sein, wenn die Maschine mit einem Netz verbunden ist, oder eine Systemprotokolldatei oder irgendeine andere Datei, an der eine Spezifikation geprüft werden soll, sein. Unter Maschine ist ein Rechner zu verstehen, der Speichermittel, Mittel zum Lesen und Ausführen eines Programms und interaktive Mittel für einen Benutzer (beispielsweise einen Bildschirm, eine Tastatur, eine Maus) sowie Mittel zur Verbindung mit dem Netz enthält. Diese Datei kommuniziert mit einer Anpassungseinrichtung (2), die eine Software ist, die das Übersetzen der Informationen, die in der Protokolldatei enthalten und in der für die Maschine spezifischen Sprache ausgedrückt sind, in eine für einen Interpretierer (3) verständliche höhere Sprache ermöglicht. Der Interpretierer (3) empfängt außerdem von einem Modul (4) die Formel der zu prüfenden Spezifikation, die in einer zeitlichen Logik ausgedrückt ist. Dieser Interpretierer (3) führt die Expansion der Formel in Unterformeln und die Abtastung jeder Aufzeichnung Ei (Anhang 2) der Protokolldatei (1) aus, um mit Hilfe dieser Expansion und dieser Abtastung eine resultierende Tabelle und einen resultierenden Stapel zu erzeugen, der in einem Speicher (5) gespeicherte Horn-Klauseln ausdrückt. Der Begriff "Horn-Klausel" ist dem Fachmann wohlbekannt und beispielsweise von Jean Goubault-Larrecq und Ian Mackie in Proof Theory and Automated Deduction, herausgegeben von Kluwer, 1996, beschrieben worden. Diese Tabelle und dieser Stapel werden durch einen Algorithmus (6) für die Verarbeitung von Klauseln ausgewertet, der vom Interpretierer (3) einen Startbefehl empfängt, sobald der Letztere, nachdem alle Aufzeichnungen Ei der Datei durchlaufen worden sind, die Tabelle, die eine Zählertabelle (7) sowie einen Stapel (18) enthält, gefüllt hat. Dieser Algorithmus sucht die Auflösung der Spezifikation im Verhältnis zur Menge der Aufzeichnungen. Bei der Erfassung der vollständigen Abtastung der Aufzeichnungsdatei (1) ruft der Algorithmus für die Verarbeitung von Klauseln entweder eine Aktion des Systems oder eine Aktion der Maschine hervor.
  • Gemäß einer Optimierung des erfindungsgemäßen Verfahrens werden die Phase des Füllens der Tabelle (6) und des Stapels (18) und die Phase der Verarbeitung von Klauseln zusammenhängend ausgeführt, derart, dass der Algorithmus für die Verarbeitung von Klauseln die Ausgabedatei oder die Aktion des Systems oder der Maschine so bald wie möglich und im Allgemeinen vor der Erfassung der vollständigen Abtastung der Aufzeichnungsdatei (1) erzeugen bzw. hervorrufen kann.
  • Zum besseren Verständnis des ausgeführten Verfahrens wird dieses anhand eines Beispiels erläutert, dessen Formeln im Anhang am Ende der Beschreibung dargestellt sind. Zuallererst ist eine Protokolldatei (Log) eine Folge von Aufzeichnungen E = (E1, ..., EN) wie sie im Anhang 2 gezeigt ist. Jede Aufzeichnung Ei enthält eine bestimmte Anzahl von Informationen wie etwa das Datum, die betreffende Operation, die Maschine, ein Ergebnis, ein Subjekt, wobei diese Liste nicht darauf beschränkt ist.
  • So signalisiert E1, dass irgendein Benutzer (ein Herr "Dingsda") versucht hat, sich hinzuzuschalten, jedoch gescheitert ist.
  • Um eine Spezifikation, die erfasst oder aufgelöst werden soll, wie etwa jene, die im Anhang 1 gezeigt ist, zu formulieren, wird eine Spezifikationsformel in einer zeitlichen Logik verwendet. Diese Formel ist gemäß der Formelerzeugung nach der Grammatik im BNF-Format geschrieben, die dem Fachmann wohlbekannt ist (Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman, Compiler: Principles, Techniques and Tools, Addison-Wesley, 1986):
    Formel :: = Atom
    |Formel ∧ Formel
    |Formel ∨ Formel
    |Formel U Formel
    |Formel W Formel
    Atom :: = Record
    |(Formel)
    |¬ Atom
    |O Atom, die Folgezeile existiert und in der Folgezeile ist das Atom wahr
    |Õ Atom, wenn die Folgezeile existiert, dann ist in der Folgezeile das Atom wahr
    |♢ Atom, es existiert eine Zeile, entweder die aktuelle Zeile oder eine spätere Zeile, in der das Atom wahr ist
    |Atom, für alle Zeilen ausgehend von der aktuellen Zeile ist das Atom wahr
  • Die Operatoren zwischen Formeln sind der Operator «∧», um ein logisches «UND» auszudrücken, «∨», um ein logisches «ODER» auszudrücken, «U», um die Formel bis (until) auszudrücken, «W», um die Formel in Erwartung von (Waiting-for) auszudrücken, «O», um die Formel in der Folgezeile, die existiert, auszudrücken, «Õ», um die Formel in der Folgezeile, falls sie existiert, auszudrücken, «♢», um die Formel in der aktuellen Zeile oder in einer späteren Zeile auszudrücken, « », um die Formel in der aktuellen Zeile oder in irgendeiner späteren Zeile auszudrücken. Diese Notation ist dem Fachmann wohlbekannt, siehe beispielsweise Zohar Manna und Amir Pnueli, The Temporal Logik of Reactive and Concurrent Systems Specification, Springer, 1992. So ermöglicht die zeitliche Formel F = F1 W F2 eine einfache Formulierung einer zu prüfenden Spezifikation.
  • Es sei angenommen, dass der Operator über eine Mensch-Maschine-Schnittstelle (4), die die Erzeugung einer zeitlichen Formel wie etwa jener, die im Anhang 1 dargestellt ist, ermöglicht, eingeführt wird.
  • Die Schnittstelle (4) übersetzt diese Formel aus dem Anhang 1 in eine zeitliche Formel, wobei F und H atomare Formeln sind, in denen F {op = «connection», result = «failed», ...} repräsentiert und H {op = «connection», result = «success», ...} repräsentiert. Überdies sei angenommen, dass die Protokolldatei (1) die im Anhang 2 dargestellten Aufzeichnungen E1 bis E3 enthält.
  • In einer ersten Zeit nimmt der Interpretierer (3) die Expansion der Formel für jede Aufzeichnung E1, E2, E3 vor, wie im Anhang 6 gezeigt ist, indem er für jede Aufzeichnung Unterformeln erzeugt, um daraus Horn-Klauseln abzuleiten, die die logischen Implikationen, die zwischen einer Formel und ihren Unterformeln vorhanden sind, und die Möglichkeit, die atomaren Formeln zu erfüllen, protokollieren, wie im Anhang 6 gezeigt ist. So wird für die Aufzeichnung E1 die Formel in die Unterformel F, der die Klausel (f2) entspricht, in die Unterformel ♢H, der die Klausel (f2) ∧ (f3)→(f1) entspricht, usw. expandiert. Der Interpretierer (3) um fasst ein Optimierungsverfahren, das das Beseitigen der Redundanzen und der unnötigen Schritte aus der Tabelle des Anhangs 6 ermöglicht, wobei der Interpretierer nach der Optimierung lediglich Klauseln enthält, die entsprechend der Tabelle des Anhangs 7 erzeugt worden sind. Zur Erleichterung des Verständnisses der Tabelle des Anhangs 7 oder der Tabelle des Anhangs 6, die Notation ♢H bedeutet: «es existiert eine Zeile, entweder die aktuelle Zeile der Aufzeichnung oder ein spätere Zeile, wo die Formel H geprüft wird»; um zu prüfen, ob F ∧ ♢H zur Aufzeichnung E1 wahr ist, werden die Paare (Formel, Aufzeichnung), die Konfigurationen genannt werden nummeriert; in dem Beispiel ist das Paar (F ∧ ♢H, E1) mit (1) nummeriert. Der Interpretierer (3) expandiert die Formel F ∧ ♢H zur Aufzeichnung E1 in die Formeln F und ♢H. Das Paar (F, E1) wird mit f2 nummeriert, das Paar (♢H, E1) wird mit f3 nummeriert, und der Interpretierer erzeugt die Klausel (f2) ∧ (f3)→(f1), die ausdrückt, dass dann, wenn die Konfiguration f2 und die Konfiguration f3 verifiziert sind, auch die Konfiguration f1 verifiziert ist, d. h. F zur Aufzeichnung E1 verifiziert ist. O(♢H) bedeutet: «die folgende Aufzeichnungszeile existiert, und die folgende Zeile ♢H ist wahr», was der Konfiguration f6 für die erste Aufzeichnung entspricht. Die Formel H ∨ O(♢H) bedeutet «H ist wahr oder die folgende Aufzeichnungszeile existiert und in der folgenden Zeile existiert eine Zeile, entweder die aktuelle Zeile oder eine spätere Zeile, wo H wahr ist», was den Konfigurationen (f4) für die Aufzeichnung E1, (f9) und (f14) für die Aufzeichnung E2 und (f19), (f23) und (f28) für die Aufzeichnung E3 entspricht. Die Menge der Horn-Klauseln, die in dem rechten Teil der Tabelle im Anhang 7 dargestellt ist, ist in der Tabelle (5), im Zähler (7) und im Stapel (18), die in Fig. gezeigt sind, in der folgenden Weise gespeichert. Die Spalten der Tabelle (5) sind durch die Indizes (f2), (f3), (f4), (f5), (f6), (f8), (f11), (f12) der Formeln, die in dem negativen Teil der Klauseln auftreten, indexiert. Nur die Indizes, die eine Schlussfolgerung implizieren, werden aufbewahrt. Die Zeilen der Tabelle (5) sind durch die Indizes (f1), (f3), (f7) der Formeln, die in dem positiven Teil der Klausel auftreten, indexiert. Der negative Teil der Klauseln ist der Teil, der sich links von dem Implikationspfeil befindet und der im Folgenden als implizierende Unterformel(n) bezeichnet wird. Der positive Teil befindet sich rechts von dem Pfeil und wird als implizierte Formel bezeichnet. Diese Darstellung ist nicht einschränkend, wobei die Darstellung in Form einer Sparse-Matrix oder dünn besetzten Matrix, bei der die Spalten mittels verketteter Listen repräsentiert werden und die Zeilen implizit bleiben, bevorzugt wird. Zum besseren Verständnis der Erfindung wird diese jedoch mit Hilfe der Notationen von 2 erläutert. Zum besseren Verständnis der Notation der Tabelle 7, die Klausel (f2) ∧ (f3)→(f1) bedeutet, dass dann, wenn die Konfiguration f2 verifiziert ist und die Konfiguration f3 verifiziert ist, die Konfiguration f1 verf iziert ist. Die Klausel f7→f3 bedeutet, dass dann, wenn die Konfiguration f7 verfiziert ist, auch die Konfiguration f3 verifiziert ist. Im Verlauf der Expansion der Formeln durch den Interpretierer (3), hat dieser im Übrigen die positiven Klauseln, die den Formeln, die erfüllt werden können, entsprechen, in einem Stapel (18) gespeichert. So sind am Ende der Expansion die Formeln f2 und f8 in dem Speicher (181 ), wie in 2 gezeigt ist, wobei die Tabelle der Zähler von negativen Zeichen der Klauseln der Tabelle aus Informationen gebildet ist, die in dieser Figur durch das Bezugszeichen (71 ) dargestellt sind. In der Phase der Auflösung beginnt der Algorithmus für die Verarbeitung von Klauseln (6), der durch den Interpretierer gestartet wird, sobald dieser, nachdem er die Aufzeichnungszeilen der Protokolldatei untersucht hat, die Tabellen (5, 7 und 18) gefüllt hat, den oberen Teil oder Kopf des Stapels (18) zu untersuchen und daraus Informationen zu entnehmen, ob die Konfiguration f8, im vorliegenden Fall, erfüllt ist. Der Algorithmus untersucht anschließend in der Tabelle (5) die Klauseln, die diese Konfiguration in dem negativen Teil aufweisen, im vorliegenden Fall die Konfiguration f7, und leitet daraus den Zähler, den er dekrementieren muss, ab. Der Zähler (72 ) repräsentiert die Entwicklung in dem Zähler (71 ), demjenigen Zähler, der der in dem positiven Teil dargestellten Formel zugeordnet ist. Der Algorithmus dekrementiert den betreffenden Zähler, im vorliegenden Fall jenen der Konfiguration f7, und setzt den Wert «7» der Konfiguration, die wahr ist, oben in den Stapel, wie in dem Kästchen (182 ) gezeigt ist, das die Entwicklung des Stapels (18) repräsentiert, wohin gegen die Spalte (72 ) die Entwicklung des Zählers repräsentiert. Danach geht der Algorithmus für die Auflösung von Klauseln iterativ vor, indem er die Klauseln sucht, die die Konfiguration f7 in dem negativen Teil aufweisen, um daraus abzuleiten, dass die Konfiguration f3 wahr ist, und dekrementiert den dieser Zeile von Konfigurationen entsprechenden Zähler, wie in der Spalte (73 ) gezeigt ist. Der Algorithmus (6) fährt in dieser Weise fort, bis der Stapel (18) leer ist oder bereits verarbeitete Konfigurationen enthält, wobei in dem Stapel (185 ) die einzige Konfiguration f1, die die Spezifikation verifiziert, erhalten wird.
  • Der Expansionsalgorithmus vermeidet, identischen Konfigurationen, die durch ihren Zeiger repräsentiert sind, unnötig zu entgegen, indem er eine Zerhackungstabelle einsetzt. Die Datenstruktur einer Zerhackungstabelle und die zugeordneten Algorithmen sind dem Fachmann wohlbekannt, siehe beispielsweise The Art of Computer Programming, Bd. 3, Sorting and Searching, Addison-Wesley, zweite Ausgabe, 1998.
  • Im Übrigen können auch mit der Expansion der Formeln verbundene Optimierungen ausgeführt werden, um in dieser Weise mehrere Schritte zu vermeiden. So wird die Formel ♢F, anstatt sie im Folgezustand in F ∨ O(♢F), dann in F und O(♢F) und anschließend in ♢F zu expandieren, im Folgezustand direkt in F und ♢F expandiert. Ebenso wird dann, wenn eine Formel des Typs F ∧ G gegeben ist, wo entweder F oder G im Istzustand falsch ausgewertet werden kann, die Expansion der Formel gestoppt. Das durch die Erfindung entwickelte Verfahren bietet einen Vorteil gegenüber dem im Stand der Technik bekannten Verfahren, wo in einer ersten Zeit eine Wahrheitstabelle für jede atomare Formel wie etwa jene, die im Anhang 4 gezeigt ist, erstellt wird und dann in einer zweiten Zeit anhand der Wahrheitstabelle des Anhangs 4 die Wahrheitstabellen (Anhang 5) der nicht atomaren Unterformeln erstellt werden. Die Überprüfung von Modellen erfolgt anschließend in zwei Zeiten. Zuerst wird geprüft, ob die atomaren Formeln wahr oder falsch sind, was für jede Formel einen Durchlauf der Zustände erzwingt, und dann in einer zweiten Zeit zum Ermitteln der Wahrheiten der Unterformeln bei jeder atomaren Formel geschaut werden muss, wie sie sich in jedem Zustand verhält, was darauf hinausläuft, die Aufzeichnungen mehrfach zu durchlaufen. Dies läuft darauf hinaus, Schritte rückwärts in der Protokolldatei mit allen daraus folgenden Lese- und Positionierungsoperationen auszuführen, was unter der Voraussetzung des großen Umfangs einer Protokolldatei sehr zeitaufwändig sein kann. Das durch die Erfindung entwickelte Verfahren ist viel leistungsfähiger und auch im Umfang und Speicherplatz zum Speichern der Zwischenzustände viel sparsamer.
  • Um ein besseres Verständnis des Algorithmus zu ermöglichen, wird es kurz beschrieben und danach in formaler Weise dargestellt.
  • FS, die Spezifikationsdatei, wird als endliche Folge von Formeln FS betrachtet, deren Syntax und Semantik oben definiert worden sind. Mit F sei die Menge aller Formeln, deren Syntax und Semantik oben definiert worden sind, bezeichnet, mit (R1, ..., R|N|) (wobei N gleich der Anzahl von Aufzeichnungen in der Datei ist) die LogsA-Datei. Die Logs-Dateien sind Protokolldateien von allem, was sich in einem System ereignet, (beispielsweise eine Datei, die die Zuschaltungen und die Abschaltungen der Benutzer zu bzw. von den Maschinen schildert). Eine Aufzeichnung (record) ist eine endliche Domänen- und Co-Domänenfunktion R von Σ* nach Σ*, wo die Menge der Zeichenketten
    R: Σ*→Σ*.
  • Die Domäne von R und die CO-Domäne von R seien mit dom(R) bzw. mit co-dom(R) bezeichnet.
  • Beispiel 1 (record), es sei die Aufzeichnung R einer Logs-Datei betrachtet:
    Datum = 27:02:2000, Operation = Verbindung, Maschine = Schmetterling,
    Ergebnis = Erfolg, Subjekt = Dingsda
    es ergibt sich dann:
    dom(R) = {Datum, Operation, Maschine, Ergebnis, Subjekt]}, wobei dom(R) die Domäne ist und codom die Co-Domäne ist
    codom(R) = {27:02:2000, Verbindung, Schmetterling, Erfolg, Dingsda} und
    R: Σ*→Σ*
    Datum→ 27:02:2000
    Operation→ Erfolg
    Maschine→ Schmetterling
    Ergebnis→ Erfolg
    Subjekt→ Dingsda
  • Eine Logs-Datei ist folglich eine (endliche) Folge von Aufzeichnungen R1, ..., R|N|.
  • Es seien «Current» und «Next» Mengen von Formeldarstellungen (im Zuge der Beschreibung wird für "Formeldarstellung" "Formel" gesagt); Current ist die Menge von im Istzustand zu untersuchender Formeln, während Next die Menge von Formeln ist, die im Folgezustand untersucht werden müssen.
  • In jedem Zustand ist die Menge «Current» die Vereinigung der Menge «Next» mit den dem Istzustand zugeordneten Formeln FS. Dies ist das, was der Schritt 2 des Algorithmus aussagt.
  • Der Istzustand ist durch die ganze Zahl i, 1 ≤ i ≤ |N| repräsentiert.
  • Die Protokolldatei «logs» wird in einem Stück durchlaufen, wobei während dieses Durchlaufs bei jedem Zustand, d. h. bei jeder Aufzeichnung (record) der Datei, geschaut wird, welches die Formeln der Menge Current sind, die geprüft sind, wobei jene, die Zukunftsoperatoren enthalten, der Menge «Next» hinzugefügt werden, um sie im Folgezustand untersuchen zu können. Dies bildet die Pro zedur «Expand» im Schritt 3) des Algorithmus. Diese Prozedur extrahiert rekursiv die Unterformeln aus jeder Formel, speichert ihre logischen Implikationen, die sie betreffen, in Form von Horn-Klauseln in einer Matrix M (beispielsweise werden für eine Formel F = F1 ∨ F2 die Klauseln F1→F und F2→F erhalten), wobei jene, die atomar sind, falls sie im Istzustand verifiziert worden sind (was die Prozedur «match» versucht, die in «Expand» auftritt), in einem Stapel (Stack), der ein Speicher für Formeldarstellungen ist, gespeichert werden. Sobald alle Formeln im Istzustand expandiert worden sind, wird das, was möglich ist, mit Hilfe der Matrix und des Stapels aufgelöst (was die Prozedur «resolve_matrix» im Schritt 4) des Algorithmus bildet). Somit sind dank der atomaren Formeln, die solche waren, und der Klauseln letztendlich alle Formeln, die verifiziert worden sind, in der Datei «ResForm» (die eine Menge von Formeldarstellungen ist) gespeichert.
  • Diese Schritte werden bis zum Ende der «logs»-Datei iteriert (dies geschieht im Schritt 4) des Algorithmus). Außerdem vergleicht die Prozedur «Satis» des Schritts 5), nachdem die gesamte «logs»-Datei durchlaufen ist, die Formeln der Datei ResForm, die alle in einem bestimmten Zustand verifizierte Formeln, jedoch Unterformeln von Formeln der Spezifikationsdatei sind, mit den Formeln der Spezifikationsdatei, um benennen zu können, welche und in welchem Zustand (welchen Zuständen) verifiziert sind.
  • Der eigentliche Algorithmus lautet:
    • 1) i = Ø; Current := Ø; Next := Ø; ResForm := Ø; Stack := Stapel_leer; M = ();
    • 2) Current := {Repr(F, i)/F ∊ FS} U Next; wobei Repr(F, i) eine gespeicherte Darstellung von F im Zustand i ist Next := Ø;
    • 3) solange Current ≠ Ø, führe aus: dann ist f ∊ Current; Current := Current\{f}; Expand(f);
    • 4) resolve_matrix; wenn i < |N| dann i := i + 1; gehe nach 2); andernfalls gehe nach 5);
    • 5) Satis;
  • Nun werden die in dem Algorithmus verwendeten verschiedenen Prozeduren beschrieben:
    Prozedur «Expand(f)», wobei feine Formeldarstellung ist.
  • Zugunsten von mehr Klarheit wird diese Prozedur mittels einer Tabelle dargestellt, deren Bedeutung nun erläutert wird:
    • – die Spalte "Formel" ist genau: form (f), d. h. die durch f repräsentierte Formel,
    • – die Spalte "Current" (bzw. "Next") bezeichnet alle Formeldarstellungen, die der Menge "Current" (bzw. "Next") hinzugefügt werden,
    • – die Spalte "Klausel" bezeichnet die Klauseln, die in der Matrix mit der weiter unten beschriebenen Prozedur Klausel_einfügen gespeichert werden,
    • – die der Menge "Current" hinzugefügten Formeldarstellungen werden ihrerseits rekursiv expandiert,
    • – die atomaren Formeln und die Formeln der Form ¬F1, wobei F1 eine atomare Formel ist, werden separat bearbeitet: Wenn die atomare Formel einer aktuellen Aufzeichnung entspricht (match irecord) (die Prozedur «match» wird weiter unten definiert), dann wird diese Formel im Zustand i geprüft; wenn die atomare Formel F1 nicht mit dem aktuellen Record übereinstimmt, dann wird ¬F1 im Zustand i geprüft. Formaler:
    • – Wenn form(f) eine atomare Formel ist, wenn match(f) = TRUE dann Stack = Fülle(Stack, f);
    • – Wenn form(f) die Form ¬F1 besitzt, wobei F1 eine atomare Formel ist, dann ist f1 = Repr(F1, i); wenn match(f1) = FALSE, dann Stack = Fülle(Stack, f);
    Figure 00140001
    • (*): andernfalls, d. h. wenn i = |N|,
    • f1 = Repr(F1, i)
    • Stack = Fülle(Stack, f1);
  • Prozedur «match(f)», wobei feine Formeldarstellung ist.
    Fall form (f):
    • – wenn diese die Form {id1 = t1, ..., idn = tn, ...} besitzt, dann:
    • – wenn ∀j, 1 ≤ j ≤ n, idj ∊ Dom (Ri) und match-term (Ri(idj), tj, f),
    • – dann TRUE
    • – andernfalls FALSE
    • – wenn diese die Form {id1 = t1, ..., idn = tn} besitzt, dann:
    • – wenn n = |dom(Ri)| und j, 1 ≤ j ≤ n, idj ∊ Dom (Ri) und match-term (Ri(idj), ti, f),
    • – dann TRUE
    • – andernfalls FALSE
  • Prozedur «match-term(f)» (w, t, f), wobei w, t ∊ Σ* U ν und wobei f eine Formeldarstellung ist:
    Fall t:
    • – wenn t ein regex ist:
    • – wenn Reg (w, t)
    • – dann TRUE
    • – andernfalls FALSE
    • – wenn t eine Variable x ist:
    Notation: ρ(x) ist eine partielle Funktion der Menge der Variablen ν zur Menge der Zeichenketten Σ*
    • – wenn ρ(x) definiert ist
    • – wenn ρ(x) = w
    • – dann TRUE
    • – andernfalls FALSE
    • – wenn ρ(x) nicht definiert ist, dann
    Notation: E ist die Umgebung, die durch diejenigen Paare gebildet ist, deren erste Komponenten in die Menge von Variablen aufgenommen ist und deren zweite Komponente in die Menge der Zeichenketten aufgenommen ist
    • – –E := EU{(x, w)};
    • – TRUE;
  • Prozedur Klausel-(H)_einsetzen, wobei H eine Horn-Klausel mit einer oder zwei Formeldarstellungen im negativen Teil ist:
    Notation: Wenn M eine m × n-Matrix ist, n ∊ N, sei das Element der i-ten durch f indexierten Zeile mit mi,f bezeichnet und in vergleichbarer Weise mf,i und mf1,f2.
  • Fall H:
    • – wenn H die Form f1→f besitzt, dann
    • – wenn bereits eine durch f1 angegebene Spalte von M existiert
    • – dann wird eine durch f indexierte Zeile mit mf,f1 = 1 hinzugefügt;
    • – andernfalls wird eine durch f indexierte Spalte und eine durch f1 indexierte Zeile mit mf,f1 = 1 hinzugefügt;
    • – wenn H die f1 ∧ f2 besitzt, dann
    • – wenn weder f1 noch f2 Index einer Spalte von M sind
    • – dann werden 2 durch f1 und f2 indexierte Spalten und eine durch f indexierte Zeile mit mf,f1 = mf,f2 = 2 hinzugefügt
    • – wenn nur eine der fi, i = 1, 2, kein Index einer Spalte von m ist, dann:
    • – wird eine durch fi indexierte Spalte und eine durch f indexierte Zeile mit mf,fi = mf,fj = 2 hinzugefügt, wobei j ∊ {1, 2}\{i}
    • – wenn f1 und f2 Indizes von Spalten von M sind, dann:
    • – wird eine durch f indexierte Zeile mit mf,f1 = mf,f2 = 2 hinzugefügt
  • Prozedur resolve-matrix
    • – wenn Stack = Stapel-leer, dann geschieht nichts:
    • – andernfalls ist f := Leere(Stack); ∀i derart, dass mi,f das Element ist, das vorhanden ist, führe aus:
    • – mi,f = mi,f – 1;
    • – ∀i derart, dass mi,j vorhanden ist, führe aus: mi,j = mi,j – 1
    • – wenn mi,j = 0, dann;
    • – ist f1 der Index der Zeile mi,j
    • – wenn f1
      Figure 00180001
      Res-form, dann:
    • – Stack := Fülle (Stack, f1)
    • – Res-form := Res-Form U {f1}
    • – unterdr (mi,f);
    • – wenn i-te Zeile, dann unterdrücke diese, wenn die durch f indizierte Spalte leer ist, dann unterdrücke diese
  • Satis:
  • Solange Stack ≠ Stapel-leer, führe aus:
    • – es sei f1 = Leere (Stack); wenn f1 ∊ FS, dann wird form (f) im Zustand (f) geprüft
  • Somit ist das leistungsfähige Verfahren zum Auflösen von Spezifikationen dadurch gekennzeichnet, dass es umfasst:
    • a) einen Schritt des Formulierens von Prüfbedingungen, die mit Hilfe von Spezifikationsformeln erfasst werden sollen und die Angriffsschemata oder Schemata für ein betrügerisches Eindringen oder auch Anomalien angeben, ohne darauf beschränkt zu sein, die durch die Untersuchung von Aufzeichnungen der Versuchsdatei des Datenverarbeitungssystem verifiziert werden sollen;
    • b) einen Schritt der Expansion von Formeln in Unterformeln durch einen Algorithmus;
    • c) einen Schritt des Abtastens durch einen Interpretierer, der darin besteht, für jede expandierte Formel bei jeder Aufzeichnung zu zerlegende Horn-Klauseln zu erzeugen, um festzustellen, ob die Formel bei dieser Aufzeichnung gültig ist oder nicht, wobei die Horn-Klauseln die auflösenden Implikationen der Unterformeln für jede abgetastete Aufzeichnung als positive Klauseln, d. h. als Klauseln, die nur ein positives Zeichen enthalten, und als nicht positive Klauseln, d. h. als Klauseln, die wenigstens ein negatives Zeichen enthalten, ausdrücken, wobei diese negative Zeichen den negativen Teil der Klausel bilden;
    • d) einen Schritt des Speicherns der positiven Horn-Klauseln in einem Stapel von bearbeiteten Unterformeln und einen Schritt des Speicherns in einer Tabelle, die eine Darstellung der implizierenden Unterformel(n) enthält, die den negativen Teil der Klausel bilden, und der Verbindung mit der bzw. den implizierenden Unterformel(n), die den positiven Teil der Klausel bildet bzw. bilden, und des Speicherns in einem Zähler der Anzahl von Formeln oder Unterformeln, die in dem negativen Teil der Klausel für jede implizierte Unterformel vorhanden sind;
    • e) einen Schritt des Auflösens der Tabelle ausgehend von jeder angetroffenen positiven Klausel, um entweder eine Ausgabedatei zu erzeugen oder eine Aktion des Datenverarbeitungssystems hervorzurufen;
    • f) einen Schritt der Iteration der Schritte b) bis e), bis alle Aufzeichnungen der Versuchsdatei vollständig durchlaufen sind.
  • Außerdem ist das Verfahren dadurch gekennzeichnet, dass für die Formulierung der Spezifikation eine zeitliche Logik verwendet wird.
  • Gemäß einem weiteren Merkmal ist die Tabelle matrixförmig und in Spalten durch die Indizes von Formeln indexiert, die in dem negativen Teil der Horn-Klauseln auftreten, während die Zeilen exakt die Horn-Klauseln sind.
  • Gemäß einem weiteren Merkmal ist die Tabelle in Form einer Sparse-Matrix oder dünn besetzten Matrix gegeben, wobei vorzugsweise die Spalten mittels verketteter Listen repräsentiert werden und die Zeilen implizit bleiben.
  • Gemäß einem weiteren Merkmal wird ein Schritt der Optimierung der Expansion der Formeln durch eine Zerhackungstabelle mit dem Ziel erhalten, sicherzustellen, dass dieselbe Formel bei jeder Aufzeichnung nicht mehr als einmal expandiert wird.
  • Gemäß einem weiteren Merkmal wird die Versuchsdatei von Anfang bis Ende nur ein einziges Mal durchlaufen.
  • Außerdem ist das Datenverarbeitungssystem, das Speichermittel und Mittel zum Ausführen von Programmen umfasst, die die Ausführung des Verfahrens ermöglichen, dadurch gekennzeichnet, dass das System umfasst:
    • – ein Anpassungsmittel, das ermöglicht, die Informationen der Versuchsdatei, die in der spezifischen Sprache der Maschine formuliert sind, in eine für ein Interpretierermittel verständliche Sprache zu übersetzen;
    • – das Interpretierermittel, das die Informationen von dem Anpassungsmittel empfängt und die Formulierung der Spezifikation in der zeitlichen Logik als eine Spezifikationsformel empfängt, um diese Formel zu expandieren und um die Tabelle und den Stapel von bearbeiteten Unterformeln zu füllen, die in einem Speicher des Datenverarbeitungssystems gespeichert sind, und das die Abtastung der Versuchsdatei des Datenverarbeitungssystems zur Folge hat;
    • – einen Algorithmus für die Verarbeitung von Klauseln, der von dem Datenverarbeitungssystem ausgeführt wird und ermöglicht, die Horn-Klauseln unter Verwendung der Informationen der Tabelle und des Stapels bearbeiteter Unterformeln zu zerlegen, wobei dieser Algorithmus für die Verarbeitung von Klauseln eine Ausgabedatei erzeugt oder eine Aktion hervorruft.
  • Fachleuten auf dem Gebiet ist klar, dass die vorliegende Erfindung Ausführungsformen unter den zahlreichen weiteren spezifischen Formen ermöglicht, ohne den Anwendungsbereich der Erfindung, wie er beansprucht ist, zu verlassen. Folglich müssen die vorliegenden Ausführungsformen als veranschaulichend betrachtet werden, wobei diese jedoch in dem durch den Umfang der beigefügten Ansprüche definierten Bereich modifiziert werden können.
  • ANHANG
  • Anhang 1
    • {op = «connection», result = «failed», ...}
    • und später {op = «connection», result = «success», ...}
  • Anhang 2
    • E1: {op = «connection», result = «failed«, subject = «Dingsda»}
    • E2: {op = «connection», result = «success», subject = «Dingsda», Datum = 14:09:99»}
    • E3: {op = «exec», result = «success», object = «emacs», Modus = «tex», subject = «Dingsda»}
  • Anhang 3
  • F ∧ ♢H, wobei F und H atomare Formeln der Ereigniserfassung sind, die in zeitlicher Logik ausgehend von atomaren Formeln ausgedrückt ist.
    E1: {F}
    E2: {H}
    E3: {G} Anhang 4
    Figure 00210001
    Wahrheitstabellen der atomaren Formeln Anhang 5
    Figure 00220001
    Wahrheitstabellen der nicht atomaren Formeln
  • Anhang 7
    Figure 00220002
  • Anhand 6
    Figure 00230001
  • Figure 00240001

Claims (7)

  1. Verfahren zum Auflösen von Spezifikationen, das durch ein Datenverarbeitungssystem ausgeführt wird, dadurch gekennzeichnet, dass es umfasst: a) einen Schritt des Formulierens von Prüfbedingungen, die mit Hilfe von Spezifikationsformeln erfasst werden sollen und die Angriffsschemata oder Schemata für ein betrügerisches Eindringen oder auch Anomalien angeben, ohne darauf beschränkt zu sein, die durch die Untersuchung von Aufzeichnungen der Versuchsdatei (1) des Datenverarbeitungssystems verifiziert werden sollen; b) einen Schritt der Expansion von Formeln in Unterformeln durch einen Algorithmus; c) einen Schritt des Abtastens durch einen Interpretierer (3), der darin besteht, für jede expandierte Formel bei jeder Aufzeichnung zu zerlegende Horn-Klauseln zu erzeugen, um festzustellen, ob die Formel bei dieser Aufzeichnung gültig ist oder nicht, wobei die Horn-Klauseln die auflösenden Implikationen der Unterformeln für jede abgetastete Aufzeichnung als positive Klauseln, d. h. als Klauseln, die nur ein positives Zeichen enthalten, und als nicht positive Klauseln, d. h. als Klauseln, die wenigstens ein negatives Zeichen enthalten, ausdrücken, wobei diese negativen Zeichen den negativen Teil der Klausel bilden; d) einen Schritt des Speicherns der positiven Horn-Klauseln in einem Stapel (18) von bearbeiteten Unterformeln und einen Schritt des Speicherns in einer Tabelle (5), die eine Darstellung der implizierenden Unterformel(n) enthält, die den negativen Teil der Klausel bilden, und der Verbindung mit der bzw. den implizierten Unterformel(n), die den positiven Teil der Klausel bildet bzw. bilden, und des Speicherns in einem Zähler (7) der Anzahl von Formeln oder Unterformeln, die in dem negativen Teil der Klausel für jede implizierte Unterformel vorhanden sind; e) einen Schritt des Auflösens der Tabelle (5) ausgehend von jeder angetroffenen positiven Klausel, um entweder eine Ausgabedatei (9) zu erzeugen oder eine Aktion des Datenverarbeitungssystems hervorzurufen; f) einen Schritt der Iteration der Schritte b) bis e), bis alle Aufzeichnungen der Versuchsdatei (1) vollständig durchlaufen sind.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für die Formulierung der Spezifikation eine zeitliche Logik verwendet wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Tabelle (5) matrixförmig ist und in Spalten durch die Indizes von Formeln indexiert ist, die in dem negativen Teil der Horn-Klauseln auftreten, während die Zeilen exakt die Horn-Klauseln sind.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Tabelle (5) in Form einer Sparse-Matrix oder dünn besetzten Matrix gegeben ist, wobei vorzugsweise die Spalten mittels verketteteter Listen repräsentiert werden und die Zeilen implizit bleiben.
  5. Verfahren nach den Ansprüchen 1 oder 2, dadurch gekennzeichnet, dass ein Schritt der Optimierung der Expansion der Formeln durch eine Zerhackungstabelle mit dem Ziel erhalten wird, sicherzustellen, dass dieselbe Formel bei jeder Aufzeichnung nicht mehr als einmal expandiert wird.
  6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Versuchsdatei (1) von Anfang bis Ende nur ein einziges Mal durchlaufen wird.
  7. Datenverarbeitungssystem, das Speichermittel und Mittel zum Ausführen von Programmen umfasst, die die Ausführung des Verfahrens nach einem der Ansprüche 1 bis 6 ermöglichen, dadurch gekennzeichnet, dass das System umfasst: – ein Anpassungsmittel (2), das ermöglicht, die Informationen der Versuchsdatei (1), die in der spezifischen Sprache der Maschine formuliert sind, in eine für ein Interpretierermittel (3) verständliche Sprache zu übersetzen; – das Interpretierermittel (3), das die Informationen von dem Anpassungsmittel (2) empfängt und die Formulierung der Spezifikation in der zeitlichen Logik als eine Spezifikationsformel empfängt, um diese Formel zu expandieren und um die Tabelle (5) und den Stapel (18) von bearbeiteten Unterformeln zu füllen, die in einem Speicher des Datenverarbeitungssystems gespeichert sind, und das die Abtastung der Versuchsdatei (1) des Datenverarbeitungssystems zur Folge hat; – einen Algorithmus (6) für die Verarbeitung von Klauseln, der von dem Datenverarbeitungssystem ausgeführt wird und ermöglicht, die Horn-Klauseln unter Verwendung der Informationen der Tabelle (5) und des Stapels (18) bearbeiteter Unterformeln zu zerlegen, wobei dieser Algorithmus (6) für die Verarbeitung von Klauseln eine Ausgabedatei (9) erzeugt oder eine Aktion hervorruft.
DE60031346T 1999-09-13 2000-08-24 Verfahren und Vorrichtung zur Modellzerlegung und Benutzung davon zur Detektierung der Angriffe gegen die Informatiksysteme Expired - Lifetime DE60031346T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9911716A FR2798490B1 (fr) 1999-09-13 1999-09-13 Procede et dispositif de resolution de modeles et utilisation pour la detection des attaques contre les systemes informatiques
FR9911716 1999-09-13

Publications (2)

Publication Number Publication Date
DE60031346D1 DE60031346D1 (de) 2006-11-30
DE60031346T2 true DE60031346T2 (de) 2007-04-26

Family

ID=9550028

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031346T Expired - Lifetime DE60031346T2 (de) 1999-09-13 2000-08-24 Verfahren und Vorrichtung zur Modellzerlegung und Benutzung davon zur Detektierung der Angriffe gegen die Informatiksysteme

Country Status (6)

Country Link
US (1) US7043755B1 (de)
EP (1) EP1085447B1 (de)
AT (1) ATE343176T1 (de)
CA (1) CA2318613C (de)
DE (1) DE60031346T2 (de)
FR (1) FR2798490B1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064097B2 (en) * 2012-06-06 2015-06-23 Oracle International Corporation System and method of automatically detecting outliers in usage patterns
US8959365B2 (en) * 2012-07-01 2015-02-17 Speedtrack, Inc. Methods of providing fast search, analysis, and data retrieval of encrypted data without decryption
FR3027129B1 (fr) 2014-10-08 2016-10-21 Renault Sa Systeme de reseau embarque de vehicule et procede de detection d'intrusion sur le reseau embarque
TWI610196B (zh) * 2016-12-05 2018-01-01 財團法人資訊工業策進會 網路攻擊模式之判斷裝置、判斷方法及其電腦程式產品

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694590A (en) * 1991-09-27 1997-12-02 The Mitre Corporation Apparatus and method for the detection of security violations in multilevel secure databases
US5355474A (en) * 1991-09-27 1994-10-11 Thuraisngham Bhavani M System for multilevel secure database management using a knowledge base with release-based and other security constraints for query, response and update modification
US5481650A (en) * 1992-06-30 1996-01-02 At&T Corp. Biased learning system
FR2706652B1 (fr) * 1993-06-09 1995-08-18 Alsthom Cge Alcatel Dispositif de détection d'intrusions et d'usagers suspects pour ensemble informatique et système de sécurité comportant un tel dispositif.
US5557742A (en) * 1994-03-07 1996-09-17 Haystack Labs, Inc. Method and system for detecting intrusion into and misuse of a data processing system

Also Published As

Publication number Publication date
CA2318613A1 (fr) 2001-03-13
FR2798490B1 (fr) 2001-10-26
EP1085447B1 (de) 2006-10-18
DE60031346D1 (de) 2006-11-30
FR2798490A1 (fr) 2001-03-16
EP1085447A1 (de) 2001-03-21
US7043755B1 (en) 2006-05-09
ATE343176T1 (de) 2006-11-15
CA2318613C (fr) 2006-06-06

Similar Documents

Publication Publication Date Title
DE69831708T2 (de) Effiziente Erkennung von Computerviren und andere Dateneigenschaften
DE69932344T2 (de) Zugriff zu hierarchischem datenspeicher via sql-eingabe
DE102014204840A1 (de) Verbessertes Datenintegrationswerkzeug
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE10300545B4 (de) Vorrichtung, Verfahren, Speichermedium und Datenstruktur zur Kennzeichnung und Speicherung von Daten
DE112019003876T5 (de) Softwareschwachstellengraphdatenbank
DE102015121509A1 (de) Methodik und Vorrichtung zur Konsistenzprüfung durch Vergleich von Ontologiemodellen
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
DE112020006021T5 (de) Auf maschinelles lernen basierendes verfahren und vorrichtung für die berechnung und verifizierung von verzögerungen des entwurfs integrierter schaltungen
DE102008005083A1 (de) Abrufen einer Information eines fallbasierten Schliessens aus Archivaufzeichnungen
DE102012100392A1 (de) Effiziente Quelle zur Bestimmung einer Unausführbarkeit in Timed Automata-Spuren
EP1035707A2 (de) Verfahren, Erzeugungsmodul, Server, Steuermodul und Speichermittel zum Erstellen von Validierungsregeln
DE112020003431T5 (de) Automatisches umwandeln eines programms, das in einer prozeduralen programmiersprache geschrieben ist, in einen datenflussgraphen, sowie zugehörige systeme und verfahren
DE60031346T2 (de) Verfahren und Vorrichtung zur Modellzerlegung und Benutzung davon zur Detektierung der Angriffe gegen die Informatiksysteme
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE112017007271T5 (de) Äquivalenzverifikationseinrichtung und Äquivalenzverifikationsprogramm
DE102021116315A1 (de) Verfahren zum Zusammenführen von Architekturinformationen
DE102011012068A1 (de) Begriffsverwaltungssystem (tms)
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
Afshari et al. Herbrand's theorem as higher order recursion
DE102019008598A1 (de) Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen
EP1947567A2 (de) Verfahren und Vorrichtung zum automatischen Testen von modellbasierten Funktionen
WO2003054727A1 (de) Kategorisierungssystem für datenobjekte und verfahren zum prüfen der konsistenz von zuordnungen von datenobjekten zu kategorien
EP1364286B1 (de) Verfahren und anordnung zur ermittlung einer gesamtfehlerbeschreibung zumindest eines teils eines technischen systems, computer programm-element und computerlesbares speichermedium
DE112021004347T5 (de) Aktion-objekt-erkennung in überladenen videoszenen unter verwendung von text

Legal Events

Date Code Title Description
8364 No opposition during term of opposition