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

נתמך ב:

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

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

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

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

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

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

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

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

הטבות עיקריות

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

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

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

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

תרחישי שימוש נפוצים ב-Advanced BigQuery Export כוללים את הדוגמאות הבאות:

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

ארכיטקטורה

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

‫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, צריך קודם להגדיר את המערכת. בהתאם לסביבה ולדרישות שלכם, פועלים לפי ההוראות באחד מהקטעים הבאים.

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

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

  1. אישור הרישיון: מוודאים שיש לארגון רישיון ל-Google SecOps Enterprise Plus.
  2. מזהים את הפרויקט: נכנסים למסוף Google Cloud ובוחרים את הפרויקט Google Cloud שמקושר למופע של Google SecOps.
  3. איתור מערך הנתונים המקושר: במסוף BigQuery, משתמשים בחלונית סייר כדי לנווט למשאבים של הפרויקט. מוצג מערך נתונים מקושר בשם 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 SecOps. Google Cloud

לספקי 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 כדי להעניק הרשאות למופע Google SecOps של ספק ה-MSSP. מערכת 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: מזהה הפרויקט של ספק ה-MSSP של המנוי. Google Cloud
  • 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: הלקוח בודק את הגישה

הלקוח יכול להתקשר אל fetchSubscriptions API כדי לראות את כל המינויים הפעילים ואת כל המקרים של ספקי 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.

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

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

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

מערכי נתונים מקושרים

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

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

שם מערך הנתונים תיאור רמת הטריות הצפויה הכי גבוהה מזהים ייחודיים לביטול כפילויות
events אירועי אבטחה שעברו נורמליזציה בסכימת ה-UDM. מידע על הסכימה זמין במאמר סכימת אירועים של Google SecOps. פחות מ-5 דקות id (ייצוג מחרוזת)
rule_detections זיהויים שנוצרו על ידי כללים במנוע הזיהוי של Google SecOps. פחות מ-5 דקות detection.id
ioc_matches התאמות של אינדיקטורים לפריצה (IOC) שנמצאו בהשוואה לאירועים ב-UDM. פחות מ-5 דקות מפתח מורכב של 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 Export מתקדם:

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

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

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

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

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

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

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

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

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

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

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

תסמין שנצפה סיבה אפשרית הפעולה המומלצת
השאילתות נכשלות עם Access Denied: User does not have permission. למשתמש או לחשבון השירות חסרים תפקידי ה-IAM הנדרשים ב-BigQuery בפרויקט Google Cloud שמקושר למופע Google SecOps שלכם. נותנים לישות הבסיסית את התפקידים BigQuery Data Viewer (צפייה בנתוני BigQuery) ו-BigQuery Job User (משתמש במשימות BigQuery). אימות באמצעות 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, אבל התכונה 'Advanced BigQuery Export' לא מופעלת במופע Google SecOps.
1. במסוף Google Cloud , מוודאים שבחרתם את הפרויקט שמקושר למופע Google SecOps.
פונים לנציג Google כדי לאשר את רמת הרישיון שלכם ל-Google SecOps.
‫3. פנו לנציג Google SecOps ובקשו ממנו להפעיל את Advanced BigQuery Export במופע Google SecOps שלכם.
קריאה ל-API נכשלת עם שגיאת הרשאה עבור ProvisionPartnerSubscription או FetchSubscriptions לזהות של הגורם המבצע חסרות ההרשאות הנדרשות. צריך לוודא שלחשבון השירות או למשתמש שמבצע את הקריאה יש תפקיד אדמין ב-Chronicle API ב-IAM, שכולל הרשאות במשאב של מופע ה-hub.
חסרות עמודות בהתאמה אישית או שיש חוסר התאמה בסכימה סוג יומן חדש לגמרי או שדה UDM עם קינון עמוק נקלטו. בייצוא מתקדם ל-BigQuery נעשה שימוש בעדכוני סכימה דינמיים. כששדות חדשים של UDM מתמלאים, המערכת מזהה באופן אוטומטי את אי-ההתאמה בסכימה, עוצרת את הפעולה לזמן קצר, מעדכנת את הסכימה ב-BigQuery ומנסה שוב להוסיף את הנתונים. לא נדרשת כל פעולה מצידך.

שאלות נפוצות

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

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

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

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

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

האם אחויב על עדכוני ה-DML ועל ביטול הכפילויות ב-backend?

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

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

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

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

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

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

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

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

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

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