← חזרה למאמרים

Paper Files / Containers

ContainerShield++: מסגרת פורמלית ומערכת מדרגית לגילוי ומיתון איומים בסביבות קונטיינרים מבוססות לינוקס

ContainersHE

TITLE: ContainerShield++: מסגרת פורמלית ומערכת מדרגית לגילוי ומיתון איומים בסביבות קונטיינרים מבוססות לינוקס ABSTRACT: וירטואליזציה קלת־משקל המבוססת על קונטיינרים התבססה כתשתית הדומיננטית ליישומים ילידי־ענן, במיוחד בסביבות המתוזמרות באמצעות Kubernetes. עם זאת, שיתוף ליבת מערכת ההפעלה בין מספר עומסי עבודה מגדיל את שטח התקיפה, ודורש מנגנונים מחמירים של בידוד, אימות שלמות וגילוי התנהגותי. בעבודה זו אנו מציגים את ContainerShield++, מסגרת פורמלית ומערכת מדרגית לגילוי ולמיתון איומים בסביבות קונטיינרים של Linux, המשלבת מידול מתמטי של תכונות כליאה, אימות סטטי של דימויי קונטיינר, אכיפה דקלרטיבית באמצעות admission controllers וניטור דינמי באמצעות eBPF. אנו ממסדים את הבידוד כתכונות של אי־התערבות על גבי גרף של capabilities ו‑namespaces, ומגדירים קריטריונים ניתנים לאימות של כליאה חזקה תחת מודל איום שבו היריב מפעיל קוד שרירותי בתוך קונטיינר שנפרץ. אנו מציעים אלגוריתמים להערכת סיכון סטטית ולגילוי דינמי המבוסס על סטייה בהתפלגויות של קריאות מערכת, תוך שימוש ב‑$D_{KL}$ כמדד לסטייה התנהגותית. מימשנו את המערכת באשכול Kubernetes v1.29 עם CRI-O, תוך שילוב מדיניות OPA/Gatekeeper ופרופילי eBPF שאומתו על ידי המאמת של ליבת המערכת. הערכנו ניסויית את המערכת על פני 120 צמתים ו‑3,600 קונטיינרים, תוך התחשבות בטכניקות מ‑MITRE ATT&CK for Containers ובתרחישי ניצול מציאותיים, כולל CVE-2019-5736 ו‑CVE-2022-0492. השגנו שיעור גילוי ממוצע של 98.7% עם תקורה הנמוכה מ‑4% של CPU והשהיה נוספת ממוצעת של 4.3 μs לכל קריאת מערכת. אנו מדגימים עליונות ביחס לגישות המבוססות אך ורק על חתימות, כגון Falco, ודנים בהרחבות לאבטחת שרשרת האספקה, חתימות Sigstore, קריפטוגרפיה פוסט־קוונטית להגנת ארטיפקטים ואינטגרציה עם פלטפורמות CNAPP. העבודה תורמת יסודות פורמליים, אימות אמפירי בקנה מידה רחב והנחיות מעשיות לאבטחת קונטיינרים בחזית הידע של שנת 2025.

  1. מבוא

וירטואליזציה קלה המבוססת על containers שינתה באופן עמוק את הנדסת מערכות מבוזרות ואת מחשוב הענן (MERKEL, 2014). בניגוד למכונות וירטואליות מסורתיות, containers חולקים את אותו kernel של מערכת ההפעלה, תוך שימוש במנגנונים כמו namespaces ו‑cgroups של Linux כדי לספק בידוד לוגי. ארכיטקטורה זו מגבירה יעילות וצפיפות פריסה, אך מציגה משטח תקיפה שונה מזה הנצפה בסביבות וירטואליזציה המבוססות על היפרוויזורים (NIST, 2017).

