WEBA

אתגר הסייבר של Vercel מוכיח שבידוד תוכנה לבדו לא יציל אתכם

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

522 מילים20 עובדות אומתו

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

לא הייתי ממהר להירגע מההבטחות על קופסה סגורה.

שני פאקטים הספיקו להפלת השרת

האתגר ריכז 1,285 דיווחים, אבל האירוע המרכזי התרחש כבר ביום השלישי. החוקר פאולוס ייבלו (Paulos Yibelo) מ-pwn.ai זיהה חולשת יום-אפס בליבת הרשת של Linux, ישירות במורד הזרם (upstream). הוא גילה כי שליחת חבילות מידע ייעודיות מתוך המכונה הווירטואלית מאפשרת דליפה מתמשכת של זיכרון השרת המארח, קריסה מלאה של השרת הפיזי והרצת פקודות בהרשאות root על המארח.

החוקר הוכיח ששני פאקטים בלבד הספיקו כדי להקריס את השרת כולו ולנתק את כל סביבות ה-Sandbox שרצו עליו. החוקר הדגים תחילה דליפת זיכרון חיה משרתי הפרודקשן של החברה, כאשר זיכרון מהשרת המשותף לדיירים אחרים נפלט בחבילות המידע. בהמשך, בסביבת בדיקה התואמת לקונפיגורציית KVM ו-Firecracker של Vercel, הוא שחזר את הקריסה. משם הדרך להרצת קוד עם הרשאות מנהל מערכת על המארח הייתה קצרה. מתוך תקרת הפרס של מיליון דולר, שילמה החברה 242,000 דולר עבור 57 דיווחים מאומתים. 877 דיווחים נוספים סווגו ככפילויות שנשלחו במהירות בסיוע כלי AI.

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

כשמערכת הניהול מאמינה לאורח

לצד הבאונטי הפומבי, חברת Trail of Bits ביצעה בדיקת קוד והערכת ארכיטקטורה שנמשכה ארבעה שבועות הנדסיים. הבדיקה אישרה את יציבות מודל ה-Firecracker, אך הציפה כשל תכנוני עקרוני: מערכת הניהול של Vercel (ה-control plane) קיבלה ואימתה ערכים שהגיעו ישירות מתוכנה שרצה בתוך המכונה האורחת. במקביל, מתמחה בחברה גילה פגיעות בשכבת האחסון של Linux device-mapper, שאפשרה לקרוא בלוקי דיסק שמוחזרו מסביבות שנמחקו.

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

האמון העיוור באורח נגמר.

התלות המסוכנת בתשתית מרובת דיירים

ב-תיעוד הרשמי של Vercel Sandbox החברה מקדמת את מנגנון הריצה המבודד להרצת קוד של סוכני AI. לפי נתוני מחקר שמופיעים בדוקומנטציה, סוכנים ממתינים לתשובות ממודלים בין 71% ל-98% מהזמן. כדי להקל על העלויות, החברה מציעה תמחור של Active CPU שבו משלמים רק על זמן מעבד פעיל ולא על זמני ההמתנה של הסוכן, בעוד שעל זיכרון מוקצה משלמים באופן רציף. הפתרון הכלכלי הזה מושך, אך הוא מסתיר מגבלה תשתיתית קריטית.

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

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

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

מקורות

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

מה שואלים על זה

האם נחשף מידע של לקוחות Vercel במהלך האתגר?

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

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

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

מדוע Vercel לא פרסמה עדיין את פרטי ה-CVE המדויקים?

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

איך מודל התמחור של Vercel Sandbox מתמודד עם זמני המתנה של סוכני AI?

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