GDDRHammer ו-GeForge: שתי התקפות Rowhammer חדשות על כרטיסי מסך

נקודות מפתח:
  • חוקרים פיתחו טכניקות להגברת התקפות Rowhammer על זיכרון GDDR6, תוך השגת אלפי שינויי סיביות.
  • התקפות GDDRHammer ו-GeForge מטפלות במקצה הזיכרון כדי למקם טבלאות עמודים בסקטורים פגיעים.
  • שינוי קטן בטבלת העמודים מאפשר לתוקף להפנות מחדש מצביעי זיכרון למבנים הנשלטים על ידי התוקף.
  • על ידי שינוי שדה פתיחת המערכת בערך הטבלה, ה-GPU מקבל גישת קריאה וכתיבה ישירה לזיכרון הפיזי של המארח.
  • הפגיעות משפיעה על דגמים כמו RTX 3060 ו-RTX A6000, ומחייבת הפעלת IOMMU כאמצעי ההגנה העיקרי.

התקפות Rowhammer GPU

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

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

התחמקות מהקלות ודפוסים

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

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

בּוֹ זְמַנִית, צוות GDDRHammer גילה ששורות זיכרון ה-DRAM על כרטיסי מסך הם פועלים לפי סידור גיאומטרי לא מונוטוניזה אפשר להם לבנות דפוסים דו-צדדיים יעילים ביותר למרות שהכתובות הפיזיות נראו מרוחקות. על ידי הקצאת משימות בנקאיות זיכרון בודדות למעבדי סטרימינג שונים וסנכרון חלקי של הביצוע, הם הצליחו למקסם את ביצועי ההפעלה תוך עקיפת דגימה בטיחותית.

גישות אלו הניבו תוצאות אדירות; שיטת GeForge גרמה ל-1,171 שינויי סיביות בכרטיס מסך RTX 3060 צרכני ו-202 בכרטיס מסך RTX A6000 מקצועי., בעוד ש-GDDRHammer הגיע לממוצע של 1,032 שינויים לג'יגה-בייט, המייצג עלייה פי 64 בהשוואה לניסיונות קודמים.

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

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

ההתקפה GDDRHammer משתמש במיפויי זיכרון משותפים כדי להציף את המקצה, מקצר את הפער בין אזורי טבלת העמודים לבין הזיכרון הנשלט על ידי המשתמש. GeForge מתמקד ספציפית בפגיעה בערכים בספריית הדפים 0 (PD0).

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

הסלמת הרשאות דרך אפיק ה-PCIe

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

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

אמצעי פגיעה בשכיחות החומרה

Laבדיקות מקיפות אישרו כי פגיעות זו נפוצה בחומרה הקיימת.מחקר GDDRHammer העריך 25 כרטיסי מסך מתקדמים, ומצא כי 16 מתוך 17 דגמי RTX A6000 המבוססים על ארכיטקטורת Ampere היו פגיעים להתקפות אלו. למרות שזיכרון קוד תיקון שגיאות (ECC) יכול להפחית את אמינות ההתקפה על ידי תיקון שגיאות של ביט בודד, תכונה זו מושבתת כברירת מחדל בכרטיסי תחנות עבודה רבים עקב פגיעה בביצועים ונעדרת לחלוטין בדגמים לשוק ההמוני.

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

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