שתי נקודות תורפה חדשות ב- eBPF מאפשרות הגנה על מעקפים נגד ספקטר 4

לוגו ספקטר

לאחרונה החדשות פרצו זאת זוהו שתי נקודות תורפה בגרעין לינוקס זה לאפשר להשתמש תת המערכת eBPF לעקוף את ההגנה מפני התקפת ספקטר 4 (SSB, מעקף חנות ספקולטיבית). מוזכר כי באמצעות תוכנית BPF חסרת זכויות יוצרים, תוקף יכול ליצור תנאים לביצוע ספקולטיבי של פעולות מסוימות ולקבוע את התוכן של אזורים שרירותיים של זיכרון הליבה.

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

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

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

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

שים לב כי ניתן להתעלל בכל נושא ללא תלות באחר, בהתבסס על בשגיאות שאינן חופפות.

ה- PoCs חולקו באופן פרטי עם מנהלי תת -המערכת BPF ל- עזרה בפיתוח הסדרים.

הפגיעות הראשונה CVE-2021-35477: זה נגרם על ידי פגם במנגנון האימות של תוכנית BPF. כדי להימנע מהתקפת ספקטר 4, בודק מוסיף הוראה נוספת לאחר פעולות שמירה שעלולות להטריד בזיכרון, ושומר ערך אפס כדי לקזז עקבות של הפעולה הקודמת.

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

הפגיעות השנייה CVE-2021-3455: קשור לעובדה שכאשר בודק BPF מזהה פעולות שמירה שעלולות להיות מסוכנות בזיכרון, האזורים הבלתי -ממוסמים של מחסנית BPF, פעולת הכתיבה הראשונה שבה היא אינה מוגנת, מתעלמים.

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

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

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

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

מקור: https://www.openwall.com/


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

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

*

*

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