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. Es wird erläutert, wie Sie berechnete Felder mit logischen Formeln erstellen und verwalten, um neue Werte aus vorhandenen Fall- und Benachrichtigungsdaten abzuleiten. Mit dieser Methode können Sie die manuelle Dateneingabe vermeiden und dafür sorgen, dass wichtige Messwerte in Echtzeit aktualisiert werden. Der erfolgreiche Abschluss verbessert die Analysefunktionen der Plattform und beschleunigt die Triage von Vorfällen durch automatisches Ausfüllen von Feldern.

Mit berechneten Feldern können Sie dynamisch neue Datenpunkte in Google Security Operations-Fällen und ‑Benachrichtigungen ableiten. Durch die Definition logischer Formeln können Sie Werte basierend auf vorhandenen System- oder benutzerdefinierten Feldern berechnen. Der berechnete Wert wird automatisch ausgewertet und in Echtzeit in einem vom Nutzer ausgewählten, bereits vorhandenen benutzerdefinierten Feld (mit der Bezeichnung Zielfeld) gespeichert.

Gängige Anwendungsfälle

Die folgenden Szenarien zeigen die häufigsten Möglichkeiten, wie Unternehmen berechnete Felder nutzen, um die betriebliche Effizienz und die Datenklarheit zu verbessern.

Automatisierte Risikobewertung

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

Daten normalisieren

  • Ziel: Benachrichtigungen basierend auf Namenskonventionen als Test oder Produktion kennzeichnen.
  • Wert: Reduziert das Rauschen, da Analysten unkritische Testdaten aus ihrer primären Ansicht herausfiltern können.

