הפעלה ושימוש ב-Vulnerability Assessment ב-Google Cloud

Standard,‏ Premium ו-Enterprise (הוצאה משימוש)

הערכת נקודות חולשה ב- Google Cloud מאפשרת לכם לגלות נקודות חולשה בתוכנות וסודות שנחשפו במשאבים של Google Cloud בלי להתקין סוכנים. הערכת נקודות חולשה ב- Google Cloudסורקת מכונות וירטואליות של Compute Engine, צמתים באשכולות GKE Standard, קונטיינרים שפועלים באשכולות GKE Standard ו-GKE Autopilot וקונטיינרים שפועלים בעומסי עבודה של Cloud Run (גרסת טרום-השקה (Preview)).

איך פועלת הערכת נקודות חולשה ב- Google Cloud

סוגי המשאבים שנסרקים תלויים ברמת השירות של Security Command Center, וכוללים את המשאבים הבאים:

  • הפעלת מכונות וירטואליות של Compute Engine
  • צמתים באשכולות GKE Standard
  • קונטיינרים שפועלים באשכולות GKE Standard ו-GKE Autopilot.
  • קונטיינרים שפועלים בשירותים של Cloud Run, גרסאות פעילות, משימות ומאגרי וורקרים (גרסת טרום-השקה (Preview)).

כדי לסרוק מכונות וירטואליות ואשכולות GKE, השירות "הערכת נקודות חולשה" של Google Cloud משכפל את הדיסקים של המכונות הווירטואליות, טוען אותם במכונה וירטואלית מאובטחת אחרת וסורק אותם באמצעות SCALIBR. למכונה המשוכפלת של ה-VM יש את המאפיינים הבאים:

  • הוא נוצר באותו אזור שבו נמצאת המכונה הווירטואלית המקורית.
  • הוא נוצר בפרויקט שבבעלות Google, ולכן הוא לא מוסיף לעלויות שלכם.

כדי לעזור לכם לזהות נקודות חולשה במשאבים של Cloud Run, הכלי "הערכת נקודות חולשה" של Google Cloud משלב נתונים מהמקורות הבאים לעומסי עבודה של Cloud Run (גרסת טרום-השקה (Preview)):

  • סריקת מופעים לאיתור נקודות חולשה וסודות בקונטיינרים מ-Artifact Analysis.
  • מידע על משאבים פעילים של Cloud Run ממאגר משאבי ענן.

הממצאים שנוצרים מצורפים ישירות לשירות, למשימה או למאגר ה-workers הפעילים ב-Cloud Run.

הבדלים ביכולות בין רמות השירות

היכולות הבאות של "הערכת נקודות חולשה ב- Google Cloud " משתנות בהתאם לרמת השירות:

  • תדירות הסריקה
  • חומרת הממצאים שנוצרים
  • אילו ממצאים מועשרים בנתוני הערכת CVE של Mandiant
  • הזמן עד שממצא מסומן כINACTIVE

מידע נוסף על ההבדלים האלה זמין במאמר ממצאים שנוצרו על ידי הערכת נקודות חולשה ב- Google Cloud.

מגבלות

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

‫Compute Engine ודיסקים

  • סוכני השירות של Security Command Center צריכים להיות מסוגלים להציג את המכונות הווירטואליות של הפרויקט ולשכפל את הדיסקים שלהן לפרויקטים שבבעלות Google. חשוב לוודא שהגדרות האבטחה והמדיניות, כמו אילוצים של מדיניות הארגון, לא מפריעות ליכולת של סוכן השירות לגשת למשאבים האלה ולסרוק אותם.

    כדי לפתור את הבעיה, מומלץ להוסיף את הארגון google.com, באמצעות מזהה הארגון 433637338589, למדיניות רשימת ההיתרים. הדוגמה הבאה ממחישה איך להוסיף את הארגון לרשימת ההיתרים:

    name: organizations/Org-A/policies/compute.storageResourceUseRestrictions
    spec:
      rules:
      – values:
        allowedValues:
        - under:organizations/433637338589

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

  • כשסורקים מכונות וירטואליות עם דיסקי אחסון מתמידים (persistent disk) שמוצפנים באמצעות מפתחות הצפנה בניהול הלקוח (CMEK), המפתח צריך להיות מאוחסן באותו אזור שבו נמצא הדיסק. זהו המיקום הגלובלי או אותו מיקום גיאוגרפי כמו של הדיסק כשמשתמשים במפתחות במספר אזורים.

  • הערכת נקודות חולשה ב- Google Cloud לא תומכת בסריקת דיסקים שמוצפנים באמצעות CMEK ונמצאים בהיקפים של VPC Service Controls.

  • הערכת נקודות החולשה של Google Cloud לא תומכת במכונות וירטואליות עם דיסקי אחסון מתמידים שמוצפנים באמצעות מפתחות הצפנה באספקת הלקוח (CSEK).

  • הערכת נקודות חולשה ב- Google Cloud סורקת רק מחיצות דיסק מסוג VFAT,‏ EXT2,‏ EXT4,‏ XFS ו-NTFS.

  • הערכת נקודות חולשה ב- Google Cloud לא סורקת מכונות וירטואליות של Confidential Computing.

Google Kubernetes Engine

הערכת נקודות חולשה ב- Google Cloud לא מבצעת את הפעולות הבאות:

  • תמיכה בסריקת קונטיינרים בצומתי GKE שמוגדרים לשימוש בדיסקים מקומיים של SSD לאחסון זמני. הסורק מסתמך על שכפול של דיסקים לאחסון מתמיד. ב-Compute Engine אי אפשר ליצור קובץ Snapshot של כונני SSD מקומיים שמחוברים פיזית, ולכן קובצי אימג' של קונטיינרים שמאוחסנים בכונני SSD מקומיים לא נסרקים.

  • הכללת תוויות של אשכולות בממצאים כשסורקים אשכולות GKE.

  • סריקת צמתים חסויים של Google Kubernetes Engine.

Cloud Run

  • בעומסי עבודה של Cloud Run, הערכת נקודות החולשה של Google Cloud בודקת את תוצאות הסריקה של קובצי אימג' של קונטיינרים, במקום לסרוק את עומסי העבודה ישירות. הערכת נקודות החולשה של Google Cloud יוצרת ממצאים רק אם קובץ האימג' של הקונטיינר מאוחסן במאגר Artifact Registry ששייך לאותו ארגון ב-Google Cloud כמו השירות, המשימה או מאגר ה-workers של Cloud Run, למעט מקרים חריגים של קובצי אימג' מאומתים של קונטיינרים ציבוריים של Google.

  • במשימות של Cloud Run, הערכת נקודות החולשה של Google Cloud בודקת רק קובצי אימג' של הפעלות שהתחילו בהצלחה ב-14 הימים האחרונים. המערכת מדלגת על הפעלות שלא בוצעו או שנכשלו.

  • אם שירות Cloud Run או מאגר של Worker פועלים במשך יותר מ-30 יום בלי פריסה, משיכת קובץ אימג' או התחלה קרה, הסריקה הרציפה של חולשות וחשיפות נפוצות (CVE) מושהית עד שמתרחשת משיכה או פריסה חדשה. אחרי שליפה או פריסה של קובץ אימג' חדש, יכול להיות שיעברו עד 24 שעות לפני שהממצאים ישקפו את ה-CVE החדשים שפורסמו. הממצאים הקיימים נשארים פעילים ב-Security Command Center, וכפופים למדיניות שמירת הנתונים של הממצאים.

  • הממצאים מופיעים רק כש-Artifact Analysis סורק או מנתח מחדש את קובץ האימג'. פריסה של תמונה שכבר נשלחה לא מפעילה סריקה, ולכן הממצאים מופיעים אחרי הניתוח הבא. אם פורסים שירות, משימה או מאגר של Worker ב-Cloud Run עם קובץ אימג' שהועלה ל-Artifact Registry, הממצאים של עומס העבודה הזה מופיעים בדרך כלל תוך כ-4 שעות.

שיקולים שצריך להביא בחשבון כשמשדרגים ומשנמכים את רמות השירות

כשמחליפים את רמת השירות, היכולות של "הערכת נקודות חולשה" ב- Google Cloud משתנות ליכולות שנתמכות ברמת השירות הפעילה.

הממצאים שנוצרו בהפעלה הקודמת יישארו פעילים למשך הזמן שהוגדר ברמת השירות הקודמת. לדוגמה, כשמשנמכים ממסלול פרימיום לרמת Standard, ממצאים שנוצרו במסלול פרימיום נשארים פעילים למשך 72 שעות (3 ימים). ממצאים חדשים שנוצרים ברמת Standard נשארים פעילים למשך 195 שעות.

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

אם הגדרתם גבולות גזרה של VPC Service Controls, צרו את הכללים הנדרשים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress).

הרשאות להפעלת הערכת נקודות חולשה ב- Google Cloud

ההרשאות הנדרשות תלויות ברמת ההפעלה של Security Command Center. למידע על ההרשאות שנדרשות כדי להפעיל את רמת Premium, קראו את המאמר הפעלת רמת Premium של Security Command Center לארגון.

