מבט על סיבוכים של שורש מרשמלו ו-Verity

למד על הסיבוכים החדשים יותר ש-verity ומרשמלו מביאים להשרשה של מכשירים נעולים.

כשהאבק מתיישב על שחרור אנדרואיד 6.0, משתמשי Nexus בשפע צוללים עבור OTAs ו תמונות מפעל, ולהתכונן לאיטרציה האחרונה של מערכת ההפעלה אנדרואיד.

אמנם, מבחוץ, אנדרואיד 6.0 נראה (חזותי, לפחות) דומה להפליא לאנדרואיד 5.0 ו-5.1 (המשחררת של Lollipop), ישנם מספר שינויים משמעותיים ב- בְּתוֹך. לאחד מהם יש פוטנציאל השלכות לקהילות ה-ROM המותאם אישית ולקהילות השורש. ראשית, קצת רקע. אם אינך מעוניין בכך, פשוט דלג למטה אל "למה זה חשוב".

תכונה בשם Verity

הבעיה (זו בעיה אם אתה אוהב מכשירי שורש ושינוי) נובעת ממשהו שציינתי לפני הרבה זמן, כשזה פגע לראשונה ב-AOSP - ההקדמה של dm-verity לאנדרואיד. Verity היא תכונת אבטחה, שנמצאה במקור ב-ChromeOS, שנועדה לספק מכשירי מחשוב בטוחים ומהימנים, ולמנוע מתוכנה זדונית לשנות מכשיר. בחזרה לאנדרואיד 4.4, גוגל הכריזה על verity עבור אנדרואיד, ואז הכל נשאר שקט. אמנם היו כמה מחקר על שימוש באמת, לרוב הדברים היו שקטים. עד עכשיו, כלומר.

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

דפי תמיכה כדי לכסות את זה.

מה זה אומר עבור משתמשים שורשיים?

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

דברים נראים לא מהנים עבור משתמשים שואפי שורש במכשירים נעולים.

המצב הבא מוצג (ככל הנראה) כאשר verity מושבת או כבוי, או לא ניתן לסימון עקב שינויים ב-ramdisk. אני לא יכול להיות בטוח, בגלל היעדר Nexus 5X או 6P לחקור, אבל החשד שלי (על סמך ההודעות) הוא שאם אתה טוען ROM אחר, שאחר כך מציב את הקרנל שלו על המכשיר, הדף "מערכת הפעלה אחרת" לְהוֹפִיעַ.

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

למה זה חשוב?

ב-Android M (6.0), השורש דורש כרגע שינויים בתמונת הליבה, בנוסף למערכת הקבצים. זה אומר שגם אם נתעלם מהאמת (כגון במכשיר Nexus ישן יותר כמו א Nexus 7 2013), דרושה תמונת קרנל חדשה, כדי לעקוף הגנות SELinux שמונעות מגישה לשורש לפעול.

אם אתה רוצה שורש היום, באנדרואיד מרשמלו, תצטרך להשתמש בתמונת אתחול שונה.

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

מפתח מוכר בכיר ב-XDA, אש שרשרת, Master of all-things root שחררה an גרסה מעודכנת של SuperSU אשר שומר על SELinux במצב אכיפה, אך הוא מצריך שוב שינויים בתצורת SELinux של תמונת האתחול. זה אומר שאתה צריך להתקין את SuperSU, כמו גם תמונת אתחול שונה.

וזה הכל טוב ויפה, עד שמובילים בארה"ב ייכנסו לתמהיל. המעוזים של אנטי-בחירה של צרכנים, האיתנים כמו AT&T ו-Verizon ידועים כמי שנהנים מנעילה של מכשירים, ומונעים ממשתמשים להתקין קושחה מותאמת אישית דרך מנעולי מאתחול האתחול שלהם. ואכן, Verizon גרועים במיוחד בלא להעביר עדכוני קושחה למשתמשים, עם ה- Sony Xperia Z3v לא מוגדר לקבל מרשמלו בעוד ששאר טווח ה-Z3 (ואכן טווח ה-Z2) יעשה זאת. לעזאזל, הם עדיין לא הוציאו את Lollipop למכשיר, למרות שהוא זמין עבורו לא מעט זמן (נובמבר 2014) ב-Z3 הרגיל.

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

Android Pay?

לבסוף, Android Pay. זה כנראה נשמע לגמרי לא קשור לשאר המאמר הזה, אבל זה למעשה די רלוונטי. Android Pay מסתמך על החדש ממשקי API של SafetyNet במסגרת השירותים הקנייניים של Google, שנועדה לספק אישורי מצב מכשיר לגבי האם מכשיר נמצא בשורש, או שונה או פועל במצב לא מאושר.

אמנם יש א פּרוֹיֶקט כשמסתכלים על תגובות זיוף ל-SafetyNet, זה דורש כרגע תוסף Xposed, וזה לא נראה שישתנה, בהתחשב באיך זה עובד. Xposed דורש root, ומבצע שינויים במחיצת המערכת. זה מקשה על ביצוע זה במכשיר נעול מאתחול. גם אז, דברים כאלה פשוט נכנסים למשחק של חתול ועכבר עם גוגל. עם SafetyNet, מכשירים שורשיים (או בעצם מכשירים ששונו בכלל), נתפסים כ"לא תואמים ל-CTS", שזה לשון הרע למכשירים שעברו שינוי.

נכתב הרבה יותר על SafetyNet בפוסט זה בבלוג, אבל בהחלט נראה שאנחנו יכולים לזהות כמה תחומים שגוגל רוצה להדביק עליהם. ראשית, הם לא אוהבים את root, Xposed וכל דבר שמשנה את מחיצת המערכת. שנית, נראה שגוגל שוקלת לזהות משתמשים שחסימת פרסומות מופעלת - לחיצת היד של SSL בודקת pubads.g.doubleclick.net בהחלט מציע לי שגוגל תרצה לדעת אם אתה חוסם מודעות במכשיר שלך. בהתחשב בכך ש-root הוא בדרך כלל תנאי מוקדם שם, אבל זה עשוי לשמש את ה-API של VPN זה בלי שורש, נראה שגוגל לפחות רוצה לקבל מושג מי (או כמה אנשים) חוסמים מודעות. חסימת פרסומות היא נושא אקטואלי בהינתן הדחיפה של אפל לתמוך בה בדפדפן האינטרנט (ללא ספק כדי לעודד אנשים להשתמש יותר באפליקציות, שבהן הם שולטים בחוויה ויכולים להציע פרסומות שאינן ניתנות לחסימה), והמהלכים האלה כן מעניין.

סיכום

אם אתה רוצה שורש היום, באנדרואיד מרשמלו (6.0), תצטרך להשתמש בתמונת אתחול שונה. למרות שנשאר לראות אם זה יישאר נכון ללא הגבלת זמן, נראה שזה יקרה לזמן מה - שינויים ב-SELinux מקשים בהרבה על גישת שורש מבלי לשנות את תמונת האתחול. ומכיוון ששינוי תמונת האתחול מצריך טוען אתחול לא נעול, זה עלול לשים קץ לשורש (ול-Xposed ותכונות שורש אחרות) במכשירים הנשלחים עם מטעני אתחול שלא ניתן לבטל את הנעילה על ידי משתמשי קצה. גם Dm-verity מופיעה, ונראה שהיא מופעלת במצב אכיפה במכשירים חדשים. זה יקשה על שינוי /system, גם אם היית מקבל גישת שורש, מבלי שיהיה לך שוב טוען אתחול לא נעול.

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

אל תהסס לשתף את המחשבות שלך בתגובות למטה.