Microcode Decryptor, כלי המאפשר לפענח את המיקרוקוד של מעבדי אינטל

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

מפענח מיקרוקוד מאפשר לפענח את המיקרוקוד של חלק ממעבדי אינטל כגון Atom, Pentium ו- Celeron המבוססים על מיקרו-ארכיטקטורות Goldmont ו- Goldmont Plus, מה שפותח את הדלת לתרחישים שונים, כמו הבנה כיצד אינטל הטמיעה תכונות מעבד מסוימות או הטמיעה תכונות שונות ותיקוני אבטחה.

טכניקת ה-Red Unlock התפתחה על ידי אותם חוקרים ב-2020 ניתן להשתמש כדי לחלץ את המיקרוקוד המוצפן. האפשרות המוצעת של פענוח המיקרוקוד מאפשרת לחקור את המבנה הפנימי של המיקרוקוד ואת השיטות ליישום הוראות מכונה x86. בנוסף, החוקרים שחזרו את פורמט עדכון הקושחה, אלגוריתם ההצפנה והמפתח המשמש להגנה על המיקרוקוד (RC4).

כדי לקבוע באיזה מפתח הצפנה להשתמש, נעשה שימוש בפגיעות ב-Intel TXE כדי לאפשר מצב ניפוי באגים לא מתועד, בשם הקוד "Red Unlock" על ידי החוקרים. במצב ניפוי, הצלחנו לטעון dump עם מיקרוקוד עובד ישירות מהמעבד ולחלץ ממנו את האלגוריתם והמפתחות.

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

באשר לאופן שבו התאפשר פיתוח של Microcode Decryptor, הם מזכירים שזה קרה לפני שלוש שנים כאשר Goryachy וארמולוב מצאו פגיעות קריטית, שנוספה לאינדקס Intel SA-00086, שאפשרה להם לבצע את הקוד לפי בחירתם בתוך ה-Chip-Independent. קרנל שכללה תת-מערכת המכונה Intel Management Engine.

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

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

דובר אינטל אמר כי:

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

"היכולת של חוקרים לנתח מיקרוקוד יכולה לאפשר גילוי של פגיעויות חדשות. מאז שמיקרוקוד זה נחשף, אינטל מזמינה חוקרים להשתתף בתוכנית ה-microcode bug bounty למקרה שיתגלו בעיות כלשהן", אמרו לנו.

מצידם, מפתחי הכלי הזה העירו על כך

"ההזדמנות לקרוא מיקרוקוד של CPU יכולה לעזור להבין כיצד אינטל הטמיעה טכנולוגיות כמו Intel Trusted Execution Technology (TXT) או הפחתת פגיעויות חמורות כמו Meltdown ו-Spectre."

ירמולוב, אחד המדענים האחרים, הוסיף שמשמעות הזמינות של הכלי כי האנשים עכשיו אתה יכול לחקור את XuCode, גרסת קוד x86 במצב 64 סיביות המשמשת להטמעת חלקים של Intel SGX המוורדת כעדכון מיקרוקוד. SGX היא הטכנולוגיה של אינטל ליצירת מובלעות זיכרון מאובטחות: אלו הם אזורים מוגנים שתוכניות ומשתמשים אחרים, כולל מערכת ההפעלה או ההיפרוויזר, אינם יכולים להתערב בהם.

XuCode הוא די מעניין: ההוראות הספציפיות ל-x86 לניהול מובלעות SGX הן כה מורכבות עד שהן מחולקות לרצפים של הוראות XuCode שמבצעות את הפעולות הדרושות.

הוראות XuCode אלו הן סטנדרטיות עבור ארכיטקטורת x86 של 64 סיביות עם כמה הרחבות, והן מחולקות למיקרו-פעולות x86 רגילות על ידי המעבד. כאשר אפליקציה משתמשת בהוראת SGX ברמה גבוהה, המעבד יכול לקפוץ ל-XuCode שלו כדי לעבוד.

רצפי XuCode אלה מאוחסנים במיקרוקוד וניתן כעת לחלץ אותם עם הסקריפטים של Python לעיל ולנתח אותם עם ערכות הנדסה הפוכה x86 סטנדרטית.

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


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

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

*

*

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