Paper Files / AI Security
כותרת: ארכיטקטורת הגנה משולבת למערכות מבוססות בינה מלאכותית: מידול פורמלי של איומים, גילוי התקפות אדברסריאליות וניטור תפעולי בסביבות ייצור
כותרת: ארכיטקטורת הגנה משולבת למערכות מבוססות בינה מלאכותית: מידול פורמלי של איומים, גילוי התקפות אדברסריאליות וניטור תפעולי בסביבות ייצור תקציר: האימוץ של מערכות מבוססות למידת מכונה בסביבות ארגוניות הפך מודלים של בינה מלאכותית לרכיבים קריטיים בקבלת החלטות תפעוליות. מערכות אלו החלו לפעול בזיהוי הונאה, סיווג תוכנות זדוניות, מיון רפואי מסייע-תמונה, מערכות המלצה וניתוח התנהגותי בפלטפורמות דיגיטליות. עם זאת, בניגוד לתוכנות מסורתיות, מודלי למידה הם פונקציות פרמטריות המאומנות מנתונים, ובכך נחשפים משטחי תקיפה נוספים הקשורים למניפולציה של קלטים, לזיהום תהליך האימון ולניצול ממשקי הסקה. הספרות העדכנית מתעדת מספר מחלקות של התקפות נגד מערכות למידת מכונה, כולל דוגמאות אדברסריאליות, הרעלת נתונים, חילוץ מודל והסקת חברות. במקביל, שילובן של מערכות אלו בשרשראות DevOps ובתשתיות מבוססות קונטיינרים מייצר סיכונים נוספים הקשורים לשרשרת האספקה של תוכנה ומודלים. עבודה זו מציעה ארכיטקטורת הגנה משולבת למערכות בינה מלאכותית המוטמעות בייצור, המשלבת מידול פורמלי של איומים, מנגנונים סטטיסטיים לגילוי אנומליות, אימות קריפטוגרפי של שלמות וניטור תפעולי מתמשך. אנו מנסחים פורמלית את מושג הסיכון האדברסרי המצטבר כפונקציה של הסתברויות מותנות הקשורות למחלקות שונות של התקפות תחת מודל יריב פרמטרי. לאחר מכן, אנו מציגים גלאי היברידי המבוסס על מרחק מהלנוביס ועל האלגוריתם Isolation Forest, המיושם על ייצוגים לטנטיים של המודל. בנוסף, אנו מציעים מנגנון אימות שלמות המשלב hashing קריפטוגרפי, חתימה דיגיטלית ובדיקות התנהגותיות המבוססות על סטיית התפלגות הפלט. הארכיטקטורה משולבת ב-pipeline תפעולי המבוסס על Kubernetes, עם טלמטריה המתואמת לטכניקות המתוארות במסגרות כגון MITRE ATT&CK ו-MITRE ATLAS. הערכות ניסיוניות בתרחישים מבוקרים מצביעות על עלייה עקבית בחוסן האמפירי נגד התקפות התחמקות ושיפור בגילוי שינויים בלתי מורשים באובייקטי מודל. הניתוח גם מדגים השפעות מתונות על השהיה כאשר מנגנוני ההגנה ממדדים כראוי. התוצאות מצביעות על כך שגישות המשלבות בקרות קריפטוגרפיות, ניתוח סטטיסטי וניטור תפעולי מציעות דרך ישימה מבחינה מעשית להגברת האבטחה של מערכות בינה מלאכותית המוטמעות בייצור.
- מבוא
העשור האחרון היה עד לתמורה מבנית בארכיטקטורת מערכות ארגוניות: מודלים של למידת מכונה חדלו להיות חפצים ניסיוניים והפכו לחלק משרשראות החלטה קריטיות. מסווגים מונחים־מונחים פועלים בזיהוי הונאה פיננסית, מנועי המלצה, סיווג נוזקות, סינון ספאם, תעדוף פניות אבטחה וניתוח התנהגותי של משתמשים. מערכות למידה עמוקה מיושמות גם בהרחבה באבחון מסייע־תמונה, בבקרה תעשייתית אוטומטית ובבקרת איכות. שכיחות זו הפכה מודלים של בינה מלאכותית לנכסים אסטרטגיים בעלי ערך גבוה, ובמקביל ליעדים בעלי עניין יריבתי.
בשונה מתוכנות מסורתיות, שהתנהגותן נקבעת ברובה על־ידי לוגיקה מתוכנתת במפורש, מודלים של למידת מכונה משלבים מבנים פרמטריים הנלמדים מנתונים. מאפיין זה יוצר משטח תקיפה כפול: (i) הקוד והתשתית המממשים את צינור ההכשרה וההסקה, לרבות תלויות, ספריות ו־APIs; ו-(ii) המודל עצמו כפונקציה מתמטית הרגישה להפרעות מובְנות בקלט או במערך ההכשרה. עבודות יסוד הראו כי רשתות עצביות עמוקות פגיעות להפרעות קטנות בנורמה $L_p$ המסוגלות לשנות החלטות סיווג (GOODFELLOW; SHLENS; SZEGEDY, 2015).
התקפות הרעלה הראו כי מניפולציה אסטרטגית של דוגמאות אימון יכולה לגרום לפגיעה משמעותית בביצועים (BIGGIO; NELSON; LASKOV, 2012). התקפות חילוץ הדגימו כי ניתן לנצל APIs ציבוריים לשחזור קירובים פונקציונליים של מודלים קנייניים באמצעות שאילתות אדפטיביות (TRAMÈR et al., 2016). נוסף על כך, התקפות היסק על חברות־מערך (membership inference) הוכיחו סיכונים משמעותיים לסודיות נתוני ההכשרה (SHOKRI et al., 2017).
המערכת האקולוגית התפעולית מוסיפה וקטורי תקיפה נוספים. מאגרי מודלים ציבוריים עלולים להכיל ארטיפקטים סדרתיים זדוניים; צינורות הכשרה מתמשכים המבוססים על איסוף נתונים אוטומטי עלולים להידבק; תלויות ספרייה עלולות להציג פגיעויות להרצת קוד מרחוק. ההצטלבות בין שרשרת האספקה של תוכנה ושרשרת האספקה של מודלים מרחיבה משמעותית את מורכבות ההגנה.
מסגרת ניהול הסיכונים לבינה מלאכותית של NIST מדגישה ממשל, הערכת סיכונים וניטור מתמשך עבור מערכות AI (NIST, 2023). עם זאת, עדיין קיים פער טכני בתרגום קווים מנחים אלה למנגנונים פורמליים וברי־מימוש המקשרים בין חוסן יריבתי, בקרים קריפטוגרפיים וטלמטריה תפעולית המשולבת במערכת האבטחה הארגונית.
על רקע זה, אנו מנסחים את הבעיה המרכזית הבאה: כיצד לתכנן ולאמת ארכיטקטורה משולבת היכולה לספק ערבויות מדידות — גם אם הסתברותיות — לחוסן יריבתי, שלמות המודל וניטור מתמשך, תוך שמירה על ישימות תפעולית בסביבות ייצור עם אילוצי שיהוי וסקיילביליות?
שאלות המחקר שנבחנו הן:
- RQ1: כיצד לנסח סיכון יריבתי באופן אופרטיבי על־ידי חיבור מדדים סטטיסטיים לתכונות אבטחה קלאסיות?
- RQ2: אילו מנגנונים היברידיים לזיהוי בזמן ריצה יעילים כנגד התקפות התחמקות וסימני הרעלה?
- RQ3: מהי ההשפעה על שיהוי ועל תפוקה של האינטגרציה בין ניטור AI וכלי אבטחה מסורתיים?
- RQ4: כיצד לשלב אימות קריפטוגרפי ובדיקות התנהגותיות מתמשכות במחזור DevSecOps של מודלים?
- רקע ועבודות קשורות
2.1 יסודות מתמטיים של חוסן יריבתי
נניח ש-$f_\theta: \mathbb{R}^n \rightarrow \mathcal{Y}$ הוא מסווג פרמטרי לפי $\theta$, שהוכשר על התפלגות $D$. דוגמה יריבתית מוגדרת כך:
$$ x’ = x + \delta \quad \text{sujeito a} \quad ||\delta||p \leq \epsilon \ \text{e} \ f\theta(x’) \neq y $$
אנו מגדירים את הסיכון היריבתי המקומי כך:
$$ \mathcal{R}{adv}(x,\epsilon) = \max{||\delta||p \leq \epsilon} \mathbb{I}(f\theta(x+\delta) \neq y) $$
החוסן הממוצע נתון על־ידי:
$$ R(\epsilon) = \mathbb{E}{(x,y)\sim D} [1 - \mathcal{R}{adv}(x,\epsilon)] $$
MADRY et al. (2018) ניסחו את האימון היריבתי כבעיית אופטימיזציה מסוג min–max:
$$ \min_\theta \mathbb{E}{(x,y)\sim D} \left[ \max{||\delta||p \leq \epsilon} \mathcal{L}(f\theta(x+\delta), y) \right] $$
ניסוח זה מקשר בין חוסן יריבתי לבין תורת האופטימיזציה הרובסטית הקלאסית.
2.2 טקסונומיית איומים במערכות למידת מכונה
מחקרים שונים שיטתָזו איומים כנגד מערכות למידת מכונה (BARRENO et al., 2010; PAPERNOT et al., 2016). אנו מתחשבים בטקסונומיה התפעולית הבאה:
- התקפות התחמקות בזמן ההסקה, לרבות FGSM, PGD והתקפות Carlini–Wagner.
- התקפות הרעלה במהלך ההכשרה, כגון label flipping, clean-label poisoning ו-backdoors.
- התקפות חילוץ מודל באמצעות שאילתות אדפטיביות.
- התקפות היסק על חברות ועל תכונות.
- התקפות על שרשרת האספקה של מודלים ותלויות.
- התקפות זמינות המנצלות מורכבות חישובית.
מסגרת MITRE ATLAS מספקת מיפוי מובנה של טכניקות יריביות המכוונות למערכות בינה מלאכותית (MITRE, 2022), ומשלימה את טקסונומיית האיומים המסורתית המתוארת ב־MITRE ATT&CK (MITRE, 2023).
2.3 הסמכה פורמלית של חוסן
שיטות הסמכה פורמלית שואפות לספק ערבויות מתמטיות לחוסן. גישות המבוססות על הרפיות קמורות ועל bound propagation מאפשרות לגזור חסמים עליונים עבור הפרעות יריביות (WONG; KOLTER, 2018). עם זאת, לשיטות אלו יש מגבלות סקיילביליות כאשר מיישמים אותן על רשתות עמוקות בקנה מידה גדול.
כתוצאה מכך, מערכות רבות בייצור משלבות טכניקות חוסן מקורבות עם מנגנוני זיהוי בזמן ריצה.
2.4 ניטור תפעולי ואבטחת תשתית
פריסת מודלי AI מתבצעת לעיתים קרובות בתשתיות המבוססות על קונטיינרים ועל תזמור Kubernetes. מערכות ניראות ואבטחה — כגון Elastic Stack, Suricata ומנועי כללי YARA — נותרות רלוונטיות לזיהוי חריגות תפעוליות ופעילות חשודה (SCARFONE; MELL, 2007).
לאחרונה, ארכיטקטורות אבטחה המבוססות על eBPF החלו לשמש לניראות ברמה נמוכה בסביבות Linux ובאשכולות Kubernetes, ומאפשרות ניטור מפורט של קריאות מערכת ותעבורת רשת (HØILAND-JØRGENSEN et al., 2018).
- מודל איום וניסוח הבעיה
אנו מדגמנים את היריב $\mathcal{A}$ כישות הסתברותית בעלת יכולות פרמטריות.
אנו מגדירים מחלקת יכולת $C_i$ כקבוצת הפעולות הזמינות ליריב. אנו מתחשבים ב:
- $C_1$: גישת black-box ל־API עם הגבלת קצב מוגדרת;
- $C_2$: יכולת להגיש נתונים לצינור האיסוף;
- $C_3$: ידע חלקי על ארכיטקטורת המודל;
- $C_4$: היעדר גישה מועדפת למערכת ההפעלה.
אנו מגדירים את משחק החילוץ $\mathcal{G}{extract}$ שבו היריב מבצע $q$ שאילתות ל־oracle $f\theta$ ומפיק מודל מקורב $\hat{f}$. החילוץ נחשב מוצלח כאשר:
$$ \Pr_{x\sim D}[ \hat{f}(x) = f_\theta(x) ] \geq 1 - \tau $$
אנו מגדירים סיכון יריבתי מצרפי כך:
$$ \mathcal{R}_{agg} = \alpha P(Evasion|\mathcal{A}) + \beta P(Poison|\mathcal{A}) + \gamma P(Extract|\mathcal{A}) $$
כאשר $\alpha, \beta, \gamma$ מייצגים משקלים המשויכים להשפעה הארגונית של כל מחלקת תקיפה.
משפט 1 (מונוטוניות תחת חיזוק בלתי־תלוי).
אם מנגנוני הגנה מפחיתים באופן בלתי־תלוי את ההסתברויות המותנות $P_i$ המשויכות לכל מחלקת תקיפה, מבלי להכניס קורלציות שליליות, אזי $\mathcal{R}_{agg}$ הוא מונוטוני לא־עולה.
- מתודולוגיה מוצעת
4.1 ארכיטקטורה שכבתית
הארכיטקטורה המוצעת כוללת ארבע שכבות עיקריות:
- חומת אש סמנטית לקלט.
- גלאי סטטיסטי היברידי.
- אימות קריפטוגרפי והתנהגותי.
- שכבת טלמטריה המשולבת ב־SOC.
מבנה זה שואף לשלב מנגנונים אלגוריתמיים ותפעוליים.
4.2 גלאי סטטיסטי היברידי
נניח ש-$z=\phi(x)$ הוא הייצוג הלטנטי של דוגמה.
מרחק Mahalanobis מוגדר כך:
$$ d_M(z) = \sqrt{(z-\mu)^T \Sigma^{-1}(z-\mu)} $$
מדד זה לוכד סטיות ביחס להתפלגות הסטטיסטית שנצפתה באימון (MAHALANOBIS, 1936).
בנוסף, אנו משתמשים ב־Isolation Forest (BREIMAN, 2001) כדי לזהות תבניות נדירות בייצוגים לטנטיים.
4.3 אימות של שלמות המודל
המנגנון המוצע משלב שלושה שלבים:
- סריאליזציה דטרמיניסטית של הארטיפקט.
- חישוב hash SHA‑256.
- חתימה דיגיטלית Ed25519.
לאחר אימות קריפטוגרפי, אנו מריצים חבילת בדיקות sentinel $T$. הפער בין התפלגויות הפלט מוערך באמצעות divergence KL:
$$ D_{KL}(P||Q)=\sum_i P(i)\log\frac{P(i)}{Q(i)} $$
גישה זו מאפשרת לזהות שינויים בלתי מורשים במודל גם כאשר השינוי אינו משנה את מבנה הקובץ.
4.4 אינטגרציה של DevSecOps
הצינור התפעולי עוקב אחר השלבים הבאים:
-
Commit של קוד ונתונים בגרסה מנוהלת.
-
הכשרה אוטומטית.
-
חתימה קריפטוגרפית של המודל.
-
פריסה ב־Kubernetes.
-
רישום ניסויים ב־MLflow.
-
ניטור מתמשך באמצעות SIEM.
-
מימוש
5.1 ארכיטקטורת פריסה
הארכיטקטורה משתמשת ב־pods ייעודיים להסקה וב־sidecars האחראים לאיסוף טלמטריה.
זרימה תפעולית:
Client → API Gateway → Firewall de entrada → Detector estatístico → Modelo → Logger → Elastic Stack.
5.2 כללי זיהוי
דוגמה לכלל YARA:
rule Suspicious_Pickle_Model
{
meta:
description = "Detecta uso potencialmente perigoso de chamadas de execução em objetos serializados"
strings:
$exec1 = "os.system"
$exec2 = "subprocess.Popen"
condition:
any of ($exec)
}
דוגמה לחתימת Suricata:
alert http any any -> $ML_API any (msg:"Possible Model Extraction Pattern";
flow:to_server,established;
http.uri; content:"/predict";
threshold:type both, track by_src, count 500, seconds 60;
sid:900001;)
5.3 שיקולי ביצועים
ההערכה התפעולית הצביעה על כך שרוב העלות החישובית מוכנסת בשלב הניתוח הסטטיסטי. כדי לצמצם את השפעת השיהוי השתמשנו ב:
- cache של $\Sigma^{-1}$ בזיכרון;
- עיבוד במקבצים עבור בדיקות sentinel;
- autoscaling המבוסס על מדדי שיהוי P95.
- הערכה ניסויית
6.1 מתודולוגיה
הניסויים בוצעו בסביבה מבוקרת תוך שימוש במספר הרצות עם זרעים אקראיים שונים. המדדים המדווחים תואמים לממוצעים אמפיריים ולתצפיות איכותניות על שונות.
6.2 Baselines
| תצורה | הגנה מיושמת |
|---|---|
| Baseline | מודל ללא הגנה |
| AdvTraining | אימון יריבתי |
| Detector | גלאי סטטיסטי |
| Proposta | הארכיטקטורה המלאה |
6.3 תוצאות
ניכרה עלייה עקבית בחוסן אמפירי כנגד התקפות FGSM ו־PGD כאשר שילבנו אימון יריבתי קל עם גלאי היברידי. שיעור הזיהוי של דוגמאות מורעלות סינתטיות עלה על ה־baselines שנבחנו.
תקורת השיהוי הממוצעת נותרה נמוכה מ־15% בעומסים מתונים, מה שמצביע על ישימות תפעולית.
- מחקרי מקרה
7.1 המגזר הבנקאי
מקרה המבחן הראשון עוסק במסווג של כתובות URL זדוניות המשמש לזיהוי phishing.
הארכיטקטורה שולבה בצינור SIEM המבוסס על Elastic Stack. תרגילי red team בוצעו עם יצירה מבוקרת של דוגמאות יריבות.
נצפתה ירידה משמעותית ב־bypass בהשוואה למערכת ללא ניטור יריבתי.
7.2 המגזר הרפואי
מקרה המבחן השני עוסק במערכת מיון רדיולוגי המבוססת על רשתות עצביות קונבולוציוניות.
הליכים תפעוליים כללו:
- חתימה קריפטוגרפית יומית של המודל;
- ניטור התפלגות סטטיסטית של התמונות;
- הרצה תקופתית של בדיקות sentinel.
שינויים מדומים במודל זוהו לפני שימוש קליני.
- דיון
גלאים סטטיסטיים אינם מספקים ערבויות מוחלטות כנגד יריבים אדפטיביים. עם זאת, כאשר משלבים אותם עם בקרים קריפטוגרפיים וטלמטריה תפעולית, הם יכולים להגביר באופן משמעותי את חוסן המערכת.
בהשוואה לגישות אלגוריתמיות טהורות של חוסן יריבתי, המודל המוצע מדגיש אינטגרציה עם תשתית אבטחה ממשית.
- מסקנה
הצגנו ארכיטקטורה משולבת להגנת מערכות בינה מלאכותית המופרשות בסביבת ייצור. ההצעה משלבת ניסוח מתמטי של סיכון יריבתי, זיהוי סטטיסטי היברידי, אימות קריפטוגרפי של שלמות וניטור תפעולי מתמשך.
התוצאות מעידות כי האינטגרציה בין מנגנונים אלגוריתמיים לבקרי תשתית מייצגת גישה פרגמטית להעלאת האבטחה של צינורות למידת מכונה בסביבות ארגוניות.
References
BARRENO, Marco et al. The security of machine learning. Machine Learning, v. 81, n. 2, p. 121–148, 2010. Available at: https://doi.org/10.1007/s10994-010-5188-5. Accessed on: 10 mar. 2023.
BIGGIO, Battista; NELSON, Blaine; LASKOV, Pavel. Poisoning attacks against support vector machines. In: INTERNATIONAL CONFERENCE ON MACHINE LEARNING. Proceedings […]. 2012. Available at: https://proceedings.mlr.press/v28/biggio13.html. Accessed on: 10 mar. 2023.
BREIMAN, Leo. Random forests. Machine Learning, v. 45, n. 1, p. 5–32, 2001. Available at: https://doi.org/10.1023/A:1010933404324. Accessed on: 10 mar. 2023.
CARLINI, Nicholas; WAGNER, David. Towards evaluating the robustness of neural networks. In: IEEE SYMPOSIUM ON SECURITY AND PRIVACY. 2017. Available at: https://doi.org/10.1109/SP.2017.49. Accessed on: 10 mar. 2023.
GOODFELLOW, Ian; SHLENS, Jonathon; SZEGEDY, Christian. Explaining and harnessing adversarial examples. In: INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS. 2015. Available at: https://arxiv.org/abs/1412.6572. Accessed on: 10 mar. 2023.
HØILAND-JØRGENSEN, Toke et al. The eBPF and XDP networking stack. ACM Queue, v. 16, n. 5, 2018. Available at: https://queue.acm.org/detail.cfm?id=3285417. Accessed on: 10 mar. 2023.
MAHALANOBIS, Prasanta. On the generalized distance in statistics. Proceedings of the National Institute of Sciences of India, v. 2, 1936. Available at: https://repository.ias.ac.in/8285/. Accessed on: 10 mar. 2023.
MADRY, Aleksander et al. Towards deep learning models resistant to adversarial attacks. In: INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS. 2018. Available at: https://arxiv.org/abs/1706.06083. Accessed on: 10 mar. 2023.
MITRE. MITRE ATLAS: Adversarial Threat Landscape for Artificial-Intelligence Systems. 2022. Available at: https://atlas.mitre.org. Accessed on: 10 mar. 2023.
MITRE. MITRE ATT&CK Framework. 2023. Available at: https://attack.mitre.org. Accessed on: 10 mar. 2023.
NIST. Artificial Intelligence Risk Management Framework (AI RMF 1.0). Gaithersburg: National Institute of Standards and Technology, 2023. Available at: https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-1.pdf. Accessed on: 10 mar. 2023.
OWASP. OWASP Top 10 for Machine Learning Security Risks 2023. Available at: https://owasp.org/www-project-machine-learning-security-top-10/. Accessed on: 10 mar. 2023.
PAPERNOT, Nicolas et al. Practical black-box attacks against machine learning. In: ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY. 2017. Available at: https://arxiv.org/abs/1602.02697. Accessed on: 10 mar. 2023.
RIBEIRO, Marco; SINGH, Sameer; GUESTRIN, Carlos. Why should I trust you? Explaining the predictions of any classifier. In: ACM SIGKDD. 2016. Available at: https://doi.org/10.1145/2939672.2939778. Accessed on: 10 mar. 2023.
SCARFONE, Karen; MELL, Peter. Guide to intrusion detection and prevention systems. NIST Special Publication 800-94. 2007. Available at: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-94.pdf. Accessed on: 10 mar. 2023.
SHOKRI, Reza et al. Membership inference attacks against machine learning models. IEEE Symposium on Security and Privacy. 2017. Available at: https://doi.org/10.1109/SP.2017.41. Accessed on: 10 mar. 2023.
TRAMÈR, Florian et al. Stealing machine learning models via prediction APIs. USENIX Security Symposium. 2016. Available at: https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/tramer. Accessed on: 10 mar. 2023.
WONG, Eric; KOLTER, J. Zico. Provable defenses against adversarial examples via convex outer adversarial polytope. ICML. 2018. Available at: https://proceedings.mlr.press/v80/wong18a.html. Accessed on: 10 mar. 2023.
CHEN, Xinyun et al. Targeted backdoor attacks on deep learning systems. arXiv, 2017. Available at: https://arxiv.org/abs/1712.05526. Accessed on: 10 mar. 2023.
GU, Tianyu; DOLAN-GAVITT, Brendan; GARG, Siddharth. BadNets: Identifying vulnerabilities in the machine learning model supply chain. arXiv, 2017. Available at: https://arxiv.org/abs/1708.06733. Accessed on: 10 mar. 2023.
NELSON, Blaine et al. Exploiting machine learning to subvert your spam filter. LEET. 2008. Available at: https://www.usenix.org/event/leet08/tech/full_papers/nelson/nelson.pdf. Accessed on: 10 mar. 2023.
KUBERNETES. Kubernetes Documentation. 2023. Available at: https://kubernetes.io/docs/. Accessed on: 10 mar. 2023.
SURICATA. Suricata IDS Documentation. 2023. Available at: https://docs.suricata.io. Accessed on: 10 mar. 2023.
ELASTIC. Elastic Stack Documentation. 2023. Available at: https://www.elastic.co/guide/index.html. Accessed on: 10 mar. 2023.
MLFLOW. MLflow Documentation. 2023. Available at: https://mlflow.org/docs/latest/index.html. Accessed on: 10 mar. 2023.