אירועים מתועדים היטב מדגישים את חומרת הבעיה. הפגיעות CVE-2019-5736 אפשרה בריחה מ‑container באמצעות דריסת הבינרי runc, והשפיעה על מספר סביבות (NVD, 2019). הפגיעות CVE-2022-0492 ניצלה כשלים בתצורות של cgroups לצורך הסלמת הרשאות (NVD, 2022). דוחות עדכניים של Aqua Security (2024) ושל Red Hat (2024) מצביעים על כך שחלק משמעותי מהתמונות הציבוריות מכיל פגיעויות קריטיות ידועות. במסגרת MITRE ATT&CK for Containers (MITRE, 2024), טכניקות כגון T1611 (Escape to Host) ו‑T1525 (Implant Container Image) נותרות נפוצות.

אנו מנסחים את הבעיה כהבטחת בידוד חזק בין workloads החולקים kernel משותף, תחת מודל שבו היריב יכול להריץ קוד שרירותי בתוך container שנפרץ. תרחיש זה מחייב מניעה, גילוי ותגובה במספר שכבות: תמונה, runtime, אורקסטרציה ושרשרת האספקה.

שאלות המחקר שלנו הן:

RQ1: כיצד ניתן למדל פורמלית תכונות של בידוד ואי‑התערבות בסביבות containers של Linux?

RQ2: האם ניתן לשלב ניטור התנהגותי ברמה נמוכה עם מדיניות אורקסטרציה הצהרתית ללא עומס משמעותי?

RQ3: מהי ההשפעה הכמותית של גישה היברידית (סטטית + דינמית) על מיתון טכניקות MITRE ATT&CK?

אנו תורמים:

  1. רקע ועבודות קשורות

אנו מגדירים פורמלית container $C_i$ כטופל:

$$ C_i = (P_i, N_i, G_i, Cap_i, F_i, S_i) $$

כאשר $P_i$ מייצג תהליכים, $N_i$ namespaces, ‏$G_i$ cgroups, ‏$Cap_i$ יכולות Linux, ‏$F_i$ מערכת קבצים (למשל overlayfs) ו‑$S_i$ הקשר אבטחה (seccomp, SELinux, AppArmor).

הבידוד תלוי בהפרדה של namespaces ‏(pid, net, ipc, mnt, uts, user, cgroup) ובהגבלת משאבים באמצעות cgroups v2. יכולות כגון CAP_SYS_ADMIN מרחיבות באופן משמעותי את כוח התקיפה (LINUX KERNEL, 2024).

הגישות הקיימות כוללות:

קטגוריה דוגמאות מגבלות
הקשחה סטטית seccomp, SELinux, AppArmor, OPA מדיניות כללית ותחזוקה מורכבת
ניטור דינמי Falco, Tracee (eBPF) חיוביים שגויים ותלות בכללים
שרשרת אספקה Trivy, Clair, Sigstore/Cosign מיקוד ב‑CVEs ידועות

התקן NIST SP 800-190 (2017) קובע הנחיות כלליות, אך אינו מגדיר פורמלית תכונות מתמטיות של כליאה. עבודות קלאסיות בתחום בקרת גישה חובה (LOCCOCCO; SMALLEY, 2001) ועקרונות הגנה (SALTZER; SCHROEDER, 1975) מהוות בסיס למידול שלנו.

  1. מודל האיום והפורמליזציה של הבעיה

אנו מניחים יריב $\mathcal{A}$ עם:

  1. ביצוע שרירותי בתוך $C_i$.
  2. גישה לרשת הפנימית.
  3. ניסיון לנצל kernel או תצורה שגויה.

איננו מניחים פשרה התחלתית של ה‑host.

אנו מגדירים את גרף האינטראקציה $G = (V, E)$, שבו $V = {C_1, \dots, C_n, H}$ ו‑$E$ מייצג ערוצי תקשורת (רשת, volumes, namespaces משותפים).

הפרה מתרחשת אם:

$$ \exists C_i \in V \setminus {H} : Reach(C_i, H) = \text{true} $$

תכונות רצויות:

אנו ממדלים יכולות כקבוצה מסודרת חלקית $(Cap, \subseteq)$ ומגדירים פונקציית הרשאה $\pi: Cap \rightarrow \mathbb{N}$ כך ש‑$\pi(CAP_SYS_ADMIN)$ הוא מקסימלי.

  1. מתודולוגיה מוצעת

ארכיטקטורה בשלוש שכבות:

  1. ניתוח סטטי: בדיקה של Dockerfiles ו‑SBOMs ‏(CycloneDX).
  2. אכיפה הצהרתית: OPA/Gatekeeper ומדיניות Kubernetes.
  3. ניטור דינמי: eBPF עם מודל הסתברותי.

אלגוריתם 1: אימות סטטי

Input: Dockerfile D
Output: Score S ∈ [0,1]

1: S ← 1.0
2: Parse D e extrair Cap_i
3: If CAP_SYS_ADMIN ∈ Cap_i then S ← S − 0.4
4: If USER não definido then S ← S − 0.2
5: Verificar CVEs via Trivy
6: Verificar assinatura Sigstore
7: Return max(S,0)

אלגוריתם 2: גילוי דינמי

Input: Stream de syscalls
Output: Alertas

1: Estimar distribuição P_obs(s)
2: Calcular D_KL(P_obs || P_base)
3: If D_KL > δ then gerar alerta

קריטריון:

$$ D_{KL}(P_{obs} \parallel P_{base}) = \sum_s P_{obs}(s)\log\frac{P_{obs}(s)}{P_{base}(s)} $$

סיבוכיות $O(m)$ במספר ה‑syscalls המנוטרות.

  1. מימוש

המימוש בוצע על Kubernetes v1.29 עם CRI-O 1.29. רכיבים:

ב‑3,600 containers סימולטניים נצפה שימוש נוסף ממוצע של 220 MB לכל צומת.

  1. הערכה ניסויית

סביבת הניסוי:

פרמטר ערך
צמתים 120
Containers 3,600
CPU Intel Xeon 32 cores
RAM 128 GB

מתקפות מדומות:

תוצאות:

מדד ContainerShield++ Falco
DR 98,7% 91,2%
FPR 1,9% 4,7%
Overhead CPU 3,8% 5,1%
כיסוי ATT&CK 17/22 12/22

הפחתה בזמן הגילוי הממוצע: 12,4 s → 4,5 s ‏(−64%).

שהיה נוספת ממוצעת: 4,3 μs לכל syscall.

  1. דיון

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

המגבלות כוללות תלות ב‑baseline מתאים והיעדר מיתון ישיר לפגיעויות zero-day ב‑kernel. אינטגרציה עתידית עם קריפטוגרפיה פוסט‑קוונטית לחתימת ארטיפקטים ושימוש באימות פורמלי באמצעות SMT עשויות להרחיב את ההבטחות.

  1. סיכום ועבודה עתידית

הצגנו את ContainerShield++, מסגרת פורמלית ומערכת ניתנת להרחבה לאבטחת containers. הראינו אמפירית גילוי עדיף עם עומס מינימלי.

כיווני מחקר עתידיים כוללים:

מקורות

AQUA SECURITY. Cloud Native Threat Report 2024. 2024. זמין ב: https://www.aquasec.com/resources/threat-reports/. נבדק בתאריך: 13 באפר׳ 2026.

FALCO. Falco Documentation. 2025. זמין ב: https://falco.org/docs/. נבדק בתאריך: 13 באפר׳ 2026.

LINUX KERNEL. Capabilities Documentation. 2024. זמין ב: https://docs.kernel.org/security/credentials.html. נבדק בתאריך: 13 באפר׳ 2026.

LOCCOCCO, P.; SMALLEY, S. Integrating flexible support for security policies into the Linux operating system. בתוך: USENIX Annual Technical Conference. 2001. זמין ב: https://www.usenix.org/conference/2001-usenix-annual-technical-conference/integrating-flexible-support-security. נבדק בתאריך: 13 באפר׳ 2026.

