Datenbanktuning: Einführung in die NetWitness-Core-Datenbank

Document created by RSA Information Design and Development on Apr 19, 2018
Version 1Show Document
  • View in full screen mode
 

Dieses Thema bietet eine Übersicht über die NetWitness-Core-Datenbank. Die NetWitness-Core-Services enthalten eine proprietäre Datenbank, die speziell für die Verwendung mit NetWitness Suite-Produkten entwickelt wurde. Sie hat nur wenig Ähnlichkeit mit den herkömmlichen relationalen Datenbanken und basiert nicht auf einer handelsüblichen Datenbanktechnologie. Daher ist es für viele Benutzer ein intensiver Lernprozess, bis sie verstehen, wie die Core-Datenbank funktioniert und wie sie sie optimal nutzen können. Der Zweck dieses Leitfadens besteht darin, den NetWitness Suite-Benutzern die Funktionsweise der Datenbank zu verdeutlichen und zu erläutern, wie sie die Funktionen optimal ausschöpfen können.

Als Systemadministrator können Sie diese Informationen nutzen, um die Planung Ihrer NetWitness Suite-Bereitstellung zu erleichtern und sie auf die optimale Performance abzustimmen. Als Analyst können Sie diesen Leitfaden verwenden, um Ihre Analyse so zu strukturieren, dass Berichte schneller zurückgegeben werden. Als Inhaltsentwickler können Sie diesen Leitfaden verwenden, um Inhalte zu schreiben, die vom Datenbanksystem effizient verarbeitet werden.

In diesem Leitfaden behandelte NetWitness Suite-Produkte

In diesem Leitfaden werden die Funktionen der NetWitness Suite 11.0 behandelt. Die folgenden NetWitness Suite-Komponenten enthalten die Core-Datenbank:

  • Concentrator
  • Archiver
  • Decoder
  • Log Decoder
  • Workbench

Häufig verwendete Begriffe

In diesem Abschnitt werden Definitionen für die in diesem Dokument verwendeten Begriffe erklärt. Die Begriffe werden in der Reihenfolge genannt, in der sie im NetWitness Suite-System vorkommen:

  • Paket-DB : Die Paketdatenbank enthält die erfassten Rohdaten. Auf einem Decoder enthält die Paketdatenbank Pakete, wie sie vom Netzwerk erfasst wurden. Log Decoder verwenden die Paketdatenbank zum Speichern von Rohdatenprotokollen. Die in der Paketdatenbank gespeicherten Rohdaten können über eine Paket-ID aufgerufen werden, diese ID wird jedoch normalerweise für den Anwender nicht angezeigt.
  • Paket-ID : Eine Nummer, anhand der ein Paket oder ein Protokoll in einer Paketdatenbank eindeutig identifiziert wird.
  • Meta-DB : Die Metadatenbank enthält Informationen, die von einem Decoder oder Log Decoder aus dem Rohdatenstream extrahiert werden. Parser, Regeln oder Feeds können Metaelemente erzeugen.
  • Meta-ID : Eine Nummer, anhand der ein Metaelement in der Metadatenbank eindeutig identifiziert wird.
  • Metaschlüssel : Ein Name, der zum Klassifizieren des Typs des jeweiligen Metaelements dient. Allgemeine Metaschlüssel sind u. a. ip.src, time oder service.
  • Metawert : Jedes Metaelement enthält einen Wert. Der Wert entspricht dem vom Parser, vom Feed oder von der Regel erzeugten Wert.
  • Sitzungs-DB : Die Sitzungsdatenbank enthält Informationen, die das Paket und die Metaelemente in Sitzungen miteinander verknüpft.
  • Sitzung : Für einen Paketdecoder stellt eine Sitzung einen einzelnen logischen Netzwerkdatenstream dar. Zum Beispiel ist eine TCP/IP-Verbindung eine Sitzung. Für einen Log Decoder ist jedes Protokollereignis eine Sitzung. Jede Sitzung enthält die Verweise auf alle Paket-IDs und Meta-IDs, die sich auf die Sitzung beziehen.
  • Sitzungs-ID : Eine Nummer, anhand der Sitzungen in der Sitzungs-DB eindeutig identifiziert werden.
  • Index : Der Index ist eine Sammlung von Dateien, anhand dessen Sitzungs-IDs mithilfe von Metawerten gesucht werden können.
  • Core-Datenbank : Diese Datenbank ist die Kombination der Paket-, Meta-, Sitzungs- und Indexdatenbank.

