פריצות דוקר קונטיינר על ידי חולשת RunC
Containers, Orchestration, Docker, Kubernetes – אנו שומעים על הטכנולוגיה הזו יותר ויותר בכל יום.
השימוש בקונטיינרים הפך לבחירה הטבעית החל מסטארטאפים קטנים ועד תאגידים גדולים. הוא דורש התאמה של תהליכים וגישות בכל סביבות הפיתוח, בבדיקות ובפרודקשן והוא מועיל להם באמצעות גישת agile והשקה מתמשכת.
אך יחד עם היתרונות הללו, כארגון עלינו לוודא גם שהקונטיינרים שלנו מוגדרים באופן מאובטח ושהם מעודכנים.
לפני כמה ימים התגלתה חולשה חדשה במרכיב הדוקר, RunC (CVE-2019-5736). על ידי ניצול החולשה הזו, צד זדוני יכול להשתמש בקונטיינר שהוגדר באופן בלתי-מאובטח על מנת להעלות הרשאות במערכת המארחת ולהוציא לפועל פקודות שרירותיות.
ה-PoC של חולשה זו פורסם ב – גיטהאב. אם אתם מעוניינים לבדוק את זה בסביבה שלכם, שימו לב שהניצול הזה יעקוף את RunC בשרת המארח.
הלקחים העיקריים הנלמדים:
- התגוננות לעומק היא חשובה. הרצת פתרונות אחרים כדון הרצת קונטיינרים כ-no-root, מיפוי user namespace ו-SELinux יכולים לפתור את הנושא הזה.
- Patching זה חשוב. על ארגונים להעמיד מערכות patching יציבות ואוטומאיות. לחילופין, רוצו serverless ואז לא יהיה צורך לעשות patch לשרתים (לדוגמה, ECS Fargate וכו').
- הקונטיינר לא בהכרח מציע הפרדה מלאה. אין להריץ workloads מעורבים מלקוחות שונים (לדוגמא ארגונים) או תוכן בעל רמת רגישות משתנה (אפליקציות ציבוריות לעומת אפליקציות פנימיות רגישות) על אותו שרת.
אנו בקומסק יכולים לסייע לארגונכם לזהות קונטיינרים עם הגדרות אבטחה שגויות ולייעץ לכם כיצד לאבטח אותם בצורה נכונה.