עוד שבוע, עוד BWAIN!
כפי שתדע אם הקשבת לשבוע שעבר פודקאסט (לרמוז, לרמוז!), BWAIN הוא קיצור של באג עם שם מרשים:
זה כינוי שאנו מיישמים כאשר המוצאים של מתקפת אבטחת סייבר חדשה כל כך מתלהבים מהגילוי שלהם שהם נותנים לו כינוי ידידותי ליחסי ציבור, רושמים עבורו שם דומיין של יוקרה, בונים לו אתר מותאם אישית ומעצבים לו לוגו מיוחד.
הפעם, השם התנגשות+כוח כולל תו פיסוק מציק, שהוא יתרון במתן שמות באגים, אבל מינוס בעת רישום דומיין אינטרנט. (למרבה האירוניה, מותר להשתמש בשמות דומיין -
, אבל לא +
).
אז, שם הדומיין היה צריך להיות מקוצר מעט ל https://collidepower.com, אבל האתר ייתן לך סקירה כללית של הבעיה בכל מקרה, אפילו אם סימן החיבור מופחת.
התנגש נתונים במטמון, ומדוד את ההספק הנדרש
החוקרים מאחורי החדש הזה מאמר הם אנדראס קוגלר, ג'ונאס ג'פינגר, לוקאס גינר, מרטין שוורצל, דניאל גרוס וסטפן מנגארד מאוניברסיטת גראץ באוסטריה, ולוקאס גרלאך ומייקל שוורץ ממרכז CISPA Helmholtz לאבטחת מידע בגרמניה.
אנחנו לא מתכוונים להסביר את הצורות השונות של ההתקפה הזו באריכות, כי הפרטים הטכניים של איך לקחת את המדידות, והמודלים המתמטיים המשמשים להסקת מסקנות מאותן מדידות, הם מורכבים.
אבל ליבת הבעיה, אם תסלחו על משחק המילים החלקי, היא שזיכרון המטמון שקבור בתוך שבבי מעבד מודרניים, נועד לספק שיפור ביצועים בלתי נראה ואוטומטי...
...לא תמיד כל כך בלתי נראה כפי שאתה עשוי לחשוב, ולפעמים עשוי לדלוף חלק מהתוכן שלו או את כולו, אפילו לתהליכים שלא אמורים להיות מסוגלים לראות אותו.
כפי שהשם מרמז, זיכרון מטמון (זה מבוטא מזומנים, כמו בדולרים ובסנט, לא גוּשׁפַּנקָה, כמו בכבוד ויוקרה, אם אי פעם תהיתם), שומר עותקים מיוחדים של ערכי נתונים מ-RAM קונבנציונלי במקומות נסתרים בתוך שבב המעבד עצמו.
אם ה-CPU עוקב אחר כתובות ה-RAM (מיקומי הזיכרון) שבהם השתמשת לאחרונה, ויכול לנחש מספיק טוב באילו אתה צפוי להשתמש שוב בקרוב, הוא יכול לשמור אותן באופן זמני בזיכרון המטמון שלו ובכך להאיץ מאוד הגישה השנייה שלך לערכים האלה, והגישה השלישית, הרביעית וכן הלאה.
לדוגמה, אם אתה מחפש סדרה של ערכי נתונים בטבלה כדי להמיר פיקסלים של תמונה מפורמט צבע אחד לאחר, אתה עשוי לגלות שרוב הזמן טבלת החיפוש אומרת לך לבקר בכל אחת מכתובות ה-RAM 0x06ABCC00 (שעשויות להיות המקום שבו מאוחסן הקוד המיוחד של "פיקסל שחור") או כתובת 0x3E00A040 (שיכול להיות המיקום של קוד ה"פיקסל השקוף").
על ידי שמירה אוטומטית של הערכים משתי כתובות הזיכרון הנפוצות הללו במטמון שלו, ה-CPU יכול לקצר (מבחינה פיגורטיבית, לא תרתי משמע!) ניסיונות עתידיים לגשת אל הכתובות הללו, כך שאין צורך לשלוח אותות חשמליים מחוץ למעבד. על פני לוח האם, ולתוך שבבי ה-RAM בפועל כדי לקרוא את עותק המאסטר של הנתונים המאוחסנים שם.
לכן, בדרך כלל ניתן לגשת לנתונים במטמון הרבה יותר מהר מאשר לנתונים ב-RAM של לוח האם.
עם זאת, באופן כללי, אינך יכול לבחור אילו אוגרי מטמון מתרגלים לאחסן אילו כתובות זיכרון RAM, ואתה לא יכול לבחור מתי המעבד מחליט להפסיק לאחסן את ערך "קוד הפיקסל השקוף" שלך במטמון ולהתחיל לאחסן במטמון של תוכנה אחרת. במקום זאת "מפתח קריפטוגרפי סודי במיוחד".
ואכן, המטמון עשוי להכיל תמהיל ליברלי של ערכים, מתערובת ליברלית של כתובות RAM, השייכות לתערובת ליברלית של חשבונות משתמש ורמות הרשאות שונות, הכל בו-זמנית.
מסיבה זו, יחד עם סיבות של יעילות וביצועים, אפילו תוכניות ברמת המנהלן אינן יכולות להציץ ישירות ברשימת הכתובות שנמצאות כעת במטמון, או להגיע לערכים שלהן, כדי להגן על הנתונים המאוחסנים במטמון מפני חטטנות חיצונית.
כמתכנת, אתה עדיין משתמש בהוראת קוד המכונה "קרא את קוד הפיקסלים השקוף מהכתובת 0x3E00A040", ומערכת ההפעלה עדיין מחליטה אם אמורה להיות לך גישה לנתונים האלה על סמך הכתובת המספרית 0x3E00A040, גם אם הנתונים מגיעים בסופו של דבר ישירות מהמטמון במקום מכתובת ה-RAM האמיתית 0x3E00A040.
המחיר של ביט היפוך
מה שגילו חוקרי Collide+Power, בפשטות רבה, הוא שלמרות שאינך יכול להציץ ישירות בנתונים הזמניים באחסון המטמון, ולכן אינך יכול לעקוף את הגנת הזיכרון שתחול אם תעבור דרך כתובת ה-RAM הרשמית שלו. …
...אתה יכול לנחש מתי ערכי נתונים ספציפיים עומדים להיכתב לתוך אוגרי אחסון מטמון ספציפיים.
וכאשר מספר אחד שכבר שמור במטמון מוחלף באחר, אתה יכול להסיק מסקנות לגבי שני הערכים על ידי מדידת כמות הכוח שה-CPU משתמש בתהליך.
(מעבדים מודרניים כוללים בדרך כלל אוגרים פנימיים מיוחדים המספקים קריאות צריכת חשמל עבורך, כך שאינך צריך לפתוח את מארז המחשב ולחבר חוט בדיקה פיזי איפשהו על לוח האם.)
באופן מסקרן, צריכת החשמל של המעבד עצמו, כאשר הוא מחליף ערך מטמון עם ערך חדש, תלויה בכמה סיביות השתנו בין המספרים.
אם נפשט את העניינים לבייטים בודדים, אז נחליף את הערך הבינארי 0b00000000
עם 0b11111111
(שינוי עשרוני 0 לעשרוני 255) מצריך להפוך את כל הביטים בבייט, דבר שיצרוך את מירב הכוח.
החלפת תו ASCII A
(65 בעשרוניות) עם Z
(90 בעשרוניות) פירושו שינוי 0b01000001
אל תוך 0b01011010
, שבו ארבע עמדות סיביות מתהפכות, ובכך צורכות כמות בינונית של כוח
ואם המספרים במקרה זהים, אין צורך להעיף סיביות, מה שיצרוך הכי פחות חשמל.
באופן כללי, אם תרימו את שני המספרים יחד וספרו את מספר ה-1-bit בתשובה, תמצאו את מספר ההיפוכים, מכיוון 0 XOR 0 = 0
ו 1 XOR 1 = 0
(אז אפס מציין שום היפוך), בעוד 0 XOR 1 = 1
ו 1 XOR 0 = 1
(מציין היפוך).
במילים אחרות, אם אתה יכול לגשת לחבורה של כתובות נבחרות משלך באופן שמקדם קבוצה מסוימת של אוגרי מטמון בתוך המעבד, ולאחר מכן לנטר את צריכת החשמל בצורה מדויקת מספיק כאשר הקוד של מישהו אחר מקבל את הנתונים שלו מוקצים למטמון הזה מיקומים במקום…
…לאחר מכן אתה יכול להסיק מסקנות לגבי כמה ביטים התהפכו בין תוכן המטמון הישן לחדש.
כמובן, אתה יכול לבחור את הערכים המאוחסנים בכתובות שבאמצעותן התחלת את אוגרי המטמון, כך שאתה לא רק יודע כמה ביטים כנראה התהפכו, אלא אתה גם יודע מה היו ערכי ההתחלה של אותם ביטים לפני שההיפוכים עברו מקום.
זה נותן לך עוד נתונים סטטיסטיים שבעזרתם תוכל לחזות את הערכים החדשים הסבירים במטמון, בהתחשב בכך שאתה יודע מה היה שם קודם ואת מספר הביטים הסביר ששונים כעת.
אולי לא תוכל להבין באילו נתונים בדיוק השתמש בתהליך של הקורבן שלך, אבל גם אם אתה יכול לבטל כמה דפוסי סיביות, זה עתה למדת משהו שאתה לא אמור לדעת.
ואם הנתונים האלה היו, נניח, מפתח הצפנה מסוג כלשהו, ייתכן שתוכל להמיר מתקפת כוח גס בלתי אפשרי להתקפה שבה אתה יכול פשוט להצליח.
לדוגמה, אם אתה יכול לחזות 70 סיביות במפתח הצפנה של 128 סיביות, אז במקום לנסות את כל השילובים של 128 סיביות, שזו תהיה משימה בלתי אפשרית, תצטרך לנסות 258 מקשים שונים במקום זאת (128 - 70 = 58), מה שיכול מאוד להיות אפשרי.
לא צריך להיכנס לפאניקה
למרבה המזל, "הפגיעות" הזו (המכונה כעת CVE-2023-20583) לא סביר שישמש נגדך בקרוב.
זה יותר עניין תיאורטי שיצרני השבבים צריכים לקחת בחשבון, על בסיס המציאות שהתקפות אבטחת סייבר "רק משתפרות ומהירות יותר", מאשר חור שניתן לנצל אותו היום.
למעשה, החוקרים מודים, כמעט בבושה, כי "אתה לא צריך לדאוג".
הם באמת כתבו אתה באותיות נטוי, וההטמעה לא לדאוג מודגש:
בסיום המאמר, החוקרים מציינים בצער שכמה מהתוצאות הטובות ביותר בעולם האמיתי שלהם עם ההתקפה הזו, בתנאי מעבדה אידיאליים, דלפו רק 5 סיביות בשעה.
באחד מתרחישי ההתקפה שלהם, למעשה, הם הודו שהם נתקלו ב"מגבלות מעשיות המובילות לשיעורי דליפה של יותר משנה לכל סיביות".
כן, קראתם נכון - בדקנו את זה כמה פעמים בעיתון רק כדי לוודא שאנחנו לא מדמיינים את זה.
וזה, כמובן, מעלה את השאלה, "כמה זמן אתה צריך להשאיר אוסף של בדיקות העברת נתונים פועלות לפני שתוכל למדוד באופן מהימן קצבי שידור כל כך נמוכים?"
לפי החישובים שלנו, ביט אחד בשנה נותן לך בערך 125 בייטים לאלף. בקצב הזה, הורדת סרט שובר הקופות שיצא לאחרונה בשלוש שעות אופנהיימר באיכות IMAX, שתופס ככל הנראה כחצי טרה-בייט, ייקח כ-4 מיליארד שנים. כדי להעמיד את העובדה המוזרה הזו בפרספקטיבה, כדור הארץ עצמו הוא רק בן כ-4.54 מיליארד שנים, תנו או קחו כמה מאות מיליוני חודשים.
מה לעשות?
הדרך הפשוטה ביותר להתמודד עם CVE-2023-20538 כרגע היא לא לעשות כלום, בהתחשב בכך שהחוקרים עצמם יעצו לך לא לדאוג.
אם אתה מרגיש צורך לעשות משהו, גם למעבדי אינטל וגם למעבדי AMD יש דרכים להפחית את הדיוק של כלי מדידת ההספק שלהם בכוונה, על ידי הוספת רעש אקראי לקריאות ההספק.
זה משאיר את הממוצעים שלך נכונים אבל משנה קריאות בודדות במידה מספקת כדי להפוך את ההתקפה שכבר לא ממש אפשרית הזו אפילו יותר קשה לביצוע.
הפחתת מדידת הספק של אינטל ידועה בשם הפעלת סינון מגבלת הספק ממוצע (RAPL).; AMD's מכונה מצב דטרמיניזם ביצועים.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 15%
- 25
- 70
- 700
- a
- יכול
- אודות
- מוּחלָט
- גישה
- חֶשְׁבּוֹן
- חשבונות
- דיוק
- במדויק
- לרוחב
- ממשי
- מוסיף
- תוספת
- כתובת
- כתובות
- לְהוֹדוֹת
- הודה
- שוב
- נגד
- תעשיות
- מותר
- לאורך
- כְּבָר
- גם
- למרות
- תמיד
- AMD
- כמות
- an
- ו
- אחר
- לענות
- כל
- יישומית
- החל
- בערך
- ARE
- AS
- שהוקצה
- At
- לצרף
- לתקוף
- המתקפות
- ניסיונות
- אוסטריה
- מחבר
- המכונית
- מכני עם סלילה אוטומטית
- באופן אוטומטי
- מְמוּצָע
- רקע תמונה
- מבוסס
- בסיס
- BE
- כי
- לפני
- מאחור
- להיות
- הטוב ביותר
- מוטב
- בֵּין
- B
- קצת
- שוברי קופות
- סיכה
- גבול
- שניהם
- תַחתִית
- כוח זרוע
- חרק
- לִבנוֹת
- צרור
- אבל
- by
- סליק
- חישובים
- CAN
- מקרה
- מרכז
- השתנה
- משתנה
- אופי
- בָּדוּק
- שבב
- שבבי
- בחרו
- נבחר
- התנגשות
- קוד
- אוסף
- צֶבַע
- COM
- שילובים
- מגיע
- מורכב
- המחשב
- מסקנה
- תנאים
- לצרוך
- צְרִיכָה
- להכיל
- תוכן
- תוכן
- מקובל
- להמיר
- ליבה
- לתקן
- יכול
- קורס
- לכסות
- סדק
- כיום
- מנהג
- אבטחת סייבר
- Daniel
- נתונים
- עסקה
- מציין
- תלוי
- עיצוב
- פרטים
- DID
- אחר
- ישירות
- גילה
- תגלית
- לְהַצִיג
- do
- דולר
- תחום
- שם תחום
- שמות דומיינים
- לא
- דיבוב
- כדור הארץ
- יְעִילוּת
- או
- בוטל
- של אחרים
- הצף
- מספיק
- אֲפִילוּ
- אי פעם
- בדיוק
- דוגמה
- נרגש
- להסביר
- חיצוני
- עובדה
- מהר יותר
- אפשרי
- להרגיש
- מעטים
- תרשים
- Flip
- פליפ
- בעד
- להכריח
- פוּרמָט
- צורות
- ארבע
- רביעית
- החל מ-
- עתיד
- כללי
- גרמניה
- לקבל
- לתת
- נתן
- נותן
- הולך
- מאוד
- היה
- חצי
- לקרות
- קשה
- יש
- גובה
- מוּסתָר
- חור
- שעה
- לרחף
- איך
- איך
- אולם
- HTML
- HTTPS
- חמישים ק"ג
- אידאל
- if
- תמונה
- בלתי אפשרי
- מרשים
- in
- לכלול
- כולל
- בנפרד
- מידע
- אבטחת מידע
- בתוך
- במקום
- אינטל
- התכוון
- פנימי
- אינטרנט
- אל תוך
- באופן אירוני
- IT
- שֶׁלָה
- עצמו
- רק
- שמור
- שמירה
- מפתח
- מפתחות
- לדעת
- ידוע
- מעבדה
- אחרון
- מוביל
- לדלוף
- למד
- הכי פחות
- יציאה
- עזבו
- אורך
- רמות
- סביר
- להגביל
- מגבלות
- רשימה
- מיקום
- מקומות
- סֵמֶל
- ארוך
- הסתכלות
- בדיקה
- נמוך
- מכונה
- לעשות
- התעשיינים
- רב
- שולים
- סנונית
- אב
- מתימטי
- דבר
- עניינים
- max-width
- מאי..
- אומר
- למדוד
- מדידה
- מידות
- מדידת
- זכרון
- מיכאל
- יכול
- אלף שנה
- מִילִיוֹן
- הֲקָלָה
- לערבב
- תַעֲרוֹבֶת
- דוּגמָנוּת
- מודרני
- צג
- חודשים
- יותר
- רוב
- סרט
- הרבה
- שם
- שמות
- שמות
- צורך
- חדש
- לא
- רעש
- ללא חתימה
- נוֹרמָלִי
- שום דבר
- עַכשָׁיו
- מספר
- מספרים
- of
- כבוי
- רשמי
- זקן
- on
- ONE
- יחידות
- רק
- לפתוח
- פועל
- מערכת הפעלה
- or
- אחר
- שלנו
- הַחוּצָה
- בחוץ
- סקירה
- שֶׁלוֹ
- מאמר
- דפוסי
- פול
- עבור
- ביצועים
- פרספקטיבה
- גופני
- פיקסל
- מקום
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- ועוד
- עמדה
- הודעות
- כּוֹחַ
- לחזות
- יוקרה
- מחיר
- זְכוּת
- כנראה
- בדיקה
- בעיה
- תהליך
- תהליכים
- מעבד
- מעבדים
- מְתַכנֵת
- תוכניות
- מבוטא
- להגן
- .
- לספק
- מטרה
- גם
- איכות
- שאלה
- מעלה
- RAM
- אקראי
- ציון
- תעריפים
- חומר עיוני
- עולם אמיתי
- בֶּאֱמֶת
- טעם
- סיבות
- לאחרונה
- להפחית
- מכונה
- הירשם
- רישום
- רושמים
- קרוב משפחה
- שוחרר
- החליף
- דורש
- חוקרים
- כבוד
- תוצאות
- תקין
- ריצה
- אותו
- לומר
- תרחישים
- שחור
- שְׁנִיָה
- אבטחה
- לִרְאוֹת
- לשלוח
- סדרה
- סט
- כמה
- קצר
- סִימָן
- אותות
- פשוט
- לפשט
- אתר
- חטטנות
- So
- מוצק
- כמה
- מישהו
- משהו
- אי שם
- בקרוב
- מדבר
- מיוחד
- ספציפי
- מְהִירוּת
- התחלה
- החל
- סטטיסטי
- עוד
- עצור
- אחסון
- חנות
- מאוחסן
- להצליח
- מציע
- אמור
- בטוח
- SVG
- מערכת
- שולחן
- לקחת
- לוקח
- המשימות
- טכני
- אומר
- זמני
- בדיקות
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- עצמם
- אז
- תיאורטי
- שם.
- לכן
- הֵם
- לחשוב
- שְׁלִישִׁי
- זֶה
- אלה
- כָּך
- זמן
- ל
- היום
- יַחַד
- לקח
- כלים
- חלק עליון
- לעקוב
- להעביר
- מַעֲבָר
- שָׁקוּף
- נָכוֹן
- לנסות
- שתיים
- בסופו של דבר
- תחת
- אוניברסיטה
- לא סביר
- כתובת האתר
- נוֹהָג
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- באמצעות
- בְּדֶרֶך כְּלַל
- ערך
- ערכים
- הֶבֶל
- שונים
- מאוד
- באמצעות
- לְבַקֵר
- היה
- דֶרֶך..
- דרכים
- we
- אתר
- שבוע
- טוֹב
- הלכתי
- היו
- מה
- מתי
- אם
- אשר
- בזמן
- רוחב
- יצטרך
- חוט
- עם
- מילים
- לדאוג
- היה
- לכתוב
- כתוב
- שנה
- שנים
- עוד
- אתה
- זפירנט
- אפס