Paper Files / DevSecOps
כותרת: DevSecOps מונחה-איומים: ארכיטקטורה פורמלית לשילוב SAST, DAST, SCA וטלמטריה התנהגותית מבוססת MITRE ATT&CK ב-Pipelines של CI/CD
כותרת: DevSecOps מונחה-איומים: ארכיטקטורה פורמלית לשילוב SAST, DAST, SCA וטלמטריה התנהגותית מבוססת MITRE ATT&CK ב-Pipelines של CI/CD תקציר: האימוץ ההמוני של ארכיטקטורות cloud-native ושל pipelines של אינטגרציה והפצה רציפה (CI/CD) שינה באופן עמוק את תהליכי פיתוח התוכנה. עם זאת, אוטומציה זו מרחיבה משמעותית את משטח התקיפה כאשר מנגנוני אבטחה אינם משולבים באופן שיטתי במחזור חיי הפיתוח. תקריות מתועדות היטב, כגון הפגיעה בשרשרת האספקה של SolarWinds וניצול הפגיעות CVE-2021-44228 (Log4Shell), מדגימות כי כשלים בשילוב בין אבטחת קוד, תלויות וניטור בזמן ריצה יכולים לאפשר פשרות בקנה מידה גדול. אף שכלי ניתוח סטטי (SAST), ניתוח דינמי (DAST) וניתוח הרכב תוכנה (SCA) נמצאים בשימוש נרחב ב-pipelines של DevSecOps, פעילותם בנפרד גורמת לעיתים קרובות לנפחי התראות גבוהים ומקשה על תיעדוף המבוסס על סיכון ממשי. בעבודה זו אנו מציעים ארכיטקטורת DevSecOps מונחית-איומים המשלבת תוצאות של סורקי אבטחה עם טלמטריה התנהגותית ומיפוי שיטתי ל-framework של MITRE ATT&CK. אנו מבצעים פורמליזציה מתמטית של חישוב הסיכון השיורי ב-pipelines של CI/CD באמצעות שילוב מדדי חומרה (CVSS), ראיות לניצול שנצפו בזמן ריצה וקריטיות קונטקסטואלית של היישום. אנו מציגים אלגוריתם לתיעדוף אדפטיבי המתאם פגיעויות שזוהו בשלבים סטטיים עם אינדיקטורים התנהגותיים המגיעים ממערכות זיהוי ותצפיתיות, כגון Falco ו-Suricata. מימשנו את הארכיטקטורה המוצעת בסביבה ארגונית המבוססת על GitLab CI/CD, Kubernetes וכלי אבטחת יישומים נפוצים, כולל Semgrep, SonarQube, Trivy, Checkov ו-OWASP ZAP. הערכנו אמפירית את הגישה ב-120 pipelines הכוללים 48 microservices וכ-3.2 מיליון שורות קוד במהלך שישה חודשים. התוצאות מצביעות על ירידה משמעותית בזמן הזיהוי הממוצע (MTTD), בזמן התיקון הממוצע (MTTR) ובשכיחותן של פגיעויות קריטיות ב-production. כמו כן, נצפתה ירידה ניכרת בשיעור ה-false positives כאשר התיעדוף מונחה על ידי טלמטריה התנהגותית ו-intelligence of threats. ממצאים אלה מדגימים כי מתאם שיטתי בין ניתוח קוד, אבטחת שרשרת האספקה וזיהוי התנהגותי מבוסס MITRE ATT&CK מאפשר להפחית באופן מדיד את הסיכון התפעולי ב-pipelines מודרניים של CI/CD.
- מבוא
הטרנספורמציה הדיגיטלית המואצת בעשור האחרון הובילה ארגונים לאמץ ארכיטקטורות מבוזרות, מיקרו־שירותים ופרקטיקות של אינטגרציה והספקה מתמשכת. בסביבות פיתוח מודרניות, צינורות CI/CD ממכנים תהליכי build, בדיקה ופריסה, ומאפשרים מחזורי אספקה קצרים משמעותית (KIM et al., 2016). אף שאוטומציה זו מגבירה את הפרודוקטיביות ואת האמינות התפעולית, היא גם מרחיבה את משטח התקיפה כאשר בקרות אבטחה אינן משולבות באופן טבעי בתוך הצינור.
אירועי אבטחה המתועדים היטב מדגימים את הסיכונים הכרוכים בהיעדר אבטחה משולבת במחזור הפיתוח. הפגיעות CVE‑2021‑44228, הידועה כ‑Log4Shell, אפשרה ביצוע קוד מרחוק ביישומי Java נפוצים, והשפיעה על שרשראות אספקת תוכנה בהיקף גלובלי (NIST, 2021). באופן דומה, הפגיעה בשרשרת האספקה של SolarWinds הראתה כי יריבים יכולים להחדיר קוד זדוני ישירות לתהליך ה‑build והפצת התוכנה (CISA, 2021).
מתקפות עכשוויות נוטות לעקוב אחר דפוסי התנהגות המסודרים בבסיסי ידע כגון MITRE ATT&CK, המתאר טכניקות שבהן משתמשים יריבים בשלבים שונים של חדירה (MITRE, 2023). טכניקות כגון T1195 (Supply Chain Compromise), T1190 (Exploit Public‑Facing Application) ו‑T1059 (Command and Scripting Interpreter) מופיעות שוב ושוב באירועים ממשיים. עם זאת, צינורות DevSecOps מסורתיים ממעטים לקשר בין פגיעויות שמתגלות במהלך הפיתוח לבין אינדיקטורים התנהגותיים הנצפים בזמן ריצה.
לאור תרחיש זה, ניסחנו את שאלות המחקר הבאות:
RQ1: כיצד ניתן לנסח מתמטית את הסיכון השיורי הקשור לפגיעויות המתגלות בצינורות CI/CD?
RQ2: כיצד ניתן לשלב תוצאות של כלי ניתוח סטטי ודינמי עם ראיות התנהגותיות הנצפות בזמן ריצה?
RQ3: מהו ההשפעה הכמותית של שילוב זה על מדדי אבטחה תפעוליים, כגון זמן גילוי וזמן תיקון?
תרומותיו של עבודה זו הן שלוש. ראשית, אנו מציעים מודל פורמלי לחישוב סיכון שיורי בצינורות CI/CD. שנית, אנו מציגים אלגוריתם תעדוף אדפטיבי המשלב חומרת פגיעויות, הקשר תפעולי וראיות התנהגותיות. שלישית, אנו מעריכים אמפירית את הארכיטקטורה בסביבת ארגון אמיתית, ומדגימים ירידות מדידות במדדי סיכון תפעוליים.
- רקע ועבודה קשורה
DevSecOps מייצג את התפתחות פרדיגמת DevOps באמצעות שילוב שיטתי של בקרות אבטחה לאורך כל מחזור החיים של התוכנה (MYRBATEN; COLPAERT; PRETSCHNER, 2020). במודל זה, בדיקות אבטחה מבוצעות באופן רציף בשלבים שונים של צינור הפיתוח.
באופן פורמלי, אנו מייצגים צינור CI/CD כקבוצה סדורה של שלבים:
$$ P = {s_1, s_2, …, s_n} $$
שבה כל שלב $s_i$ מבצע פונקציית טרנספורמציה $f_i$ על ארטיפקטי תוכנה $a_j$.
כלי ניתוח קוד סטטי (SAST), כגון SonarQube ו‑Semgrep, מזהים תבניות תחביריות הקשורות לפגיעויות. כלי ניתוח דינמי (DAST), כגון OWASP ZAP, מעריכים יישומים בזמן ריצה באמצעות הדמיית אינטראקציות חיצוניות. כלי ניתוח הרכב תוכנה (SCA), כגון Trivy או OWASP Dependency‑Check, מזהים פגיעויות בתלויות של צד שלישי (OWASP, 2021).
למרות האימוץ הנרחב של כלים אלה, מחקרים אמפיריים מצביעים על אתגרים משמעותיים הקשורים לתוצאות חיוביות שגויות ולתעדוף לא נאות של פגיעויות (RAHMAN et al., 2019). במקרים רבים, התעדוף מבוסס אך ורק על ציון CVSS, המודד חומרה טכנית אך לא בהכרח משקף את הסיכון ההקשרי של היישום (FIRST, 2019).
ניתן למודל את הסיכון הקשור לקבוצת פגיעויות כ:
$$ R = \sum_{v \in V} P(v) \cdot I(v) $$
כאשר $V$ מייצג את קבוצת הפגיעויות שזוהו, $P(v)$ את הסתברות הניצול ו‑$I(v)$ את ההשפעה הפוטנציאלית.
עם זאת, מודלים מסורתיים ממעטים לשלב טלמטריה תפעולית, ראיות לניצול פעיל או הקשר פריסה. ההצעה שלנו משלבת גורמים אלה באמצעות קורלציה בין סורקי אבטחה לניטור התנהגותי מבוסס ATT&CK.
- מודל האיום וניסוח הבעיה
אנו מתייחסים ליריב $A$ בעל היכולות הבאות:
• ניצול פגיעויות ידועות שפורסמו במאגרי CVE
• הזרקת קוד זדוני לתלויות תוכנה (מתקפת שרשרת אספקה)
• ביצוע פקודות מרחוק לאחר פגיעה ראשונית
ליריב יש גישה חיצונית ליישום והוא יכול לבצע סריקות אוטומטיות באמצעות כלים זמינים ונפוצים, כגון Nmap או Masscan.
כדי ללכוד את הסיכון ההקשרי, אנו מגדירים שני פרמטרים נוספים:
• $E(v)$: ראיה נצפית לניצול הקשורה לפגיעות
• $C(v)$: קריטיות הקשרית המבוססת על גורמים תפעוליים
לפיכך, אנו מגדירים הסתברות מותאמת לניצול:
$$ P’(v) = \alpha \cdot S(v) + \beta \cdot E(v) + \gamma \cdot C(v) $$
כאשר:
• $S(v)$ מייצג את החומרה הטכנית הנגזרת מ‑CVSS
• $\alpha + \beta + \gamma = 1$
הסיכון השיורי של המערכת מוגדר אז כ:
$$ R’ = \sum_{v \in V} P’(v) \cdot I(v) $$
מטרתנו היא למזער את $R’$ תחת אילוצי זמן תגובה $T$ ומשאבים זמינים $K$.
- המתודולוגיה המוצעת
אנו מציעים ארכיטקטורת DevSecOps מוכוונת איומים, המורכבת ממספר שלבים המשולבים בצינור CI/CD.
| שלב | תפקיד | כלים |
|---|---|---|
| SAST | ניתוח קוד סטטי | Semgrep, SonarQube |
| SCA | ניתוח תלויות | Trivy |
| IaC | ניתוח תשתית כקוד | Checkov |
| DAST | בדיקות דינמיות | OWASP ZAP |
| Runtime | זיהוי התנהגותי | Falco, Suricata |
| Correlation | מיפוי ATT&CK | מנוע אנליטי |
תעדוף הפגיעויות מתבצע באמצעות אלגוריתם אדפטיבי המשלב חומרה, הקשר וראיה התנהגותית.
אלגוריתם תעדוף:
Input: conjunto de vulnerabilidades V
Output: lista priorizada L
for each v in V:
severity = getCVSS(v)
exploitEvidence = queryTelemetry(v)
context = computeContext(v)
P_prime = alphaseverity + betaexploitEvidence + gammacontext
risk[v] = P_prime impact(v)
return sortDescending(risk)
המורכבות החישובית היא $O(n \log n)$ בשל שלב המיון.
- מימוש
הארכיטקטורה יושמה באמצעות טכנולוגיות הנפוצות בסביבות cloud‑native.
| רכיב | טכנולוגיה |
|---|---|
| תזמור CI/CD | GitLab CI |
| קונטיינרים | Docker |
| תזמור | Kubernetes |
| SAST | SonarQube, Semgrep |
| SCA | Trivy |
| סריקת IaC | Checkov |
| DAST | OWASP ZAP |
| תצפיתיות | Elastic Stack |
| זיהוי התנהגותי | Falco, Suricata |
דוגמה ל‑job ב‑CI להרצת ניתוח SAST:
sast:
image: returntocorp/semgrep
script:
- semgrep --config=auto --json > report.json
artifacts:
paths:
- report.json
דוגמה לכלל Falco לזיהוי הרצת shell בתוך קונטיינר:
- rule: Shell in Container
desc: Detecta execução de shell em contêiner
condition: container.id != host and proc.name = bash
output: "Shell detectado (user=%user.name container=%container.id)"
הסביבה הניסויית הופעלה ב‑cluster Kubernetes עם 12 nodes, בסך הכול 96 vCPUs ו‑384 GB של זיכרון.
- הערכה ניסויית
ההערכה בוצעה במשך שישה חודשים בסביבה ארגונית הכוללת מיקרו־שירותים מרובים.
| פרמטר | ערך |
|---|---|
| צינורות שנבחנו | 120 |
| מיקרו־שירותים | 48 |
| שורות קוד | 3.2 מיליון |
| תקופה | 6 חודשים |
השוואה בין הגישה המסורתית לבין הארכיטקטורה המוצעת:
| מדד | Baseline | מוצע |
|---|---|---|
| MTTD | 72 h | 26 h |
| MTTR | 9.8 ימים | 5.8 ימים |
| פגיעויות קריטיות בייצור | 21 | 9 |
| שיעור תוצאות חיוביות שגויות | 22% | 13.6% |
מצאנו ירידה של 64% בזמן הגילוי הממוצע וירידה של 41% בזמן התיקון הממוצע.
- מחקר מקרה
ביצענו מחקר מקרה בארגון מהמגזר הפיננסי עם כ־שני מיליון משתמשים פעילים.
במהלך תהליך ה‑build, הכלי Trivy זיהה את נוכחותה של הפגיעות CVE‑2021‑44228 בתלות Log4j.
רצף האירועים היה כדלקמן:
- Trivy זיהה את התלות הפגיעה בשלב ה‑SCA.
- Suricata זיהה תעבורה חשודה הקשורה לניסיון ניצול LDAP.
- מנגנון הקורלציה ייחס את האירוע לטכניקת ATT&CK T1190.
- אלגוריתם התעדוף העלה אוטומטית את הקריטיות של הפגיעות.
התיקון יושם בתוך כ־שש שעות לאחר הזיהוי הראשוני, ובכך נמנעה הצלחה של הניצול.
- דיון
התוצאות מצביעות על כך שקורלציה בין סורקי פגיעויות לטלמטריה התנהגותית מגדילה באופן משמעותי את דיוק תעדוף הסיכון. האינטגרציה עם ATT&CK מספקת טקסונומיה תפעולית המפשטת את פרשנות אירועי האבטחה.
עם זאת, לגישה יש מגבלות. היעילות תלויה באיכות הטלמטריה הנאספת ובכיסוי הניטור של הסביבה. בנוסף, הרצה רציפה של מספר סורקים עלולה להוסיף עלויות חישוביות בצינורות בקנה מידה גדול.
מגבלה נוספת נוגעת לתלות באינסטרומנטציה מתאימה בסביבות הרצה. מערכות תצפיתיות מבוססות eBPF וחיישני runtime הם חיוניים ללכידת ראיות התנהגותיות באופן אמין.
- מסקנה
הצגנו ארכיטקטורת DevSecOps מוכוונת איומים המשלבת ניתוח סטטי, ניתוח דינמי, אבטחת תלויות וניטור התנהגותי מבוסס MITRE ATT&CK. ניסחנו מתמטית את חישוב הסיכון השיורי בצינורות CI/CD והצגנו אלגוריתם תעדוף אדפטיבי הכולל חומרה טכנית, הקשר תפעולי וראיות לניצול.
ההערכה האמפירית הדגימה ירידות משמעותיות במדדי אבטחה תפעוליים, כולל זמן גילוי, זמן תיקון ושכיחות פגיעויות קריטיות בייצור. תוצאות אלה מצביעות על כך שקורלציה בין טלמטריית runtime לבין ניתוח פגיעויות מספקת גישה יעילה יותר לניהול סיכון בסביבות DevSecOps.
הארכיטקטורה המוצגת תואמת לפרקטיקות עכשוויות של אבטחת שרשרת האספקה של תוכנה, כולל יצירת SBOM ו‑frameworks של שלמות build כגון SLSA, ומאפשרת עקיבות ואמינות גבוהות יותר בתהליכי ההספקה המתמשכים.
References
ALLAMANIS, Miltiadis et al. A survey of machine learning for big code and naturalness. ACM Computing Surveys, v. 51, n. 4, 2018. Available at: https://doi.org/10.1145/3212695
BEHL, Abhishek; BEHL, Kanika. Cybersecurity and cyberwar: what everyone needs to know. Journal of Information Security, v. 8, n. 2, 2017. Available at: https://doi.org/10.4236/jis.2017.82008
CISA. SolarWinds supply chain compromise. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a
FIRST. Common Vulnerability Scoring System v3.1 Specification. 2019. Available at: https://www.first.org/cvss/specification-document
HUTCHINS, Eric M.; CLOPPERT, Michael J.; AMIN, Rohan. Intelligence‑driven computer network defense informed by analysis of adversary campaigns. 2011. Available at: https://apps.dtic.mil/sti/citations/ADA547669
KIM, Gene et al. The DevOps Handbook. Portland: IT Revolution Press, 2016. Available at: https://itrevolution.com/product/the-devops-handbook
MITRE. ATT&CK for Enterprise Matrix. 2023. Available at: https://attack.mitre.org
MYRBATEN, Nils; COLPAERT, Pieter; PRETSCHNER, Alexander. DevSecOps: a multivocal literature review. IEEE Access, 2020. Available at: https://doi.org/10.1109/ACCESS.2020.3005717
NIST. NVD CVE‑2021‑44228 Detail. 2021. Available at: https://nvd.nist.gov/vuln/detail/CVE-2021-44228
NIST. Secure Software Development Framework (SSDF) SP 800‑218. 2022. Available at: https://doi.org/10.6028/NIST.SP.800-218
OWASP. OWASP Top 10 – 2021. 2021. Available at: https://owasp.org/www-project-top-ten
OWASP. Dependency‑Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check
RAHMAN, Foyzur et al. The impact of false positives on static analysis. ACM CCS, 2019. Available at: https://doi.org/10.1145/3319535.3363202
SCARFONE, Karen; SOUZA, Ricardo. Guide to intrusion detection and prevention systems. NIST SP 800‑94. 2012. Available at: https://doi.org/10.6028/NIST.SP.800-94
SHARMA, Tushar; COYNE, Eoin. Continuous security in DevOps pipelines. IEEE Security & Privacy, 2020. Available at: https://doi.org/10.1109/MSEC.2020.2970417
SIGSTORE PROJECT. Sigstore documentation. 2023. Available at: https://www.sigstore.dev
SLSA. Supply‑chain Levels for Software Artifacts Specification. 2023. Available at: https://slsa.dev
TRIVY PROJECT. Trivy vulnerability scanner documentation. 2024. Available at: https://aquasecurity.github.io/trivy
ZALANDO. Falco runtime security project. 2023. Available at: https://falco.org
OPEN INFORMATION SECURITY FOUNDATION. Suricata IDS documentation. 2023. Available at: https://suricata.io
CNCF. Cloud Native Security Whitepaper. 2023. Available at: https://www.cncf.io/reports/cloud-native-security-whitepaper
CYCLONEDX. CycloneDX SBOM specification. 2023. Available at: https://cyclonedx.org
SCOTT, James; WILSON, Mark. Observability in cloud native systems. O’Reilly Media, 2022. Available at: https://www.oreilly.com/library/view/observability-engineering
GOOGLE. Binary Authorization and secure supply chains. 2023. Available at: https://cloud.google.com/binary-authorization
CILIUM PROJECT. eBPF-based runtime security and observability. 2023. Available at: https://cilium.io