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

Paper Files / DevSecOps

כותרת: ארכיטקטורת DevSecOps מונחית-סיכון עם קורלציה רב-שלבית מבוססת MITRE ATT&CK וראיות אמפיריות ב-Pipelines CI/CD מקוריים בענן

DevSecOpsHE

כותרת: ארכיטקטורת DevSecOps מונחית-סיכון עם קורלציה רב-שלבית מבוססת MITRE ATT&CK וראיות אמפיריות ב-Pipelines CI/CD מקוריים בענן תקציר: האימוץ הגובר של ארכיטקטורות מקוריות בענן ו-pipelines CI/CD אוטומטיים מאוד הרחיב באופן משמעותי את משטח התקיפה המשויך למחזור חיי פיתוח התוכנה. אירועים המתועדים היטב, כולל פגיעויות בשרשרת האספקה וניצול של חולשות נפוצות, מדגימים כי בקרות אבטחה מבודדות אינן מספיקות כאשר אינן משולבות במנגנוני תעדוף הקשרי וקורלציה התנהגותית. בעבודה זו אנו מציגים ארכיטקטורת DevSecOps מונחית-סיכון המשלבת ניתוח סטטי של קוד, ניתוח תלויות, יצירה ואימות של SBOM, ולידציה של תשתית כקוד, זיהוי התנהגותי בזמן ריצה ומנוע פורמלי לחישוב סיכון הקשרי. הארכיטקטורה משתמשת במסגרת MITRE ATT&CK כאונטולוגיה לקורלציה רב-שלבית של אירועים לאורך כל ה-pipeline של הפיתוח וההרצה. ביצענו ניתוח ביקורתי של המגבלות של גישות המבוססות באופן בלעדי על CVSS, והראינו כי היעדר הקשר תפעולי מוביל לעיתים קרובות לתיעדוף שגוי של חולשות ולעייפות התרעות. אנו מציעים ניסוח מתמטי של הסיכון כפונקציה מורכבת של ההסתברות לניצול, המוערכת באמצעות EPSS, של השפעה טכנית מנורמלת ושל גורמי חשיפה תפעוליים דינמיים. אנו מציגים הגדרות פורמליות של יריב, תכונות נכונות של מנגנון חסימת ה-build ומודל הסתברותי לקורלציה בין טכניקות יריביות. הארכיטקטורה יושמה בסביבת Kubernetes תוך שימוש ב-GitLab CI, SonarQube, Semgrep, Trivy, Syft, Grype, OWASP ZAP, Falco, Suricata ו-Open Policy Agent. הערכנו את המערכת אמפירית לאורך שישה חודשים על פני סט של מיקרו-שירותים ארגוניים הפרוסים בשני תחומי ארגון נפרדים. התוצאות מצביעות על ירידה עקבית בזמן הממוצע לתיקון, הפחתה יחסית של false positives והשפעה תפעולית מוגבלת על זמן ה-build הכולל. התוצאות האמפיריות מצביעות על כך ששילוב בין מידול סיכון פורמלי, מודיעין איומים ואוטומציה של מדיניות יכול לשפר באופן משמעותי את היעילות התפעולית של תוכניות DevSecOps בסביבות מקוריות בענן.

  1. מבוא

ההתבססות של ארכיטקטורות מקוריות-ענן, מיקרו־שירותים ותשתית כקוד (Infrastructure as Code – IaC) הגדירה מחדש באופן עמוק את מחזור החיים של פיתוח תוכנה. האימוץ של צינורות CI/CD מאפשר לשלב, לבדוק ולפרוס שינויים בקוד לסביבת הייצור במרווחים הולכים וקטנים. אף על פי שפרדיגמה זו מפחיתה את זמן אספקת הפונקציונליות, היא גם מרחיבה את משטח התקיפה, שכן ארטיפקטים עוברים דרך שלבים אוטומטיים מרובים ותלויות חיצוניות משולבות באופן דינמי במהלך תהליך הבנייה.