הפעלות של מסלול Standard ברמת הארגון

כדי להפעיל את "הערכת נקודות חולשה" ב- Google Cloud ברמת הארגון עם הפעלה של רמת Standard, אתם צריכים את התפקידים הבאים ב-IAM:

  • אדמין ב-Security Center‏ (roles/securitycenter.admin)
  • אחד מהתפקידים הבאים:

    • אדמין אבטחה (roles/iam.securityAdmin)
    • אדמין ארגוני (roles/resourcemanager.organizationAdmin)

הפעלות של מסלול הפרימיום או המסלול הרגיל ברמת הפרויקט

כדי להפעיל את "הערכת נקודות חולשה" של Google Cloud בפרויקט שבו Security Command Center מופעל רק ברמת הפרויקט, צריך את התפקידים הבאים ב-IAM:

  • אדמין ב-Security Center‏ (roles/securitycenter.admin)
  • אדמין אבטחה (roles/iam.securityAdmin)

סוכני שירות לסריקת דיסקים

השירות "הערכת נקודות חולשה ב- Google Cloud " משתמש בסוכני שירות של Security Command Center כדי לזהות משאבים ב- Google Cloud ולקבל הרשאת גישה אליהם.

כשמפעילים את Security Command Center ברמת הארגון, הכלי להערכת נקודות חולשה ב- Google Cloud משתמש בסוכן השירות הבא:

service-org-ORGANIZATION_ID@security-center-api.

כשמפעילים את Security Command Center ברמת הפרויקט, הכלי להערכת נקודות חולשה ב- Google Cloud משתמש בסוכן השירות הבא:

service-project-PROJECT_NUMBER@security-center-api.

הפעלה או השבתה של הערכת נקודות חולשה ב- Google Cloud

ברמות Premium ו-Enterprise, הערכת נקודות החולשה של Google Cloud מופעלת באופן אוטומטי בכל המכונות הווירטואליות, אם אפשר.

ברמת Standard, צריך להפעיל ידנית את הערכת נקודות החולשה של Google Cloud ברמת הארגון, התיקייה או הפרויקט.

כדי לשנות את ההגדרות של הערכת נקודות החולשה ב- Google Cloud :

  1. במסוף Google Cloud , נכנסים לדף Risk Overview:

    לדף Risk Overview

  2. בוחרים את הארגון שבו רוצים להפעיל את "הערכת נקודות חולשה" ב- Google Cloud.

  3. לוחצים על הגדרות.

  4. בקטע Vulnerability Assessment, לוחצים על Manage settings.

  5. בכרטיסייה Google Cloud, מפעילים או משביתים את הערכת נקודות החולשה של Google Cloud ברמת הארגון, התיקייה או הפרויקט בעמודה Agentless Vulnerability Assessment. רמות נמוכות יותר יכולות לרשת את הערך מרמות גבוהות יותר.

סריקת דיסקים שמוצפנים באמצעות CMEK

כדי לאפשר ל-Vulnerability Assessment for Google Cloud לסרוק דיסקים שמוצפנים באמצעות CMEK, צריך להקצות את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter‏ (roles/cloudkms.cryptoKeyEncrypterDecrypter) לסוכני השירות הבאים:

service-org-ORGANIZATION_ID@security-center-api.
service-PROJECT_ID@compute-system.

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

service-org-ORGANIZATION_ID@ctd-ia-org-sa-prod.

הגדרת הרשאות ברמת המפתח

  1. עוברים לדף אבטחה > ניהול מפתחות.
  2. בוחרים את אוסף המפתחות שמכיל את המפתח.
  3. בוחרים את המפתח.
  4. בחלונית המידע, לוחצים על הרשאות.
  5. מזינים את השם של סוכן השירות שהזנתם בשדה New principals.
  6. בתפריט Select a role, בוחרים באפשרות Cloud KMS CryptoKey Encrypter/Decrypter.
  7. לוחצים על Save.

הגדרת הרשאות למפתחות ברמת הפרויקט

  1. נכנסים לדף IAM & Admin > IAM.
  2. לוחצים על הענקת גישה.
  3. מזינים את השם של סוכן השירות שהזנתם בשדה New principals.
  4. בתפריט Select a role, בוחרים באפשרות Cloud KMS CryptoKey Encrypter/Decrypter.

כדי שהסריקות יפעלו כמו שצריך, המפתח צריך להיות באותו אזור שבו נמצא הדיסק. הערכת נקודות חולשה ב- Google Cloud מנסה לסרוק דיסקים שמוצפנים באמצעות CMEK. אם לא תתנו את ההרשאות הנדרשות, תופיע ביומן הביקורת של Google Cloud השגיאה הבאה: Cloud KMS error when using key.

