Kasper, סורק מכשירים לקוד ספקולטיבי בליבת לינוקס

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

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

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

כלי סריקת גאדג'טים מבוסס על דפוסים זמין בעבר עבור הפגיעות של Spectre הראה שיעור גבוה מאוד של תוצאות חיוביות שגויות, בעוד שגאדג'טים אמיתיים רבים אבדו (ניסויים הראו כי 99% מהגאדג'טים שזוהו על ידי כלים כאלה לא יכלו לשמש להתקפות, ו-33% מהעובדים לא נצפו מכשירים המסוגלים להוביל להתקפה).

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

על קספר

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

דגם תוקף המסוגל לשלוט בנתונים (למשל, באמצעות עיסוי זיכרון או הזרקת ערך LVI), לגשת לסודות (למשל, באמצעות גישה מחוץ לתחום או שימוש לאחר חינמי) ולהדליף את הסודות הללו (למשל, דרך מבוסס מטמון, MDS- ערוצים סמויים מבוססי או נמלים). 

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

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

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

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

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

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

מקור: https://www.vusec.net


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

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

*

*

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