Научете за по-новите усложнения, които verity и Marshmallow внасят в руутването на заключени устройства.
Тъй като прахът се утаява върху Версия на Android 6.0, потребителите на Nexus в изобилие търсят OTA и Фабрични изображенияи се подготвяме за най-новата итерация на операционната система Android.
Въпреки че отвън Android 6.0 изглежда (поне визуално) забележително подобен на Android 5.0 и 5.1 (версиите на Lollipop), има редица значителни промени в вътре. Един от тях потенциално има разклонения за потребителския ROM и root общностите. Първо, малко предистория. Ако не се интересувате от това, просто преминете към „Защо е това важно“.
Функция, наречена Verity
Проблемът (това е проблем, ако харесвате root и модифициращи устройства) произтича от нещо, което посочих преди много време, когато за първи път удари AOSP - въвеждането на dm-verity към Android. Verity е защитна функция, първоначално открита в ChromeOS, предназначена да осигури сигурни и надеждни компютърни устройства, предотвратявайки модифициране на злонамерен софтуер на устройство. Обратно в Android 4.4, Google обяви истинността за Android и след това всичко остана тихо. Докато е имало някои
изследване на използването на истината, в по-голямата си част нещата са тихи. До сега, т.е.С Android 6.0 Google започна да подобрява своята игра по отношение на сигурността на устройството. Едно от основните изисквания за това е да се предотврати модифицирането на софтуера на дадено устройство без знанието на потребителя - докато много тук в XDA вземете root за даденост, представете си, че устройството на потребителя е руутнато без негово знание или съгласие и root достъпът се използва за кражба на данни. Поради тази причина Google започна да прилага проверка на системния дял на някои устройства. Те също наскоро актуализираха своите страници за поддръжка за да покрие това.
Какво означава това за руутнати потребители?
С истината на място, всички промени, направени в системния дял, ще бъдат открити при зареждане или достъп. След това ще се сблъскате с една от грешките, както се вижда по-горе. Някои ви позволяват да продължите, а други искат да ви защитят, като спрат устройството да се зарежда. Налични са три състояния. Единият се показва, когато буутлоудърът е отключен, което показва, че може да сте изложени на риск, докато не заключите отново буутлоудъра. Това е така, тъй като модифициран образ на ядрото може да заобиколи истинността, тъй като ramdisk на ядрото съдържа ключовете, използвани за проверка на състоянието на системата.
Нещата изглеждат доста незабавни за потребители, които се стремят към root на заключени устройства.
Следващото състояние се показва (вероятно), когато верността е забранена или изключена, или не може да бъде проверена поради модификации на ramdisk. Не мога да бъда сигурен, тъй като нямам Nexus 5X или 6P, който да проуча, но подозрението ми (въз основа на съобщенията) е че ако заредите друг ROM, който след това поставя собственото си ядро на устройството, страницата "различна операционна система" ще се появи.
Крайното състояние е червеното предупреждение, че устройството е повредено. Подозирам, че това означава, че изображението съдържа истинност, но проверката е неуспешна поради промяна на системния образ. Отново, не можем да бъдем сигурни без хардуер в ръка, но тази грешка изглежда е тази, която ще видите, ако стандартно устройство е било модифицирано от част от злонамерен софтуер.
Защо това е важно?
В Android M (6.0) понастоящем root изисква да бъдат направени модификации в изображението на ядрото, в допълнение към файловата система. Това означава, че дори ако пренебрегнем истинността (като например на по-старо устройство Nexus като a Nexus 7 2013 г), е необходимо ново изображение на ядрото, за да се заобиколят защитите на SELinux, които предотвратяват работата на root достъпа.
Ако искате root днес, на Android Marshmallow, ще трябва да използвате модифициран образ за зареждане.
До сега е имало модифицирани ядра за да настроите SELinux в разрешителен режим, но това не е идеално решение, тъй като означава, че не получавате ползите за сигурност от защитата на SELinux. И след като Сценична трескасага, предполагам, че можете да видите предимствата на SELinux и други защити срещу злоупотреби със сигурността.
XDA старши признат разработчик, Верижен огън, master of all-things root пусна an актуализирана версия на SuperSU което запазва SELinux в режим на прилагане, но отново изисква да бъдат направени модификации в конфигурацията на SELinux на изображението за зареждане. Това означава, че трябва да инсталирате SuperSU, както и модифициран образ за зареждане.
И това е всичко хубаво, докато американските превозвачи не влязат в микса. Бастионите на анти-потребителския избор, силните лидери като AT&T и Verizon са известни с това, че се наслаждават на заключването на устройства, като не позволяват на потребителите да инсталират персонализиран фърмуер чрез техните ключалки на буутлоудъра. Всъщност Verizon са особено лоши в това, че дори не предават актуализации на фърмуера на потребителите, със Sony Xperia Z3v не е настроен да получава Marshmallow докато останалата част от гамата Z3 (и наистина гамата Z2) ще го направи. По дяволите, те все още дори не са пуснали Lollipop на устройството, въпреки че е достъпно за доста време (ноември 2014 г.) на обикновения Z3.
Вместо неофициално отключване на буутлоудър (те са доста редки в наши дни, освен изтекли инженерни буутлоудъри за няколко устройства на Samsung), изглежда много малко вероятно че ще получите root на Android 6.0 без някаква божествена намеса - комбинацията от dm-verity (за да попречите на телефона ви да стартира с всякакви модификации на системен дял) и изискването за SELinux промени в ramdisk (за да позволи на root да работи), изглежда, че ще направят нещата доста незабавни за тези, които се стремят към root заключени устройства.
Android Pay?
И накрая, Android Pay. Вероятно звучи напълно несвързано с останалата част от тази статия, но всъщност е доста уместно. Android Pay разчита на новото API на SafetyNet в рамките на собствената рамка на услугите на Google, която е предназначена да предоставя атестации за състоянието на устройството за това дали устройството е руутнато, модифицирано по друг начин или работи в неодобрено състояние.
Докато има a проект разглеждайки отговорите за подправяне на SafetyNet, в момента изисква плъгин Xposed и това не изглежда вероятно да се промени, като се има предвид как работи. Xposed изисква root и прави модификации на системния дял. Това прави това трудно за извършване на устройство, заключено с буутлоудъра. Дори тогава неща като това просто влизат в игра на котка и мишка с Google. Със SafetyNet руутираните устройства (или изобщо модифицираните устройства) се разглеждат като „несъвместими с CTS“, което е евфемизъм за модифицирани устройства.
Има много повече написано за SafetyNet в тази разглобена публикация в блога, но със сигурност изглежда, че можем да идентифицираме някои области, които Google иска да ограничи. Първо, те не харесват root, Xposed и всичко, което променя системния дял. Второ, изглежда, че Google обмисля откриването на потребители, които имат активирано блокиране на реклами - SSL ръкостискането проверява pubads.g.doubleclick.net
със сигурност ми предложете, че Google иска да знае дали блокирате реклами на вашето устройство. Като се има предвид, че root обикновено е предпоставка там, но VPN API потенциално може да се използва за това това без root, изглежда, че Google поне иска да има представа кой (или колко хора) блокира реклами. Блокирането на реклами е актуален проблем, като се има предвид стремежът на Apple да го поддържа в уеб браузъра (вероятно за насърчаване хората да използват повече приложения, където те контролират изживяването и могат да предлагат неблокируеми реклами), и тези ходове са интересно.
Заключение
Ако искате root днес, на Android Marshmallow (6.0), ще трябва да използвате модифициран образ за зареждане. Въпреки че остава да се види дали това ще остане вярно за неопределено време, изглежда вероятно да е така за известно време - промените в SELinux правят много по-трудно получаването на root достъп без модифициране на изображението за зареждане. И тъй като модифицирането на изображението за зареждане изисква отключен буутлоудър, това може да сложи край на root (и Xposed и други root функции) на устройства, които се доставят с програми за зареждане, които не могат да бъдат отключени от крайните потребители. Dm-verity също се появява и изглежда е активиран в режим на прилагане на нови устройства. Това ще затрудни модифицирането на /system, дори ако трябва да получите root достъп, без отново да имате отключен буутлоудър.
Това променя ли мнението ви за устройства със заключен зареждащ механизъм? Android достигна ли етапа, в който все още бихте купили устройство със заключен буутлоудър, ако вашият оператор ви предложи добра сделка, или се интересувате само от отключени устройства? Какви root приложения или функции бихте пропуснали при заключен буутлоудър?
Чувствайте се свободни да споделите мислите си в коментарите по-долу.