הזרמת נתונים באמצעות ייצוא מתקדם ל-BigQuery

נתמך ב:

במאמר הזה מוסבר איך לגשת לנתונים שלכם ב-Google SecOps ב-BigQuery ולהשתמש בהם באמצעות התכונה Advanced BigQuery Export. לקוחות Enterprise Plus יכולים להשתמש בתכונה כדי לגשת לנתוני האבטחה שלהם כמעט בזמן אמת באמצעות צינור נתונים מנוהל מלא להזרמת נתונים. היכולת הזו יכולה לעזור להתמודד עם האתגר הקריטי של זמן אחזור הנתונים בפעולות אבטחה, ולהוביל לזיהוי איומים ולתגובה מהירה ויעילה יותר.

לפני שמתחילים

כדאי לעיין בנקודות הבאות שמגדירות את דרישות הסף ואת הפעולות הנדרשות:

  • לקוחות Enterprise Plus בלבד: התכונה הזו זמינה רק ללקוחות Google SecOps Enterprise Plus. לקוחות אחרים יכולים לעיין במאמר ייצוא לפרויקט BigQuery בניהול עצמי.
  • צריך להפעיל את התכונה: התכונה הזו מופעלת לפי בקשה, ויכול להיות שצריך להגדיר אותה בהתחלה במכונה של Google SecOps בארגון. אם צריך, פונים לנציג של Google SecOps כדי לוודא שהתכונה מופעלת.
  • העברת נתונים: כשמפעילים את התכונה הזו, הנתונים מתחילים להתייצא לפרויקט חדש של דיירים ב-BigQuery עבור מופע Google SecOps, בנוסף לייצוא הקיים לפרויקט BigQuery שמנוהל על ידי Google, כפי שמתואר במאמר ייצוא לפרויקט BigQuery שמנוהל על ידי Google. הפעולה הכפולה הזו תומכת במעבר לתכונה החדשה בלי הפרעות. תקבלו הודעה לפני שהצינור הישן לייצוא נתונים יושבת בחשבון שלכם.
  • ‫VPC Service Controls: אפשר להפעיל את הייצוא המתקדם ל-BigQuery בהיקף של VPC Service Controls. מידע נוסף זמין במאמר הגדרת VPC Service Controls.
  • מפתחות הצפנה בניהול הלקוח (CMEK): ייצוא מתקדם ל-BigQuery זמין ללקוחות שהפעילו את CMEK במכונה שלהם ב-Google SecOps. מידע נוסף זמין במאמר בנושא CMEK ל-Google SecOps. אם אתם משתמשים ב-CMEK עם VPC Service Controls, מומלץ לעיין בהמלצות ובהוראות שבמאמר הגדרת VPC Service Controls ל-Google SecOps.

סקירה כללית של התכונות

התכונה "ייצוא מתקדם ל-BigQuery" מקצה ומנהלת באופן אוטומטי מערכי נתונים חיוניים של Google SecOps, כולל אירועים במודל נתונים מאוחד (UDM), זיהויים של כללים, תרשימי ישויות והתאמות של אינדיקטורים לפריצה (IoC) – בפרויקט BigQuery מאובטח שמנוהל על ידי Google. אתם מקבלים גישה מאובטחת לקריאה בלבד של הנתונים האלה דרך קבוצת נתונים מקושרת ב-BigQuery, שמופיעה ישירות בפרויקט שלכם ב- Google Cloud . הפונקציונליות הזו מאפשרת לכם לשלוח שאילתות לנתוני האבטחה כאילו הם מאוחסנים באופן מקומי, אבל בלי התקורה של ניהול פייפליין הנתונים או האחסון.

מערכת Google SecOps מייצאת ל-BigQuery את הקטגוריות הבאות של נתוני אבטחה:

  • רשומות של אירועים ב-UDM: רשומות UDM שנוצרו מנתוני יומן שהוזנו על ידי לקוחות. הרשומות האלה מועשרות במידע על כינויים.
  • התאמות לכללים (זיהויים): מקרים שבהם כלל תואם לאירוע אחד או יותר.
  • התאמות ל-IoC: פריטי מידע (לדוגמה, דומיינים או כתובות IP) מאירועים שתואמים לפידים של IoC. ההתאמות האלה כוללות התאמות לפידים גלובליים ופידים ספציפיים ללקוחות, וגם התאמות מפידים גלובליים ופידים ספציפיים ללקוחות.
  • מדדי הטמעה: נתונים סטטיסטיים, כמו מספר שורות היומן שהוטמעו, מספר האירועים שנוצרו מיומנים ומספר שגיאות היומן שמציינות שלא ניתן לנתח את היומנים.
  • גרף ישויות ויחסים בין ישויות: תיאור של ישויות והקשרים שלהן עם ישויות אחרות.

יתרונות מרכזיים