דוחות אמפיריים מצביעים על כך שניצול פגיעויות מוכרות ממשיך להיות וקטור ראשוני חוזר באירועי אבטחה. ה-Data Breach Investigations Report לשנת 2023 מתעד כי פגיעויות מוכרות ושגיאות תצורה נותרות בין הגורמים הדומיננטיים בפשרות ראשוניות של מערכות ארגוניות (VERIZON, 2023). במקביל, הסוכנות האירופית לאבטחת סייבר מדגישה את העלייה המשמעותית במתקפות המכוונות לשרשרת האספקה של תוכנה, במיוחד אלו המנצלות צינורות בנייה או תלויות חיצוניות (ENISA, 2022).

אירועים שנחקרו בהרחבה ממחישים את חומרת המצב. הפגיעות Log4Shell (CVE‑2021‑44228) הדגימה כיצד ספריות המופצות בהיקף רחב יכולות להכניס סיכון מערכתי כאשר נעשה בהן שימוש באלפי יישומים. באופן דומה, אירוע SolarWinds הראה שתהליכי בנייה שנפגעו יכולים להוביל להפצת תוכנה זדונית חתומה ואמינה (CISA, 2021). אירועים אלה חושפים כי הבעיה המרכזית לעיתים קרובות אינה טמונה רק בקיומן של פגיעויות, אלא בהיעדר נראות משולבת בין פיתוח, בנייה והרצה.

טכניקות שונות שבהן משתמשים יריבים בהקשר זה מתועדות במסגרת MITRE ATT&CK, לרבות T1195 (Supply Chain Compromise), T1552 (Unsecured Credentials), T1059 (Command and Scripting Interpreter) ו-T1610 (Deploy Container) (MITRE, 2023). עם זאת, כלי אבטחה פועלים לעיתים קרובות באופן מבודד: פתרונות SAST מזהים דפוסים סטטיים של פגיעוּת, כלי SCA מזהים תלויות פגיעות ומערכות ניטור runtime מזהות התנהגות חשודה. היעדר קורלציה סמנטית בין תחומים אלה מפחית את היעילות התפעולית ותורם לנפחים גבוהים של התראות.

לאור תרחיש זה, אנו בוחנים שלוש שאלות מחקר מרכזיות:

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

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

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) שואפות להגביר שקיפות ועקיבות בתהליכי בנייה (OWASP, 2023; GOOGLE, 2023).

טבלה 1 מסכמת כמה גישות הנפוצות לצמצום סיכונים בצינורות CI/CD.

גישה מטרה עיקרית מגבלות
SAST זיהוי פגיעויות בקוד מקור שיעור גבוה של תוצאות חיוביות שגויות
SCA זיהוי תלויות פגיעות היעדר תעדוף קונטקסטואלי
SBOM מלאי של רכיבי תוכנה אינו מזהה ניצול פעיל
ניטור runtime זיהוי התנהגותי נראות מוגבלת לסביבת ההרצה

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

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

3.1 מודל היריב

אנו מגדירים יריב $\mathcal{A}$ כישות הסתברותית בעלת יכולת חישובית המוגבלת על ידי זמן פולינומי בגודל הארטיפקט $|A|$. היריב יכול לבצע את הפעולות הבאות:

  1. להחדיר תלויות נפגעות למאגרים ציבוריים.
  2. לנצל פגיעויות מוכרות עם exploits הזמינים לציבור.
  3. להשיג אישורים שנחשפו במשתני סביבה או בלוגים.
  4. להריץ פקודות שרירותיות לאחר השגת הרצה מרחוק.

אנו מניחים שפרימיטיבות קריפטוגרפיות סטנדרטיות הן בטוחות ואינן ניתנות לשבירה על ידי $\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$.

הגדרה (פגיעוּת שהועברה קדימה). פגיעוּת $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) $$

כאשר:

תכונה (מונוטוניות).
אם $E(v,t)$ גדל בעוד $P_e(v,t)$ ו-$I(v)$ נשארים קבועים, אז $R(v,t)$ גדל מונוטונית.

3.4 בעיית אופטימיזציה

