קבוצה של חוקרים מאוניברסיטת גראץ לטכנולוגיה באוסטריה ומרכז הלמהולץ לביטחון מידע (CISPA), זיהו וקטור התקפה חדש של Foreshadow (L1TF), המאפשר לך לחלץ נתונים מהזיכרון של מובלעות Intel SGX, SMM, אזורי זיכרון ליבה של מערכת ההפעלה ומכונות וירטואליות במערכות וירטואליזציה.
בניגוד למתקפה המקורית של Foreshadow, הגרסה החדשה אינה ספציפית למעבדי אינטל ומשפיעה מעבדים של יצרנים אחרים כגון ARM, IBM ו- AMD. יתר על כן, האפשרות החדשה אינה דורשת ביצועים גבוהים ואת ההתקפה ניתן לבצע אפילו על ידי הפעלת JavaScript ו- WebAssembly בדפדפן אינטרנט.
Foreshadow מנצלת את העובדה שכאשר ניגשים לזיכרון בכתובת וירטואלית, שמעלה חריג (כשל בעמוד המסוף), המעבד מחשב באופן ספציפי את הכתובת הפיזית וטוען את הנתונים אם הם נמצאים במטמון L1.
גישה ספקולטיבית נעשית לפני השלמת האיטרציה של טבלת עמוד הזיכרון וללא קשר למצב הערך של טבלת עמוד הזיכרון (PTE), כלומר לפני שמוודאים שהנתונים נמצאים בזיכרון הפיזי וקריאים.
לאחר השלמת בדיקת זמינות הזיכרון, בהעדר המדד הקיים ב- PTE, הפעולה נמחקת, אך הנתונים נשמרים במטמון וניתן לאחזר אותם שימוש בשיטות לקביעת תוכן המטמון דרך ערוצים צדדיים (על ידי ניתוח שינויים בזמן הגישה לנתונים במטמון ולא במטמון).
החוקרים הראו כי שיטות ההגנה הקיימות מפני Foreshadow אינן יעילות והם מיושמים עם פרשנות שגויה לבעיה.
הפגיעות של Foreshadow ניתן למנף ללא קשר לשימוש במנגנוני הגנה בגרעין שבעבר נחשבו מספיקים.
כתוצאה מכך, החוקרים הדגימו אפשרות לבצע התקפת Foreshadow על מערכות עם גרעינים ישנים יחסית, בו מופעלים כל מצבי ההגנה הזמינים של Foreshadow, כמו גם עם גרעינים חדשים יותר, בהם רק הגנת Spectre-v2 מושבתת (באמצעות אפשרות הליבה של לינוקס nospectre_v2).
נמצא כי אפקט ההעברה המוקדמת אינו קשור להוראות אחזור תוכנה או לאפקט ההחלפה של החומרה במהלך הגישה לזיכרון, אלא נובע מהפרש ספקולטיבי של רישומי שטח המשתמשים בליבה.
פירוש מוטעה זה של הגורם לפגיעות הוביל בתחילה להנחה שדליפת נתונים ב- Foreshadow יכולה להתרחש רק דרך מטמון L1, בעוד שנוכחות קטעי קוד מסוימים (התקני אחזור מראש) בגרעין זה יכול לתרום לדליפת נתונים מחוץ ל- L1 מטמון, למשל במטמון L3.
התכונה שנחשפה גם פותחת הזדמנויות ליצור התקפות חדשות. שנועדו לתרגם כתובות וירטואליות לכתובות פיזיות בסביבות ארגזי חול ולקבוע כתובות ונתונים המאוחסנים ברשומות המעבד.
כהדגמותכך הראו החוקרים היכולת להשתמש באפקט שנחשף ל לחלץ נתונים מתהליך אחד למשנהו עם תפוקה של כ -10 ביט לשנייה במערכת עם מעבד Intel Core i7-6500U.
מוצגת גם האפשרות לסנן את תוכן הרשומות ממובלעת Intel SGX (לקח 15 דקות לקבוע ערך של 32 סיביות שנכתב לרישום של 64 סיביות).
כדי לחסום את ההתקפה של Foreshadow באמצעות מטמון L3, שיטת ההגנה Specter-BTB (חיץ יעד סניף) מיושם בערכת תיקוני הרטפולין יעילה.
לכן, החוקרים סבורים שיש צורך להשאיר רטפולין מופעלת אפילו במערכות עם מעבדים חדשים יותר, שכבר יש הגנה מפני פרצות ידועות במנגנון הביצוע הספקולטיבי של הוראות המעבד.
מצד, נציגי אינטל אמרו כי אינם מתכננים להוסיף אמצעי הגנה נוספים נגד Foreshadow למעבדים ורואים בכך די בכדי לאפשר הגנה מפני התקפות Spectre V2 ו- L1TF (Foreshadow).
מקור: https://arxiv.org