גרסת תקיפה חדשה של Foreshadow המשפיעה על מעבדי אינטל, AMD, ARM ו-IBM

קבוצת חוקרים מהאוניברסיטה הטכנית של גראץ (אוסטריה) וממרכז הלמהולץ לאבטחת מידע (CISPA), גילה (PDF) וקטור חדש לשימוש בהתקפות של ערוץ צדדי לְבַשֵׂר (L1TF), המאפשר לחלץ נתונים מהזיכרון של מובלעות Intel SGX, SMM (מצב ניהול מערכת), אזורי זיכרון של ליבת מערכת ההפעלה ומכונות וירטואליות במערכות וירטואליזציה. בניגוד למתקפה המקורית שהוצעה ב-2018 לְבַשֵׂר הגרסה החדשה אינה ספציפית למעבדי אינטל ומשפיעה על מעבדים מיצרנים אחרים כגון ARM, IBM ו-AMD. בנוסף, הגרסה החדשה אינה דורשת ביצועים גבוהים וניתן לבצע את המתקפה אפילו באמצעות הפעלת JavaScript ו-WebAssembly בדפדפן אינטרנט.

התקפת Foreshadow מנצלת את העובדה שכאשר גישה לזיכרון מתבצעת בכתובת וירטואלית שגורמת לחריגה (תקלת עמוד מסוף), המעבד מחשב באופן ספקולטיבי את הכתובת הפיזית וטוען את הנתונים אם הם זמינים ב-L1 cache. גישה ספקולטיבית מבוצעת לפני השלמת חיפוש טבלת דפי הזיכרון וללא קשר למצב כניסת טבלת דפי הזיכרון (PTE), כלומר. לפני בדיקת נוכחות הנתונים בזיכרון הפיזי וקריאותם. לאחר השלמת בדיקת זמינות הזיכרון, בהיעדר דגל Present ב-PTE, הפעולה נמחקת, אך הנתונים נשארים במטמון וניתן לאחזר אותם באמצעות שיטות לקביעת תוכן המטמון דרך ערוצי צד (על ידי ניתוח שינויים בזמן הגישה לנתונים מאוחסנים ולא מאוחסנים במטמון).

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

נמצא כי אפקט טעינה מראש לא קשור להוראות שליפה מראש של תוכנה או לאפקט החומרה
אחזור מראש במהלך גישה לזיכרון, אך מתרחש כאשר הפניות ספקולטיביות של מרחב משתמש נרשמות בקרנל. פרשנות שגויה זו של הגורם לפגיעות הובילה בתחילה להנחה שדליפת נתונים ב-Foreshadow יכולה להתרחש רק דרך מטמון L1, בעוד שנוכחותם של קטעי קוד מסוימים (גאדג'טים לאחזור מראש) בליבה יכולה לתרום לדליפת נתונים מחוץ למטמון L1, לדוגמה, במטמון L3.

התכונה שזוהתה גם פותחת את האפשרות ליצור התקפות חדשות שמטרתן תהליכי תרגום כתובות וירטואליות לפיזיות בסביבות מבודדות וקביעת כתובות ונתונים המאוחסנים באוגרי CPU. כהדגמה, החוקרים הראו את האפשרות להשתמש באפקט שזוהה כדי לחלץ נתונים מתהליך אחד למשנהו עם ביצועים של כ-10 סיביות לשנייה במערכת עם מעבד Intel Core i7-6500U. מוצגת גם האפשרות של דליפת תוכן אוגר ממובלעת Intel SGX (לקח 32 דקות כדי לקבוע ערך של 64 סיביות שנכתב למאגר של 15 סיביות). חלק מסוגי התקפות התבררו כאפשריים ליישום ב-JavaScript וב-WebAssembly, למשל, ניתן היה לקבוע את הכתובת הפיזית של משתנה JavaScript ולמלא אוגרים של 64 סיביות בערך שנשלט על ידי התוקף.

כדי לחסום את התקפת Foreshadow דרך מטמון L3, שיטת ההגנה של Spectre-BTB (Branch Target Buffer) המיושמת בערכת התיקון של retpoline יעילה. לפיכך, החוקרים מאמינים כי יש צורך להשאיר את ה-retpoline מופעלת גם במערכות עם מעבדים חדשים שכבר יש להם הגנה מפני פגיעויות ידועות במנגנון הביצוע הספקולטיבי של ה-CPU. יחד עם זאת, נציגי אינטל הצהירו כי אינם מתכננים להוסיף למעבדים אמצעי הגנה נוספים נגד Foreshadow ורואים בכך די לכלול הגנה מפני התקפות Spectre V2 ו-L1TF (Foreshadow).

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster