Skip Navigation

Feldoperatoren

Feldoperatoren sind die logischen Elemente einer Regel, mit denen
CylanceOPTICS
zwei Werte vergleichen kann. Wenn zwei oder mehr Operanden vorhanden sind, die den Vergleichskriterien entsprechen, gilt dieser Teil der definierten Funktion für
CylanceOPTICS
als vollständig. Wenn alle Teile der Funktion vollständig sind, ist der Status erfüllt.
Das Feld „Feldoperatoren“ ist ein Objekt, das aus einem oder mehreren bedingten Objekten besteht. Diese bedingten Objekte können auf einen beliebigen Wert festgelegt werden, müssen jedoch mit denselben bedingten Werten übereinstimmen, auf die im Funktionsfeld verwiesen wird.
BlackBerry
empfiehlt, für diese Namen einfache und logische Werte wie Zahlen oder Buchstaben zu verwenden.
Feldoperator
Beschreibung
Base64Encoding
Base64
Dieser Feldoperator tokenisiert eine Zeichenfolge und bestimmt, ob eines der Token mit einem Operanden übereinstimmt. Außerdem wird versucht, den Typ der Zeichenfolgencodierung zu bestimmen (ASCII, UTF-7, UTF-8, UTF-16-LE, UTF-16-BE, UTF-32-LE oder UTF-32-BE). Ohne BOM kann der Operator nur UTF-8, UTF-16-LE und UTF-16-BE zuverlässig erkennen. Wenn alle Erkennungen fehlschlagen, wechselt der Operator standardmäßig zur Standard-Codepage des Systems.
Positiv:
powershell.exe -ex bypass -e "ZwBlAHQALQBwAHIAbwBjAGUAcwBzAA==" equals ("get-process", )
Negativ:
powershell.exe -ex bypass "ZwBlAHQALQBhAGwAaQBhAHMA" does not contain ("get-process", )
ContainsAll
Dieser Feldoperator bestimmt, ob der angegebene Operand alle Operanden aus einer Menge enthält.
Positiv: „Hallo, ich bin eine Zeichenfolge“ enthält alle Elemente aus („allo“, „ge“).
Negativ: „Hallo, ich bin eine Zeichenfolge“ enthält nicht alle Elemente aus („Hi“, „ge“)
ContainsAllWords
Dieser Feldoperator legt fest, ob der angegebene Operand alle Operanden aus einer Menge enthält, wobei jeder Mengenoperand als ganzes Wort angezeigt werden muss, das von Leerzeichen, Satzzeichen oder Ende- bzw. Anfangszeichenfolgemarkern umgeben ist.
Positiv: „Hallo, ich bin eine Zeichenfolge“ enthält alle Wörter aus („Hallo“, „eine“, „Zeichenfolge“).
Negativ: „Hallo, ich bin eine Zeichenfolge“ enthält nicht alle Wörter aus („allo“, „ge“).
ContainsAny
Enthält
Dieser Feldoperator bestimmt, ob der angegebene Operand mindestens einen Operanden aus einer Menge enthält.
Positiv: „Hallo, ich bin eine Zeichenfolge“ enthält mindestens ein Element aus („allo“, „Banane“).
Negativ: „Hallo, ich bin eine Zeichenfolge“ enthält kein Element aus („Hi“, „Banane“).
ContainsAnyWord
ContainsWord
Dieser Feldoperator legt fest, ob der angegebene Operand mindestens einen Operanden aus einer Menge enthält, wobei jeder Mengenoperand als ganzes Wort angezeigt werden muss, das von Leerzeichen, Satzzeichen oder Ende- bzw. Anfangszeichenfolgemarkern umgeben ist.
Positiv: „Hallo, ich bin eine Zeichenfolge“ enthält mindestens ein Wort aus („Hallo“, „Banane“).
Negativ: „Hallo, ich bin eine Zeichenfolge“ enthält keines der Wörter aus („allo“, „ge“).
DamerauLevenshteinDistance
DLDistance
Dieser Feldoperator bestimmt, ob die Editierdistanz (die Anzahl der Änderungen, die erforderlich sind, um einen Operanden in einen anderen Operanden zu verwandeln), innerhalb eines akzeptablen Bereichs liegt, und lässt gleichzeitig die Transposition benachbarter Zeichen zu.
Positiv: Die Damerau-Levenshtein-Distanz zwischen „cat“ und „bat“ beträgt 1.
Positiv: Die Damerau-Levenshtein-Distanz zwischen „hello“ und „bell“ beträgt 2.
Positiv: Die Damerau-Levenshtein-Distanz zwischen „ca“ und „abc“ beträgt 3.
Negativ: Die Damerau-Levenshtein-Distanz zwischen „cart“ und „act“ beträgt nicht 1.
DiceCoefficient
Dice-Koeffizient
Dieser Feldoperator bestimmt die Ähnlichkeit zwischen zwei Mengen oder Zeichenfolgen durch die Anzahl der allgemeinen Bigramme (ein Paar benachbarter Buchstaben in der Zeichenfolge). Er bestimmt, ob das Ergebnis des Vergleichs zwischen „minCoefficient“ und „maxCoefficient“ liegt.
Wenn Sie beispielsweise den Prozessnamen „Test.exe“ mit „Tes.exe“ vergleichen, wird 0,76923076923076927 zurückgegeben.
Bei Einstellung „round“ auf 2:
Positiv: min: 0,5 < 0,77 < 0,8 max; nicht einschließlich
Positiv: min: 0,77 < = 0,77 < = 0,77 max; einschließlich
Negativ: min: 0,8 < 0,77 < 0,85 max; nicht einschließlich
Die Option „round“ rundet die Dezimalstelle auf die angegebene Ganzzahl. Wenn beispielsweise „round“ (Rundung) auf 2 gesetzt ist, wird ,6666666667 zu ,67.
EndsWithAny
EndsWith
Dieser Feldoperator bestimmt, ob der angegebene linke Operand mit dem angegebenen rechten Operanden endet.
Positiv: „Hallo, ich bin eine Zeichenfolge“ endet mit „folge“.
Negativ: „Hallo, ich bin eine Zeichenfolge“ endet nicht mit „bolge“.
EqualsAny
Ist gleich
Dieser Feldoperator legt fest, ob der angegebene Operand genau einem Operanden aus einer Menge entspricht, wobei jeder Mengenoperand als Zahl oder als ganzes Wort angezeigt werden muss, das von Leerzeichen, Satzzeichen oder Ende- bzw. Anfangszeichenfolgemarkern umgeben ist.
Positiv: 10 entspricht genau einer Zahl aus (10, 20, 30).
Positiv: „Hallo“ entspricht genau einem Wort aus („Hallo“, „Banane“).
Negativ: 100 entspricht keiner Zahl aus (10, 20, 30).
Negativ: „Hallo“ entspricht keinem Wort aus („allo“, „ge“).
GreaterThan
Dieser Feldoperator bestimmt, ob der angegebene linke Operand größer als der angegebene rechte Operand ist.
Positiv: 14,4 ist größer als 10,1.
Negativ: 1 ist nicht größer als 1000.
GreaterThanOrEquals
Dieser Feldoperator bestimmt, ob der angegebene linke Operand größer oder gleich dem angegebenen rechten Operanden ist.
Positiv: 14,4 ist größer oder gleich 10,1.
Negativ: 1 ist nicht größer oder gleich 1000.
HammingDistance
Dieser Feldoperator bestimmt die Editierdistanz zwischen zwei Zeichenfolgen gleicher Länge, wobei es sich um die Anzahl der Positionen handelt, an denen sich die entsprechenden Zeichen unterscheiden. Er misst die Mindestanzahl an Ersetzungen, die erforderlich sind, um eine Zeichenfolge in eine andere zu ändern.
Positiv: Die Hamming-Distanz zwischen „cat“ und „bat“ beträgt 1.
  • cat → bat(1)
