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 Warndaten abzuleiten. So 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-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 dem Label 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 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.
  • Vorteil: 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 (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 Fall-Daten.
  • Umgebungsprüfung: Sie benötigen vorhandene, aktive benutzerdefinierte Felder vom 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. Rufen Sie Einstellungen > Vorgangsdaten > 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 sicherstellen, dass Ihre Zielfelder und die Logik den folgenden Systemeinschränkungen entsprechen. Diese Regeln legen fest, 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 zirkuläre Logik zu vermeiden, kann ein Feld nicht das Ziel sein, wenn es bereits eine Abhängigkeit für ein anderes berechnetes Feld ist.

Bereich eines Felds festlegen

Wenn Sie ein benutzerdefiniertes Feld mit dem Bereich Both 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:

  • 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 während der Einrichtung beheben.

Neue Berechnung erstellen

So erstellen Sie eine neue Berechnung:

  1. Rufen Sie Einstellungen > Fall-Daten > Berechnete Felder auf.
  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. Korrektiver Schritt: 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 einen roten Fehler an.
    2. Korrektiver Schritt: Prüfen Sie auf Syntaxfehler wie fehlende Klammern um IF-Bedingungen oder Kleinbuchstaben bei Keywords.

Zugriff auf erweiterte Assets und Referenzen

Formeln müssen für alle integrierten Operatoren und Funktionen strenge Grammatik- und Groß-/Kleinschreibungsregeln einhalten. Anhand der folgenden technischen Spezifikationen können Sie prüfen, ob Ihre Berechnungen gültig 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 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 melden

Mit dieser Logik werden Testdaten identifiziert und mit Labels versehen, 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 die verschachtelte Logik veranschaulicht, mit der Rezensionen sowohl nach Ereignisvolumen als auch nach vorhandenen Prioritätsstufen priorisiert werden.

  • Zielfeld: CaseCustom.review_status (Text)
  • Ziel: Eine manuelle Überprüfung soll nur ausgelöst werden, 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

Bei allen integrierten Operatoren, Keywords und Funktionen wird in der Berechnungs-Engine zwischen Groß- und Kleinschreibung unterschieden. Sie müssen 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) in Großbuchstaben schreiben. Beim Testen von Textstrings in Funktionen und Gleichheitsoperatoren wird die Groß- und Kleinschreibung jedoch nicht berücksichtigt. 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. 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 Ganz- 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, 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.
  • Eine Formel für ein berechnetes Feld kann nicht auf ein anderes berechnetes Feld verweisen.

Operatoren

Verwenden Sie Operatoren für Vergleiche und logische Operationen. Klammern () verwenden, 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 beachtet) CONTAINS([case.name], "phishing") BOOLEAN
DOES_NOT_CONTAIN(field, substring) Prüft, ob ein Textfeld keinen Teilstring 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 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 einem Literal übereinstimmt (Groß-/Kleinschreibung wird nicht beachtet) 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 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 Leerzeichen

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) 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 mit dem erwarteten Typ des Zielfelds übereinstimmt, 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 Erwartungen an die Leistung 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 schreiben, können Fehler aufgrund von Syntax- oder Datentypabweichungen auftreten. In der folgenden Tabelle finden Sie eine Zuordnung von spezifischen, reisebezogenen Fehlercodes zu den entsprechenden, umsetzbaren Korrekturen.

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 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. Ü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 und gibt häufig #ERROR! zurück. Suchen Sie nach Laufzeitproblemen, z. B. wenn ein Nicht-String-Wert 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, prüfen Sie die Ergebnisse, indem Sie zu einem Fall oder einer Benachrichtigung wechseln 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