SQUIP, מתקפה חדשה שמשפיעה על מעבדי AMD ומובילה לדליפת נתונים

קבוצה של iחוקרים מאוניברסיטת גראץ לטכנולוגיה (אוסטריה), ידועה בעבר בפיתוח התקפות MDS, NetSpectre, Throwhammer ו- ZombieLoad, חשף מתקפת ערוץ צדדי חדש (CVE-2021-46778) בתור המתזמן של מעבד AMD המשמש לתזמון ביצוע הוראות ביחידות ביצוע שונות של ה-CPU.

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

לאס מעבדי AMD המבוססים על מיקרו-ארכיטקטורות Zen 1, 2 ו-3 דור (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) מושפעים כאשר נעשה שימוש בטכנולוגיית Simultaneous Multithreading (SMT).

מעבדים מודרניים משתמשים בעיצוב סופר-סקלרי, שבו מבוצעות מספר הוראות בו-זמנית כדי למקסם את הביצועים. מעבדים אלה מעבדים הוראות בצינור דרך מספר שלבים: (1) אחזור, (2) פענוח, (3) תוכנית/ביצוע ו-(4) אחזור.

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

שלב התוכנית/ביצוע יכול לעבד הוראות ללא סדר כדי למקסם את מקביליות רמת ההוראה. אנו מתארים בקצרה כל אחד מהשלבים הבאים:

-לחפש. המעבד מחפש את ההוראה הבאה לביצוע מהמטמון L1i. 
-לְפַעֲנֵחַ. כדי לאפשר ביצוע יעיל, ההוראות שהושגו (פעולות מאקרו) מפוענחות למיקרו-פעולה אחת או יותר פשוטה יותר (µops) וממוקמות בתור µop. µops אלה מוזנים ל-backend, שם הם מתוזמנים ומבוצעים.
-תזמון/הפעלה. המתזמן(ים) עוקבים אחר אילו µops מוכנים לביצוע (יש להם תשומות זמינות) ומתזמן אותם באופן דינמי (לא בסדר) ליחידות הביצוע הזמינות. לליבה של CPU יש מספר יחידות ביצוע ויכולות להכיל מספר יחידות אריתמטיות ולוגיות (ALUs), יחידות ביצוע ענפיות (BRUs), יחידות ייצור כתובות (AGUs).

במהלך הניסוי, חוקרים הצליחו ליצור מחדש לחלוטין את מפתח ה-RSA הפרטי של 4096 סיביות משמש ליצירת חתימות דיגיטליות באמצעות ספריית ההצפנה mbedTLS 3.0, המשתמשת באלגוריתם מונטגומרי כדי להעלות מספר למודול הספק. נדרשו 50.500 עקבות כדי לקבוע את המפתח.

זמן ההתקפה הכולל לקח 38 דקות. מוצגות גרסאות תקיפה המספקות דליפה בין תהליכים שונים ומכונות וירטואליות הנשלטות על ידי היפרוויזר KVM. כמו כן, הוכח כי השיטה יכולה לשמש לתזמורת העברת נתונים סמויה בין מכונות וירטואליות בקצב של 0,89 Mbit/s ובין תהליכים בקצב של 2,70 Mbit/s עם שיעור שגיאה של פחות מ-0,8, XNUMX%.

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

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

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

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


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

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

*

*

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