ממצאים שנוצרו על ידי הערכת נקודות חולשה ב- Google Cloud

השירות "הערכת נקודות חולשה" של Google Cloud יוצר ממצא ב-Security Command Center כשהוא מזהה את הדברים הבאים:

  • נקודות חולשה בתוכנה במכונה וירטואלית של Compute Engine.
  • נקודות חולשה בתוכנה בצמתים באשכול GKE או בקונטיינרים שפועלים ב-GKE.
  • נקודות חולשה בתוכנה וסודות שנחשפו בשירותים, בגרסאות, במשימות ובמאגרי ה-worker של Cloud Run (גרסת טרום-השקה (Preview)).
  • נקודות חולשה בקובצי אימג' של קונטיינרים במשאבים הבאים:

    • ‫Pod ב-GKE
    • שירותי App Engine
    • שירותים ומשימות ב-Cloud Run

תדירות הסריקה

תדירות הסריקות משתנה בהתאם לרמת השירות:

רמת Standard רמות Premium ו-Enterprise
פעם בשבוע בערך כל 12 שעות

חומרת הממצאים שנוצרים

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

רמת Standard רמות Premium ו-Enterprise
ממצאים ברמת חומרה Critical Critical ממצאים ברמת חומרה High

מחזור החיים של הממצאים

כשהכלי "הערכת נקודות חולשה" של Google Cloud יוצר ממצא, הוא נשאר במצב ACTIVE למשך תקופת המצב הפעיל הבאה, שמשתנה בהתאם לרמת השירות:

רמת Standard רמות Premium ו-Enterprise
‫195 שעות ‫72 שעות (3 ימים)

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

אם הכלי להערכת נקודות חולשה של Google Cloud לא מזהה שוב את הממצא במהלך תקופת המצב הפעיל (בהתאם לרמת השירות), הכלי להערכת נקודות חולשה של Google Cloud מגדיר את הממצא כ-INACTIVE. הכלי "הערכת נקודות חולשה" של Google Cloud לא יזהה את הממצא במקרים הבאים:

  • התנאי שגרם לממצא תוקן.
  • המכונה הווירטואלית נעצרת.
  • המכונה הווירטואלית או הפרויקט נמחקו.

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

המידע שזמין בממצאים

הממצאים מכילים את המידע הנפוץ הבא:

  • תיאור של נקודת החולשה, כולל הפרטים הבאים:
    • חבילת התוכנה שמכילה את נקודת החולשה והמיקום שלה
    • מידע מרשומת ה-CVE המשויכת
    • הערכה של Security Command Center לגבי חומרת נקודת החולשה
  • אם יש, שלבים לפתרון הבעיה, כולל התיקון או שדרוג הגרסה לפתרון נקודת החולשה
  • ערכי המאפיינים הבאים:

    • כיתה: Vulnerability או Secret
    • ספק שירותי ענן (CSP): Google Cloud
    • מקור: Vulnerability Assessment
    • קטגוריה: אחד מהערכים הבאים:
      • Container Image Vulnerability
      • OS vulnerability
      • Software vulnerability
      • Secrets in Cloud Run

ממצאים מסוימים, שמשתנים בהתאם לרמת השירות, מועשרים במידע על ההשפעה ועל יכולת הניצול של CVE באמצעות הערכות CVE של Mandiant.

רמת Standard רמות Premium ו-Enterprise
פרצות אבטחה בחומרה ובתוכנה (CVE) ברמת חומרה קריטית כוללות מידע על הערכה של Mandiant פרצות אבטחה (CVE) ברמת חומרה גבוהה או קריטית כוללות מידע על הערכה של Mandiant

הממצאים שנוצרים ברמות השירות Premium ו-Enterprise כוללים את הפרטים הבאים:

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

ממצאים לגבי נקודות חולשה שזוהו בתוכנה

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

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

    • CronJob
    • DaemonSet
    • Deployment
    • Job
    • Pod
    • ReplicationController
    • ReplicaSet
    • StatefulSet

הכלי להערכת נקודות חולשה ב- Google Cloud יכול לזהות את אותה נקודת חולשה בכמה קונטיינרים, ולכן הוא צובר את נקודות החולשה ב- Google Cloud ברמת עומס העבודה או ברמת ה-Pod ב-GKE. בממצא מסוים יכולים להופיע כמה ערכים בשדה אחד, למשל בשדה files.elem.path.

