בית שעון האבטחה אפל חושפת ios פרטי אבטחה

אפל חושפת ios פרטי אבטחה

וִידֵאוֹ: Nuevo iPad 2019 | Review en español (נוֹבֶמבֶּר 2024)

וִידֵאוֹ: Nuevo iPad 2019 | Review en español (נוֹבֶמבֶּר 2024)
Anonim

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

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

מיפוי WebKit JIT מפותח

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

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

מעבד מובלעות מאובטח

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

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

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

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

סנכרון סודות

זה מאוד נוח שתוכל לסנכרן את הנתונים שלך בין מספר מכשירי אפל. HomeKit מאפשר לך לנהל מכשירי IoT, AutoUnlock גורם לביטול נעילת ה- Mac שלך כאשר Apple Watch נמצא בקרבת מקום, התמונות שלך מסתנכרנות דרך iCloud וכן הלאה. אבל מבחינה ביטחונית, סנכרון הוא בעיה.

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

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

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

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

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

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

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

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

אפל חושפת ios פרטי אבטחה