Training Solo: פגיעות Spectre-v2 המשפיעה על מעבדי אינטל

פגיעות

חוקרים מהאוניברסיטה החופשית אמסטרדם הוכרז, באמצעות פוסט בבלוג, אל "Training Solo, משפחה חדשה של התקפות Spectre-v2 שמנצלים פגמים בחיזוי ספקולטיבי כדי לשבור את גבולות האבטחה בין מרחבי ביצוע בעלי פריבילגיות ללא פריבילגיות, ומשפיעים ישירות על מעבדי אינטל.

הטכניקות החדשות לאפשר חילוץ תוכן רגיש מהליבה או ההיפר-ויזור במהירויות של עד 17 KB לשנייה, אפילו במערכות המיישמות אמצעי הפחתה מודרניים כגון IBPB, eIBRS או BHI_NO.

Training Solo, הפנים החדשות של Spectre-v2 צצות מחדש בעוצמה

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

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

החוקרים הראו שעל ידי מניפולציה של הגאדג'טים האלה (למשל, מינוף מסנני SECCOMP מבוססי cBPF) ניתן לגרום לביצוע ספקולטיבי שמדליף נתונים מהמערכת המועדפת.

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

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

  1.  מניפולציה של היסטוריית ענפים באמצעות גאדג'טים של ליבהמנצל קריאות מערכת כגון SECCOMP, כאשר מסננים יכולים לגרום לענפים ספקולטיביים כוזבים, ולדלוף זיכרון בקצב של 1,7 KB/s במעבדי Intel Tiger Lake ו-Lion Cove.
  2.  התנגשויות של מצביעי הוראות (IP) במאגר חיזוי הענף (BTB): כאן, שני ענפים עקיפים שונים יכולים להשפיע זה על זה אם הכתובות שלהם מתנגשות במאגר, מה שמאפשר חיזוי שגוי של יעדים ספקולטיביים.
  3.  השפעות בין ענפים ישירים ועקיפים: טכניקה זו, המבוססת על שתי פגיעויות ספציפיות (CVE-2024-28956 (ITS) ו-CVE-2025-24495), מנצלת כיצד ענפים ישירים יכולים להשפיע על חיזוי של ענפים עקיפים. באמצעות גישה זו, ה-hash של סיסמת הבסיס שוחזר לאחר הרצת passwd -s תוך 60 שניות בלבד.

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

השפעה והיקף של פגיעויות חדשות

ההתקפות משפיעים על מגוון רחב של מעבדי אינטל, כולל קווים פופולריים כמו Coffee Lake, Tiger Lake, Ice Lake ו-Rocket Lake, כמו גם שרתי Xeon מדור שני ושלישי. בנוסף, ארכיטקטורות Lunar Lake ו-Arrow Lake פגיעות גם הן תחת CVE-2-3.

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

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

AMD, מצידה, אישרה זאת טכניקות אלה לא משפיע על המעבדים שלך. ARM ציינה שרק השבבים הישנים יותר שלה, ללא תמיכה בהרחבות FEAT_CSV2_3 ו- FEAT_CLRBHB, ייחשפו.

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