אלה היתרונות העיקריים של ייצוא מתקדם ל-BigQuery:

  • עדכניות הנתונים כמעט בזמן אמת: ארכיטקטורת סטרימינג מאפשרת לכם להריץ שאילתות על נתוני האבטחה תוך דקות מרגע ההטמעה. אירועי UDM, זיהויים של כללים והתאמות של IoC זמינים עם זמן אחזור צפוי של 5-10 דקות.
  • מודל עלויות פשוט וצפוי: Google SecOps מכסה את כל העלויות של הטמעת נתונים ואחסון בפרויקט המנוהל ב-BigQuery. הארגון שלכם אחראי רק לעלויות הניתוח ב-BigQuery שנוצרות כשמריצים שאילתות.
  • גישה לנתונים ללא צורך בתחזוקה: התשתית הבסיסית מנוהלת באופן מלא על ידי Google, כך שהצוות שלכם יכול להתמקד בניתוח נתונים במקום בהנדסת נתונים.
  • תקינות נתונים וביטול כפילויות: נתוני האבטחה מתעדכנים או מועשרים מחדש לעיתים קרובות אחרי ההטמעה הראשונית. התכונה משתמשת במיזוגים של שפת טיפול בנתונים (DML) ברמת פירוט גבוהה כדי לעדכן רשומות במקום. אתם מקבלים נתונים נקיים, ללא כפילויות, בלי לכתוב שגרות SQL מורכבות לביטול כפילויות.
  • תמיכה חלקה ב-MSSP (רכזת וחישורים): ספקי שירותי אבטחה מנוהלים (MSSP) יכולים לנהל ביעילות ניתוחים בכמה דיירים של לקוחות על ידי הרשמה באמצעות תוכנה למערכי הנתונים המקושרים של הלקוחות שלהם מתוך פרויקט רכזת מרכזי יחיד.
  • תאימות מובנית: התכונה תומכת באופן מובנה ב-VPC Service Controls, במפתחות הצפנה בניהול הלקוח (CMEK) ובמיקום אחסון הנתונים (DRZ). יומני ביקורת שפונים ללקוחות (Access Transparency) מועברים ישירות אל סביבת העבודה שלכם ב-Cloud Logging באמצעות שירות זיהוי משאבים מאוחד (FRIS).

תרחישים נפוצים לדוגמה

התכונה 'ייצוא מתקדם ל-BigQuery' מיועדת למנתחי אבטחה, למומחים לזיהוי איומים, למדעני נתונים ולמהנדסי אבטחה שזקוקים לגישה ישירה ומהירה לנתוני אבטחה עדכניים לצורך חקירות אד-הוק, ניתוחים בהתאמה אישית ושילוב עם כלי בינה עסקית.

תרחישים נפוצים לשימוש בייצוא מתקדם ל-BigQuery כוללים:

  • להריץ שאילתות אד-הוק ישירות ב-BigQuery.
  • אפשר להשתמש בכלי בינה עסקית משלכם, כמו Microsoft Power BI, כדי ליצור מרכזי בקרה, דוחות וניתוחים.
  • איחוד נתונים של Google SecOps עם מערכי נתונים של צד שלישי.

ארכיטקטורה

ארכיטקטורת הייצוא המתקדם ל-BigQuery משתמשת בצינור עיבוד נתונים רציף בסטרימינג. הנתונים ממכונה של Google SecOps נשלחים לפרויקט דייר (tenant) מאובטח בניהול Google, באמצעות BigQuery Storage Write API ‏(gRPC) עם תפוקה גבוהה.

מערכת Google SecOps משתמשת ב-BigQuery sharing כדי ליצור רשימת נתונים מאובטחת ולתת לכם גישה. בחלונית Explorer ב-BigQuery, הפרויקט ב- Google Cloud מנוי באופן אוטומטי לרישום הזה, שמוצג בתור מערך הנתונים המקושר secops_linked_datalake.

המודל הזה תומך בבידוד חזק של נתונים, ומאפשר לכם גישה חלקה לשאילתות לקריאה בלבד.

מונחים חשובים

ריכזנו כאן כמה מושגים ומונחים מרכזיים שקשורים ל-Advanced BigQuery Export:

  • פרויקט דייר (tenant): פרויקט ב- Google Cloud שבבעלות ובניהול של Google SecOps. בפרויקט הזה נתוני האבטחה שיוצאו מאוחסנים ומנוהלים באופן פיזי. אין לך גישה ישירה לפרויקט הזה.
  • ‫BYOP (Bring Your Own Project): הפרויקט Google Cloud שבבעלות הארגון שלכם ומקושר למופע Google SecOps. זהו הפרויקט שבו מופיע מערך הנתונים המקושר, ושבו מריצים את השאילתות ומשלמים על ניתוח הנתונים.
  • מזהה הפרויקט: המזהה הייחודי של הפרויקט ב- Google Cloud שמקושר למכונה של Google SecOps.
  • מערך נתונים מקושר: מערך נתונים ב-BigQuery לקריאה בלבד, שמשמש כקישור סמלי או כסמן למערך נתונים משותף בפרויקט אחר. הוא מאפשר לשלוח שאילתות לנתונים בלי להעתיק אותם, ומספק גישה מאובטחת בזמן שספק הנתונים מנהל את האחסון הפיזי.
  • שפת טיפול בנתונים (DML) ברמת גרנולריות גבוהה (FGDML): תהליך אוטומטי בעורף המערכת שמשמש את BigQuery Export המתקדם לביצוע פעולות upsert (עדכונים והוספות). אם אירוע מגיע באיחור או מועשר מחדש, המערכת מעדכנת את השורה הקיימת במקום, על סמך המזהה הייחודי שלה (לדוגמה, metadata.id) במקום ליצור כפילות.
  • ‫Unified Data Model (UDM): סכימה סטנדרטית וניתנת להרחבה של Google לניתוח ולנורמליזציה של נתוני טלמטריית אבטחה ממאות מוצרים של ספקים לפורמט עקבי.
  • ‫ספקי שירותי אבטחה מנוהלים (MSSP): Google Cloud ספקי MSSP מוסמכים מציעים חבילה מקיפה של כלים ומומחיות כדי לחזק את ההגנה שלכם מפני איומי אבטחת מידע שמתפתחים כל הזמן.

