חוקרי האבטחה Enrique Nissim ו-Krzysztof Okupski מחברת IOActive איתרו פרצת אבטחה חמורה המשפיעה על מיליוני מעבדי AMD.
הפרצה זכתה לשם SinkClose וקיבלה את קוד הזיהוי CVE-2023-31315 עם דירוג החומרה 7.5 של CVSS, כאשר היא מאפשרת לגורם זדוני להשתיל קוד במעבד באופן בלתי ניתן לגילוי.
רקע על רמות ההרשאה במחשבים
על מנת להבין את החומרה של פרצת ה-SinkClose יש צורך במעט רקע על האופן בו פועלים מחשבים כיום. באופן כללי, מעבדים מודרניים מגיעים עם סט פקודות רחב, בהן יכול המשתמש או מערכת ההפעלה להשתמש, כאשר לפקודות יש מספר רמות הרשאה המוכרות כ-Ring (“טבעת”), החל מ-Ring 3 בה מבצע המשתמש את רוב הפעולות שלו ועד Ring 0 לפעולות ברמת ליבת המערכת (Kernel).
עם זאת, קיימות למעשה עוד שתי רמות “נסתרות” של הרשאות, Ring -1 הנמצאת בשימוש על ידי ה-Hypervisor ומאפשרת לבצע וירטואליזציה ולהריץ מכונות וירטואליות על המעבד, ורמת Ring -2, בה נמצא “מצב ניהול המערכת” SMM (ר”ת System Management Mode) המבצע פעולות שונות כמו אבטחה, ניהול חשמל ועוד… כל זאת מבלי שהמערכת עצמה מודעת לפעולות אלו מאחר והן פועלות ברמה נמוכה ומאובטחת לכאורה.
Awesome talk, 'AMD Sinkclose: Universal Ring-2 Privilege Escalation,' presented by IOActive Principal Security Consultants Enrique Nissim & Krzysztof Okupski at this year's @defcon! pic.twitter.com/lTIfxbRyMd
— IOActive, Inc (@IOActive) August 10, 2024
פרצת ה-SinkClose
במקרה של פרצת ה-SinkClose, המשפיעה על מיליוני מעבדי AMD (רשימה בהמשך), משתמש זדוני שמצליח להשיג הרשאה ברמת קרנל Ring 0, דבר אותו יש לבצע בפרצה נפרדת, יכול לקבל הרשאת Ring -2 ולשתול ב-SMM קוד המוכר כ-bootkit גם אם ה-SMM “נעול” (SMM Lock), זאת על ידי ניצול פיצ’ר בשם TClose, שנועד לאפשר תמיכה במערכות מחשוב ישנות.
ברגע שפורץ מצליח לנצל את הפרצה ולשתול קוד זדוני ב-SMM, למעשה אין שום דרך אפשרית בעבור מערכת ההפעלה או תוכנות האבטחה הרגילות לאתר את הקוד הזדוני הזה ולדווח עליו, כאשר הפתרון היחיד למציאת הקוד הזדוני שנשתל ב-SMM הוא על ידי קורא SPI Flash לקריאת המידע מה-SMM באופן פיזי.
מעבדים החשופים לפרצה
פרצת ה-SinkClose החדשה משפיעה על מיליוני מעבדי AMD (רשימה מלאה), בהם:
- מעבדי EPYC לשרתים מהדור הראשון, שני, שלישי ורביעי.
- מעבדי Ryzen נייחים מסדרות ה-3000, 4000, 5000, 7000 ו-8000.
- מעבדי Ryzen ניידים מסדרות ה-3000, 4000, 5000 ו-7000.
- מעבדי Threadripper מסדרות ה-3000 ו-7000.
- מאיץ’ ה-Instinct MI300A.
חברת AMD פרסמה כי שחררה תיקוני אבטחה לתיקון פרצת SinkClose החדשה.
המידע על פרצת ה-Sinkhole פורסם במהלך כנס ההאקינג DefCon 32 המתקיים בימים אלו בארה”ב תחת הכותרת AMD Sinkclose: Universal Ring-2 Privilege Escalation.