המטרה התפעולית היא למזער את הסיכון המצטבר בייצור:

$$ \min \sum_{v \in V_{prod}} R(v,t) $$

בכפוף לאילוצים:

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

4.1 ארכיטקטורה כללית

הארכיטקטורה המוצעת מורכבת מחמש שכבות המשולבות באמצעות אפיק אירועים.

  1. ניתוח סטטי של קוד (SAST)
  2. ניתוח תלויות ויצירת SBOM
  3. ולידציה של קונטיינרים ותשתית כקוד
  4. ניטור התנהגות בזמן הרצה
  5. מנוע סיכון ומדיניות אוטומטית

האירועים הנוצרים על ידי כל שכבה מנורמלים באמצעות 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)$ לכל פגיעוּת, בהנחה של גישה קבועה לעדכוני מידע חיצוניים.

משפט (נכונות החסימה).
אם מדיניות אבטחה חוסמת כל בנייה שבה קיימת פגיעוּת $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, לוגים של קונטיינרים וטלמטריית רשת.

  1. מימוש

המימוש הניסיוני בוצע בסביבה מקורית-ענן עם הרכיבים הבאים:

דוגמה למדיניות 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])
}
  1. הערכה ניסיונית

6.1 סביבה ניסיונית

ההערכה בוצעה באשכול Kubernetes המורכב משנים-עשר צמתי חישוב הומוגניים שהריצו ארבעים ושניים מיקרו־שירותים. תקופת התצפית הייתה שישה חודשים וכעשרים אלף בניות נותחו.

6.2 Baselines להשוואה

תצורה כלים תעדוף מבוסס סיכון
Baseline A SAST בלבד לא
Baseline B SAST + SCA לא
הארכיטקטורה המוצעת SAST + SCA + runtime + קורלציה כן

6.3 מדדים שהוערכו

מדד Baseline B הארכיטקטורה המוצעת
MTTR ממוצע 8.4 ימים 3.1 ימים
תוצאות חיוביות שגויות יחסיות גבוה בינוני
תקורת בנייה ממוצעת 3% 9%

הירידה שנצפתה בזמן הממוצע לתיקון הייתה מובהקת סטטיסטית לפי מבחן Mann‑Whitney ברמת מובהקות של 5%.

  1. מקרי בוחן

7.1 פינטק

בסביבת מוסד פיננסי, המערכת זיהתה אוטומטית תלוּת פגיעה הקשורה ל-CVE‑2023‑38545 בכלי curl. הסיכון המחושב חרג מהסף שהוגדר במדיניות, וכתוצאה מכך הבנייה נחסמה אוטומטית. התיקון יושם לפני קידום הארטיפקט לייצור.

אירועי הרצה חשודים שקושרו לטכניקת ATT&CK T1059 העלו את החומרה של ההתראה ואפשרו חקירה מוקדמת.

7.2 מגזר הבריאות

בארגון רפואי עם יישומי רשומות רפואיות מבוססי קונטיינרים, הארכיטקטורה שימשה לניטור גישה לספריות המכילות נתונים קליניים רגישים. ניטור Falco זיהה גישה חריגה המקושרת לטכניקת ATT&CK T1005 (Data from Local System).

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

  1. דיון

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

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

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

  1. מסקנה

הצגנו ארכיטקטורת DevSecOps מונחית-סיכון המשלבת ניתוח סטטי, ניתוח תלויות, ניטור בזמן הרצה וקורלציה רב־שלבית המבוססת על מסגרת MITRE ATT&CK. ניסחנו מתמטית את חישוב הסיכון והדגמנו תכונות נכונות עבור מנגנון החסימה האוטומטי של בניות.

ההערכה האמפירית שבוצעה בסביבה ארגונית הראתה ירידה משמעותית בזמן הממוצע לתיקון ושיפור באיכות תעדוף הפגיעויות. התוצאות מצביעות על כך שגישות מונחות-סיכון יכולות להגביר באופן משמעותי את יעילותן של תוכניות DevSecOps בסביבות מקוריות-ענן.

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

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.