הגדרת המערכת

כדי להשתמש ב-Advanced BigQuery Export, קודם צריך להגדיר את המערכת. בהתאם לסביבה ולדרישות שלכם, פועלים לפי ההוראות באחד מהקטעים הבאים.

הגדרת ברירת המחדל

כדי להגדיר את המערכת לשימוש בייצוא מתקדם ל-BigQuery ולהתחיל לשלוח שאילתות לגבי הנתונים, צריך לפעול לפי השלבים הבאים:

  1. אישור הרישיון: ודאו שלאירגון שלכם יש רישיון ל-Google SecOps Enterprise Plus.
  2. מזהים את הפרויקט: נכנסים למסוף Google Cloud ובוחרים את Google Cloud הפרויקט שמקושר למופע Google SecOps.
  3. איתור מערך הנתונים המקושר: במסוף BigQuery, משתמשים בחלונית Explorer כדי לנווט למשאבי הפרויקט. מופיעה קבוצת נתונים מקושרת בשם secops_linked_datalake. מערך הנתונים הזה הוא מצביע לקריאה בלבד לנתוני האבטחה בזמן אמת שמנוהלים על ידי Google SecOps.
  4. אימות ההרשאות לניהול זהויות והרשאות גישה (IAM): כדי לשלוח שאילתה לנתונים, למשתמש או לחשבון השירות צריכות להיות ההרשאות הבאות בפרויקט:

    • roles/bigquery.dataViewer: נדרש למשתמשי קצה או לכלי BI בארגון כדי להריץ שאילתות SQL בתצוגות של מערכי הנתונים המקושרים.
    • ‫roles/bigquery.jobUser: נדרש כדי שמשתמשי קצה או כלי BI בארגון יוכלו להריץ שאילתות SQL על תצוגות מקושרות של מערך הנתונים.
    • ‫Chronicle API Admin: נדרש ב-Google SecOps כדי להפעיל את ממשקי ה-API של Dataplane (לדוגמה, ProvisionPartnerSubscription) לניהול מינויי MSSP.

    התפקידים האלה מאפשרים למשתמשים (כמו אנליסטים של אבטחה וצרכני נתונים) להריץ שאילתות על נתונים במערך הנתונים המקושר ולהריץ משימות של BigQuery בפרויקט שלהם.

  5. הרצת שאילתת בדיקה: פותחים את סביבת העבודה של BigQuery SQL ומריצים שאילתה בסיסית כדי לוודא שהגישה מוגדרת בצורה נכונה. אפשר להשתמש בקטע הקוד הבא:

    SELECT *
    FROM `PROJECT_ID.secops_linked_datalake.events`
    LIMIT 10;
    

    מחליפים את PROJECT_ID במזהה הפרויקט Google Cloud בפועל.

הגדרה של BigQuery Export מתקדם בתוך היקף של VPC Service Controls

כדי להגדיר ייצוא מתקדם ל-BigQuery במתחם של VPC Service Controls, צריך להגדיר כלל ספציפי לתעבורת נתונים נכנסת (ingress). הכלל הזה מאפשר לחשבונות השירות הנדרשים של Google SecOps לקיים אינטראקציה עם BigQuery ועם שירותים קשורים בפרויקטים שמוגנים על ידי גבולות הגזרה. הוראות מפורטות ומידע נוסף זמינים במאמר הגדרת VPC Service Controls ל-Google Security Operations.

  • כדי להגדיר את הייצוא המתקדם ל-BigQuery בהיקף של VPC Service Controls, צריך להגדיר את הכלל הבא לתעבורת נתונים נכנסת (ingress):

    - ingressFrom:
        identities:
        - serviceAccount:malachite-advanced-bq-exporter@system.gserviceaccount.com
        - serviceAccount:malachite-data-export-service@system.gserviceaccount.com
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: analyticshub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: bigquery.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud שמקושר ל-Google SecOps.

