סקירה כללית על סריקת קונטיינרים

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

בנוסף, Artifact Analysis מספקת ניהול של מטא-נתונים. במאמר סקירה כללית של Artifact Analysis מוסבר איך אפשר להשתמש בסריקה ובאחסון מטא-נתונים יחד כדי לאבטח את צינור ה-CI/CD מקצה לקצה.

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

סקירה כללית זו מניחה שאתם כבר מכירים את השימוש במאגרי Docker ב-Artifact Registry.

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

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

הסריקה האוטומטית כוללת שתי משימות עיקריות: סריקה אוטומטית וניתוח רציף.

סריקה אוטומטית

הכלי Artifact Analysis סורק תמונות חדשות כשהן מועלות אל Artifact Registry. בסריקה הזו נחלץ מידע על החבילות שבמכולה. התמונות נסרקות רק פעם אחת, על סמך הגיבוב של התמונה. המשמעות היא שהוספה או שינוי של תגים לא יפעילו סריקות חדשות.

Artifact Analysis מזהה רק נקודות חולשה בחבילות שנבדקות באופן ציבורי לאיתור נקודות חולשה באבטחה.

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

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

ניתוח מתמשך

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

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

Artifact Analysis ממשיך לסרוק תמונות וחבילות כל עוד הן נמשכו ב-30 הימים האחרונים. אחרי 30 יום, המטא-נתונים של תמונות וחבילות שנסרקו לא יתעדכנו יותר, והתוצאות יהיו ישנות.

בניתוח ארטיפקטים, מטא-נתונים שלא עודכנו במשך יותר מ-90 יום נשמרים בארכיון. אפשר להעריך את המטא-נתונים האלה בארכיון רק באמצעות ה-API. כדי לסרוק מחדש תמונה עם מטא-נתונים לא עדכניים או מטא-נתונים שהועברו לארכיון, צריך לשלוף את התמונה. רענון המטא-נתונים יכול להימשך עד 24 שעות. אי אפשר לסרוק מחדש חבילות עם מטא-נתונים לא עדכניים או כאלה שהועברו לארכיון.

ארכיטקטורות

הכלי Artifact Analysis יכול לסרוק תמונות בכל ארכיטקטורה מבוססת-Linux.

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

אם רשימת המניפסט מכילה תמונה של Linux amd64, הכלי Artifact Analysis יסרוק את התמונה הזו. אחרת, הכלי Artifact Analysis בוחר תמונה אחרת מהרשימה.

סריקה לפי דרישה

סריקה לפי דרישה מאפשרת לסרוק קובצי אימג' של קונטיינרים באופן מקומי במחשב או במאגר, באמצעות ה-CLI של gcloud. כך תוכלו להתאים אישית את פייפליין של CI/CD, בהתאם למועד שבו תצטרכו לגשת לתוצאות של נקודת החולשה.

סוגי חבילות נתמכים

כשדוחפים קובצי אימג' של קונטיינרים למאגרי Docker ב-Artifact Registry, ‏ Artifact Analysis יכול לסרוק פגיעויות בכמה סוגים של חבילות מערכת הפעלה וחבילות שפה של אפליקציות.

בטבלאות הבאות מוצגת השוואה בין סוגי החבילות שניתן לסרוק באמצעות Artifact Analysis בכל שירות סריקה:

חבילות OS נתמכות

סריקה אוטומטית באמצעות Artifact Registry סריקה לפי דרישה
מערכת ההפעלה AlmaLinux
Alpine
CentOS
Chainguard
Debian
Google Distroless
MinimOS
‫Red Hat Enterprise Linux‏ (RHEL)
Red Hat Universal Base Image (UBI)
Rocky Linux
‫SUSE Linux Enterprise Server‏ (SLES)
Ubuntu
Wolfi

חבילות שפה נתמכות של אפליקציות

סריקה אוטומטית באמצעות Artifact Registry סריקה לפי דרישה
חבילות Go
חבילות Java
חבילות Node.js
חבילות PHP
חבילות Python
חבילות Ruby
חבילות Rust
חבילות ‎.NET

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

ניתוח ארטיפקטים לא נתמך בקונטיינרים של Windows Server.

ממשקים של Artifact Analysis

ב Google Cloud מסוף, אפשר לראות את נקודות החולשה של תמונות ואת המטא-נתונים של תמונות של קונטיינרים ב-Artifact Registry.

אפשר להשתמש ב-CLI של gcloud כדי לראות את נקודות החולשה ואת המטא-נתונים של התמונה.

אפשר גם להשתמש ב-Artifact Analysis API בארכיטקטורת REST כדי לבצע את הפעולות האלה. כמו בממשקי API אחרים של Cloud Platform, צריך לאמת את הגישה באמצעות OAuth2. אחרי שתבצעו אימות, תוכלו להשתמש ב-API גם כדי ליצור הערות ומופעים בהתאמה אישית, ולצפות במופעים של פגיעויות.

