הם זיהו פגיעות במעבדי אינטל שמובילה לדליפת נתונים

פגיעות

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

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

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

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

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

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

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

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

להדגמה, החוקרים יישמו גרסה של מתקפת Meltdown, תוך שימוש בה בשיטה חדשה לקבלת מידע על התוצאה של פעולה ספקולטיבית. פעולת השיטה לארגון דליפת מידע במהלך מתקפת Meltdown הוכח בהצלחה במערכות עם מעבדי Intel Core i7-6700 ו-i7-7700 בסביבה עם ליבת אובונטו 22.04 ולינוקס 5.15. במערכת עם מעבד Intel i9-10980XE, המתקפה הצליחה באופן חלקי בלבד.

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

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

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

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.