Für Syntaxdefinitionen werden in diesem Dokument EBNF -Grammatikdefinitionen verwendet.

Verlauf der NetWitness-Core-Datenbank

NetWitness (jetzt RSA) hat die Core-Datenbank zur Verwendung in Paketerfassungssystemen entwickelt. Frühzeitig im Entwicklungsprozess von NetWitness haben Entwickler festgestellt, dass die vorhandenen Datenbanktechnologien nicht mit den hohen Aufnahmeraten, die zur Erfassung von vollen Paketen gehören, Schritt halten können. Moderne Datenbanktechnologien konnten nicht annähernd mit der Erfassung der großen Anzahl von pro Sekunde empfangenen Sitzungen Schritt halten, geschweige denn, mit der Sortierung aller Pakete. Aufgrund des Datenvolumens muss der Paketspeicher genauso schnell verworfen und wiederverwendet werden, wie er verarbeitet wird. Dies stellte zum damaligen Zeitpunkt einen Schwachpunkt von Datenbanken dar. Daher hat NetWitness eine Datenbank entwickelt, die aus Paket-, Sitzungs- und Metadatenbanken besteht.

Damit die Analysefunktionen von NetWitness Investigator bereitgestellt werden können, wurde der NetWitness-Datenbank ein Metaindex hinzugefügt. Der Index verfolgte dieselben Ziele bezüglich Design wie die ursprünglichen Datenbanken. Er wurde so konzipiert, dass er eine sehr hohe Einfügerate in eine hohe Anzahl von umfangreichen Indizes unterstützt.

Der Index wurde im Laufe der Jahre beträchtlich weiterentwickelt. Frühere Versionen des Index konnten nur zusammenfassende Schätzungen abgeben, wie viele eindeutige Metawerte in der Metadatenbank vorhanden waren. Andere Versionen hatten große Mühe, die akzeptable Abfrageperformance zu erfüllen. So ließ sich zum Beispiel in NetWitness 9.0 die Berichtsdauer häufig in Minuten anstatt in Sekunden messen. Die aktuelle Indexversion wurde vom NetWitness 9.0-Index abgeleitet und beträchtlich weiterentwickelt, um die Performanceerwartungen zu erfüllen und neue Funktionen hinzufügen zu können.

Stärken und Schwächen der Core-Datenbank

Stärken:

  • Kontinuierlich hohe Einfügeraten, ohne dass Ausfallzeiten für Masseneinfügungen erforderlich sind
  • Akzeptable Abfrageperformance bei hohen Einfügeraten
  • Automatische Bereinigung und Rollover von alten Daten mit minimaler Fragmentierung
  • Sehr hohe Anzahl von Metawerteindizes: auf einem Concentrator sind standardmäßig mehr als 100 Indizes aktiviert.
  • Funktion zum Skalieren von Datenbanken in Petabyte-Größe und Indizes in Terabyte-Größe auf einem einzigen Node
  • Durch die Verwendung von Metaschlüssel/Wert-Paaren ist die Datenbank äußerst flexibel für die Speicherung von beliebigen Metaelementen innerhalb einer Sitzung. Daher kann eine Sitzung für die Darstellung von nahezu allen Datensatztypen verwendet werden.

Schwächen:

  • Die Abfragefunktion ist begrenzt und erfolgt auf niedriger Stufe.
  • Das Schema der Paket-, Meta- und Sitzungs-DB ist festgelegt und sämtliche Anpassungen werden über benutzerdefinierte Metaschlüssel und -werte vorgenommen.
  • Die Datenbank bietet keine Garantien zur Transaktionsunteilbarkeit, wie Sie sie von einer SQL-Datenbank erwarten würden.
You are here
Table of Contents > Einführung in die NetWitness-Core-Datenbank

Attachments

    Outcomes