צפייה בסטטוס של VEX

במאמר הזה מוסבר איך לצפות בהצהרות Vulnerability Exploitability eXchange (VEX) (החלפת מידע על ניצול פגיעויות) שמאוחסנות ב-Artifact Analysis, ואיך לסנן פגיעויות באמצעות סטטוס VEX.

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

התפקידים הנדרשים

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

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

הצגת סטטוס VEX במסוף Google Cloud

כדי לראות מידע על VEX לגבי קובצי אימג' של קונטיינרים שמאוחסנים ב-Artifact Registry:

  1. פותחים את הדף Repositories (מאגרי מידע) ב-Artifact Registry.

    פתיחת הדף Repositories

    בדף הזה מופיעה רשימה של המאגרים שלכם.

  2. ברשימת המאגרים, לוחצים על שם המאגר.

  3. ברשימת התמונות, לוחצים על שם התמונה.

    נפתחת רשימה של תמציות התמונות.

  4. ברשימת התקצירים, לוחצים על שם התקציר.

    ייפתח דף פרטים של התקציר עם שורה של כרטיסיות. הכרטיסייה סקירה כללית פתוחה כברירת מחדל.

  5. בשורה של הכרטיסיות, לוחצים על הכרטיסייה Vulnerabilities (נקודות חולשה).

    בדף מוצגת סקירה כללית של תוצאות הסריקה עם הקטע סטטוס VEX.

    בקטע הסיכום VEX Status מוצג מספר החבילות שמסווגות לפי כל סוג של סטטוס VEX. כדי לראות את כל החבילות עם סטטוס VEX ספציפי, לוחצים על המספר שלצד סוג הסטטוס.

    בכרטיסייה Vulnerabilities (פגיעויות) מוצג גם סטטוס ה-VEX של כל חבילה ברשימת הפגיעויות.

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

    1. מעל רשימת נקודות החולשה, לוחצים על סינון נקודות חולשה.
    2. בוחרים מסנן מרשימת המסננים.
    3. מציינים את הערך שבו רוצים להשתמש כדי לסנן את הרשימה.

הצגת סטטוס VEX ב-Cloud Build

אם אתם משתמשים ב-Cloud Build, תוכלו לראות את פרטי ה-VEX גם בחלונית הצדדית תובנות בנושא אבטחה במסוף Google Cloud .

אם אתם משתמשים ב-Cloud Build, תוכלו לראות את המטא-נתונים של התמונות בחלונית הצדדית תובנות אבטחה במסוף Google Cloud .

בחלונית הצדדית Security insights מוצגת סקירה כללית של מידע על אבטחת בנייה של ארטיפקטים שמאוחסנים ב-Artifact Registry. מידע נוסף על חלונית הצד ועל האופן שבו אפשר להשתמש ב-Cloud Build כדי להגן על שרשרת האספקה של התוכנה זמין במאמר הצגת תובנות לגבי אבטחת ה-build.

צפייה באמצעות ה-CLI של gcloud

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

הצגת פרטי VEX של פריט מידע שנוצר בתהליך פיתוח (Artifact) יחיד

כדי לראות את פרטי ה-VEX שהועלו, אפשר לשלוח שאילתה ל-API ולרשום הערות עם סוג ההערה VULNERABILITY_ASSESSMENT.

כדי לבקש את כל ההערות של הערכת הפגיעות עבור הארטיפקט שצוין, משתמשים בקריאה הבאה ל-API:

curl -G -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    --data-urlencode "filter=(kind=\"VULNERABILITY_ASSESSMENT\" AND vulnerability_assessment.product.generic_uri=\"https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST\"" https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes

כאשר:

  • LOCATION הוא האזור או המיקום הרב-אזורי של המאגר.
  • PROJECT_ID הוא מזהה הפרויקט ב- Google Cloud שבו התמונה מאוחסנת במאגר של Artifact Registry.
  • REPO_NAME הוא שם המאגר ב-Artifact Registry שמכיל את התמונה.
  • IMAGE_NAME הוא שם התמונה.
  • DIGEST הוא תקציר התמונה, מחרוזת שמתחילה ב-sha256:.

סינון פגיעויות לפי סטטוס VEX

באמצעות gcloud, אפשר לסנן מטא-נתונים של פגיעויות לפי סטטוס VEX. המסננים של Artifact Analysis מבוססים על הסטטוס שמאוחסן בכל Grafeas vulnerability occurrence.

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

gcloud artifacts vulnerabilities list RESOURCE_URI \
    --occurrence-filter="vulnDetails.vex_assessment.state=\"STATUS\""

כאשר:

  • RESOURCE_URI היא כתובת ה-URL המלאה של התמונה, בדומה לכתובת https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
  • STATUS הוא סטטוס ה-VEX שרוצים לסנן לפיו, ויכול להיות אחד מהערכים הבאים: known_affected,‏ known_not_affected,‏ under_investigation או fixed.

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

gcloud artifacts vulnerabilities list RESOURCE_URI \
    --occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""

רשימת נקודות חולשה ללא VEX

כדי לזהות אילו פגיעויות עדיין לא משויכות למידע VEX, משתמשים בפקודת gcloud הבאה:

gcloud artifacts vulnerabilities list /
    LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST /--occurrence-filter="isNull(vulnDetails.vex_assessment.state)"

כאשר:

  • LOCATION הוא האזור או המיקום הרב-אזורי של המאגר.
  • PROJECT_ID הוא מזהה הפרויקט ב- Google Cloud שבו התמונה מאוחסנת במאגר של Artifact Registry.
  • REPO_NAME הוא שם המאגר ב-Artifact Registry שמכיל את התמונה.
  • IMAGE_NAME הוא שם התמונה.
  • DIGEST הוא תקציר התמונה, מחרוזת שמתחילה ב-sha256:.

מגבלות

  • אפשר להעלות הצהרות VEX רק לתמונות של מאגרי תגים.
  • אי אפשר לייצא הצהרות VEX שהועלו לפורמטים CSAF,‏ OpenVex או SPDX.

המאמרים הבאים