Decoder: Aktivieren und Konfigurieren des Entropy Parser

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

Ab NetWitness Suite 11.0 kann der Administrator einen nativen NetWitness-Parser, den Entropy Parser, für einen Decoder konfigurieren. Wenn der Entropy Parser aktiviert ist, können Analysten Kanäle sehen, die sich versuchen in anderen Verkehr einzufügen, aber kein normales Protokollverhalten aufweisen. Dadurch können Kanäle identifiziert werden, die nicht dem normalen Umgebungsverkehr entsprechen und daher möglicherweise einer Untersuchung bedürfen.

Der Parser erstellt Metaschlüssel basierend auf vom nativen NetWitness Suite-Parser erfassten Statistiken, mit denen das Verhalten von Kanälen, die sehr viel Netzwerkverkehr aufweisen, identifiziert werden kann. Bei der ersten Aktivierung des Parsers müssen die Analysten sich zunächst mit dem allgemeinen Verhalten der verschiedenen Kanäle in der erfassten Sitzung vertraut machen, um die Bytefrequenz und die normale Client-und Servernutzlast zu verstehen. Wenn die Analysten das normale Verhalten kennen, können sie mithilfe der Metaschlüssel auffälliges Verhalten finden, das nicht dem erwarteten Verhalten entspricht.

Standardmäßig erzeugt der Entropy Parser 10 zusätzliche Metaschlüssel, die die Last an einem Decoder nicht wesentlich erhöhen und für diesen speziellen Fall sehr nützlich sind. Der Parser ist standardmäßig deaktiviert.

Aktivieren Sie die Indexierung, wenn Sie interessante Sitzungen basierend auf einer Nutzlastbyte-Analyse der Pakete untersuchen möchten. Standardmäßig wird der normale Float32-Wert für entropy.req und entropy.res mit 10.000 multipliziert und in UInt16 gespeichert (und ergibt eine Ganzzahl mit maximal 5 Stellen: 0 bis 10.000), um die Indexierung zu vereinfachen.

Wenn Sie jedoch die entropy.*-Felder in der Decoder-Sprache als Float32 definieren, speichert der Decoder ihn als Gleitkommazahl mit einem Bereich von 0,0 bis 1,0. Achten Sie darauf, überall die Sprache zu ändern, wenn Sie ihn als Float32 beibehalten möchten.

RSA empfiehlt die Indexierung als Float32 nicht, da dabei eine sehr hohe Anzahl eindeutiger Werte aufgrund von kleinsten Änderungen in der Genauigkeit entsteht.

Dies sind die 10 neuen Metaschlüssel, die vom Entropy Parser standardmäßig erzeugt werden:

  • entropy.req und entropy.res: Diese Metaschlüssel erfassen die Entropie mithilfe der Entropiegleichung nach Shannon, die einen Gleitkommawert als Ergebnis hat. Der Gleitkommawert von 0 bis 1,000 wird mit 10.000 multipliziert und in die NetWitness Suite als UInt 16 geschrieben: als vorzeichenlose Ganzzahl von 0 bis 10.000.
  • mcb.req und mcb.res: Das häufigste Byte ist ganz einfach das Byte, das für jede Seite (0 bis 255) am häufigsten gesehen wurde.
  • mcbc.req und mcbc.res: Die Anzahl des häufigsten Bytes ist die Häufigkeit, mit der das häufigste Byte (siehe oben) in den Sitzungsstreams gesehen wurde.
  • ubc.req und ubc.res: Die Anzahl der eindeutigen Bytes ist die Zahl der eindeutigen Bytes, die in jedem Stream gesehen wurden. 256 bedeutet z. B., dass alle Bytewerte von 0 bis 255 mindestens einmal gesehen wurden.

  • payload.req und payload.res: Die Nutzlastgrößen-Kennzahlen sind die Nutzlastgrößen jeder Sitzungsseite zum Zeitpunkt des Parsings. Um hohe Anzahlen eindeutiger Werte (schlecht für die Performance) in der Indexierung zu vermeiden, werden die folgenden zwei Nutzlastgrößen-Metadaten auf die genannte Weise berechnet:
    • Weniger als 1.000: Die genaue Anzahl der Nutzlastbytes wird zurückgegeben.

    • 1.000 oder mehr: wird auf den nächsten 1.000er abgerundet. Eine Größe von 5.826 würde also als 5.000 gespeichert werden.

