Berechnete Felder konfigurieren

Unterstützt in:

Dieser Leitfaden richtet sich an Sicherheitsanalysten und SOC-Manager, die die Datenanreicherung in ihren Sicherheitsvorgängen automatisieren möchten. Darin wird beschrieben, wie Sie berechnete Felder mit logischen Formeln erstellen und verwalten, um neue Werte aus vorhandenen Fall- und Warnungsdaten abzuleiten. So können Sie die manuelle Dateneingabe vermeiden und dafür sorgen, dass wichtige Messwerte in Echtzeit aktualisiert werden. Durch den erfolgreichen Abschluss werden die Analysefunktionen der Plattform verbessert und die Triage von Vorfällen durch automatisches Ausfüllen von Feldern beschleunigt.

Mit berechneten Feldern können Sie dynamisch neue Datenpunkte in Google Security Operations-Vorgängen und ‑Benachrichtigungen ableiten. Durch das Definieren logischer Formeln können Sie Werte auf Grundlage vorhandener System- oder benutzerdefinierter Felder berechnen. Der berechnete Wert wird automatisch ausgewertet und in Echtzeit in einem vom Nutzer ausgewählten, vorhandenen benutzerdefinierten Feld (mit der Bezeichnung Zielfeld) gespeichert.

Gängige Anwendungsfälle

In den folgenden Szenarien wird beschrieben, wie Organisationen berechnete Felder am häufigsten nutzen, um die betriebliche Effizienz und die Datenübersichtlichkeit zu verbessern.

Automatisierte Risikobewertung

  • Ziel: Fälle nach Ereignisvolumen oder Prioritätsstufen kategorisieren.
  • Wert: Standardisiert die Priorisierung und sorgt dafür, dass Vorfälle mit hohem Risiko für das Team sofort sichtbar sind.

Datennormalisierung

  • Ziel: Warnungen anhand von Namenskonventionen als Test oder Produktion kennzeichnen.
  • Wert: Rauschen wird reduziert, da Analysten nicht kritische Testdaten aus ihrer primären Ansicht herausfiltern können.

Schlüsselterminologie

  • Formel: Ein textbasierter logischer Ausdruck, den Sie mit Funktionen, Operatoren und Feldreferenzen definieren, um einen Wert zu berechnen.
  • Zielfeld: Ein vorhandenes benutzerdefiniertes Feld vom Typ Freitext, in dem das Ergebnis der Formelberechnung gespeichert wird.
  • Abhängigkeiten: Die Felder, auf die in Ihrer Formel verwiesen wird. Wenn sich der Wert eines Abhängigkeitsfelds ändert, wird das berechnete Feld synchron neu ausgewertet.

Hinweis

Bevor Sie eine Berechnung erstellen, muss Ihre Umgebung die folgenden technischen Anforderungen erfüllen:

  • Berechtigungen: Sie benötigen Administratorzugriff auf das Menü Einstellungen und Berechtigungen zum Verwalten von Falldaten.
  • Umgebungsprüfung: Sie benötigen vorhandene, aktive benutzerdefinierte Felder vom Typ Freitext, die als Zielfelder dienen.

Sie müssen benutzerdefinierte Felder haben, die Sie als Zielfelder in Ihrem System verwenden können. Ist das nicht der Fall, gehen Sie so vor:

  1. Rufen Sie Einstellungen > Fall-Daten > Benutzerdefinierte Felder auf.
  2. Erstellen Sie ein neues benutzerdefiniertes Feld und legen Sie den Typ auf Freitext fest.

Weitere Informationen zu benutzerdefinierten Feldern finden Sie unter Benutzerdefiniertes Feld erstellen.

Technische Einschränkungen und Validierungsregeln

Bevor Sie eine Berechnung definieren, müssen Sie darauf achten, dass Ihre Zielfelder und Ihre Logik den folgenden Systembeschränkungen entsprechen. Diese Regeln regeln, wie die Google SecOps-Engine Formelergebnisse validiert und speichert.