Positiv: Die Hamming-Distanz zwischen „hello“ und „bell“ beträgt 2.
  • hello → bello(1) → bell(2)
Positiv: Die Hamming-Distanz zwischen „ca“ und „abc“ beträgt 3.
  • ca → aa(1) → ab(2) → abc(3)
Negativ: Die Hamming-Distanz zwischen „cart“ und „act“ beträgt nicht 4.
  • cart → aart(1) → acrt(2) → actt(3) → act(4)
HexEncoding
Dieser Feldoperator tokenisiert eine Zeichenfolge und bestimmt, ob eines der Token mit einem Operanden übereinstimmt. Außerdem wird versucht, den Typ der Zeichenfolgencodierung zu bestimmen (ASCII, UTF-7, UTF-8, UTF-16-LE, UTF-16-BE, UTF-32-LE oder UTF-32-BE). Ohne BOM kann der Operator nur UTF-8, UTF-16-LE und UTF-16-BE zuverlässig erkennen. Wenn alle Erkennungen fehlschlagen, wechselt der Operand standardmäßig zur Standard-Codepage des Systems.
Positiv: „74657374“ enthält „Test“
Negativ: „696e76616c6964“ enthält nicht „Test“
InRange
Dieser Feldoperator bestimmt, ob der angegebene mittlere Operand zwischen dem linken und dem rechten Operanden liegt.
Positiv: 10 liegt zwischen 1 und 20.
Positiv: 5,3 liegt zwischen 5,3 und 20,1 (einschließlich).
Negativ: 4 liegt nicht zwischen 5 und 10.
Negativ: 20 liegt nicht zwischen 20 und 40 (ausschließlich).
IpIsInRange
IpRange
Dieser Feldoperator bestimmt, ob die TargetNetworkConnection-Adresse (SourceAddress, DestinationAddress) innerhalb der angegebenen „min“- und „max“-Optionen liegt.
Zulässige Operanden sind:
{ "Source": "TargetNetworkConnection", "Data": "SourceAddress" }
Und:
{ "Source": "TargetNetworkConnection", "Data": "DestinationAddress" }
Beispiel:
"FieldOperators": { "a": { "Type": "IpIsInRange", "OperandType": "IPAddres", "Options": { "min": "123.45.67.89", "max": "123.45.67.255" }, "Operands": [ { "Source": "TargetNetworkConnection", "Data": "DestAddr" } ] } }
Schließen Sie das folgende Filterobjekt mit dem obigen Beispiel zur Ausgabe des Netzwerkdatenverkehrs ein:
"Filters": [ { "Type": "Event", "Data": { "Category": "Network", "SubCategory": "*", "Type": "Connect" } } ]
IsFlagSet
Dieser Feldoperator prüft, ob ein Bit oder mehrere Bits in einer Bitmaske festgelegt sind. Für den Vergleichswert kann Base-10 oder Base-16 (mit dem Präfix „0x“) verwendet werden.
Positiv: 0x10 wird für 0x4111 festgelegt
Positiv: 3 wird für 0x7 festgelegt
Negativ: 0x3 ist nicht für 0x4 festgelegt
Negativ: 2 ist nicht für 0x5 festgelegt
IsHomoglyph
Dieser Feldoperator bestimmt, ob der linke Operand eine Homoglyphe des rechten Operanden ist. Beispielsweise scheinen ein „e“ aus dem US-amerikanischen Zeichensatz „Latin-1“ und ein französisches „e“ das gleiche Zeichen zu sein und die gleiche Bedeutung zu haben, sie haben aber unterschiedliche Werte.
Positiv: „3xplor3“ ist mit 100% Sicherheit eine Homoglyphe von „explore“.
Positiv: „3xplord“ ist mit 90 % Sicherheit eine Homoglyphe von „explore“.
Negativ: „temp“ ist keine Homoglyphe von „temp“, da es sich um dieselbe Zeichenfolge handelt.
Negativ: „431“ ist keine Homoglyphe von „groß“, da keine gemeinsamen transitiven Eigenschaften vorhanden sind.
IsNullOrEmpty
Dieser Feldoperator bestimmt, ob der angegebene Operand null oder leer ist.
Positiv: <null> ist null oder leer.
Positiv: „“ ist null oder leer.
Positiv: „ “ Ist null oder leer.
Negativ: „Hallo“ ist nicht null oder leer.
IsPopulated
Exists
HasContent
Dieser Feldoperator bestimmt, ob der angegebene Operand nicht null oder leer ist.
Positiv: „Hallo“ ist nicht null oder leer.
Negativ: <null> ist null oder leer.
Negativ: „“ ist null oder leer.
Negativ: „ “ Ist null oder leer.
IsTrue
Dieser Feldoperator bestimmt, ob der angegebene Wert wahr ist.
Positiv: TriState.True
Negativ: TriState.False
Negativ: TriState.Unknown
LessThan
Dieser Feldoperator bestimmt, ob der angegebene linke Operand kleiner als der angegebene rechte Operand ist.
Positiv: 4,4 ist kleiner als 10,1.
Negativ: 1000 ist nicht kleiner als 1.
LessThanOrEquals
Dieser Feldoperator bestimmt, ob der angegebene linke Operand kleiner oder gleich dem angegebenen rechten Operanden ist.
Positiv: 4,4 ist kleiner oder gleich 10,1.
Positiv: 14 ist kleiner oder gleich 14.
Negativ: 1000 ist nicht kleiner oder gleich 1.
LevenshteinDistance
Dieser Feldoperator bestimmt, ob die Editierdistanz, d. h. die Anzahl der Änderungen, die erforderlich sind, um einen Operanden in einen anderen Operanden zu verwandeln, innerhalb eines akzeptablen Bereichs liegt.
Positiv: Die Levenshtein-Distanz zwischen „cat“ und „bat“ beträgt 1.
Positiv: Die Levenshtein-Distanz zwischen „hello“ und „bell“ beträgt 3.
Negativ: Die Levenshtein-Distanz zwischen „cart“ und „act“ beträgt nicht 1.
LongestCommonSubsequence
Dieser Feldoperator vergleicht einen festen linken Operanden mit einer Gruppe von rechten Operanden und bestimmt die längsten gemeinsamen Teilfolgen in jedem Vergleich. Die Ergebnisanzahl wird mit den Mindest- und Höchstwerten verglichen, um zu bestimmen, ob das Ergebnis innerhalb eines akzeptablen Bereichs liegt.
Vergleich von „aggtab“ und „gxtxayb“:
Positiv: „gtab“ ist die längste Sequenz. Wenn der Mindestwert 1 und der Höchstwert 10 ist, liegt dies in einem akzeptablen Bereich.
Negativ: Wenn im vorherigen Beispiel der Mindestwert 5 und der Höchstwert 10 wäre, würde dies nicht in einen akzeptablen Bereich fallen.
LongestCommonSubstring
Dieser Feldoperator vergleicht den linken und rechten Operanden und gibt die Anzahl der längsten gefundenen Teilzeichenfolge zurück.
Vergleichen von „ababc“ und „abcdaba“:
Positiv: „aba“ und „abc“ sind zwei Ergebnisse derselben Größe in „abcdaba“, wobei als längste Teilzeichenfolge 3 zurückgegeben würde.
Negativ: Wenn „mindistance“ und „maxdistance“ auf 4 gesetzt wurden, wäre dies größer als die längste Teilzeichenfolge, die gefunden wurde.
Vergleichen von „ababcd“ und „abcdaba“:
Positiv: „abcd“ ist die längste gefundene Teilzeichenfolge.
MatchOnFilter
NoOp
Dieser Feldoperator gibt an, dass keine Operationen ausgeführt werden und dass der Status einfach übereinstimmt, wenn der Filter ein entsprechendes Ereignis findet.
RegexMatches
Dieser Feldoperator bestimmt, ob der angegebene Operand einem regulären Ausdruck entspricht.
Positiv: „hello, I am a string“ entspricht „^hello, [Ii] am [aA] string$“.
Negativ: „hello, I am a string“ entspricht nicht „^[hi|hey], I am a string$“.
ShannonEntropy
Dieser Feldoperator bestimmt das Maß für die Unvorhersagbarkeit des Zustands oder des durchschnittlichen Informationsgehalts einer Nachricht beim Vergleich eines einzelnen Operanden.
Positiv: „abc“ entspricht 1,5849625007211561 und liegt im Bereich von 1,55 und 1,6.
Negativ: „Z2V0LXByb2Nlc3M=“ entspricht 3,875 und liegt nicht im Bereich von 1,55 und 1,6.
StartsWithAny
StartsWith
Dieser Feldoperator bestimmt, ob der angegebene linke Operand mit dem angegebenen rechten Operanden beginnt.
Positiv: „hello, I am a string“ beginnt mit „hello, I“
Negativ: „hello, I am a string“ beginnt nicht mit „help“