תיקון פגיעויות באבטחה

במאמר הזה מוסבר איך Google מטפלת בנקודות חולשה ובתיקונים ב-Google Kubernetes Engine ‏ (GKE).

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

תיקון אחריות משותפת

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

איך אנחנו מגלים נקודות חולשה

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

לצורך תיקון, GKE היא שכבת מערכת הפעלה (OS) עם קונטיינרים שפועלים מעליה. מערכות ההפעלה, מערכת הפעלה שמותאמת לקונטיינרים או Ubuntu, מוקשחות ומכילות את כמות התוכנה המינימלית שנדרשת להפעלת קונטיינרים. תכונות GKE פועלות כקונטיינרים על גבי קובצי האימג' הבסיסיים. ב-GKE פועלים באופן עקבי כדי להפחית את מספר התלויות של רכיבי המערכת, וכך לצמצם את שטח הפנים של המתקפה ולשפר את היעילות של ניהול נקודות החולשה. לדוגמה, יכול להיות שרכיבי מערכת של GKE ישתמשו בתמונות בסיס מינימליות כשהדבר אפשרי.

‫Google מזהה ומתקנת נקודות חולשה ותיקונים חסרים בדרכים הבאות:

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

  • ‫Ubuntu: חברת Canonical מספקת ל-Google גרסאות של מערכת ההפעלה שכוללות את כל תיקוני האבטחה הזמינים.

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

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

‫Google מבצעת ביקורות משלה, בדיקות חדירה וגילוי פגיעויות בכל הפלטפורמות. רשימת הפלטפורמות מופיעה בקטע הקודם Patching shared responsibility.

צוותים מיוחדים בתוך Google וספקי אבטחה מהימנים מצד שלישי עורכים מחקר משלהם בנושא מתקפות. בנוסף, Google עבדה עם CNCF כדי לספק חלק גדול מהמומחיות הארגונית והטכנית לייעוץ בנושא ביקורת האבטחה של Kubernetes.

‫Google משתתפת באופן פעיל בקהילת המחקר בתחום האבטחה באמצעות מספר תוכניות תגמול על גילוי פגיעויות. תוכנית ייעודית Google Cloud למתן תמריצים על איתור נקודות חולשה מספקת תמריצים משמעותיים,כולל 133,337 $על נקודת החולשה הטובה ביותר בענן שנמצאת בכל שנה. ב-GKE יש תוכנית שמעניקה תגמול לחוקרי אבטחה אם הם מצליחים לפרוץ את אמצעי האבטחה שלנו. התוכנית כוללת את כל התלות בתוכנה של GKE.

‫Google משתפת פעולה עם שותפים אחרים בתעשייה ובתוכנות קוד פתוח, שחולקים נקודות חולשה, מחקר אבטחה ותיקונים לפני הפרסום הפומבי של נקודת החולשה. המטרה של שיתוף הפעולה הזה היא לתקן חלקים גדולים בתשתית האינטרנט לפני שנקודת החולשה תפורסם לציבור. במקרים מסוימים, Google תורמת לקהילה הזו מידע על נקודות חולשה שנמצאו. לדוגמה, צוות Project Zero של Google גילה ופרסם את נקודות החולשה Spectre ו-Meltdown. צוות האבטחה גם מוצא ומתקן באופן קבוע נקודות חולשה במכונה הווירטואלית מבוססת-הליבה (KVM). Google Cloud

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

ב-Kubernetes,‏ Google היא חברה פעילה ומייסדת ב-Security Response Committee (SRC), והיא כתבה חלק גדול מ-Security Release Process. ‫Google היא חברה ברשימת מפיצי Kubernetes שמקבלת הודעה מוקדמת על נקודות חולשה, והיא מעורבת במיון, בתיקון, בפיתוח אמצעים לצמצום הסיכון ובהודעה על כמעט כל נקודת חולשה חמורה באבטחת Kubernetes. בנוסף, אנחנו ב-Google גילינו כמה נקודות חולשה ב-Kubernetes.

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

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

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

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

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

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

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

איך מתקנים נקודות חולשה באשכולות GKE

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

כדי לשמור על תיקון אשכולות ועל הגנה מפני נקודות חולשה בכל רמות החומרה, מומלץ להשתמש בשדרוג אוטומטי של צמתים ב-GKE (מופעל כברירת מחדל). במקרה של אשכולות שרשומים לערוצי הפצה, גרסאות תיקון מקודמות כשהן עומדות בדרישות ההסמכה של כל ערוץ. אם אתם צריכים גרסת תיקון של GKE לפני שהיא מגיעה לערוץ של האשכול, אתם יכולים לשדרג ידנית לגרסת התיקון אם גרסת התיקון היא באותה גרסה משנית כמו גרסה שזמינה בערוץ ההפצה של האשכול.

בפלטפורמות אחרות שבהן פועלים אשכולות, Google ממליצה לבצע שדרוג לפחות פעם בחודש. רשימת הפלטפורמות מופיעה בקטע הקודם Patching shared responsibility.

יכול להיות שסורקי אבטחה מסוימים או בדיקות ידניות של גרסאות יניחו בטעות שרכיב כמו runc או containerd חסר תיקון אבטחה ספציפי של upstream. ‫GKE מתקן רכיבים באופן קבוע ומבצע שדרוגים של גרסאות חבילות רק כשנדרש, מה שאומר שהרכיבים של GKE דומים מבחינת הפונקציונליות לרכיבים המקבילים שלהם ב-upstream, גם אם מספר הגרסה של רכיב GKE לא זהה למספר הגרסה ב-upstream. פרטים על CVE ספציפיים זמינים בעדכוני האבטחה הדחופים ל-GKE.

לוחות זמנים של תיקונים

המטרה של Google היא לצמצם את נקודות החולשה שזוהו בפרק זמן שמתאים לסיכונים שהן מייצגות. ‫GKE נכלל ב-Google CloudFedRAMP provisional ATO, שנדרש בו לתקן חולשות ידועות בתוך מסגרות זמן ספציפיות בהתאם לרמת החומרה שלהן, כפי שמפורט בבקרה RA-5(d) ברשומה Risk Assessment (RA) RA-5,‏ Vulnerability Scanning, בגיליון האלקטרוני FedRAMP Security Controls Baseline.

המטרה של GKE היא לפרסם גרסאות תיקון לכל נקודת חולשה מוכרת, כדי לתקן את נקודת החולשה בתוך לוח הזמנים המתאים. Google Cloud ה-ATO הזמני של FedRAMP לא כולל את Google Distributed Cloud,‏ GKE ב-AWS,‏ GKE ב-Azure או אשכולות שמצורפים ל-GKE, אבל אנחנו שואפים להשיג את אותן מסגרות זמן לתיקון במוצרים האלה. אחרי ש-GKE מפרסם גרסאות תיקון כדי לטפל בפגיעות ידועה, צריך לשדרג את האשכולות לגרסאות האלה כדי לעמוד בלוחות הזמנים של תיקון הבאגים בארגון.

איך אנחנו מעדכנים על נקודות חולשה ותיקונים

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

  • GKE
  • Google Distributed Cloud
  • ‫GKE ב-AWS
  • ‫GKE ב-Azure
  • Google Distributed Cloud

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

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

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