Kriterien für die Feldvalidierung

Die Berechnungs-Engine setzt die folgenden Anforderungen für jedes Feld, das als Zielfeld festgelegt ist, strikt durch:

  • Datentyp: Das Feld muss vom Typ Freitext sein.
  • Betriebsstatus: Das Feld muss Aktiv sein. Das System kann nicht in gelöschte oder ungültige Felder schreiben.
  • Abhängigkeitszuordnung: Um zirkuläre Logik zu vermeiden, kann ein Feld nicht als Ziel verwendet werden, wenn es bereits eine Abhängigkeit für ein anderes berechnetes Feld ist.

Feld-Scoping

Wenn Sie ein benutzerdefiniertes Feld mit dem Both-Bereich erstellen, generiert das System für jeden Kontext eindeutige Einträge. So können Sie separate Logik für Fälle und Benachrichtigungen innerhalb derselben logischen Kategorie beibehalten.

Wählen Sie im Menü Zielfeld den für Ihre Formel relevanten Bereich aus:

  • Umfang des Falls: Mit CaseCustom.YourField gekennzeichnet (z. B. CaseCustom.RiskLevel)
  • Umfang der Benachrichtigung: Mit AlertCustom.YourField gekennzeichnet (z. B. AlertCustom.RiskLevel)

Berechnete Felder erstellen und verwalten

In diesem Abschnitt wird beschrieben, wie Sie eine neue Berechnung definieren und häufige Probleme während der Einrichtung beheben.

Neue Berechnung erstellen

So erstellen Sie eine neue Berechnung:

  1. Klicken Sie auf Einstellungen > Fall-Daten > Berechnete Felder.
  2. Klicken Sie auf Hinzufügen Hinzufügen.
  3. Geben Sie im Feld Name des berechneten Felds einen eindeutigen Namen und eine Beschreibung für die Berechnung ein.
  4. Wählen Sie im Bereich Zielfeld das vorhandene benutzerdefinierte Feld aus, in dem das Ergebnis gespeichert werden soll.

    1. Erwarteter Fehler: Das ausgewählte Feld wird nicht im Menü angezeigt.
    2. Korrekturmaßnahme: Prüfen Sie, ob das benutzerdefinierte Feld aktiv ist, auf Freitext festgelegt ist und nicht bereits eine Abhängigkeit für eine andere Berechnung darstellt.
  5. Erstellen Sie die Formel im Texteditor mit den unterstützten Funktionen, Operatoren und der unterstützten Syntax. Erstellen Sie einen logischen Ausdruck (z. B. IF ([case.priority] == "High") THEN "Urgent" ELSE "Standard"). Weitere Informationen finden Sie unter Formelsprache und ‑syntax.

  6. Klicken Sie auf Speichern.

    1. Erwarteter Fehler: Das System lehnt das Speichern ab und zeigt eine rote Fehlermarkierung an.
    2. Korrekturmaßnahme: Prüfen Sie auf Syntaxfehler wie fehlende Klammern um IF-Bedingungen oder Kleinbuchstaben bei Keywords.

Auf erweiterte Assets und Referenzen zugreifen

Für alle integrierten Operatoren und Funktionen müssen Formeln strengen Grammatik- und Groß-/Kleinschreibungsregeln folgen. Beachten Sie die folgenden technischen Spezifikationen, damit Ihre Berechnungen gültig sind.

Beispiele für Formeln

Die folgenden Vorlagen zeigen, wie Sie Funktionen und Operatoren kombinieren können, um die Datenanreicherung zu automatisieren. Sie können diese Snippets kopieren und an Ihre spezifischen Feldnamen und Organisationsanforderungen anpassen.

Beispiel 1: Risikostufe festlegen

Mit dieser Formel können Sie Fälle anhand bestimmter Keywords kategorisieren, die im Falltitel enthalten sind.

  • Zielfeld: CaseCustom.risk_level (Text)
  • Ziel: Dringenden Vorfällen automatisch den Status „Hoch“ zuweisen
  • Formel:

    IF (CONTAINS([case.name], "urgent")) THEN "High" ELSE "Medium"