Schlüsselterminologie

  • Formel: Ein von Ihnen definierter textbasierter logischer Ausdruck, der Funktionen, Operatoren und Feldverweise verwendet, um einen Wert zu berechnen.
  • Zielfeld: Ein vorhandenes benutzerdefiniertes Feld (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 Tags.
  • Umgebung prüfen: Sie benötigen vorhandene, aktive benutzerdefinierte Felder (Typ Freitext), die als Zielfelder dienen.

Achten Sie darauf, dass in Ihrem System benutzerdefinierte Felder vorhanden sind, die Sie als Zielfelder verwenden können. Wenn nicht, führen Sie die folgenden Schritte aus:

  1. Gehen Sie zu Einstellungen > Prüfung > Benutzerdefinierte Felder.
  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 sicherstellen, dass Ihre Zielfelder und die Logik den folgenden Systemeinschränkungen entsprechen. Diese Regeln bestimmen, wie die Google SecOps-Engine Formelergebnisse validiert und speichert.

Kriterien für die Feldvalidierung

Die Berechnungs-Engine setzt die folgenden Anforderungen für alle Felder, die als Zielfeld festgelegt sind, 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 Zirkellogik zu vermeiden, kann ein Feld nicht als Ziel verwendet werden, wenn es bereits eine Abhängigkeit für ein anderes berechnetes Feld ist.

Feldbereich

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

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

  • Fallumfang: Mit CaseCustom.YourField gekennzeichnet (z. B. CaseCustom.RiskLevel)
  • Benachrichtigungsbereich: 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 bei der Einrichtung beheben.

Neue Berechnung erstellen

So erstellen Sie eine neue Berechnung:

  1. Gehen Sie zu Einstellungen > Prüfung > 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 ist.
  5. Erstellen Sie im Texteditor Ihre Formel mit den unterstützten Funktionen, Operatoren und der 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. Korrekturschritt: Prüfen Sie auf Syntaxfehler, z. B. fehlende Klammern um IF-Bedingungen oder kleingeschriebene Schlüsselwörter.

Zugriff auf erweiterte Assets und Referenzen

Formeln müssen für alle integrierten Operatoren und Funktionen strikte Grammatik- und Groß-/Kleinschreibungsregeln einhalten. Anhand der folgenden technischen Daten kannst du prüfen, ob deine Berechnungen korrekt sind.

Beispiele für Formeln

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

Beispiel 1: Risikostufe festlegen

Mit dieser Formel kannst du Fälle anhand bestimmter Keywords im Titel kategorisieren.

  • 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: Testwarnungen melden

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 den String TEST in einem Benachrichtigungsnamen erkennen
  • Formel:

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

Beispiel 3: Bedingungen kombinieren

In diesem Beispiel wird eine verschachtelte Logik verwendet, um Prüfungen sowohl nach Ereignisvolumen als auch nach vorhandenen Prioritätsstufen zu priorisieren.

  • Zielfeld: CaseCustom.review_status (Text)
  • Ziel: Eine manuelle Überprüfung nur dann auslösen, wenn die Loglänge 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

Die Berechnungs-Engine unterscheidet bei allen integrierten Operatoren, Keywords und Funktionen zwischen Groß- und Kleinschreibung. Keywords (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 der Prüfung von Textstrings innerhalb von Funktionen und Gleichheitsoperatoren wird jedoch nicht zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie beispielsweise nach „phishing“ suchen, werden auch „PHISHING“ oder „Phishing“ gefunden.

Datentypen und Literale

Ein Literal ist ein fester Wert, der in Ausdrücken verwendet wird. Wir empfehlen, darauf zu achten, 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 Ganzzahlen oder Dezimalzahlen. 100, 3.14
BOOLEAN Muss in Großbuchstaben angegeben werden. TRUE, FALSE
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 Feldverweisen 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, Ziffern, Unterstriche und Leerzeichen enthalten. Beispiele: [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.
  • Eine Formel für ein berechnetes Feld kann nicht auf ein anderes berechnetes Feld verweisen.

Operatoren

Verwenden Sie Operatoren für Vergleiche und logische Vorgänge. Verwenden Sie Klammern (), um die Standardrangfolge 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 als TRUE oder FALSE ausgewertet wird.

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 berücksichtigt) CONTAINS([case.name], "phishing") BOOLEAN
DOES_NOT_CONTAIN(field, substring) Prüft, ob ein Textfeld einen Teilstring nicht enthält (Groß-/Kleinschreibung wird nicht berücksichtigt) 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ß-/Kleinschreibung wird nicht berücksichtigt) STARTS_WITH([CaseCustom.hostname], "srv-") BOOLEAN
ENDS_WITH(field, suffix) Prüft, ob das Feld mit einem Suffix endet (Groß-/Kleinschreibung wird nicht berücksichtigt) ENDS_WITH([AlertCustom.filename], ".exe") BOOLEAN
IS(field, literal) Prüft, ob der Feldwert mit dem Literal übereinstimmt (Groß-/Kleinschreibung wird nicht berücksichtigt) IS([alert.priority], "High") BOOLEAN
IS_NOT(field, literal) Prüft, ob der Feldwert NICHT mit dem Literal übereinstimmt (Groß-/Kleinschreibung wird nicht berücksichtigt) IS_NOT([alert.priority], "Low") BOOLEAN

Reservierte Keywords und Kennungen

Die Berechnungs-Engine reserviert bestimmte Wörter für logische Vorgänge 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 zu einem String oder einem Wert aufgelöst werden, der implizit in das Format des Ziels umgewandelt werden kann.

Formatierung und Leerzeichen

Leerzeichen, Tabulatoren und Zeilenumbrüche werden zwischen Tokens im Allgemeinen ignoriert, sind aber unbedingt erforderlich, um Schlüsselwörter von Bezeichnern zu trennen. Verwenden Sie Leerzeichen strategisch, um komplexe, mehrzeilige Formeln zu strukturieren, damit sie leichter zu pflegen und von anderen zu überprüfen sind.

Effektive Formeln schreiben

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

  • Explizite Gruppierung: Verwenden Sie Klammern, um die Reihenfolge der Vorgänge klar zu definieren, auch wenn Sie sich auf die Standardpriorität verlassen. So lassen sich logische Unklarheiten vermeiden.
  • Visuelle Struktur: Fügen Sie Leerzeichen um Operatoren (==, AND, OR) und 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 beim Erstellen oder Verwalten von Formeln bereitgestellt.

Latenz und Limits

Berechnete Felder werden synchron ausgewertet, wenn sich ein abhängiges Feld ändert. Um die Systemleistung aufrechtzuerhalten, kann ein berechnetes Feld nicht auf ein anderes berechnetes Feld verweisen. Das System blockiert diese verketteten Abhängigkeiten, um Rekursionen und Verarbeitungsverzögerungen zu vermeiden.

Fehlerbehebung

Wenn Sie Formeln manuell schreiben, können Fehler aufgrund von Syntax- oder Datentypabweichungen auftreten. In der folgenden Tabelle finden Sie die genauen, umsetzbaren Lösungen für bestimmte Fehlercodes im Zusammenhang mit Fahrten.

Fehlertyp Problem Korrigieren
Syntax Die Formel verstößt gegen Grammatikregeln, z. B. nicht übereinstimmende Klammern oder kleingeschriebene Schlüsselwörter. Setzen Sie alle IF-Bedingungen in Klammern () und achten Sie darauf, dass alle Schlüsselwörter in GROSSBUCHSTABEN geschrieben sind.
Validierung Die Formel verweist auf ein unbekanntes Feld (z. B. [\case.typo]) oder führt zu einer Typenabweichung. Überprü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 während der Ausführung fehl. Häufig wird #ERROR! angezeigt. Suchen Sie nach Laufzeitproblemen, z. B. nach der Übergabe eines Nicht-String-Werts an eine Funktion wie LENGTH().

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 blockiert und eine Warnung angezeigt, dass es in einem berechneten Feld aktiv 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 Meldung 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