התמוטטות: שיקולים על ההשפעה על מערכות מסווגות

(של אלסנדרו רוגלו)
04/04/18

המשבר, מונח שמשמעותו שם נרדף ל"קריסה הרת אסון ", או" קטסטרופה גרעינית "נכנס לשימוש נפוץ בגלל בעיות האבטחה שהודגשו על סוגים מסוימים של מעבדים כולל כמעט כל מעבדי אינטל, חלק ממעבדי AMD ו- וכן הלאה, מיוצר משנת 2010 להיום. מעט מאוד מעבדים אינם מושפעים מפגיעות זו (או על ידי ספקטרום, במובנים מסוימים דומים מאוד), ביניהם חלק טוב מה- ARM, ה- SPARC והפטל.

אבל, במה מדובר? מה זה באמת המשבר? ומעל לכל, איזו השפעה יכולה להיות לה על מערכות מחשבים ובמיוחד על מערכות מסווגות המשמשות בסביבה צבאית?

במאמר זה אנסה לשפוך מעט אור על פגיעות זו ועל השפעה אפשרית על עולם האבטחה.

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

התקלה

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

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

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

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

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

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

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

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

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

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

בהתחשב במטרה של מאמר זה ומורכבות הנושא, אין הגיון להמשיך בתיאור הפרטים על אופן פעולתם של מתקפה זו, אלא לנסות להבין את ההשלכות הביטחוניות של מתקפה זו ביחס למערכות מחשב צבאיות.
יש לקחת בחשבון את מושג האימות וההסמכה של מערכות.
הסיבה לכך היא שכפי שאני מקווה שעכשיו ברור, כמעט כל המעבדים בשילוב עם מערכות ההפעלה המשומשות ביותר נתונים להתקפה המשברבין אלה יש גם מערכות ההפעלה לקוח Windows 7 ו- Windows Server 2008 R2 64 bit, שאם תעבור לאתר המערכות המוסמכות המשותפות, מאושרות לשימוש במערכות המסווגות של מרבית אומות העולם. .

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

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

אז איך נתמודד עם בעיות הטמונות כל כך עמוק בארכיטקטורת מערכות?

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

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

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

האם בינה מלאכותית יכולה לעזור לנו ... או אולי, סביר יותר, לסבך את הבעיה עוד יותר?

 
מידע נוסף:

- https://meltdownattack.com/meltdown.pdf
- https://thehackernews.com/2018/03/microsofts-meltdown-vulnerability.html
- מבוא למעבדי INTEL: https://www.tomshw.it/differenze-i-processori-intel-75496
- הערות על מעבדי ARM: https://www.ilsoftware.it/articoli.asp?tag=Differenza-tra-processori-ARM...
- הערות על מעבדי SPARC: http://www.pcpedia.it/Il-Processore/ultrasparc.html
- הערות על מעבדי פטל: https://opensource.com/resources/raspberry-pi
- https://www.commoncriteriaportal.org