Beispiel 2: Testbenachrichtigungen kennzeichnen

Mit dieser Logik werden Testdaten identifiziert und gekennzeichnet, damit Analysten ihre primären Ansichten filtern und sich auf Produktionsvorfälle konzentrieren können.

  • Zielfeld: AlertCustom.is_test (Text)
  • Ziel: Das Suffix -TEST oder der String TEST soll im Namen einer Benachrichtigung erkannt werden.
  • Formel:

    IF (CONTAINS([alert.name], "TEST") OR ENDS_WITH([alert.name], "-TEST"))
    THEN "TRUE"
    ELSE "FALSE"
    

Beispiel 3: Bedingungen kombinieren

In diesem Beispiel wird die verschachtelte Logik veranschaulicht, mit der Rezensionen sowohl anhand des Ereignisvolumens als auch anhand vorhandener Prioritätsstufen priorisiert werden.

  • Zielfeld: CaseCustom.review_status (Text)
  • Ziel: Eine manuelle Überprüfung soll nur ausgelöst werden, wenn die Länge des Protokolls erheblich ist und die Priorität nicht Low ist.
  • Formel:

    IF (LENGTH(\[AlertCustom.event\_details\]) \> 100 AND NOT IS(\[case.priority\], "Low"))
    THEN "Needs Review"
    ELSE "Auto-Closed"
    

Formelsprache und ‑syntax

Bei allen integrierten Operatoren, Keywords und Funktionen wird in der Berechnungs-Engine zwischen Groß- und Kleinschreibung unterschieden. Schlüsselwörter (z. B. IF, THEN, ELSE, AND, OR, NOT) und Funktionsnamen (z. B. CONTAINS, LENGTH, STARTS_WITH, ENDS_WITH, IS, IS_NOT, DOES_NOT_CONTAIN) müssen in Großbuchstaben geschrieben werden. Bei Tests von Textstrings in Funktionen und Gleichheitsoperatoren wird die Groß-/Kleinschreibung jedoch nicht beachtet. Wenn Sie beispielsweise nach „Phishing“ suchen, werden auch Ergebnisse für „PHISHING“ oder „phishing“ angezeigt.

Datentypen und Literale

Ein Literal ist ein fester Wert, der in Ausdrücken verwendet wird. Achten Sie darauf, dass für Ihre Vorgänge und Funktionsargumente kompatible Typen verwendet werden.

Typ Syntax und Regeln Beispiel
STRING Text in doppelten Anführungszeichen. „critical“, „N/A“
NUMBER Ganz- oder Dezimalzahlen. 100, 3.14
BOOLEAN Muss in Großbuchstaben angegeben werden. WAHR, FALSCH
NULL Stellt einen leeren Wert dar. NULL

Feldverweise

Wenn Sie den Wert eines anderen Felds verwenden möchten, setzen Sie den Feldnamen in eckige Klammern, z. B. [object.field_name].

  • Syntaxregel:Sie müssen ein Präfix mit Feldreferenzen verwenden. Sie müssen ein Präfix (z. B. case. oder AlertCustom.) gefolgt von einem Punkt und dem Feldnamen verwenden. Der Feldname selbst darf Buchstaben, Zahlen, Unterstriche und Leerzeichen enthalten. Beispiel: [case.name], [alert.priority], [AlertCustom.my_custom_field].
  • Sie können die folgenden Systemfelder verwenden: case.name, case.stage, case.priority, alert.name, alert.priority, alert.rule_generator.
  • Sie können auf alle benutzerdefinierten Felder verweisen.
  • In der Formel eines berechneten Felds kann nicht auf ein anderes berechnetes Feld verwiesen werden.

Operatoren

Verwenden Sie Operatoren für Vergleiche und logische Operationen. Klammern () verwenden, um die Standardpriorität zu überschreiben und Ausdrücke zu gruppieren

  • Vergleichsoperatoren: ==, !=, >, >=, <, <=
  • Logische Operatoren: AND, OR, NOT
  • Operatorrangfolge: NOT, >, >=, <, <=, AND, OR,

