שיטה חדשה של RowHammer נוצרה כדי לעקוף את הגנת ה- ECC

פטיש שורה

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

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

מהי הפגיעות של RowHammer?

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

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

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

גרסה חדשה של RowHammer

עד כה, השימוש ב- ECC נחשב לדרך המהימנה ביותר להגן מפני הבעיות שתוארו לעיל.

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

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

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

איך עובד הגרסה החדשה הזו?

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

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

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

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

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

על ההדגמה

ل החוקרים הדגימו את האפשרות להתקפה על ארבעה שרתים שונים עם זיכרון DDR3 (זיכרון פגיע תיאורטי ו- DDR4), שלושה מהם היו מצוידים במעבדי אינטל (E3-1270 v3, Xeon E5-2650 v1, Intel Xeon E5-2620 v1) ו- AMD אחד (Opteron 6376).

En ההדגמה מראה כי מציאת השילוב הדרוש של ביטים במעבדה בשרת סרק לוקח כ- 32 דקות.

ביצוע התקפה על שרת פועל הוא הרבה יותר קשה בשל הימצאות הפרעות הנובעות מפעילות היישום.

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


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

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

*

*

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