TONTOU: מתקפת Spectre v2 חדשה על AMD ואינטל

נקודות מפתח:
  • TONTOU מנצל את פער הזמן בין ניקוי מאגר החיזוי לבין השימוש בו.
  • תוקפים משתמשים ב-"Interrupt Injection" כדי לנתב מחדש את זרימת הליבה ולזהם את מכונות החיזוי.
  •  זה משפיע על ארכיטקטורות Zen 1 עד 4 של AMD ועל דורות מרובים של מעבדי אינטל.
  • תיקוני הפחתת הסיכון כבר שולבו בעדכוני ליבת לינוקס האחרונים (5 באוגוסט).

התקפת טונטו

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

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

חוקרי MIT גילו את TONTOU (Time-of-Neutralization to Time-of-Use), טכניקה חדשה ומתוחכמת לניצול פגיעויות ב-Spectre v2 , המאפשרת לקרוא זיכרון ליבה ממרחב המשתמש.

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

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

בנוגע לתקיפה: שיבושים והפרצה ב-Safe-RET

ל-AMD יש הגנה מפני פגיעויות SRSO (Speculative Return Stack Overflow) הנקראת Saferet, אשר מנקה את מנגנון החיזוי מיד לפני כל שימוש. זה משאיר חלון פגיעות שניתן לנצל תוך כמה עשרות ננו-שניות. כדי לתקוף חלון כה קטן, חוקרים פיתחו טכניקה שהם קראו לה הזרקת פסיקות.

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

חילוץ ובדיקה של סיסמאות במערכות אמיתיות

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

לאחר מכן, הם הדגימו התקפה מקומית כמשתמש לא מורשה כדי לקבוע את קוד ה-hash של סיסמת הבסיס, תוך חילוץ נתונים בהצלחה בקצב של 5.47 בתים לשנייה עם דיוק של 91.97%. ב-50% מהבדיקות (שאורכו בממוצע 18 דקות), הם זיהו וחילצו בהצלחה את תוכן קובץ הסיסמה. אמנם מדובר במהירות איטית, אך היא בהחלט מספקת כדי לפגוע באופן קריטי בשרת.

השפעה על אינטל, AMD ותיקון הפחתת הסיכון

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

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

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

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


הוסף כמקור מועדף בגוגל