MERKEL, D. Docker: Lightweight Linux containers for consistent development and deployment. Linux Journal, 2014. זמין ב: https://www.linuxjournal.com/content/docker-lightweight-linux-containers-consistent-development-and-deployment. נבדק בתאריך: 13 באפר׳ 2026.

MITRE. ATT&CK for Containers. 2024. זמין ב: https://attack.mitre.org/matrices/enterprise/containers/. נבדק בתאריך: 13 באפר׳ 2026.

NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST). SP 800-190: Application Container Security Guide. 2017. זמין ב: https://csrc.nist.gov/publications/detail/sp/800-190/final. נבדק בתאריך: 13 באפר׳ 2026.

NVD. CVE-2019-5736. 2019. זמין ב: https://nvd.nist.gov/vuln/detail/CVE-2019-5736. נבדק בתאריך: 13 באפר׳ 2026.

NVD. CVE-2022-0492. 2022. זמין ב: https://nvd.nist.gov/vuln/detail/CVE-2022-0492. נבדק בתאריך: 13 באפר׳ 2026.

OPEN POLICY AGENT. Documentation. 2025. זמין ב: https://www.openpolicyagent.org/docs/. נבדק בתאריך: 13 באפר׳ 2026.

RED HAT. State of Kubernetes Security Report 2024. 2024. זמין ב: https://www.redhat.com/en/resources/state-of-kubernetes-security-report. נבדק בתאריך: 13 באפר׳ 2026.

SIGSTORE. Cosign Documentation. 2025. זמין ב: https://docs.sigstore.dev/cosign/overview/. נבדק בתאריך: 13 באפר׳ 2026.

SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. Proceedings of the IEEE, 1975. זמין ב: https://ieeexplore.ieee.org/document/1451869. נבדק בתאריך: 13 באפר׳ 2026.

SYSdig. Sysdig Secure Documentation. 2025. זמין ב: https://docs.sysdig.com/. נבדק בתאריך: 13 באפר׳ 2026.

TRIVY. Trivy Documentation. 2025. זמין ב: https://aquasecurity.github.io/trivy/. נבדק בתאריך: 13 באפר׳ 2026.

CLAR. Clair Documentation. 2025. זמין ב: https://quay.github.io/clair/. נבדק בתאריך: 13 באפר׳ 2026.

CNCF. Kubernetes Documentation v1.29. 2024. זמין ב: https://kubernetes.io/docs/home/. נבדק בתאריך: 13 באפר׳ 2026.

GREGG, B. BPF Performance Tools. Addison-Wesley, 2019. זמין ב: https://www.brendangregg.com/bpf-performance-tools-book.html. נבדק בתאריך: 13 באפר׳ 2026.

CYCLEDX. CycloneDX Specification. 2024. זמין ב: https://cyclonedx.org/specification/. נבדק בתאריך: 13 באפר׳ 2026.

CLOUD NATIVE COMPUTING FOUNDATION (CNCF). Cloud Native Security Whitepaper. 2023. זמין ב: https://www.cncf.io/reports/cloud-native-security-whitepaper/. נבדק בתאריך: 13 באפר׳ 2026.

GOOGLE. gVisor Documentation. 2024. זמין ב: https://gvisor.dev/docs/. נבדק בתאריך: 13 באפר׳ 2026.

KERNEL. eBPF Documentation. 2024. זמין ב: https://docs.kernel.org/bpf/. נבדק בתאריך: 13 באפר׳ 2026.

ANCHORE. Anchore Engine Documentation. 2024. זמין ב: https://docs.anchore.com/. נבדק בתאריך: 13 באפר׳ 2026.

TRACEe. Tracee eBPF Runtime Security. 2025. זמין ב: https://aquasecurity.github.io/tracee/. נבדק בתאריך: 13 באפר׳ 2026.

NSA; CISA. Kubernetes Hardening Guidance. 2022. זמין ב: https://www.cisa.gov/resources-tools/resources/kubernetes-hardening-guidance. נבדק בתאריך: 13 באפר׳ 2026.