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

Paper Files / DevSecOps

כותרת: DevSecOps מונחה-איומים: ארכיטקטורה פורמלית לשילוב SAST, DAST, SCA וטלמטריה התנהגותית מבוססת MITRE ATT&CK ב-Pipelines של CI/CD

DevSecOpsHE

כותרת: 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.

  1. מבוא

הטרנספורמציה הדיגיטלית המואצת בעשור האחרון הובילה ארגונים לאמץ ארכיטקטורות מבוזרות, מיקרו־שירותים ופרקטיקות של אינטגרציה והספקה מתמשכת. בסביבות פיתוח מודרניות, צינורות 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. שנית, אנו מציגים אלגוריתם תעדוף אדפטיבי המשלב חומרת פגיעויות, הקשר תפעולי וראיות התנהגותיות. שלישית, אנו מעריכים אמפירית את הארכיטקטורה בסביבת ארגון אמיתית, ומדגימים ירידות מדידות במדדי סיכון תפעוליים.

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

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.

  1. מודל האיום וניסוח הבעיה

אנו מתייחסים ליריב $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$.

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

אנו מציעים ארכיטקטורת 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)$ בשל שלב המיון.

  1. מימוש

הארכיטקטורה יושמה באמצעות טכנולוגיות הנפוצות בסביבות 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 של זיכרון.

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

ההערכה בוצעה במשך שישה חודשים בסביבה ארגונית הכוללת מיקרו־שירותים מרובים.

פרמטר ערך
צינורות שנבחנו 120
מיקרו־שירותים 48
שורות קוד 3.2 מיליון
תקופה 6 חודשים

השוואה בין הגישה המסורתית לבין הארכיטקטורה המוצעת:

מדד Baseline מוצע
MTTD 72 h 26 h
MTTR 9.8 ימים 5.8 ימים
פגיעויות קריטיות בייצור 21 9
שיעור תוצאות חיוביות שגויות 22% 13.6%

מצאנו ירידה של 64% בזמן הגילוי הממוצע וירידה של 41% בזמן התיקון הממוצע.

  1. מחקר מקרה

ביצענו מחקר מקרה בארגון מהמגזר הפיננסי עם כ־שני מיליון משתמשים פעילים.

במהלך תהליך ה‑build, הכלי Trivy זיהה את נוכחותה של הפגיעות CVE‑2021‑44228 בתלות Log4j.

רצף האירועים היה כדלקמן:

  1. Trivy זיהה את התלות הפגיעה בשלב ה‑SCA.
  2. Suricata זיהה תעבורה חשודה הקשורה לניסיון ניצול LDAP.
  3. מנגנון הקורלציה ייחס את האירוע לטכניקת ATT&CK T1190.
  4. אלגוריתם התעדוף העלה אוטומטית את הקריטיות של הפגיעות.

התיקון יושם בתוך כ־שש שעות לאחר הזיהוי הראשוני, ובכך נמנעה הצלחה של הניצול.

  1. דיון

התוצאות מצביעות על כך שקורלציה בין סורקי פגיעויות לטלמטריה התנהגותית מגדילה באופן משמעותי את דיוק תעדוף הסיכון. האינטגרציה עם ATT&CK מספקת טקסונומיה תפעולית המפשטת את פרשנות אירועי האבטחה.

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

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

  1. מסקנה

הצגנו ארכיטקטורת 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