GPUHammer: מתקפת Rowhammer המוצלחת הראשונה נגד זיכרון וידאו GDDR6

פטיש כרטיסי אשראי

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

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

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

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

איך המתקפה עובדת?

ההתקפה מנצל חולשה פיזית ב-DRAM, כאשר גישה אינטנסיבית לשורת זיכרון (המכונה "פטיש") יכול לגרום לשינויים בשורות סמוכותלמרות שפגיעות זו זוהתה בשנת 2014 ונחקרה בהרחבה בזיכרון DDR של מעבדים, העברתה למעבדים גרפיים הייתה עד כה אתגר עקב:

  • זמן השהיית הגישה הגבוה של GDDR6 (עד פי 4 יותר מ-DDR4).
  • המורכבות בהקצאה הפיזית של זיכרון.
  • נוכחות של אמצעי הפחתה קנייניים ומתועדים בצורה גרועה, כגון TRR.

Rowhammer היא פגיעות חומרה שבה הפעלה מהירה של שורה אחת בזיכרון גורמת להחלפות סיביות בשורות סמוכות. מאז 2014, פגיעות זו נחקרה בהרחבה במעבדים ובזיכרון מבוסס מעבד כגון DDR3, DDR4 ו-LPDDR4. עם זאת, מכיוון שעומסי עבודה קריטיים של בינה מלאכותית ולמידת מכונה פועלים כעת על גבי מעבדים גרפיים נפרדים בענן, הערכת הפגיעות של זיכרון ה-GPU להתקפות Rowhammer היא קריטית.

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

הוכחת היתכנות הראתה כיצד שינוי של ביט בודד במשקלי מודל של רשת נוירונים עמוקה (DNN), במיוחד במעריכים של FP16, יכול לפגוע בדיוק העליון של מודלי סיווג תמונה ב-ImageNet מ-1% ל-80%. ממצא זה מדאיג עבור מרכזי נתונים ושירותי ענן המריצים עומסי עבודה של בינה מלאכותית בסביבות משותפות עם מעבדים גרפיים.

הקלות ומגבלות

NVIDIA אישרה את הפגיעות וממליצה להפעיל תמיכה ב-ECC. (קוד תיקון שגיאות) באמצעות הפקודה nvidia-smi -e 1. למרות מדד זה יכול לתקן שגיאות ביט בודד, זה מרמז על אובדן ביצועים של עד 10%. והפחתה של 6,25% בזיכרון הזמין. זה גם לא מגן מפני התקפות עתידיות הכוללות החלפות סיביות מרובות.

אישרנו תנודות בסיביות של Rowhammer במעבדי GPU של NVIDIA A6000 עם זיכרון GDDR6. מעבדי GPU אחרים של GDDR6, כמו RTX 3080, לא הציגו תנודות בסיביות בבדיקות שלנו, כנראה עקב שינויים בספק ה-DRAM, במאפייני השבב או בתנאי ההפעלה כגון טמפרטורה. כמו כן, לא הבחנו בתנודות במעבד GPU של A100 עם זיכרון HBM.

הצוות מדגיש כי GPUHammer אומת כרגע רק על כרטיס המסך A6000 עם GDDR6, ולא על דגמים כמו ה-A100 (HBM) או ה-RTX 3080. עם זאת, מכיוון שמדובר במתקפה ניתנת להרחבה, חוקרים אחרים מוזמנים לשכפל ולהרחיב את הניתוח על ארכיטקטורות ודגמים שונים של GPU.

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