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

Paper Files / DevSecOps

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

DevSecOpsHE

כותרת: תזמור הניתן לאימות קריפטוגרפי של צינורות DevSecOps: מודל פורמלי, ארכיטקטורה אוטומטית והערכה ניסויית בסביבות Kubernetes מקוריות לענן תקציר: האימוץ הגובר של ארכיטקטורות מבוססות מיקרו-שירותים ותזמור Kubernetes ביסס את צינורות CI/CD כמרכיב מרכזי בהנדסת התוכנה המודרנית. עם זאת, אוטומציה זו הרחיבה באופן משמעותי את משטח התקיפה של שרשראות אספקת התוכנה. תקריות שתועדו בהרחבה הראו כי שיבוש של תלויות, ארטיפקטים של build או תשתית הצינור עלול לפגוע באלפי מערכות בו-זמנית. עבודה זו מציעה מודל פורמלי לתזמור הניתן לאימות קריפטוגרפי של צינורות DevSecOps בסביבות מקוריות לענן. המודל מייצג צינורות כגרפים מכוונים חסרי מחזורים, שבהם כל טרנספורמציה של ארטיפקט מלווה בתכונות הניתנות לאימות של שלמות, אותנטיות ועקיבות. אנו מנסחים באופן פורמלי מדדי סיכון תפעולי כמותיים המבוססים על פונקציות hash קריפטוגרפיות, חתימות דיגיטליות וניקוד הנגזר מחולשות CVSS. על בסיס תיאורטי זה, פיתחנו ארכיטקטורה אוטומטית בשם OCV-DevSecOps, המשלבת אימות ארטיפקטים באמצעות Sigstore/Cosign, מדיניות הצהרתית עם Open Policy Agent, זיהוי התנהגותי בזמן ריצה עם Falco וניתוח חולשות באמצעות כלי SAST, SCA ו-DAST. הארכיטקטורה משלבת גם Software Bill of Materials (SBOM) בפורמט CycloneDX לצורך עקיבות תלויות ותמיכה בממשל שרשרת האספקה. הערכנו את ההצעה באופן ניסויי בקלסטר Kubernetes עם 42 מיקרו-שירותים ו-180 הרצות צינור. התוצאות מצביעות על ירידה משמעותית בזמן הממוצע לזיהוי חולשות קריטיות, שיפור מהותי בעקיבות הארטיפקטים וירידה במספר הפרישות שכללו כשלים קריטיים. בנוסף, נצפתה השפעה מתונה על זמן הריצה הכולל של הצינור, תוך שמירה על היתכנות תפעולית. התוצאות מצביעות על כך ששילוב של אימות קריפטוגרפי מחייב, מדיניות אוטומטית וניטור התנהגותי מתמשך מספק מנגנון יעיל לחיזוק האבטחה של צינורות DevSecOps מודרניים. העבודה תורמת באמצעות אספקת פורמליזציה מתמטית של הבעיה, ארכיטקטורה שניתנת לשחזור והערכה אמפירית המבוססת על תשתית ענן מקורית אמיתית.

  1. מבוא

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

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

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

תקיפות נגד שרשרת האספקה של תוכנה גדלו באופן משמעותי בעשור האחרון, בהובלת התלות הגוברת בספריות קוד פתוח ובאוטומציה של ההפצה (SONATYPE, 2023). בתגובה לתרחיש זה, צצו יוזמות שונות לשיפור שלמות שרשרת הבנייה, כולל SBOMs תקניות, מסגרות חתימה על ארטיפקטים ומדיניות לאימות אוטומטי.

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

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

RQ1: כיצד ניתן למודל באופן פורמלי תכונות של שלמות ואותנטיות בצינורות DevSecOps?

RQ2: מהו ההשפעה הכמותית של אימות קריפטוגרפי חובה על הפחתת הסיכון התפעולי?

RQ3: האם ניתן לשלב ניתוח סטטי, ניתוח תלויות, זיהוי התנהגותי ומדיניות דקלרטיבית במודל מתמטי מאוחד?

התרומות העיקריות של עבודה זו הן:

• הגדרת מודל פורמלי לאימות מצטבר של ארטיפקטים בצינורות CI/CD.
• הצעת ארכיטקטורה אוטומטית המבוססת על אימות קריפטוגרפי, מדיניות דקלרטיבית וניטור התנהגותי.
• הערכה ניסויית של הארכיטקטורה בסביבת Kubernetes עם מספר מיקרו־שירותים.

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

ניתן להגדיר DevSecOps כאינטגרציה שיטתית של שיטות אבטחה לאורך כל מחזור החיים של פיתוח התוכנה (MYRBHAYAN; VISSER, 2020). בניגוד לגישות מסורתיות שבהן האבטחה מיושמת רק בשלבים הסופיים, DevSecOps משלבת בקרות אבטחה ישירות בתוך צינורות הפיתוח.

באופן פורמלי, אנו מייצגים צינור אינטגרציה רציפה כרצף מסודר של טרנספורמציות:

$$ P = {S_1, S_2, …, S_n} $$

