הזרמת נתונים באמצעות BigQuery Export מתקדם
במאמר הזה מוסבר איך לגשת לנתונים של Google SecOps ב-BigQuery ולהשתמש בהם באמצעות התכונה ייצוא מתקדם של BigQuery. לקוחות Enterprise Plus יכולים להשתמש בתכונה הזו כדי לגשת לנתוני האבטחה שלהם כמעט בזמן אמת באמצעות צינור נתונים מנוהל לחלוטין. היכולת הזו יכולה לעזור לכם להתמודד עם האתגר הקריטי של השהיית נתונים בפעולות אבטחה, ולשפר את היעילות של זיהוי איומים והתגובה להם.
לפני שמתחילים
מומלץ לעיין בנקודות הבאות שמגדירות את דרישות הסף ואת הפעולות הנדרשות:
לקוחות Enterprise Plus בלבד: התכונה הזו זמינה רק ללקוחות Google SecOps Enterprise Plus. לקוחות אחרים יכולים לעיין במאמר בנושא הגדרת ייצוא נתונים ל-BigQuery בפרויקט Google Cloud בניהול עצמי.
צריך להפעיל את התכונה: התכונה הזו מופעלת לפי בקשה, ויכול להיות שיהיה צורך בהגדרה ראשונית במופע Google SecOps של הארגון. במקרה הצורך, פנו לנציג Google SecOps כדי לאשר את הפעלת התכונה.
התראה על העברה: כשמפעילים את התכונה הזו, היא מחליפה את השיטה הישנה יותר, שמתוארת במאמר נתוני Google SecOps ב-BigQuery. במהלך המעבר לייצוא מתקדם ל-BigQuery, נשאיר את צינור הנתונים הישן פעיל לתקופת מעבר. הפעולה הכפולה הזו נועדה לתמוך במעבר שלכם לתכונה החדשה ללא הפרעות. תקבלו הודעה לפני שהצינור הישן לייצוא יושבת בחשבון שלכם.
סקירה כללית של התכונות
הייצוא המתקדם ל-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, כך שהצוות שלכם יכול להתמקד בניתוח הנתונים ולא בהנדסת נתונים.
תרחישים נפוצים לדוגמה
Advanced BigQuery Export מיועד למנתחי אבטחה, למומחים לאיתור איומים, למדעני נתונים ולמהנדסי אבטחה שזקוקים לגישה ישירה ומהירה לנתוני אבטחה עדכניים לצורך חקירות אד-הוק, ניתוחים בהתאמה אישית ושילוב עם כלי בינה עסקית (BI).
תרחישים נפוצים לשימוש ב-Advanced BigQuery Export:
- להריץ שאילתות אד-הוק ישירות ב-BigQuery.
- אפשר להשתמש בכלי בינה עסקית משלכם, כמו Microsoft Power BI, כדי ליצור מרכזי בקרה, דוחות וניתוחים.
- איחוד נתונים של Google SecOps עם מערכי נתונים של צד שלישי.
ארכיטקטורה
ארכיטקטורת ה-BigQuery Export המתקדם משתמשת בצינור עיבוד נתונים רציף בסטרימינג. נתונים מהמופע של Google SecOps מועברים לפרויקט דייר (tenant) מאובטח שמנוהל על ידי Google באמצעות BigQuery Storage Write API עם תפוקה גבוהה.
Google SecOps משתמש בשיתוף ב-BigQuery כדי ליצור רשימת נתונים מאובטחת ולספק לכם גישה אליה. בחלונית הסייר של BigQuery, הפרויקט שלכם Google Cloud נרשם אוטומטית לרשימה הזו, שמוצגת כsecops_linked_data מערך הנתונים המקושר.
המודל הזה תומך בבידוד נתונים חזק, ומאפשר לכם גישה חלקה לשאילתות לקריאה בלבד.
שימוש ב-Advanced BigQuery Export
בקטע הזה מוסבר איך לגשת לנתוני Google SecOps ולהשתמש בהם ב-BigQuery.
מושגים והגדרות חשובים
בהמשך מפורטים כמה מושגים ותנאים חשובים שקשורים ל-Advanced BigQuery Export:
- מערך נתונים מקושר: מערך נתונים ב-BigQuery לקריאה בלבד, שמשמש כקישור סמלי או כסמן למערך נתונים משותף בפרויקט אחר. היא מאפשרת לכם להריץ שאילתות על נתונים בלי להעתיק אותם, ומספקת גישה מאובטחת בזמן שספק הנתונים מנהל את האחסון הפיזי.
- שיתוף ב-BigQuery: Google Cloud שירות שמאפשר לארגונים לשתף בצורה מאובטחת נתונים ונכסי ניתוח, כמו מערכי נתונים של BigQuery, באופן פנימי וחיצוני.
- פרויקט דייר: פרויקט Google Cloud בבעלות Google SecOps ובניהולה. בפרויקט הזה מאוחסנים ומנוהלים פיזית נתוני האבטחה המיוצאים. אין לכם גישה ישירה לפרויקט הזה.
- הפרויקט שלכם: Google Cloud הפרויקט שבבעלות הארגון שלכם ומקושר למופע Google SecOps. זהו הפרויקט שבו מופיע מערך הנתונים המקושר, ושבו מריצים את השאילתות ומשלמים על ניתוח הנתונים.
- Project ID: המזהה הייחודי הגלובלי של הפרויקט.
- Unified Data Model (UDM): סכימה סטנדרטית וניתנת להרחבה של Google לניתוח ולנרמול של נתוני טלמטריה של אבטחה ממאות מוצרים של ספקים שונים לפורמט עקבי.
הגדרת המערכת
כדי להגדיר את המערכת לשימוש ב-Advanced BigQuery Export ולהתחיל לשלוח שאילתות על הנתונים, צריך לבצע את השלבים הבאים:
- אישור הרישיון: מוודאים שיש לארגון רישיון ל-Google SecOps Enterprise Plus.
- מזהים את הפרויקט: נכנסים למסוף Google Cloud ובוחרים את הפרויקט Google Cloud שמקושר למופע של Google SecOps.
- איתור מערך הנתונים המקושר: במסוף BigQuery, משתמשים בחלונית סייר כדי לנווט למשאבים של הפרויקט. יוצג מערך נתונים מקושר בשם
secops_linked_data. מערך הנתונים הזה הוא מצביע לקריאה בלבד לנתוני האבטחה בזמן אמת שמנוהלים על ידי Google SecOps. אימות ההרשאות לניהול זהויות והרשאות גישה (IAM): כדי לשלוח שאילתה לנתונים, למשתמש או לחשבון השירות צריכות להיות ההרשאות הבאות בפרויקט:
roles/bigquery.dataViewerroles/bigquery.jobUser
התפקידים האלה מאפשרים למשתמשים (כמו אנליסטים של אבטחה וצרכני נתונים) להריץ שאילתות על נתונים במערך הנתונים המקושר ולהריץ משימות של BigQuery בפרויקט שלהם.
להריץ שאילתת בדיקה: פותחים את סביבת העבודה של BigQuery SQL ומריצים שאילתה בסיסית כדי לוודא שהגישה מוגדרת בצורה נכונה. אפשר להשתמש בקטע הקוד הבא (מחליפים את PROJECT_ID במזהה הפרויקט בפועל Google Cloud ):
SELECT * FROM `PROJECT_ID.secops_linked_data.events` LIMIT 10;
הרצת שאילתות על נתונים ב-BigQuery
אפשר להריץ שאילתות ישירות ב-BigQuery או לקשר ל-BigQuery כלי בינה עסקית משלכם, כמו Microsoft Power BI.
מידע נוסף על שאילתות
- מידע על גישה לשאילתות והרצת שאילתות ב-BigQuery זמין במאמר הרצת שאילתה. אפשר גם לקרוא על הרצת שאילתה אינטראקטיבית ועל הרצת שאילתת אצווה.
- מידע על שאילתות בטבלאות מחולקות למחיצות זמין במאמר שאילתות בטבלאות מחולקות למחיצות.
תקופת שמירת הנתונים ב-BigQuery
תקופת השמירה של הנתונים ב-BigQuery זהה לתקופת השמירה של הנתונים שהוגדרה לדייר שלכם ב-Google SecOps. אין הגדרה נפרדת שאפשר להגדיר כדי להתאים אישית את מדיניות השמירה של הנתונים ב-BigQuery. הנתונים נמחקים אוטומטית מהטבלאות ב-BigQuery כשהם עוברים את תקופת השמירה שהוגדרה לדייר.
מערכי נתונים מקושרים
מערכי הנתונים המקושרים מכילים כמה טבלאות, שכל אחת מהן מתאימה לסוג אחר של נתוני אבטחה.
בטבלה הבאה מופיע סיכום של מערכי הנתונים הזמינים, עדכניות הנתונים הרצויה ומפתחות הגישה הראשיים שמשמשים לווידוא תקינות הנתונים:
| שם מערך הנתונים | תיאור | הטריות הצפויה הכי טובה | מפתחות ראשיים לביטול כפילויות |
|---|---|---|---|
events |
אירועי אבטחה שעברו נרמול בסכימת ה-UDM. מידע על הסכימה זמין במאמר סכימת אירועים של Google SecOps. |
פחות מ-5 דקות | metadata.id(ייצוג מחרוזת) |
שאילתות לדוגמה
בדוגמאות הבאות מוצגות שאילתות של מערכי הנתונים בתרחישי שימוש נפוצים בתחום האבטחה. חשוב לזכור להחליף את PROJECT_ID במזהה הפרויקט Google Cloud האמיתי.
דוגמה – חיפוש של כל החיבורים לרשת מכתובת IP ספציפית ב-24 השעות האחרונות
השאילתה הזו מחפשת בטבלת האירועים פעילות רשת מהזמן האחרון מכתובת IP חשודה.
SELECT
metadata.product_event_type,
principal.ip,
target.ip,
network.application_protocol
FROM
`PROJECT_ID.secops_linked_data.events`
WHERE
principal.ip = '192.0.2.1'
AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
דוגמה – ספירת 10 הגילויים הנפוצים ביותר של כללים
השאילתה הזו בטבלה rule_detections עוזרת לזהות את האיומים הנפוצים ביותר או את הפרות המדיניות שזוהו בסביבה שלכם.
SELECT
rule_name,
COUNT(*) AS detection_count
FROM
`PROJECT_ID.secops_linked_data.rule_detections`
WHERE
detection.id IS NOT NULL
GROUP BY
1
ORDER BY
2 DESC
LIMIT
10;
שיטות מומלצות
בהמשך מפורטות כמה שיטות מומלצות לשאילתות עם BigQuery Export מתקדם:
- אופטימיזציה לעלות: מומלץ להימנע משימוש ב-
SELECT *. בשאילתה, מציינים רק את העמודות שצריך כדי להקטין את כמות הנתונים שנסרקים ולהפחית את עלויות השאילתה. - שימוש במסנני מחיצות: הטבלה events מחולקת למחיצות לפי העמודה
hour_time_bucket. מומלץ תמיד לכלול מסנן של סעיףWHEREבעמודה הזו כדי להגביל את השאילתות לחלון הזמן הקטן ביותר האפשרי. כך משפרים באופן משמעותי את הביצועים ומצמצמים את העלויות. - כתיבת שאילתות יעילות: סכימת ה-UDM רחבה ודלילה. כדי לסנן ביעילות לפי סוגים ספציפיים של אירועים, משתמשים בסימן
WHERE... IS NOT NULLבשדות הרלוונטיים. לדוגמה, כדי למצוא רק שאילתות DNS, מסננים אתWHERE network.dns.questions.name IS NOT NULL. - אימות שאילתות: לפני שמריצים שאילתה, כדאי להשתמש בכלי לתיקוף שאילתות בממשק האינטרנט של BigQuery כדי לקבל הערכה של הגודל והעלות של עיבוד הנתונים. כך אפשר להימנע משאילתות גדולות ויקרות.
סינון לפי עמודות של אשכולות: אפשר להשתמש בעמודות של אשכולות בסעיפי
WHEREכדי לצמצם את זמן האחזור של השאילתות ואת עלויות הסריקה. סינון בעמודות של אשכולות הוא יעיל יותר כי הוא מאפשר ל-BigQuery לצמצם את הנתונים שהוא צריך לעבד בצורה יעילה יותר.עמודות האשכולות בטבלת האירועים הן
metadata.log_type,metadata.event_typeו-metadata.product_event_type.
מגבלות ידועות
אלה מגבלות ידועות של התכונה 'ייצוא מתקדם ל-BigQuery':
- השהיה בגרף הישויות: מערך הנתונים
entity_graphמיוצא באמצעות תהליך אצווה, ועדכניות הנתונים היא בערך ארבע שעות. - מפתחות הצפנה בניהול הלקוח (CMEK): לקוחות שהפעילו CMEK במופע Google SecOps שלהם לא יכולים להשתמש ב-BigQuery Export מתקדם.
- עמודות בסכימת UDM: ל-BigQuery יש מגבלה רכה של 10,000 עמודות לכל טבלה. סכימת UDM מכילה יותר מ-27,000 שדות, והיא מאוכלסת באופן חלקי. צינור הייצוא כולל באופן חכם רק עמודות מאוכלסות לאירוע נתון, כך שרוב הלקוחות לא מתקרבים למגבלה. Google SecOps עוקב אחרי השימוש בעמודות ומבקש באופן יזום להגדיל את המגבלה בפרויקט הדייר אם הוא מתקרב לסף הזה.
- מדיניות שמירת נתונים: תקופת שמירת הנתונים של כל נתוני האבטחה שמיוצאים ל-BigQuery מסונכרנת אוטומטית עם תקופת שמירת הנתונים של פרויקט Google SecOps, ואי אפשר להגדיר אותה בנפרד.
- נתונים שמגיעים באיחור: בנסיבות נדירות, אם נתונים מגיעים באיחור משמעותי לצינור העיבוד, יש סיכוי קטן שהנתונים לא ימוזגו בצורה נכונה. המערכת מתוכננת לצמצם את הסיכון הזה, אבל זה מאפיין ידוע של מערכות סטרימינג עם תפוקה גבוהה שמסתמכות על מודל עקביות הדרגתי.
- נתונים שעברו העשרה: הכיסוי מוגבל לאירועי UDM שעברו העשרה חד-פעמית. אירועי UDM שעברו העשרה חוזרת לא מיוצאים למופע BigQuery של פרויקט הדייר.
- נתונים היסטוריים: ייצוא הנתונים מתחיל ברגע שמפעילים את BigQuery Export המתקדם, ונתונים ישנים יותר נשארים נגישים בפרויקט הקיים. כדי לשלוח שאילתות לגבי נתונים שיוצאו לפני ההפעלה של BigQuery Export המתקדם, צריך להשתמש בשאילתה אחת שמצטרפת לנתונים בשני הפרויקטים, או להריץ שתי שאילתות נפרדות בפרויקטים המתאימים (אחת למערך הנתונים הישן ואחת למערך הנתונים החדש).
פתרון בעיות ותמיכה
בטבלה הבאה מפורטים פתרונות לבעיות נפוצות שעשויות להתרחש:
| תסמין שנצפה | סיבה אפשרית | הפעולה המומלצת |
|---|---|---|
השאילתות נכשלות עם 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_data לא מוצג בפרויקט 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 שלכם. |
| מופיעים אירועים שנראים כאירועים כפולים בתוצאות השאילתה. | יכול להיות שהסיבה לכך היא נתונים שמתקבלים באיחור בזרם עם תפוקה גבוהה. המערכת משתמשת בסמנטיקה של מסירה לפחות פעם אחת. | אם אתם חושדים שיש כפילויות, כדאי לקבץ את השאילתה לפי המפתחות הראשיים שמופיעים בקבוצות נתונים כדי לקבל ספירה. |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.