Aktivieren und Konfigurieren des Entropy Parsers in einem Decoder

  1. Melden Sie sich bei RSA NetWitness an und wählen Sie im Menü NetWitness Suite die Optionen Administration > Services aus.
  2. Wählen Sie in der Ansicht „Services“ den Decoder, den Sie konfigurieren möchten, und dann Ansicht > Konfiguration aus.
    Die Ansicht „Services-Konfiguration“ für den ausgewählten Decoder wird angezeigt.
  3. Der Entropy Parser ist standardmäßig deaktiviert. Klicken Sie auf die Drop-down-Liste unter Konfigurationswert und wählen Sie Aktiviert. Wenn Sie einige der Metaschlüssel deaktivieren möchten, klicken Sie auf die Drop-down-Liste und wählen Sie neben dem jeweiligen Metaschlüssel Deaktivieren aus.

  4. Klicken Sie auf Anwenden.
    Der Entropy Parser ist aktiviert und beginnt mit der Erstellung der neuen Metaschlüssel, die in der benutzerdefinierten Concentrator-Indexdatei konfiguriert sind.
  5. Navigieren Sie zur Ansicht „Durchsuchen“ für den Decoder und wählen Sie den Node decoder > parsers > config aus. In parsers.options können Sie Nutzlast des Entropy Parsers festlegen. Der im Screenshot gezeigte Standardwert ist Entropy = payload = 1000. Wenn Sie den Wert definieren, lautet die Syntax Entropy = payload = "1000". Die Anführungszeichen sind erforderlich, wenn der Wert Leerzeichen aufweist, und es wird empfohlen, diese prinzipiell immer zu verwenden, damit keine Probleme aufgrund von Leerzeichen auftreten können. Wenn Sie die genaue Nutzlast sehen möchten, legen Sie diesen Parameter auf „1“ fest.

    Die standardmäßige Entropy-Nutzlast ist 1.000, d. h.: Wenn die Nutzlast kleiner als 1.000 ist, wird der genaue Wert bereitgestellt. Wenn die Nutzlast größer als 1.000 ist, wird der Wert auf die nächsten 1.000er abgerundet. Beispielsweise wird ein Wert von 3.798 auf 3.000 abgerundet.
  6. Wenn Sie den standardmäßigen Rundungsfaktor für die Entropy-Nutzlast ändern möchten, können Sie den Wert bearbeiten. Diese Änderung wird wirksam, wenn der Parser neu geladen wird.

  7. Wählen Sie in der Ansicht „Services-Konfiguration“ den Concentrator aus, der den Datenverkehr von diesem Decoder aggregiert. Wählen Sie Anzeigen > Dateien und öffnen Sie die benutzerdefinierte Indexdatei für den Concentrator. Suchen Sie nach den Metaschlüsseln des Entropy Parsers, um festzustellen, ob sie enthalten und nicht auskommentiert sind.
    Standardmäßig sind die Schlüssel auskommentiert und daher nicht aktiviert. Um diesen Teil der Sprache zu aktivieren, muss der Administrator diesen Teil der Indexdatei in index-concentrator-custom.xml kopieren und die Zeile key description für jeden Metaschlüssel auskommentieren. Unten finden Sie ein Beispiel der benutzerdefinierten Indexdatei mit den Schlüsseln des Entropy Parsers und Anweisungen.
  8. Sind die Entropy-Metaschlüssel aktiviert, sind sie für Analysten in Investigate verfügbar, aber standardmäßig ausgeblendet. Um die Metaschlüssel in der Ansicht „Werte untersuchen“ sichtbar zu machen, bearbeiten Sie die Standardmetaschlüssel im Dialogfeld „Standardmetaschlüssel“ so, dass sie offen sichtbar und nicht ausgeblendet sind. Sie können diese Metaschlüssel genau wie andere Metaschlüssel managen.
    Dies ist ein Beispiel des Dialogfelds „Standardmetaschlüssel managen“.

 

Konfiguration des Entropy Parsers in der benutzerdefinierten Concentrator-Indexdatei

Im Folgenden ist ein Auszug der Concentrator-Indexdateizeilen zu sehen, die der Administrator in die benutzerdefinierte Indexdatei kopieren muss. Die Kommentare enthalten Anleitungen zur Konfiguration des Parsers.

<!-- This section is commented out because it's only used by the Entropy parser which is disabled by default. To enable this part of the language, copy to index-concentrator-custom.xml and uncomment the keys. HOWEVER, take note that depending on how the Entropy parser is configured, the entropy.req and entropy.res format might be a Float32 instead of a UInt16. So make sure to change to the correct type if necessary.-->

<!-- Entropy parser meta - enable indexing if you have interest in exploring this for interesting sessions based on payload byte analysis of the packets. By default, to make indexing easier, the normal Float32 value for entropy.res and entropy.req is multiplied by 10k and stored in a UInt16 (thus giving 4 digits of precision, 0 to 10,000). However, if you define the *.entropy fields in the Decoder language to be Float32, it will store it as a float with a range of 0.0 to 1.0. Take care to change the language everywhere if you decide to keep it as a Float32. We also don't recommend indexing as a Float32.-->

<!--

<key description="Client Entropy" format="UInt16" level="IndexNone" name="entropy.req" valueMax="10001"/>

<key description="Server Entropy" format="UInt16" level="IndexNone" name="entropy.res" valueMax="10001"/>

-->

<!-- The most common byte is simply which byte for each side (0 thru 255) was seen the most -->

<!--

<key description="Client Most Common Byte" format="UInt8" level="IndexNone" name="mcb.req"/>

<key description="Server Most Common Byte" format="UInt8" level="IndexNone" name="mcb.res"/>

-->

<!-- The most frequest byte count is the number of times the most common byte was seen in the session streams -->

<!--

<key description="Client Most Frequent Byte Count" format="UInt32" level="IndexNone" name="mcbc.req" valueMax="500000"/>

<key description="Server Most Frequent Byte Count" format="UInt32" level="IndexNone" name="mcbc.res" valueMax="500000"/>

-->

<!-- Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once -->

<!--

<key description="Client Unique Bytes" format="UInt16" level="IndexNone" name="ubc.req"/>

<key description="Server Unique Bytes" format="UInt16" level="IndexNone" name="ubc.res"/>

-->

<!-- The payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep

indexing from having high unique counts (bad for performance), the two payload size meta values below are calculated like so:

Less than 1000 is the exact number of payload bytes

1000 or greater is bucketed in increments of 1000. So a size of 5826 would be stored as 5000. -->

<!--

<key description="Client Payload Size" format="UInt32" level="IndexNone" name="payload.req" valueMax="500000"/>

<key description="Server Payload Size" format="UInt32" level="IndexNone" name="payload.res" valueMax="500000"/>

-->

 
You are here
Table of Contents > Konfigurieren von Feeds und Parsern > Aktivieren und Konfigurieren des Entropy Parser

Attachments

    Outcomes