לספקי MSSP – הגדרת גישה מרכזית לנתוני BigQuery של דיירי המשנה

אם אתם מוגדרים כ-MSSP, אתם יכולים להשתמש בממשקי ה-API של מישור הנתונים של Google SecOps כדי ליצור באופן פרוגרמטי מערכי נתונים מקושרים של BigQuery בפרויקט המרכזי שלכם. מערכי הנתונים המקושרים האלה מפנים לנתוני BigQuery של הלקוחות שלכם (הזרועות), ומאפשרים לכם לשלוח שאילתות על כמה דיירים מתצוגת נתונים מאוחדת. בתהליך הזה, הלקוח צריך לתת למופע של ה-MSSP גישה.

היתרונות העיקריים הם:

  • תצוגה מרכזית: ניתוח נתוני אבטחה של כל הלקוחות במקום אחד.
  • תהליכי עבודה יעילים: ייעול של איתור האיומים והדיווח עליהם בכל בסיס הלקוחות.
  • ניהול באמצעות תוכנה: אפשר להגדיר אוטומציה של הגישה לנתונים וביטול הגישה.

דרישות מוקדמות

  • MSSP

    • פרויקט ב- Google Cloud שישמש כ "מרכז" שלכם.
    • מופע של Google SecOps.
    • הרשאות IAM מתאימות לניהול מערכי נתונים של BigQuery בפרויקט המרכזי.
  • לקוח (דייר משנה)

    • רישיון ל-Google SecOps Enterprise Plus.
    • פרויקט ב- Google Cloud (BYOP) שמקושר למכונה שלכם ב-Google SecOps.
    • הרשאות IAM מתאימות לניהול הגישה ל-Google SecOps API.
    • ‫gcloud CLI מותקן ומאומת.

שלב 1: הלקוח נותן גישה ל-MSSP

הלקוח יכול להפעיל את ProvisionPartnerSubscription API כדי לתת הרשאות למכונה של MSSP ב-Google SecOps. מערכת Google SecOps מקצה באופן אוטומטי מערך נתונים מקושר ב-BigQuery, בפורמט secops_linked_datalake_<customer_id> בפרויקט Google Cloud של ה-MSSP שמקושר למכונה של Google SecOps של ה-MSSP. מערך הנתונים הזה מקושר לנתוני Google SecOps של הלקוח.

נקודת קצה ל-API:
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
‏Method

POST

גוף הבקשה

אובייקט JSON ריק.

{}

דוגמה לפקודת CURL (שהלקוח צריך להריץ):

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription"

מחליפים את ה-placeholders הבאים:

  • ‫CUSTOMER_PROJECT: מזהה הפרויקט או מספר הפרויקט של הלקוח ב- Google Cloud . איך יוצרים ומנהלים פרויקטים?
  • ‫REGION: האזור Google Cloud שבו נמצא המופע של Google SecOps של הלקוח (לדוגמה, us, ‏ europe-west2). רשימת האזורים
  • ‫CUSTOMER_INSTANCE_ID: המזהה של מופע Google SecOps של הלקוח.
גוף התשובה

החזרות ProvisionPartnerSubscriptionResponse שמכילות את פרטי המינוי.

{
  "subscriptionDetails": {
    "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
    "linkedDataset": "string"
  }
}
  • ‫SUBSCRIBER_PROJECT_ID: מזהה הפרויקט Google Cloud של ספק ה-MSSP של המנוי.
  • ‫SUBSCRIBER_REGION: האזור שבו נמצא הפרויקט של המנוי Google Cloud .
  • ‫SUBSCRIPTION_ID: מזהה ייחודי של המינוי הקיים.

שלב 2: ה-MSSP שולח שאילתות לגבי נתונים בדיירים שונים

אחרי שמקצים את מערכי הנתונים המקושרים מכמה לקוחות בפרויקט Google Cloud שלכם (ספק MSSP), אפשר להשתמש בשאילתות SQL רגילות של BigQuery כדי לנתח את הנתונים. כדי להריץ שאילתה על כמה לקוחות, משתמשים באופרטור UNION ALL.

שאילתה לדוגמה (להרצה על ידי ה-MSSP בפרויקט המרכזי שלו):

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_1.events`
WHERE <your_conditions>

UNION ALL

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_2.events`
WHERE <your_conditions>

-- Add more UNION ALL clauses for other customers

שלב 3: הלקוח בודק את הגישה

הלקוח יכול לשלוח קריאה ל-API של fetchSubscriptions כדי לראות את כל המינויים הפעילים ומופעי ה-MSSP שניגשים לנתונים שלו.

נקודת קצה ל-API
GET https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions
‏Method

GET

דוגמה לפקודת CURL (שהלקוח צריך להריץ):

curl -X GET \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions"

מחליפים את ה-placeholders הבאים:

  • ‫CUSTOMER_PROJECT: מזהה הפרויקט או מספר הפרויקט של הלקוח ב- Google Cloud . איך יוצרים ומנהלים פרויקטים
  • ‫REGION: האזור Google Cloud שבו נמצא המופע של Google SecOps של הלקוח (למשל, us, ‏ europe-west2). לרשימת האזורים
  • ‫CUSTOMER_INSTANCE_ID: המזהה של מופע Google SecOps של הלקוח.