ממצאים לגבי נקודות חולשה שזוהו בקובצי אימג' של קונטיינרים

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

  • השם המלא של המשאב של קובץ האימג' של הקונטיינר
  • אם האימג' עם נקודת החולשה פועל באחד מהשירותים הבאים, הממצא כולל ספירה של משאבי זמן הריצה המושפעים:
    • Pod ב-GKE
    • App Engine
    • שירות וגרסה של Cloud Run
    • משימה והפעלה ב-Cloud Run

ממצאים לגבי נקודות חולשה וסודות שזוהו ב-Cloud Run

הממצאים לגבי שירותים, משימות ומאגרי Worker של Cloud Run מכילים את הפרטים הנוספים הבאים:

  • ‫Resource name: שם המשאב המלא של שירות Cloud Run‏ (//run.googleapis.com/projects/.../locations/.../services/...), המשימה (//run.googleapis.com/projects/.../locations/.../jobs/...) או מאגר ה-workers‏ (//run.googleapis.com/projects/.../locations/.../workerPools/...) שהושפעו.
  • גרסאות פעילות: בשירותי Cloud Run, הממצא מפרט את שמות המשאבים של עד חמש גרסאות פעילות שמעבירות תנועה וטוענות את קובץ האימג' של הקונטיינר עם נקודת החולשה. במאגרי Worker, הממצא מפרט את שמות המשאבים של גרסאות פעילות שמריצות מכונות.
  • קונטיינרים מסוג sidecar: בשירותים, במשימות ובמאגרי Worker עם כמה קונטיינרים, הממצא מציין את השם המדויק של הקונטיינר ואת סיכום הביקורת של קובץ האימג' של הקונטיינר שמכיל את נקודת החולשה בחבילה או את הסוד שנחשף.

מחזור החיים של הממצאים ושמירת הנתונים ב-Cloud Run

בעומסי עבודה של Cloud Run, הממצא נשאר בסטטוס ACTIVE כל עוד גרסה פעילה או משימה שבוצעה מפנות לקובץ האימג' של הקונטיינר עם נקודת החולשה. כאשר גרסה חדשה עם קובץ אימג' נקי מחליפה את הגרסה הפגיעה, או כאשר הקצאת התנועה או המכונות לגרסה הפגיעה יורדת ל-0%, הממצא עובר באופן אוטומטי למצב INACTIVE.

במאמר שמירת נתונים של ממצאים מוסבר כמה זמן הממצאים נשמרים.

מיקום החבילה

מיקום הקובץ של נקודת החולשה בממצא מתייחס לקובצי המטא-נתונים של הקובץ הבינארי או של החבילה. המידע הזה תלוי במחלץ SCALIBR שמשמש להערכת נקודות החולשה ב- Google Cloud . בנקודות חולשה ששירות "הערכת נקודות חולשה" של Google Cloudמוצא בקונטיינר, זה הנתיב בתוך הקונטיינר.

בטבלה הבאה מוצגות דוגמאות למיקומי נקודות חולשה של מחלצי SCALIBR שונים.

מחלץ SCALIBR מיקום החבילה
חבילת Debian‏ (dpkg) /var/lib/dpkg/status
Go בינארי /usr/bin/google_osconfig_agent
ארכיון Java /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar
PHP /var/www/html/vkumark/backend_api/composer.lock
Python /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA
Ruby /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec

בדיקת הממצאים במסוף

אפשר לראות את הממצאים של הערכת נקודות החולשה של Google Cloud במסוף Google Cloud . לפני שאתם עושים את זה, ודאו שיש לכם את התפקידים המתאימים.

כדי לבדוק את הממצאים של הערכת נקודות החולשה של Google Cloud במסוף Google Cloud :

  1. במסוף Google Cloud , נכנסים לדף Findings של Security Command Center.

    כניסה לדף Findings

  2. בוחרים את הפרויקט או הארגון ב- Google Cloud .
  3. בקטע Quick filters, בסעיף המשנה השם המוצג של המקור, בוחרים באפשרות הערכת נקודות חולשה. תוצאות השאילתה של הממצאים מתעדכנות ומוצגים רק הממצאים מהמקור הזה.
  4. כדי לראות את הפרטים של ממצא ספציפי, לוחצים על שם הממצא בעמודה Category. חלונית הפרטים של הממצא נפתחת ומוצגת הכרטיסייה Summary.
  5. בכרטיסייה Summary, בודקים את פרטי הממצא, כולל מידע על מה שזוהה, המשאב המושפע, ואם יש, השלבים שאפשר לבצע כדי לתקן את הממצא.
  6. אופציונלי: כדי לראות את הגדרת ה-JSON המלאה של הממצא, לוחצים על הכרטיסייה JSON.