מצא פגיעות חדשה של Meltdown במעבדי AMD מבוססי Zen + ו- Zen 2

לפני כמה ימים קבוצת חוקרים מהאוניברסיטה הטכנית של דרזדן חשפה שהם זיהו פגיעות (CVE-2020-12965) מה שמאפשר התקפה ברמה Meltdown על מעבדי AMD מבוססי Zen + ו- Zen 2.

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

החוקריםאני מזכיר כי הארכיטקטורה של AMD64 כרוכה בשימוש ב -48 הסיביות הראשונות בלבד של הכתובת הווירטואלית והתעלם מ -16 הסיביות הנותרות ועם זה צוין שסיביות 48 עד 63 חייבות תמיד להעתיק את הערך של סיביות 47.

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

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

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

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

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

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

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

במהלך הניסוי, באמצעות טכניקת זיהוי תוכן המטמון FLUSH + RELOAD, החוקרים הצליחו לארגן ערוץ להעברת נתונים חשאיים אל מהירות של 125 בתים לשנייה.

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

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

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

מקור: https://www.amd.com, https://arxiv.org/


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

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

*

*

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