גוף התשובה

הפונקציה מחזירה FetchSubscriptionsResponse עם רשימה של מינויים פעילים.

{
  "subscriptions": [
    {
      "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
      "linkedDataset": "string"
    }
  ]
}
  • ‫SUBSCRIBER_PROJECT_ID: מזהה הפרויקט של המנוי ב- Google Cloud . המנוי יכול להיות הלקוח או MSSP.
  • ‫SUBSCRIBER_REGION: האזור שבו נמצא הפרויקט של המנוי Google Cloud .
  • ‫SUBSCRIPTION_ID: מזהה ייחודי של המינוי הקיים.

שלב 4: הלקוח מבטל את הגישה (אם צריך)

אם לקוח צריך לבטל את הגישה של MSSP, הוא יכול להשתמש ב-API‏ revokePartnerSubscription. הפעולה הזו מבטלת באופן מיידי את ההרשאה להריץ שאילתות על מערך הנתונים המקושר באמצעות פרויקט ה-Hub של ספק ה-MSSP. המזהה של המינוי שבוטל הופך ללא פעיל.

נקודת קצה ל-API
POST https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription
‏Method

POST

גוף הבקשה

צריך את ה-URI של המינוי שרוצים לבטל, שהתקבל מהקריאה ל-API של fetchSubscriptions.

{
  "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}

דוגמה לפקודת CURL (להרצה על ידי הלקוח):

# Set subscription details obtained from Fetch Subscriptions
export SUBSCRIBER_PROJECT_ID="partner-byop-project-id"
export SUBSCRIBER_REGION="subscription-location"
export SUBSCRIPTION_ID="subscription-id"

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
  }' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription"

מחליפים את ה-placeholders הבאים:

  • ‫SUBSCRIBER_PROJECT_ID: מזהה הפרויקט של המנוי ב- Google Cloud .
  • ‫SUBSCRIBER_REGION: האזור שבו נמצא הפרויקט של המנוי Google Cloud .
  • ‫SUBSCRIPTION_ID: מזהה ייחודי של המינוי הקיים.
  • ‫CUSTOMER_PROJECT: מזהה הפרויקט או מספר הפרויקט של הלקוח ב- Google Cloud .
  • ‫REGION: האזור Google Cloud שבו נמצא המופע של Google SecOps של הלקוח.
  • ‫CUSTOMER_INSTANCE_ID: המזהה של מופע Google SecOps של הלקוח.
גוף התשובה

אובייקט JSON ריק.

{}

הרצת שאילתות על נתוני BigQuery

אפשר להריץ שאילתות ישירות ב-BigQuery או לקשר ל-BigQuery כלי בינה עסקית משלכם, כמו Microsoft Power BI.

מידע נוסף על שאילתות:

תקופת שמירת הנתונים בפרויקט הדייר (tenant) ב-BigQuery

תקופת השמירה של הנתונים ב-BigQuery זהה לתקופת שמירת הנתונים שהוגדרה לדייר (tenant) שלכם ב-Google SecOps. אין הגדרה נפרדת שאפשר לשנות כדי להתאים אישית את מדיניות שמירת הנתונים ב-BigQuery. הנתונים נמחקים באופן אוטומטי מהטבלאות ב-BigQuery כשהם חורגים מחלון השמירה של הדייר.

קבוצות נתונים מקושרות

מערכי נתונים מקושרים מכילים טבלאות שמתאימות לסוגים שונים של נתוני אבטחה.

בטבלה הבאה מופיע סיכום של קבוצות הנתונים הזמינות, עדכניות הנתונים המטורגטת שלהן והמזהים הייחודיים שמשמשים להבטחת תקינות הנתונים:

שם קבוצת הנתונים תיאור הטריות הצפויה הכי טובה מזהים ייחודיים לביטול כפילויות
events אירועי אבטחה מנורמלים בסכימת ה-UDM. מידע על הסכימה זמין במאמר סכימת אירועים של Google SecOps. פחות מ-5 דקות ‫id (ייצוג מחרוזת)
rule_detections זיהויים שנוצרו על ידי כללים של מנוע הזיהוי של Google SecOps. פחות מ-5 דקות detection.id
ioc_matches התאמות של סימנים מחשידים (IOC) שנמצאו באירועי UDM. פחות מ-5 דקות מפתח מורכב (composite key) של day_bucket_seconds, ‏ feed_log_type, ‏ ioc_type, ‏ ioc_value
entity_graph נתונים הקשריים על ישויות (משתמשים, נכסים) והקשרים ביניהן. בערך 4 שעות (בצבירה) מפתח מורכב של partition_day, ‏ metadata.product_entity_id, ‏ metadata.event_metadata.id
ingestion_metrics נתונים סטטיסטיים על נפח הטמעת היומנים ומקורות הנתונים. כ-5 דקות ללא (סדרת זמנים להוספה בלבד)
entity_enum_value_to_name_mapping ממפה ערכים מספריים לערכי מחרוזת עבור סוגים ממוספרים של תרשימי ישויות. לא רלוונטי ללא
udm_enum_value_to_name_mapping מיפוי ערכים מספריים לערכי מחרוזת עבור סוגים ממוספרים של אירועים ב-UDM. לא רלוונטי ללא

