הזרמת נתונים באמצעות 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): ייצוא מתקדם ל-BigQuery זמין ללקוחות שהפעילו CMEK במופע Google SecOps שלהם. מידע נוסף זמין במאמר בנושא CMEK ל-Google SecOps. אם אתם משתמשים ב-CMEK עם VPC Service Controls, מומלץ לעיין בהמלצות ובהוראות שבמאמר הגדרת VPC Service Controls ל-Google SecOps.
סקירה כללית של התכונות
התכונה 'ייצוא מתקדם ל-BigQuery' מקצה ומנהלת באופן אוטומטי מערכי נתונים חיוניים של Google SecOps, כולל אירועים של Unified Data Model (UDM), זיהויים של כללים, גרפים של ישויות והתאמות של אינדיקטורים לפריצה (IoC) – בפרויקט מאובטח ב-BigQuery שמנוהל על ידי Google. אתם מקבלים גישה מאובטחת לקריאה בלבד לנתונים האלה דרך קבוצת נתונים מקושרת ב-BigQuery, שמופיעה ישירות בפרויקט Google Cloud שלכם. הפונקציונליות הזו מאפשרת לכם לשלוח שאילתות לנתוני האבטחה כאילו הם מאוחסנים באופן מקומי, אבל בלי העומס של ניהול צינור עיבוד הנתונים או האחסון.
Google SecOps מייצא את הקטגוריות הבאות של נתוני אבטחה ל-BigQuery:
- רשומות של אירועי UDM: רשומות UDM שנוצרו מנתוני יומן שהוזנו על ידי לקוחות. הרשומות האלה מועשרות במידע על כינויים.
- התאמות לכלל (זיהויים): מקרים שבהם כלל תואם לאירוע אחד או יותר.
- התאמות ל-IoC: ארטיפקטים (למשל, דומיינים או כתובות IP) מאירועים שתואמים לפידים של IoC. הנתונים האלה כוללים התאמות מפידים גלובליים ומפידים ספציפיים ללקוחות, והתאמות לפידים גלובליים ולפידים ספציפיים ללקוחות.
- מדדי הטמעה: נתונים סטטיסטיים, כמו מספר שורות היומן שהוטמעו, מספר האירועים שנוצרו מיומנים ומספר שגיאות היומן שמציינות שלא ניתן לנתח את היומנים.
- גרף ישויות וקשרי גומלין בין ישויות: תיאור של ישויות והקשרים שלהן עם ישויות אחרות.
הטבות עיקריות
היתרונות העיקריים של Advanced 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 (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 לקריאה בלבד, שמשמש כקישור סמלי או כסמן למערך נתונים משותף בפרויקט אחר. היא מאפשרת לכם לשלוח שאילתות לנתונים בלי להעתיק אותם, ומספקת גישה מאובטחת בזמן שספק הנתונים מנהל את האחסון הפיזי.
- שפת טיפול בנתונים ברמת דיוק גבוהה (FGDML): תהליך אוטומטי בעורף המערכת שמשמש את BigQuery Export המתקדם לביצוע פעולות upsert (עדכונים והוספות). אם אירוע מגיע באיחור או שהוא מועשר מחדש, המערכת מעדכנת את השורה הקיימת במקום, על סמך המזהה הייחודי שלה (לדוגמה,
metadata.id) במקום ליצור כפילות. - Unified Data Model (UDM): סכימה סטנדרטית וניתנת להרחבה של Google לניתוח ולנרמול של נתוני טלמטריה של אבטחה ממאות מוצרים של ספקים שונים לפורמט עקבי.
- ספקי שירותי אבטחת סייבר מנוהלים (MSSP): Google Cloud ספקי MSSP מוסמכים מציעים חבילה מקיפה של כלים ומומחיות לחיזוק ההגנות שלכם מפני איומי סייבר שהולכים ומתפתחים.
הגדרת המערכת
כדי להשתמש ב-Advanced BigQuery Export, צריך קודם להגדיר את המערכת. בהתאם לסביבה ולדרישות שלכם, פועלים לפי ההוראות באחד מהקטעים הבאים.
הגדרות ברירת מחדל
כדי להגדיר את המערכת לשימוש ב-Advanced BigQuery Export ולהתחיל להריץ שאילתות על הנתונים, צריך לבצע את השלבים הבאים:
- אישור הרישיון: מוודאים שיש לארגון רישיון ל-Google SecOps Enterprise Plus.
- מזהים את הפרויקט: נכנסים למסוף Google Cloud ובוחרים את הפרויקט Google Cloud שמקושר למופע של Google SecOps.
- איתור מערך הנתונים המקושר: במסוף BigQuery, משתמשים בחלונית סייר כדי לנווט למשאבים של הפרויקט. מוצג מערך נתונים מקושר בשם
secops_linked_datalake. מערך הנתונים הזה הוא מצביע לקריאה בלבד לנתוני האבטחה בזמן אמת שמנוהלים על ידי Google SecOps. אימות ההרשאות לניהול זהויות והרשאות גישה (IAM): כדי לשלוח שאילתה לנתונים, למשתמש או לחשבון השירות צריכות להיות ההרשאות הבאות בפרויקט:
-
roles/bigquery.dataViewer: נדרש כדי שמשתמשי קצה או כלי BI בארגון יוכלו להריץ שאילתות SQL על תצוגות מקושרות של מערכי נתונים. -
roles/bigquery.jobUser: נדרש כדי שמשתמשי קצה או כלי BI בארגון יוכלו להריץ שאילתות SQL על תצוגות מקושרות של מערכי נתונים. -
Chronicle API Admin: נדרש ב-Google SecOps כדי להפעיל את ממשקי ה-API של Dataplane (לדוגמה,ProvisionPartnerSubscription) לניהול מינויים של MSSP.
התפקידים האלה מאפשרים למשתמשים (כמו אנליסטים של אבטחה וצרכני נתונים) להריץ שאילתות על נתונים במערך הנתונים המקושר ולהריץ משימות של BigQuery בפרויקט שלהם.
-
להריץ שאילתת בדיקה: פותחים את סביבת העבודה של 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 כדי להעניק הרשאות למופע 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 של הלקוח (לדוגמה, ארה"ב, אירופה-מערב2). רשימת האזורים
- 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.
מידע נוסף על שאילתות
- מידע על גישה לשאילתות והרצת שאילתות ב-BigQuery זמין במאמר הרצת שאילתה. אפשר גם לקרוא על הרצת שאילתה אינטראקטיבית ועל הרצת שאילתת אצווה.
- מידע על שאילתות בטבלאות מחולקות למחיצות זמין במאמר שאילתות בטבלאות מחולקות למחיצות.
תקופת שמירת הנתונים בפרויקט הדייר ב-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.
- אין תמיכה בפדרציה בין אזורים: מינויים של ספקי MSSP במודל Hub-and-spoke נתמכים באותו אזור. אי אפשר להשתמש בפדרציה בין אזורים (לדוגמה, מארה"ב לאירופה).
- יכול להיות שיהיו אירועים כפולים (ההסתברות לכך היא פחות מ-1%): למרות שהמערכת משתמשת במיזוגים של DML כדי לטפל באופן אוטומטי בהסרת כפילויות, בגלל האופי של סטרימינג מבוזר, יש סיכוי קלוש (פחות מ-1%) שיופיעו אירועים כפולים במהלך חלונות ההטמעה של מקרים חריגים לפני שהמיזוג ברקע מסתיים.
- אפשר לגשת לנתונים היסטוריים, אבל נדרשות שיטות ספציפיות: ייצוא הנתונים מתחיל ברגע שמפעילים את 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, אבל האפשרות 'ייצוא מתקדם מ-BigQuery' לא מופעלת במופע Google SecOps. | 1. במסוף Google Cloud , מוודאים שבחרתם את הפרויקט שמקושר למופע Google SecOps. פנו לנציג Google כדי לאשר את רמת הרישיון שלכם ל-Google SecOps. 3. פנו לנציג Google SecOps ובקשו ממנו להפעיל את Advanced BigQuery Export במופע Google SecOps שלכם. |
קריאה ל-API נכשלת עם שגיאת הרשאה עבור ProvisionPartnerSubscription או FetchSubscriptions | לזהות של הגורם המבצע חסרות ההרשאות הנדרשות. | ודא שחשבון השירות או המשתמש שמבצע את הקריאה מחזיקים בתפקיד IAM של מנהל API של Chronicle, הכולל הרשאות על משאב מופע הרכזת. |
| חסרות עמודות בהתאמה אישית או שיש חוסר התאמה בסכימה | נקלט סוג יומן חדש לגמרי או שדה UDM מקונן עמוק. | בייצוא מתקדם ל-BigQuery נעשה שימוש בעדכוני סכימה דינמיים. כאשר שדות UDM חדשים מאוכלסים, המערכת מזהה אוטומטית את אי ההתאמה בסכימה, עוצרת לרגע, מעדכנת את סכימת BigQuery ומנסה שוב את ההוספה. לא נדרשת כל פעולה מצידך. |
שאלות נפוצות
בקטעים הבאים מופיעות כמה שאלות נפוצות.
האם צריך לשנות את שאילתות ה-SQL הקיימות ב-BigQuery מדור קודם כדי להשתמש בייצוא המתקדם של Google SecOps?
לא. כדי לשמור על תאימות מלאה לאחור, Google SecOps חושף תצוגות (לדוגמה, אירועים, ioc_matches) במערך הנתונים המקושר שתואמות באופן מושלם לסכימה של הטבלאות מתכונת הייצוא מדור קודם של Google SecOps.
האם ניתן להתאים את תקופת שמירת הנתונים עבור ייצוא BigQuery מתקדם שלי?
לא. תקופת שמירת הנתונים ב-BigQuery Export מתקדם משקפת ישירות את מדיניות שמירת הנתונים של Google SecOps. כשהנתונים ב-Google SecOps מגיעים לתפוגה, הם מגיעים לתפוגה באופן אוטומטי ונמחקים מפרויקט הדייר ב-BigQuery.
האם אחויב על עדכוני ה-DML ועל ביטול הכפילויות בבקאנד?
לא. כל אחסון הקצה האחורי, פעולות הוספה בסטרימינג ועלויות מחשוב DML מפורטות נספגות על ידי Google SecOps. התשלום מתבצע רק על השאילתות שמריצים באופן מפורש ב-BYOP.
האם התכונה הזו זמינה ברמות Google SecOps Standard או Enterprise?
לא. BigQuery Export מתקדם (אחסון וסטרימינג מנוהלים) הוא תכונת פרימיום שזמינה רק ברמת Google SecOps Enterprise Plus. לקוחות בתוכניות Standard ו-Enterprise יכולים להשתמש במודל Bring Your Own BigQuery (BYOBQ), שבו הם מספקים את פרויקט BigQuery ומשלמים על עלויות האחסון והחישוב.
למה יכול להיות שאבחין בהבדלים זמניים בין הנתונים בייצוא המתקדם של BigQuery לבין הנתונים הסטטיסטיים שמוצגים בממשק המשתמש של 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 מספק נתונים כמעט בזמן אמת, שעברו אופטימיזציה לתרחישי שימוש כמו איתור איומים, ניתוח מותאם אישית ולוחות בקרה שבהם עדכניות הנתונים תוך דקות היא קריטית. לצורך ביקורת שדורשת עקביות מוחלטת בנקודת זמן מסוימת, חשוב לקחת בחשבון את האפשרות להבדלים קלים וחולפים.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.