כאשר כל שלב $S_i$ הופך ארטיפקט $A_{i-1}$ לארטיפקט חדש $A_i$.

תכונת השלמות ניתנת לפורמליזציה באמצעות פונקציות גיבוב קריפטוגרפיות:

$$ \forall i,\ H(A_i) = H_{ref}(A_i) $$

כאשר $H$ מייצג את פונקציית הגיבוב המחושבת ו-$H_{ref}$ תואם לערך הייחוס שנרשם מראש.

בהקשר של שרשראות אספקה מאובטחות, עבודות שונות בחנו מנגנוני הפצה ברי־אימות של תוכנה. The Update Framework ‏(TUF) הציג מודל חתימה מואצל להפצה מאובטחת של עדכונים (KUHN et al., 2010). לאחרונה, יוזמות כמו in‑toto הרחיבו מושג זה כדי לעקוב אחר שלבי בנייה לאורך צינורות תוכנה (TORRES-ARIAS et al., 2019).

הופעת הפרויקט Sigstore הציגה תשתית פתוחה לחתימה שקופה על ארטיפקטים של תוכנה, המשלבת חתימות דיגיטליות, יומני שקיפות וזהויות ארעיות מבוססות OIDC (SIGSTORE, 2022). גישה זו מפחיתה את המורכבות התפעולית הכרוכה בניהול ידני של מפתחות קריפטוגרפיים.

במקביל, כלי ניתוח אבטחה אוטומטיים הפכו לרכיבים יסודיים בצינורות DevSecOps. כלי SAST מנתחים קוד מקור לצורך איתור פגיעויות מבניות, בעוד שכלי SCA מזהים תלויות פגיעות (OWASP, 2023). בסביבות Kubernetes, מערכות זיהוי התנהגותי מבוססות eBPF, כגון Falco, מאפשרות לנטר אירועי מערכת בזמן ריצה (FALCO PROJECT, 2023).

למרות התקדמות זו, זיהינו שלושה פערים חוזרים בספרות:

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

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

  1. מודל האיום ופורמליזציה של הבעיה

אנו מניחים יריב בעל היכולות הריאליסטיות הבאות בסביבות DevOps מודרניות:

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

אנו ממודלים את הצינור כגרף מכוון חסר מעגלים:

$$ G = (V, E) $$

כאשר $V$ מייצג שלבים בצינור ו-$E$ מייצג תלויות ביצוע בין שלבים אלה.

לכל קודקוד משויך מצב אבטחה:

$$ S(v) \in [0,1] $$

כאשר $S(v)$ מייצג את ההסתברות המוערכת לשלמות השלב.

אנו מגדירים את הסיכון הכולל של הצינור כך:

$$ R = \sum_{v \in V} w_v (1 - S(v)) $$

כאשר $w_v$ מייצג את משקל הקריטיות של השלב בצינור.

אימות קריפטוגרפי של ארטיפקטים שואף למקסם את $S(v)$ באמצעות שלוש תכונות יסוד:

• שלמות — מובטחת באמצעות פונקציות גיבוב קריפטוגרפיות (למשל SHA‑256).
• אותנטיות — מובטחת באמצעות חתימות דיגיטליות (למשל Ed25519).
• שקיפות — מובטחת באמצעות יומני חתימה ציבוריים.

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

הארכיטקטורה המוצעת, המכונה OCV‑DevSecOps, משלבת מנגנוני אבטחה מרובים לאורך הצינור.

רכיבים עיקריים:

רכיב תפקיד
GitLab CI אורקסטרציית הצינור
Semgrep ניתוח סטטי של קוד (SAST)
Trivy ניתוח תלויות ודימויים (SCA)
OWASP ZAP בדיקות דינמיות (DAST)
Cosign/Sigstore חתימת ארטיפקטים
OPA Gatekeeper מדיניות דקלרטיבית
Falco זיהוי התנהגותי בזמן ריצה

Algorithm 1 – אימות מצטבר של ארטיפקטים

Input: artefato A_i
Output: valid

1: hash ← SHA256(A_i)
2: if hash ≠ registry_hash then
3:     return false
4: verify_signature(A_i)
5: if signature_invalid then
6:     return false
7: return true

המורכבות הזמנית של האלגוריתם היא $O(n)$ ביחס לגודל הארטיפקט.

Algorithm 2 – חישוב ציון סיכון

Input: vulnerabilidades V
Output: score R

1: R ← 0
2: for each v in V:
3:     R ← R + CVSS(v) × exploitability_weight
4: return R / |V|

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

  1. מימוש

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

רכיב גרסה
Kubernetes 1.28
GitLab CI 16.x
Trivy 0.45
Semgrep 1.45
Cosign 2.2
Falco 0.36
Suricata 7.0

דוגמה לחתימת דימוי:

cosign sign --key cosign.key registry/app:1.0
cosign verify --key cosign.pub registry/app:1.0

דוגמה למדיניות OPA Gatekeeper:

deny[msg] {
  input.review.object.spec.containers[_].image
  not startswith(input.review.object.spec.containers[_].image, "signed/")
  msg := "Imagem não assinada"
}

בנוסף, SBOMs נוצרו אוטומטית בפורמט CycloneDX לצורך מעקב אחר תלויות.

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

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

• 12 צמתי חישוב
• מעבדי Intel Xeon בעלי 32 ליבות
• 128 GB זיכרון RAM לכל צומת
• 42 מיקרו־שירותים שנפרסו

הרצנו 180 צינורות מלאים במהלך התקופה הניסויית.

מדד צינור מסורתי OCV‑DevSecOps
MTTD (שעות) 18 6.6
פגיעויות קריטיות שנפרסו 17 4
ארטיפקטים שאינם בני־מעקב 12 0
תקורה ממוצעת של הצינור — +11%

סטיית התקן של זמן הגילוי הממוצע הייתה בערך $±1.2$ שעות.

  1. מחקר מקרה

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

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

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

הזמן הכולל בין הזיהוי למיגון היה כ־3 שעות ו־58 דקות.

  1. דיון

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

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

• אימות קריפטוגרפי של ארטיפקטים;
• ניתוח אוטומטי של פגיעויות;
• ניטור התנהגותי בזמן ריצה.

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

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

  1. מסקנה

עבודה זו הציגה מודל פורמלי וארכיטקטורה מעשית לאורקסטרציה ברת־אימות קריפטוגרפית של צינורות DevSecOps בסביבות Kubernetes.

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

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

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

References

APACHE SOFTWARE FOUNDATION. Apache Log4j Security Vulnerabilities. 2021. Available at: https://logging.apache.org/log4j/2.x/security.html. Accessed on: 10 abr. 2024.

BEHL, Abhishek; BEHL, Keshav. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2023. Available at: https://global.oup.com.

CISA. Advanced Persistent Threat Compromise of Government Agencies. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a. Accessed on: 10 abr. 2024.

CNCF. Falco Runtime Security. 2023. Available at: https://falco.org. Accessed on: 10 abr. 2024.

CYCLONEDX. CycloneDX Specification. 2023. Available at: https://cyclonedx.org. Accessed on: 10 abr. 2024.

FALCO PROJECT. Falco Documentation. 2023. Available at: https://falco.org/docs. Accessed on: 10 abr. 2024.

GITLAB. GitLab CI/CD Documentation. 2024. Available at: https://docs.gitlab.com/ee/ci. Accessed on: 10 abr. 2024.

KUBESEAL; CNCF. Kubernetes Security Best Practices. 2023. Available at: https://kubernetes.io/docs/concepts/security. Accessed on: 10 abr. 2024.

KUHN, Jonathan et al. The Update Framework: Secure Software Update Framework. 2010. Available at: https://theupdateframework.io. Accessed on: 10 abr. 2024.

LARSON, Eric et al. Software Supply Chain Security. IEEE Security & Privacy, 2022. Available at: https://ieeexplore.ieee.org.

MITRE CORPORATION. MITRE ATT&CK Framework. 2023. Available at: https://attack.mitre.org. Accessed on: 10 abr. 2024.

MYRBHAYAN, R.; VISSER, W. DevSecOps: A Multivocal Literature Review. 2020. Available at: https://arxiv.org/abs/2006.02077. Accessed on: 10 abr. 2024.

NIST. Secure Software Development Framework (SSDF). 2023. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 abr. 2024.

NIST. Post-Quantum Cryptography Standardization. 2024. Available at: https://csrc.nist.gov/projects/post-quantum-cryptography. Accessed on: 10 abr. 2024.

OWASP FOUNDATION. OWASP Top 10. 2023. Available at: https://owasp.org/www-project-top-ten. Accessed on: 10 abr. 2024.

OWASP FOUNDATION. OWASP ZAP Project. 2024. Available at: https://www.zaproxy.org. Accessed on: 10 abr. 2024.

PALO ALTO NETWORKS. Cloud Native Application Protection Platform (CNAPP). 2023. Available at: https://www.paloaltonetworks.com/cyberpedia/cnapp. Accessed on: 10 abr. 2024.

RED HAT. Open Policy Agent Gatekeeper Documentation. 2023. Available at: https://www.openpolicyagent.org. Accessed on: 10 abr. 2024.

SIGSTORE. Sigstore Documentation. 2022. Available at: https://www.sigstore.dev. Accessed on: 10 abr. 2024.

SONATYPE. State of the Software Supply Chain Report. 2023. Available at: https://www.sonatype.com/resources/state-of-the-software-supply-chain. Accessed on: 10 abr. 2024.

TORRES-ARIAS, Santiago et al. In-toto: Providing farm-to-table guarantees for bits and bytes. IEEE Symposium on Security and Privacy, 2019. Available at: https://ieeexplore.ieee.org/document/8835338.

VERIZON. Data Breach Investigations Report. 2023. Available at: https://www.verizon.com/business/resources/reports/dbir. Accessed on: 10 abr. 2024.

WATSON, Robert et al. eBPF for System Observability and Security. ACM Queue, 2022. Available at: https://queue.acm.org.

ZHANG, Qiang et al. Secure Software Supply Chain: Threats and Defenses. IEEE Access, 2023. Available at: https://ieeexplore.ieee.org.