שאילתות לדוגמה

הדוגמאות הבאות ממחישות איך להריץ שאילתות על מערכי הנתונים בתרחישי אבטחה נפוצים.

דוגמה – חיפוש כל החיבורים לרשת מכתובת IP ספציפית ב-24 השעות האחרונות

השאילתה הזו מחפשת בטבלת האירועים פעילות ברשת מהזמן האחרון מכתובת IP חשודה.

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_datalake.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
  • מחליפים את PROJECT_ID במזהה הפרויקט. Google Cloud

דוגמה – ספירת 10 הזיהויים הכי נפוצים של כללים

השאילתה הזו בטבלה rule_detections עוזרת לזהות את האיומים הנפוצים ביותר או את הפרות המדיניות הנפוצות ביותר שזוהו בסביבה שלכם.

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_datalake.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;
  • מחליפים את PROJECT_ID במזהה הפרויקט. Google Cloud

שיטות מומלצות

הנה כמה שיטות מומלצות להרצת שאילתות באמצעות ייצוא מתקדם ל-BigQuery:

  • אופטימיזציה של עלויות השאילתות: למרות שהאחסון בחינם, עלויות המחשוב מחויבות בפרויקט שלכם, ולכן צריך לבצע את הפעולות הבאות:

    • הימנעו משימוש ב-SELECT *. בשאילתה, ציינו רק את העמודות שאתם צריכים כדי להפחית את כמות הנתונים שנסרקים ולהוזיל את עלויות השאילתה.
    • חשוב לוודא שהשאילתות שלכם מנצלות את היתרונות של חלוקה למחיצות (partitioning) ב-BigQuery (באמצעות עמודת הזמן של המחיצה hour_time_bucket) ושל אשכולות (clustering) (hour_time_bucket, ‏ log_type, ‏ event_type, ‏ id) כדי לסרוק פחות נתונים ולהפחית באופן משמעותי את עלויות השאילתות.
  • שימוש במסנני מחיצות: טבלת האירועים מחולקת למחיצות לפי העמודה hour_time_bucket. תמיד כדאי לכלול מסנן של פסוקית WHERE בעמודה הזו כדי להגביל את השאילתות לחלון הזמן הקטן ביותר האפשרי. כך משפרים משמעותית את הביצועים ומצמצמים את העלויות.

  • כתיבת שאילתות יעילות: סכימת ה-UDM היא רחבה ודלילה. כדי לסנן ביעילות סוגי אירועים ספציפיים, משתמשים ב-WHERE...‎ ‫IS NOT NULL בשדות הרלוונטיים. לדוגמה, כדי למצוא רק שאילתות DNS, מסננים WHERE network.dns.questions.name IS NOT NULL.

  • אימות שאילתות: מומלץ להשתמש בכלי לאימות שאילתות בממשק המשתמש של BigQuery לפני שמריצים שאילתה. הכלי לתיקוף שאילתות מספק אומדן של הנתונים שעובדו, וכך עוזר לכם להימנע משאילתות גדולות ויקרות באופן בלתי צפוי.

  • שימוש בטבלאות מיפוי של enum: ייצוא מתקדם ל-BigQuery כולל את הטבלאות entity_enum_value_to_name_mapping ו-udm_enum_value_to_name_mapping. אפשר להשתמש בהן כדי להצטרף לאירועים שלכם ולתרגם ערכי enum מספריים למחרוזות קריאות לאנשים, בלי לכתוב לוגיקת תרגום ידנית בשאילתות.

  • שילוב של רישום ביומן ביקורת: ייצוא מתקדם ל-BigQuery משולב עם Federated Resource Identification Service‏ (FRIS). יומני ביקורת שמוצגים ללקוחות, שנוצרים באמצעות התכונה Access Transparency של Google, מועברים באופן מקורי אל סביבת העבודה שלכם ב-Cloud Logging ב-BYOP אם אנשי צוות Google ניגשים לפרויקט הדייר המנוהל.

מגבלות ידועות

אלה המגבלות הידועות של התכונה "ייצוא מתקדם ל-BigQuery":

  • השהיה בגרף הישויות: מערך הנתונים entity_graph מיוצא באמצעות תהליך באצווה, ועדכניות הנתונים בו היא בערך ארבע שעות.
  • מגבלות על עמודות בסכימת UDM: ב-BigQuery יש מגבלה גמישה של 10,000 עמודות לכל טבלה. סכימת ה-UDM מכילה יותר מ-27,000 שדות, והיא מאוכלסת בדלילות. תהליך הייצוא כולל באופן חכם רק עמודות מאוכלסות לאירוע נתון, כך שרוב הלקוחות לא חורגים מהמגבלה. מערכת Google SecOps עוקבת אחרי השימוש בעמודות, ואם הוא מתקרב לסף הזה, היא מבקשת באופן יזום להגדיל את המגבלה בפרויקט הדייר (tenant).
  • תקופת השמירה לא ניתנת להגדרה: תקופת השמירה של כל נתוני האבטחה שמיוצאים ל-BigQuery מסונכרנת אוטומטית עם תקופת השמירה של הנתונים בפרויקט Google SecOps, ולא ניתן להגדיר אותה בנפרד.
  • אין תמיכה בנתוני SOAR: אין תמיכה בנתונים מ-Google Security Operations SOAR (search_everything_db) בייצוא מתקדם ל-BigQuery.
  • אין תמיכה באיחוד בין אזורים: אפשר להשתמש במינויים ל-MSSP במודל כוכב באותו אזור. אין תמיכה באיחוד בין אזורים (לדוגמה, ארה"ב לאירופה).
  • יכולים להיות אירועים כפולים (סבירות של פחות מ-1%): המערכת משתמשת במיזוגים של DML כדי לטפל בביטול כפילויות באופן אוטומטי, אבל בגלל האופי של סטרימינג מבוזר, יש סיכוי קטן (< 1%) שיופיעו אירועים כפולים במהלך חלונות הטמעה של מקרי קצה לפני שהמיזוג ברקע יושלם.
  • אפשר לגשת לנתונים היסטוריים, אבל צריך להשתמש בשיטות ספציפיות: ייצוא הנתונים מתחיל ברגע שמפעילים את הייצוא המתקדם ל-BigQuery, ונתונים ישנים יותר נשארים זמינים בפרויקט הקיים. כדי להריץ שאילתות על נתונים שיוצאו לפני ההפעלה של הייצוא המתקדם ל-BigQuery, צריך להשתמש בשאילתה אחת שמצטרפת לנתונים בשני הפרויקטים, או להריץ שתי שאילתות נפרדות בפרויקטים המתאימים (אחת למערך הנתונים הישן ואחת למערך הנתונים החדש).

פתרון בעיות ותמיכה

בטבלה הבאה מפורטים פתרונות לבעיות נפוצות שאתם עשויים להיתקל בהן:

התסמין שנצפה סיבה אפשרית הפעולה המומלצת
השאילתות נכשלות עם השגיאה Access Denied: User does not have permission. לחשבון המשתמש או לחשבון השירות אין את תפקידי ה-IAM הנדרשים ב-BigQuery בפרויקט Google Cloud שמקושר למכונה של Google SecOps. מקצים לחשבון הראשי את התפקידים BigQuery Data Viewer ו-BigQuery Job User. אימות באמצעות gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com"
מערך הנתונים secops_linked_datalake לא מוצג בפרויקט שלי ב-BigQuery. 1. לא בחרתם את הפרויקט הנכון Google Cloud .
‫2. הארגון שלכם לא ברמת Enterprise Plus.
3. הארגון שלכם משתמש ב-Enterprise Plus, אבל האפשרות 'ייצוא מתקדם מ-BigQuery' לא מופעלת במופע Google SecOps שלכם.
1. במסוף Google Cloud , מוודאים שבחרתם את הפרויקט שמקושר למכונה של Google SecOps.
‫2. פונים לנציג Google כדי לאשר את רמת הרישיון של Google SecOps.
‫3. פנו לנציג Google SecOps ובקשו ממנו להפעיל את Advanced BigQuery Export במופע Google SecOps שלכם.
קריאה ל-API נכשלת עם שגיאת הרשאה עבור ProvisionPartnerSubscription או FetchSubscriptions לזהות המבקשת אין את ההרשאות הנדרשות. צריך לוודא שלחשבון השירות או למשתמש שמבצע את הקריאה יש תפקיד אדמין ב-Chronicle API ב-IAM, שכולל הרשאות במשאב של מופע ה-Hub.
חסרות עמודות בהתאמה אישית או שיש חוסר התאמה בסכימה בוצעה הטמעה של סוג יומן חדש או של שדה UDM עם קינון עמוק. ב-BigQuery Export מתקדם נעשה שימוש בעדכוני סכימה דינמיים. כששדות UDM חדשים מאוכלסים, המערכת מזהה באופן אוטומטי את חוסר ההתאמה בסכימה, משהה את הפעולה לזמן קצר, מעדכנת את הסכימה של BigQuery ומנסה שוב להוסיף את הנתונים. לא נדרשת כל פעולה מצידך.

שאלות נפוצות

בקטעים הבאים מופיעות כמה שאלות נפוצות.

האם צריך לשנות את השאילתות הקיימות ב-SQL ב-BigQuery מדור קודם כדי להשתמש בייצוא המתקדם של Google SecOps?

לא. כדי לשמור על תאימות מלאה לדורות קודמים, Google SecOps חושפת תצוגות (לדוגמה, events, ‏ ioc_matches) בקבוצת הנתונים המקושרת שתואמות באופן מושלם לסכימה של הטבלאות מתכונת הייצוא הקודמת של Google SecOps.

האם אפשר לשנות את תקופת שמירת הנתונים בייצוא המתקדם ל-BigQuery?

לא. תקופת שמירת הנתונים בייצוא המתקדם ל-BigQuery משקפת ישירות את מדיניות שמירת הנתונים שלכם ב-Google SecOps. כשהתוקף של הנתונים ב-Google SecOps פג, התוקף שלהם פג באופן אוטומטי והם נמחקים מפרויקט הדייר (tenant) ב-BigQuery.

האם אצטרך לשלם על עדכוני ה-DML וביטול הכפילויות בקצה העורפי?

לא. כל עלויות האחסון בעורף, פעולות ההוספה של סטרימינג וחישובי DML ברמת פירוט גבוהה נספגות על ידי Google SecOps. התשלום הוא רק על השאילתות שמריצים באופן מפורש ב-BYOP.

האם התכונה הזו זמינה ברמות Standard או Enterprise של Google SecOps?

לא. ייצוא מתקדם ל-BigQuery (אחסון מנוהל וסטרימינג) הוא תכונת פרימיום שזמינה רק במינוי Google SecOps Enterprise Plus. לקוחות עם מהדורות Standard ו-Enterprise יכולים להשתמש במודל Bring Your Own BigQuery ‏ (BYOBQ), שבו הם מספקים את פרויקט BigQuery ומשלמים על עלויות האחסון והמחשוב.

למה יכולים להיות הבדלים זמניים בין הנתונים בייצוא המתקדם ל-BigQuery לבין הנתונים הסטטיסטיים שמוצגים בממשק המשתמש של Google Security Operations?

יכולות להיות אי התאמות זמניות בגלל הצינור של Advanced BigQuery Export, שפועל בסטרימינג כמעט בזמן אמת. אלה הסיבות העיקריות:

  • נתונים שמגיעים באיחור: צינור הייצוא מיועד לתפוקה גבוהה. רוב הנתונים מופיעים ב-BigQuery תוך 5 עד 10 דקות. עם זאת, לפעמים אירועים יכולים להגיע באיחור לצינור עיבוד הנתונים בגלל עיכובים ברשת או בעיות במערכת המקור. המערכת מנסה למזג את האירועים המאוחרים האלה, אבל יכול להיות חלון זמן קצר שבו הנתונים הסטטיסטיים בממשק המשתמש בזמן אמת, שמשקפים את המצב העדכני ביותר, שונים מהנתונים ב-BigQuery שמתעדכנים באופן רציף.

  • העשרה מחדש של נתונים:‏ Google SecOps מעשיר באופן רציף את נתוני אירוע במודיעין איומי סייבר העדכני ובמידע הקשרי. הייצוא המתקדם ל-BigQuery מייצא אירועים על סמך המצב שלהם בזמן ההעשרה הראשונית. אם אירוע מועשר מחדש במידע חדש אחרי שהוא הועבר בסטרימינג ל-BigQuery, יכול להיות שהגרסה המעודכנת הזו לא תופיע מיד ב-BigQuery. ההבדלים האלה יכולים להוביל לפערים בהשוואה לרכיבים בממשק המשתמש שתמיד מציגים את הנתונים המועשרים במלואם.

  • השהיית מיזוג של DML: כדי לשמור את הנתונים ב-BigQuery מעודכנים ולטפל בבעיות כמו נתונים שמגיעים באיחור או כפילויות פוטנציאליות, צינור הנתונים משתמש בפעולות של שפת טיפול בנתונים (DML) MERGE ברקע. הפעולות האלה יעילות, אבל הן לא מתבצעות באופן מיידי. יש זמן אחזור מובנה בזמן העיבוד של המיזוגים האלה, במיוחד כשמדובר בעדכונים מפורטים. במהלך מרווח המיזוג הזה, יכול להיות ששאילתות ב-BigQuery לא יתעדו את המיקרו-עדכונים האחרונים שכבר מוצגים בממשק המשתמש של Google Security Operations.

בגלל הגורמים שצוינו (נתונים מאוחרים, טיפול בהעשרה מחדש של נתונים והשהיות במיזוג), יכול להיות שלא תמיד יהיה התאמה מושלמת של 1:1 בין נתוני BigQuery לבין הנתונים הסטטיסטיים בממשק המשתמש בזמן אמת בכל שנייה מדויקת. הייצוא המתקדם ל-BigQuery מספק נתונים כמעט בזמן אמת, והוא מותאם לתרחישים לדוגמה כמו איתור איומים, ניתוח בהתאמה אישית ויצירת מרכזי בקרה שבהם עדכניות הנתונים תוך דקות היא קריטית. לצורך ביקורת שדורשת עקביות מוחלטת בנקודת זמן מסוימת, חשוב להביא בחשבון את האפשרות להבדלים קלים וחולפים.

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.