ה-Artifact Analysis API תומך גם ב-gRPC וגם ב-REST/JSON. אפשר לבצע קריאות ל-API באמצעות ספריות הלקוח או באמצעות cURL ל-REST/JSON.

איתור נתיבי קבצים של חבילות

כשכלי Artifact Analysis מוצא פגיעות, יכול להיות שלא תזהו את חבילת הפגיעות כתלות בארטיפקט. זה יכול לקרות אם מנהל החבילות מציג את הפגיעות, או אם החבילה היא תלות טרנזיטיבית – תלות של אחת מהתלויות שלכם.

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

  1. במסוף Google Cloud , עוברים לרשימת נקודות החולשה של פריט מידע שנוצר בתהליך הפיתוח (Artifact) בGo to Artifact Registry.
  2. עבור נקודת החולשה שברצונך לבדוק, לחץ על VIEW FIX.
  3. בחלונית הפרטים, לוחצים על הצגת מידע נוסף.

    בשדה File location (מיקום הקובץ) מוצג הנתיב לחבילה הפגיעה.

שליטה בפריסה של תמונות פגיעות

אתם יכולים לשלב את Artifact Analysis עם Binary Authorization כדי ליצור אישורים, שיכולים למנוע הפעלה של קובצי אימג' בקונטיינרים עם בעיות אבטחה ידועות בסביבת הפריסה שלכם.

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

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

מקורות של נקודות חולשה

בקטע הבא מפורטים מקורות נקודות החולשה שבהם משתמש Artifact Analysis כדי לקבל נתוני CVE.

סריקות של חבילות במערכת ההפעלה

הניתוח של Artifact Analysis מתבסס על המקורות הבאים:

סריקות של חבילות שפה

ב-Artifact Analysis יש תמיכה בסריקת נקודות חולשה בחבילות שפה בתוך קובץ אימג' של קונטיינר. הנתונים על נקודות החולשה מתקבלים ממאגר המידע של GitHub Advisory.

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

גרסאות נתמכות של מערכת ההפעלה

Artifact Analysis תומך בסריקת נקודות חולשה בגרסאות הבאות של תוכנת מערכת ההפעלה:

  • מערכת ההפעלה AlmaLinux – גרסאות: 8,‏ 9,‏ 10 וגרסאות משניות
  • ‫Alpine Linux – גרסאות: 3.3, ‏ 3.4, ‏ 3.5, ‏ 3.6, ‏ 3.7, ‏ 3.8, ‏ 3.9, ‏ 3.10, ‏ 3.11,‏ 3.12, ‏ 3.13, ‏ 3.14, ‏ 3.15, ‏ 3.16, ‏ 3.17, ‏ 3.18, ‏ 3.19, ‏ 3.20, ‏ 3.21, ‏ 3.22, ‏ 3.23
  • ‫CentOS – גרסאות: 6,‏ 7,‏ 8 וגרסאות משניות
  • ‫Chainguard – עדכונים מתגלגלים במסלול הפצה יחיד.
  • ‫Debian GNU/Linux – גרסאות: 11, ‏ 12, ‏ 13, ‏ 14, ‏ 15
  • ‫MinimOS – עדכונים מתגלגלים במסלול הפצה יחיד.
  • ‫Red Hat Enterprise Linux‏ (RHEL) – הגרסאות: 7, 8, 9 וגרסאות משניות נתמכות לסריקות אוטומטיות של רישום.
  • Red Hat Universal Base Image (UBI) – גרסאות 8, 9 וגרסאות משניות
  • ‫Rocky Linux – גרסאות: 8,‏ 9,‏ 10 וגרסאות משניות
  • ‫SUSE Linux Enterprise Server ‏ (SLES) – גרסאות: 12,‏ 15 וגרסאות משניות.‫SLES for SAP נתמך גם הוא באותן גרסאות
  • ‫Ubuntu – גרסאות: 14.04, ‏ 16.04, ‏ 18.04, ‏ 20.04, ‏ 22.04, ‏ 24.04, ‏ 24.10, ‏ 25.04, ‏ 25.10
  • ‫Wolfi – עדכונים מתגלגלים במסלול הפצה יחיד.

מגבלות

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

  • Artifact Analysis מספק תוצאות של סריקת פגיעויות ב-RHEL על סמך הגרסה המשנית האחרונה של כל גרסה ראשית שפורסמה. אם תסרקו גרסה משנית ישנה יותר, יכול להיות שתקבלו תוצאות לא מדויקות.

  • גרסה 9 של RHEL לא נתמכת בסריקה לפי דרישה.

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

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