Bedingte Ausdrücke

Das System unterstützt bedingte Logik mit der IF (condition) THEN expression1 ELSE expression2-Syntax. Der Teil ELSE ist optional. Wenn Sie ihn weglassen und die Bedingung FALSE ist, wird standardmäßig NULL zurückgegeben.

Die Bedingung muss ein Ausdruck sein, der TRUE oder FALSE ergibt.

Beispiel: IF ( [CaseCustom.score] > 75 ) THEN "High Risk" ELSE "Low Risk".

Funktionen

Funktionen sind vordefinierte Operationen, die vollständig in Großbuchstaben geschrieben werden müssen. In der folgenden Tabelle sind die unterstützten Funktionen für die Datenbearbeitung und -auswertung aufgeführt.

Funktion Beschreibung Syntax Rückgabetyp
CONTAINS(field, substring) Prüft, ob ein Textfeld einen Teilstring enthält (Groß-/Kleinschreibung wird nicht beachtet) CONTAINS([case.name], "phishing") BOOLEAN
DOES_NOT_CONTAIN(field, substring) Prüft, ob ein Textfeld keinen Teilstring enthält (Groß-/Kleinschreibung wird nicht beachtet) DOES_NOT_CONTAIN([case.name], "test") BOOLEAN
LENGTH(field) Gibt die Anzahl der Zeichen in einem Feld zurück. LENGTH([case.name]) NUMBER
STARTS_WITH(field, prefix) Prüft, ob das Feld mit einem Präfix beginnt (Groß- und Kleinschreibung wird nicht beachtet). STARTS_WITH([CaseCustom.hostname], "srv-") BOOLEAN
ENDS_WITH(field, suffix) Prüft, ob das Feld mit einem Suffix endet (Groß-/Kleinschreibung wird nicht beachtet) ENDS_WITH([AlertCustom.filename], ".exe") BOOLEAN
IS(field, literal) Prüft, ob der Feldwert mit dem Literal übereinstimmt (Groß-/Kleinschreibung wird nicht beachtet) IS([alert.priority], "High") BOOLEAN
IS_NOT(field, literal) Prüft, ob der Feldwert NICHT gleich dem Literal ist (Groß-/Kleinschreibung wird nicht beachtet) IS_NOT([alert.priority], "Low") BOOLEAN

Reservierte Schlüsselwörter und Kennungen

Die Berechnungs-Engine reserviert bestimmte Wörter für logische Operationen und Funktionen. Sie können diese Begriffe nicht als Namen für benutzerdefinierte Felder oder andere Kennungen in einer Formel verwenden:

  • Logisch: AND, OR, NOT, IF, THEN, ELSE
  • Werte: NULL, TRUE, FALSE
  • Funktionen: CONTAINS, LENGTH, STARTS_WITH, ENDS_WITH, IS, IS_NOT, DOES_NOT_CONTAIN

Kompatibilität von Datentypen

Damit die Auswertung erfolgreich ist, müssen alle Vorgänge und Funktionsargumente kompatible Typen verwenden. Unterstützte Typen sind STRING, NUMBER, BOOLEAN und NULL.

Die endgültige Ausgabe der Formel muss dem erwarteten Typ des Zielfelds entsprechen. Da Zielfelder auf „Freitext“ beschränkt sind, muss Ihre Formel letztendlich in einen String oder einen Wert aufgelöst werden, der implizit in das Format des Ziels umgewandelt werden kann.

Formatierung und Leerraum

Leerzeichen, Tabulatoren und Zeilenumbrüche werden zwischen Tokens in der Regel ignoriert, sind aber unbedingt erforderlich, um Keywords von Bezeichnern zu trennen. Verwenden Sie Leerzeichen strategisch, um komplexe, mehrzeilige Formeln zu strukturieren und so die Wartung und Überprüfung durch Kollegen zu erleichtern.

