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

Paper Files / Containers

ContainerShield++: מסגרת פורמלית ומערכת סקלבילית לזיהוי ולהפחתת איומים בסביבות קונטיינרים מבוססות Linux

ContainersHE

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

  1. מבוא

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

אירועים שתועדו בהרחבה מדגישים את חומרת הבעיה. הפגיעות CVE-2019-5736 אפשרה בריחה מקונטיינר באמצעות החלפת הבינרי 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 משותף, תחת מודל שבו התוקף יכול להריץ קוד שרירותי בתוך קונטיינר שנפגע. תרחיש זה מחייב מניעה, זיהוי ותגובה ברבדים מרובים: תמונה, runtime, orchestration ושרשרת האספקה.

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

RQ1: כיצד ניתן למודל באופן פורמלי תכונות של בידוד ואי-התערבות בסביבות קונטיינרים של Linux?

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

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

אנו תורמים את:

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

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

$$ 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. Enforcement הצהרתי: 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 קונטיינרים בו-זמנית, נצפתה תוספת ממוצעת של 220 MB לכל node.

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

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

פרמטר ערך
Nodes 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 הראתה שיפורים מהותיים בכיסוי ובדיוק. התקורה הנמוכה מאשרת היתכנות תפעולית ב-clusters בקנה מידה גדול.

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

  1. מסקנה ועבודת עתיד

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

ככיווני מחקר עתידיים, נבחן:

References

AQUA SECURITY. Cloud Native Threat Report 2024. 2024. Available at: https://www.aquasec.com/resources/threat-reports/. Accessed on: 13 abr. 2026.

FALCO. Falco Documentation. 2025. Available at: https://falco.org/docs/. Accessed on: 13 abr. 2026.

LINUX KERNEL. Capabilities Documentation. 2024. Available at: https://docs.kernel.org/security/credentials.html. Accessed on: 13 abr. 2026.

LOCCOCCO, P.; SMALLEY, S. Integrating flexible support for security policies into the Linux operating system. In: USENIX Annual Technical Conference. 2001. Available at: https://www.usenix.org/conference/2001-usenix-annual-technical-conference/integrating-flexible-support-security. Accessed on: 13 abr. 2026.

MERKEL, D. Docker: Lightweight Linux containers for consistent development and deployment. Linux Journal, 2014. Available at: https://www.linuxjournal.com/content/docker-lightweight-linux-containers-consistent-development-and-deployment. Accessed on: 13 abr. 2026.

MITRE. ATT&CK for Containers. 2024. Available at: https://attack.mitre.org/matrices/enterprise/containers/. Accessed on: 13 abr. 2026.

NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST). SP 800-190: Application Container Security Guide. 2017. Available at: https://csrc.nist.gov/publications/detail/sp/800-190/final. Accessed on: 13 abr. 2026.

NVD. CVE-2019-5736. 2019. Available at: https://nvd.nist.gov/vuln/detail/CVE-2019-5736. Accessed on: 13 abr. 2026.

NVD. CVE-2022-0492. 2022. Available at: https://nvd.nist.gov/vuln/detail/CVE-2022-0492. Accessed on: 13 abr. 2026.

OPEN POLICY AGENT. Documentation. 2025. Available at: https://www.openpolicyagent.org/docs/. Accessed on: 13 abr. 2026.

RED HAT. State of Kubernetes Security Report 2024. 2024. Available at: https://www.redhat.com/en/resources/state-of-kubernetes-security-report. Accessed on: 13 abr. 2026.

SIGSTORE. Cosign Documentation. 2025. Available at: https://docs.sigstore.dev/cosign/overview/. Accessed on: 13 abr. 2026.

SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. Proceedings of the IEEE, 1975. Available at: https://ieeexplore.ieee.org/document/1451869. Accessed on: 13 abr. 2026.

SYSdig. Sysdig Secure Documentation. 2025. Available at: https://docs.sysdig.com/. Accessed on: 13 abr. 2026.

TRIVY. Trivy Documentation. 2025. Available at: https://aquasecurity.github.io/trivy/. Accessed on: 13 abr. 2026.

CLAR. Clair Documentation. 2025. Available at: https://quay.github.io/clair/. Accessed on: 13 abr. 2026.

CNCF. Kubernetes Documentation v1.29. 2024. Available at: https://kubernetes.io/docs/home/. Accessed on: 13 abr. 2026.

GREGG, B. BPF Performance Tools. Addison-Wesley, 2019. Available at: https://www.brendangregg.com/bpf-performance-tools-book.html. Accessed on: 13 abr. 2026.

CYCLEDX. CycloneDX Specification. 2024. Available at: https://cyclonedx.org/specification/. Accessed on: 13 abr. 2026.

CLOUD NATIVE COMPUTING FOUNDATION (CNCF). Cloud Native Security Whitepaper. 2023. Available at: https://www.cncf.io/reports/cloud-native-security-whitepaper/. Accessed on: 13 abr. 2026.

GOOGLE. gVisor Documentation. 2024. Available at: https://gvisor.dev/docs/. Accessed on: 13 abr. 2026.

KERNEL. eBPF Documentation. 2024. Available at: https://docs.kernel.org/bpf/. Accessed on: 13 abr. 2026.

ANCHORE. Anchore Engine Documentation. 2024. Available at: https://docs.anchore.com/. Accessed on: 13 abr. 2026.

TRACEe. Tracee eBPF Runtime Security. 2025. Available at: https://aquasecurity.github.io/tracee/. Accessed on: 13 abr. 2026.

NSA; CISA. Kubernetes Hardening Guidance. 2022. Available at: https://www.cisa.gov/resources-tools/resources/kubernetes-hardening-guidance. Accessed on: 13 abr. 2026.