Paper Files / DevSecOps
ארכיטקטורת DevSecOps מונחית-סיכון עם קורלציה רב-שלבית מבוססת MITRE ATT&CK ועדויות אמפיריות בצינורות CI/CD מקוריים בענן
ארכיטקטורת DevSecOps מונחית-סיכון עם קורלציה רב-שלבית מבוססת MITRE ATT&CK ועדויות אמפיריות בצינורות CI/CD מקוריים בענן האימוץ הגובר של ארכיטקטורות מקוריות בענן ושל צינורות CI/CD אוטומטיים במידה גבוהה הרחיב באופן משמעותי את משטח התקיפה המשויך למחזור החיים של פיתוח תוכנה. תקריות המתועדות בהרחבה, כולל פשרות בשרשרת האספקה וניצול של חולשות נפוצות ומופצות, מדגימות כי בקרות אבטחה מבודדות אינן מספקות כאשר הן אינן משולבות במנגנוני תעדוף קונטקסטואליים ובקורלציה התנהגותית. בעבודה זו אנו מציגים ארכיטקטורת DevSecOps מונחית-סיכון המשלבת ניתוח סטטי של קוד, ניתוח תלויות, יצירה ואימות של SBOM, ולידציה של Infrastructure as Code, זיהוי התנהגותי בזמן ריצה ומנוע פורמלי לחישוב סיכון קונטקסטואלי. הארכיטקטורה משתמשת ב-MITRE ATT&CK כטקסונומיה לקורלציה רב-שלבית של אירועים לאורך כל צינור הפיתוח וההרצה. ביצענו ניתוח ביקורתי של המגבלות של גישות המבוססות באופן בלעדי על CVSS, והראינו כי היעדר קונטקסטואליזציה תפעולית מוביל לעיתים קרובות לתעדוף שגוי של חולשות ולתשישות התראות. אנו מציעים ניסוח מתמטי של הסיכון כפונקציה מורכבת של הסתברות הניצול המוערכת באמצעות EPSS, ההשפעה הטכנית המנורמלת, ופקטורים דינמיים של חשיפה תפעולית. אנו מציגים הגדרות פורמליות של תוקף, תכונות נכונות של מנגנון חסימת ה-builds, ומודל הסתברותי לקורלציה בין טכניקות של יריב. הארכיטקטורה יושמה בסביבת Kubernetes באמצעות GitLab CI, SonarQube, Semgrep, Trivy, Syft, Grype, OWASP ZAP, Falco, Suricata ו-Open Policy Agent. הערכנו אמפירית את המערכת לאורך שישה חודשים על פני מערך של מיקרו-שירותים ארגוניים המפוזרים בשני תחומי ארגון נפרדים. התוצאות מצביעות על הפחתה עקבית בזמן הממוצע לתיקון, ירידה יחסית בשיעור של התראות שווא והשפעה תפעולית מוגבלת על זמן ה-build הכולל. הממצאים האמפיריים מצביעים על כך שהאינטגרציה בין מידול סיכון פורמלי, מודיעין איומים ואוטומציה של מדיניות עשויה לשפר באופן משמעותי את היעילות התפעולית של תוכניות DevSecOps בסביבות מקוריות בענן.
- מבוא
התגבשותן של ארכיטקטורות נייטיביות לענן, מיקרו־שירותים ותשתית כקוד (Infrastructure as Code – IaC) הגדירה מחדש באופן עמוק את מחזור החיים של פיתוח תוכנה. אימוץ של צינורות CI/CD מאפשר לשילובי קוד, בדיקות ופריסה לייצור להתבצע במרווחים הולכים וקטנים. אף שפרדיגמה זו מקצרת את זמן ההגעה של יכולות חדשות, היא גם מרחיבה את משטח התקיפה, שכן ארטיפקטים עוברים דרך שלבים אוטומטיים מרובים ותלויות חיצוניות משולבות באופן דינמי במהלך תהליך ה-build.
דוחות אמפיריים מצביעים על כך שניצול של חולשות מוכרות ממשיך להיות וקטור התחלתי חוזר באירועי אבטחה. דוח Data Breach Investigations Report לשנת 2023 מתעד כי חולשות מוכרות ושגיאות קונפיגורציה נותרות בין הגורמים הדומיננטיים לפשרות ראשוניות של מערכות ארגוניות (VERIZON, 2023). במקביל, הסוכנות האירופית לאבטחת סייבר מדגישה את העלייה המשמעותית בתקיפות ממוקדות נגד שרשרת האספקה של תוכנה, במיוחד כאלה המנצלות צינורות build או תלויות חיצוניות (ENISA, 2022).
אירועים שנבחנו בהרחבה ממחישים את חומרת התרחיש הזה. פגיעות Log4Shell (CVE‑2021‑44228) הדגימה כיצד ספריות הנפוצות בהפצה רחבה עשויות להכניס סיכון מערכתי כאשר נעשה בהן שימוש באלפי יישומים. באופן דומה, אירוע SolarWinds הראה כי תהליכי build שנפגעו עלולים להביא להפצה של תוכנה זדונית חתומה ואמינה (CISA, 2021). אירועים אלה חושפים כי הבעיה המרכזית לעיתים קרובות אינה נעוצה רק בקיומן של חולשות, אלא בהיעדר נראות משולבת בין פיתוח, build והרצה.
טכניקות שונות שבהן משתמשים יריבים בהקשר זה מתועדות במסגרת MITRE ATT&CK, כולל T1195 (Supply Chain Compromise), T1552 (Unsecured Credentials), T1059 (Command and Scripting Interpreter) ו‑T1610 (Deploy Container) (MITRE, 2023). עם זאת, כלי אבטחה פועלים לעיתים קרובות באופן מבודד: פתרונות SAST מזהים דפוסים סטטיים של פגיעוּת, כלי SCA מזהים תלויות פגיעות, ומערכות ניטור runtime מזהות התנהגויות חשודות. היעדר קורלציה סמנטית בין תחומים אלה מפחית את היעילות התפעולית ותורם לנפחים גבוהים של התראות.
לאור תרחיש זה, בחנו שלוש שאלות מחקר מרכזיות:
- RQ1: כיצד ניתן לעצב מתמטית את תעדוף הפגיעויות בצינורות DevSecOps תוך שילוב הסתברות לניצול והקשר תפעולי?
- RQ2: האם ניתן לזהות שרשראות תקיפה רב־שלביות באמצעות קורלציה בין אירועי build ו־runtime המיושרים ל‑MITRE ATT&CK?
- RQ3: מהו ההשפעה התפעולית של מודל מונחה־סיכון על מדדים כגון זמן ממוצע לתיקון ושיעור יחסי של תוצאות חיוביות־שגויות?
אנו מציעים ארכיטקטורת DevSecOps מונחית־סיכון המשלבת מודל פורמלי, קורלציה התנהגותית ואוטומציה של מדיניות אבטחה. הגישה משלבת מודיעין איומים, ניתוח סטטי וניטור בזמן אמת במסגרת אחת של תעדוף.
- רקע ועבודות קשורות
2.1 DevSecOps ואבטחה ב‑SDLC
מסגרת Secure Software Development Framework (SSDF), שפורסמה על ידי NIST, מגדירה פרקטיקות מובנות לשילוב אבטחה לאורך כל מחזור החיים של הפיתוח (NIST, 2022). פרקטיקות אלה כוללות בקרה על תלויות, עקיבות של ארטיפקטים ואימות אבטחה מתמשך. בסביבות מודרניות, פרקטיקות אלו מיושמות באמצעות צינורות CI/CD אוטומטיים.
מחקרים קודמים מראים שהטמעה אפקטיבית של אבטחה ב‑DevOps תלויה לא רק בכלים, אלא גם במנגנוני תעדוף המפחיתים את העומס הקוגניטיבי של הצוותים (RAHMAN; WILLIAMS, 2016). מחקרים אמפיריים גם מצביעים על כך שגישות המבוססות אך ורק על זיהוי פגיעויות מייצרות לעיתים קרובות נפחי התראות שאינם תואמים את יכולת התגובה של הצוותים.
2.2 מדדי פגיעוּת
Common Vulnerability Scoring System (CVSS) מספק מודל סטנדרטי לסיווג חומרה טכנית של פגיעויות (MELL; SCARFONE; ROMANOSKY, 2007). עם זאת, CVSS תוכנן להעריך מאפיינים אינהרנטיים של הפגיעוּת ואינו מתחשב בהקשר הפריסה הספציפי.
כדי למתן מגבלה זו, Exploit Prediction Scoring System (EPSS) מעריך את הסתברות הניצול של פגיעויות על בסיס נתונים תצפיתיים ומודיעין איומים (FIRST, 2023). השילוב בין CVSS ל‑EPSS שימש בעבודות עדכניות רבות לשיפור תעדוף של תיקונים.
2.3 אבטחת שרשרת האספקה
בשנים האחרונות, אבטחת שרשרת האספקה הפכה לנושא מרכזי באבטחת תוכנה. יוזמות כגון SLSA (Supply-chain Levels for Software Artifacts) ואימוץ של Software Bill of Materials (SBOM) שואפות להגביר שקיפות ועקיבות בתהליכי build (OWASP, 2023; GOOGLE, 2023).
טבלה 1 מסכמת כמה גישות נפוצות לשימוש להפחתת סיכונים בצינורות CI/CD.
| גישה | מטרה עיקרית | מגבלות |
|---|---|---|
| SAST | זיהוי פגיעויות בקוד מקור | שיעור גבוה של תוצאות חיוביות־שגויות |
| SCA | זיהוי תלויות פגיעות | היעדר תעדוף הקשרי |
| SBOM | מלאי של רכיבי תוכנה | אינו מזהה ניצול פעיל |
| ניטור runtime | זיהוי התנהגותי | נראות מוגבלת לסביבת ההרצה |
אנו מציינים כי מרבית הגישות הללו פועלות בשכבות מבודדות של הצינור, ללא מנגנון מאוחד של קורלציה ותעדוף.
- מודל האיום ועיצוב פורמלי של הבעיה
3.1 מודל היריב
אנו מגדירים יריב $\mathcal{A}$ כישות הסתברותית בעלת יכולת חישובית המוגבלת בזמן פולינומי ביחס לגודל הארטיפקט $|A|$. היריב יכול לבצע את הפעולות הבאות:
- להחדיר תלויות שנפגעו למאגרים ציבוריים.
- לנצל חולשות ידועות עם exploit-ים הזמינים לציבור.
- להשיג אישורים שנחשפו במשתני סביבה או בלוגים.
- להריץ פקודות שרירותיות לאחר השגת הרצת קוד מרחוק.
אנו מניחים כי פרימיטיבים קריפטוגרפיים תקניים בטוחים ואינם ניתנים לשבירה על ידי $\mathcal{A}$.
3.2 מודל הצינור
אנו מייצגים צינור CI/CD כרצף מסודר:
$$ S = {s_1, s_2, …, s_n} $$
כאשר כל שלב הוא פונקציה:
$$ f_i : A_i \rightarrow A_{i+1} $$
כאשר $A_i$ מייצג את קבוצת הארטיפקטים לאחר ביצוע השלב $s_i$.
הגדרה (Vulnerability Promoted). פגיעות $v$ נחשבת מקודמת אם קיים שלב $s_k$ כך ש־$v \in A_k$ והארטיפקט המתאים נפרס לייצור.
3.3 מודל סיכון פורמלי
אנו מגדירים את הסיכון המשויך לפגיעות $v$ בזמן $t$ כך:
$$ R(v,t) = P_e(v,t) \cdot I(v) \cdot E(v,t) $$
כאשר:
- $P_e(v,t)$ מייצג את הסתברות הניצול המוערכת באמצעות EPSS.
- $I(v)$ מייצג השפעה טכנית מנורמלת הנגזרת מ‑CVSS.
- $E(v,t)$ מייצג גורם חשיפה הקשרי התלוי בסביבה.
תכונה (מונוטוניות).
אם $E(v,t)$ גדל בעוד $P_e(v,t)$ ו־$I(v)$ נותרים קבועים, אז $R(v,t)$ גדל באופן מונוטוני.
3.4 בעיית אופטימיזציה
המטרה התפעולית היא למזער את הסיכון המצטבר בייצור:
$$ \min \sum_{v \in V_{prod}} R(v,t) $$
בכפוף לאילוצים:
- $T_{build} \leq \tau$
- זמינות תפעולית ≥ $\sigma$
- מתודולוגיה מוצעת
4.1 ארכיטקטורה כללית
הארכיטקטורה המוצעת מורכבת מחמש שכבות המשולבות באמצעות אפיק אירועים.
- ניתוח סטטי של קוד (SAST)
- ניתוח תלויות ויצירת SBOM
- ולידציה של קונטיינרים ותשתית כקוד
- ניטור התנהגות בזמן הרצה
- מנוע סיכון ומדיניות אוטומטית
האירועים המופקים מכל שכבה מנורמלים באמצעות Elastic Common Schema כדי להקל על קורלציה.
4.2 אלגוריתם חישוב סיכון
Algorithm ComputeRisk(v, context, t):
1: pe ← EPSS(v,t)
2: if PublicExploit(v) then
3: pe ← min(1, pe + δ)
4: end if
5: i ← NormalizeCVSS(v)
6: e ← Exposure(context)
7: return pe i e
מורכבות האלגוריתם היא $O(1)$ לכל פגיעות, בהנחה של גישה קבועה לפידים חיצוניים.
משפט (נכונות החסימה).
אם מדיניות אבטחה חוסמת כל build שבו קיימת פגיעות $v$ כך ש־$R(v,t) > \theta$, אזי אף פגיעות בעלת סיכון גבוה מ־$\theta$ לא תקודם לייצור.
4.3 קורלציה רב־שלבית
כדי לזהות שרשראות תקיפה אנו משתמשים במודל הסתברותי המבוסס על שרשרת מרקוב:
$$ P(T_{k+1}=t_j \mid T_k=t_i) $$
כאשר $T_k$ מייצג טכניקת ATT&CK שנצפתה בשלב $k$.
התראה מורכבת נוצרת כאשר:
$$ \prod_{k=1}^{m} P(T_k) > \alpha $$
מנגנון זה מאפשר לקשר אירועים שמקורם במספר מקורות, כולל צינור CI/CD, לוגים של קונטיינרים וטלמטריית רשת.
- מימוש
המימוש הניסיוני בוצע בסביבה נייטיבית לענן עם הרכיבים הבאים:
- GitLab CI לתזמור צינורות
- Kubernetes 1.28 להרצת קונטיינרים
- SonarQube ו‑Semgrep לניתוח סטטי
- Trivy ו‑Grype לניתוח פגיעויות בקונטיינרים
- Syft להפקת SBOM בפורמט CycloneDX
- OWASP ZAP לבדיקות דינמיות
- Falco לזיהוי התנהגותי מבוסס eBPF
- Suricata לניטור תעבורת רשת
- Open Policy Agent למדיניות אבטחה
דוגמה למדיניות OPA
package cicd.security
deny[msg] {
some v
input.vulnerabilities[v].risk > 0.7
msg := sprintf("Build blocked due to elevated risk: %v", [input.vulnerabilities[v].risk])
}
- הערכה ניסויית
6.1 סביבה ניסויית
ההערכה בוצעה באשכול Kubernetes המורכב משתים־עשרה צמתי חישוב הומוגניים שהריצו ארבעים ושניים מיקרו־שירותים. תקופת התצפית הייתה שישה חודשים וכעשרים אלף builds נותחו.
6.2 קווי בסיס להשוואה
| תצורה | כלים | תעדוף מבוסס סיכון |
|---|---|---|
| Baseline A | SAST בלבד | לא |
| Baseline B | SAST + SCA | לא |
| הארכיטקטורה המוצעת | SAST + SCA + runtime + correlation | כן |
6.3 מדדים שנבחנו
| מדד | Baseline B | הארכיטקטורה המוצעת |
|---|---|---|
| MTTR ממוצע | 8.4 ימים | 3.1 ימים |
| תוצאות חיוביות־שגויות יחסיות | גבוה | בינוני |
| תקורה ממוצעת ל‑build | 3% | 9% |
הירידה שנצפתה בזמן הממוצע לתיקון הייתה מובהקת סטטיסטית לפי מבחן Mann‑Whitney ברמת מובהקות של 5%.
- מקרי בוחן
7.1 פינטק
בסביבת מוסד פיננסי, המערכת זיהתה אוטומטית תלות פגיעה המשויכת ל‑CVE‑2023‑38545 בכלי השירות curl. הסיכון המחושב חרג מהסף שהוגדר על ידי המדיניות, וכתוצאה מכך נחסם ה‑build באופן אוטומטי. התיקון יושם לפני קידום הארטיפקט לייצור.
אירועי הרצה חשודים שנקשרו לטכניקת ATT&CK T1059 העלו את חומרת ההתראה ואפשרו חקירה מוקדמת.
7.2 מגזר הבריאות
בארגון בית חולים עם יישומי רשומה רפואית המבוססים על קונטיינרים, הארכיטקטורה שימשה לניטור גישה לספריות המכילות נתונים קליניים רגישים. ניטור Falco זיהה גישה חריגה המקושרת לטכניקת ATT&CK T1005 (Data from Local System).
הניתוח חשף סקריפט ניהולי עם הרשאות מופרזות, שאפשר תיקון מונע עוד לפני כל ניצול חיצוני.
- דיון
התוצאות מצביעות על כך שתעדוף הקשרי מבוסס־סיכון מפחית באופן משמעותי את נפח ההתראות הלא־רלוונטיות ומשפר את הקצאת המשאבים לתיקון. על ידי שילוב נתונים המגיעים ממספר שכבות של הצינור, המערכת מאפשרת לזהות שרשראות תקיפה שלא היו נראות בכלים מבודדים.
עם זאת, יש לקחת בחשבון כמה מגבלות. דיוק המודל תלוי באיכותם של פידים חיצוניים של מודיעין איומים, כולל נתוני EPSS ומידע על exploits ציבוריים. בנוסף, שרשראות תקיפה לא שלמות עלולות לגרום לתוצאות שליליות־שגויות כאשר אירועים ביניים אינם נצפים.
למרות מגבלות אלה, התוצאות האמפיריות מדגימות כי שילוב בין מודל פורמלי לאוטומציה תפעולית הוא ישים בסביבות ארגוניות בקנה מידה גדול.
- מסקנה
הצגנו ארכיטקטורת DevSecOps מונחית־סיכון המשלבת ניתוח סטטי, ניתוח תלויות, ניטור בזמן הרצה וקורלציה רב־שלבית המבוססת על מסגרת MITRE ATT&CK. עיצבנו מתמטית את חישוב הסיכון והדגמנו תכונות נכונות עבור מנגנון החסימה האוטומטי של builds.
ההערכה האמפירית שבוצעה בסביבה ארגונית הראתה ירידה משמעותית בזמן הממוצע לתיקון ושיפור באיכות תעדוף הפגיעויות. הממצאים מצביעים על כך שגישות מונחות־סיכון עשויות לשפר באופן משמעותי את היעילות של תוכניות DevSecOps בסביבות נייטיביות לענן.
כיווני מחקר עתידיים כוללים אימות פורמלי של מדיניות אבטחה, שילוב עם מנגנוני attestation קריפטוגרפיים של ארטיפקטים ושיפור של מודלים הסתברותיים לחיזוי ניצול של פגיעויות.
References
ALLEN, J.; BARNUM, S. Common Attack Pattern Enumeration and Classification (CAPEC). MITRE, 2023. Available at: https://capec.mitre.org/. Accessed on: 10 mar. 2024.
BEHL, A.; BEHL, K. Cyberwar, Cyberterror, Cybercrime and Cyberactivism. Cham: Springer, 2017. Available at: https://link.springer.com/book/10.1007/978-3-319-47647-6. Accessed on: 10 mar. 2024.
CISA. SolarWinds Cyber Incident Advisory. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a. Accessed on: 12 mar. 2024.
ENISA. Threat Landscape for Supply Chain Attacks. 2022. Available at: https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks. Accessed on: 12 mar. 2024.
FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss/. Accessed on: 10 mar. 2024.
GOOGLE. Supply-chain Levels for Software Artifacts (SLSA). 2023. Available at: https://slsa.dev/. Accessed on: 10 mar. 2024.
KENT, K.; SOUPPAYA, M. Guide to Computer Security Log Management. NIST, 2022. Available at: https://csrc.nist.gov/publications. Accessed on: 10 mar. 2024.
MELL, P.; SCARFONE, K.; ROMANOSKY, S. A Complete Guide to the Common Vulnerability Scoring System (CVSS). FIRST, 2007. Available at: https://www.first.org/cvss/. Accessed on: 10 mar. 2024.
MITRE. ATT&CK Framework. 2023. Available at: https://attack.mitre.org/. Accessed on: 10 mar. 2024.
NIST. Secure Software Development Framework (SP 800‑218). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 mar. 2024.
OWASP. Software Bill of Materials (SBOM) Guide. 2023. Available at: https://owasp.org/www-project-sbom/. Accessed on: 10 mar. 2024.
OWASP. Top 10:2021 Web Application Security Risks. 2021. Available at: https://owasp.org/www-project-top-ten/. Accessed on: 10 mar. 2024.
PASHCHENKO, I. et al. Software supply chain attacks: taxonomy and analysis. IEEE Security & Privacy, 2023. Available at: https://doi.org/10.1109/MSEC.2023.3241234. Accessed on: 10 mar. 2024.
RAHMAN, M. M.; WILLIAMS, L. Software Security in DevOps. Proceedings of the ACM CCS Workshop, 2016. Available at: https://doi.org/10.1145/2975963.2975997. Accessed on: 10 mar. 2024.
SHOSTACK, A. Threat Modeling: Designing for Security. Indianapolis: Wiley, 2014. Available at: https://www.wiley.com/en-us/Threat+Modeling. Accessed on: 10 mar. 2024.
SIGSTORE. Cosign Container Signing. 2023. Available at: https://sigstore.dev/. Accessed on: 10 mar. 2024.
SYFT. SBOM Generation Tool. Anchore, 2023. Available at: https://github.com/anchore/syft. Accessed on: 10 mar. 2024.
TRIVY. Comprehensive Vulnerability Scanner. Aqua Security, 2023. Available at: https://github.com/aquasecurity/trivy. Accessed on: 10 mar. 2024.
FALCO. Cloud Native Runtime Security. 2023. Available at: https://falco.org/. Accessed on: 10 mar. 2024.
SURICATA. Network Threat Detection Engine. OISF, 2023. Available at: https://suricata.io/. Accessed on: 10 mar. 2024.
OPEN POLICY AGENT. Policy-based control for cloud native environments. 2023. Available at: https://www.openpolicyagent.org/. Accessed on: 10 mar. 2024.
KUBERNETES. Kubernetes Documentation. 2023. Available at: https://kubernetes.io/docs/. Accessed on: 10 mar. 2024.
GITLAB. GitLab CI/CD Documentation. 2023. Available at: https://docs.gitlab.com/ee/ci/. Accessed on: 10 mar. 2024.
SONARQUBE. Static Code Analysis Platform. 2023. Available at: https://www.sonarsource.com/products/sonarqube/. Accessed on: 10 mar. 2024.
SEMGREP. Static Analysis Tool. 2023. Available at: https://semgrep.dev/. Accessed on: 10 mar. 2024.
VERIZON. 2023 Data Breach Investigations Report. 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 mar. 2024.