Effektive Formeln schreiben

Die Berechnungs-Engine ist zwar flexibel in Bezug auf Leerzeichen, aber Sie sollten diese Formatierungsstandards einhalten, um Logikfehler zu vermeiden und die Fehlerbehebung zu vereinfachen.

  • Explizite Gruppierung: Verwenden Sie Klammern, um die Reihenfolge der Operationen eindeutig zu definieren, auch wenn Sie sich auf die Standardreihenfolge verlassen. So wird logische Mehrdeutigkeit vermieden.
  • Visuelle Struktur: Fügen Sie Leerzeichen um Operatoren (==, AND, OR) ein und fügen Sie Zeilenumbrüche für verschachtelte IF/THEN-Anweisungen ein, damit die Logik leichter zu erfassen ist.
  • Typvalidierung: Prüfen Sie immer, ob die endgültige Ausgabe Ihrer Formel dem erwarteten Typ des Zielfelds entspricht, um Auswertungsfehler zu vermeiden.

    IF (
        (IS([CaseCustom.event_count], "100") AND NOT IS([case.priority], "Low"))
        OR CONTAINS([case.name], "Critical")
    )
    THEN "Needs Immediate Review"
    ELSE "Standard Review"
    

Fehlerbehebung

In diesem Abschnitt werden die Leistungserwartungen beschrieben und Self-Service-Lösungen für häufige Bereitstellungsprobleme bereitgestellt, die beim Erstellen oder Verwalten von Formeln auftreten.

Latenz und Limits

Berechnete Felder werden synchron ausgewertet, wenn sich ein Abhängigkeitsfeld ändert. Um die Systemleistung aufrechtzuerhalten, darf in einem berechneten Feld nicht auf ein anderes berechnetes Feld verwiesen werden. Das System blockiert diese verketteten Abhängigkeiten, um Rekursion und Verarbeitungsverzögerungen zu verhindern.

Fehlerbehebung

Wenn Sie Formeln manuell eingeben, können Fehler aufgrund von Syntax- oder Datentypabweichungen auftreten. In der folgenden Tabelle finden Sie eine Zuordnung von spezifischen, reisebezogenen Fehlercodes zu den entsprechenden genauen, umsetzbaren Korrekturen.

Fehlertyp Problem Korrigieren
Syntax Die Formel verstößt gegen Grammatikregeln, z. B. durch nicht übereinstimmende Klammern oder Kleinbuchstaben bei Keywords. Setzen Sie alle IF-Bedingungen in Klammern und prüfen Sie, ob alle Keywords in GROSSBUCHSTABEN geschrieben sind.
Validierung Die Formel verweist auf ein unbekanntes Feld (z. B. [\case.typo]) oder führt zu einem Typkonflikt. Prüfen Sie die Feldnamen in eckigen Klammern und bestätigen Sie, dass die Ausgabe dem Typ des Zielfelds entspricht.
Bewertung Die Formel ist gültig, schlägt aber bei der Ausführung fehl und gibt häufig #ERROR! zurück. Prüfen Sie, ob Laufzeitprobleme vorliegen, z. B. wenn ein Wert, der kein String ist, an eine Funktion wie LENGTH() übergeben wird.

Zielfelder ändern oder löschen

Das System schützt die Felder, auf denen Ihre Formeln basieren, aktiv, um die Datenintegrität zu wahren. Wenn Sie versuchen, ein benutzerdefiniertes Feld zu löschen oder zu ändern, das als Zielfeld verwendet wird, wird die Aktion vom System blockiert und es wird eine Warnung angezeigt, dass das Feld in einem berechneten Feld verwendet wird.

Validierung und Tests

Nachdem Sie eine neue Berechnung gespeichert haben, können Sie die Ergebnisse überprüfen, indem Sie zu einem Fall oder einer Benachrichtigung navigieren und ein Abhängigkeitsfeld aktualisieren. Prüfen Sie, ob das Zielfeld in Echtzeit mit dem erwarteten Wert gefüllt wird.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten