Если вы следили за разработками в Android, вы наверняка слышали название «Verified Boot» в последние пару лет. Google представила функцию безопасности в Android 4.4 (Kitkat) совершенно незаметным способом и постепенно увеличивала свою популярность в новых выпусках своей операционной системы Android.
В последние пару дней мы видели новости о наличии « строго проверенной загрузки » в последней итерации Google самой используемой мобильной ОС в мире. Android Nougat будет использовать более высокий уровень проверки безопасности при загрузке вашего устройства. В то время как в Marshmallow Verified Boot только предупредил пользователя, в случае если он обнаружил, что с системным разделом что-то не так, Android Nougat сделает еще один шаг вперед и будет использовать то, что Google называет «Строгое принудительная проверка загрузки», что вообще не разрешать загрузку устройства, если оно обнаруживает аномалии в разделе, изменения, внесенные в загрузчик, или наличие «вредоносного» кода в устройстве. Возникает вопрос: «Что именно это означает для пользователей?», Оказывается, ответ различается для двух основных категорий пользователей Android (случайных и опытных пользователей), и мы собираемся предоставить ответ для них обоих.,
Строго Усиленный Проверенный Загрузчик
Во-первых, немного истории о проверенной загрузке: как правило, когда Android запускает проверочный тест на разделах, он делает это, разделяя разделы на блоки по 4 КБ и сравнивая их с подписанной таблицей. Если все проверено, значит, система полностью чистая. Однако, если некоторые блоки оказываются подделанными или поврежденными, Android информирует пользователя о проблемах и оставляет их на усмотрение пользователя (или нет).
Все это может измениться с помощью Android Nougat и Strongly Enforced Verified Boot. Когда Verified Boot работает в принудительном режиме, он не допустит никаких сбоев в разделах. Если он обнаружит какие-либо проблемы, он не позволит устройству загрузиться и может позволить пользователю загружаться в среде безопасного режима, чтобы попытаться исправить проблемы. Однако Strictly Enforced Verified Boot - это не просто проверка блоков данных. Обычно он также может исправлять ошибки в блоках данных. Это стало возможным благодаря наличию кодов прямого исправления ошибок, которые можно использовать для исправления ошибок в блоках данных. Тем не менее, это не всегда работает, и в тех случаях, когда это не так, вы в значительной степени мертвы в воде.
Строго проверенный ботинок: хороший, плохой и уродливый
1. Хорошее
Применение проверенной загрузки на устройствах Android повысит безопасность устройств. В случае, если устройство заражено вредоносным ПО, Strictly Enforced Verified Boot обнаружит его при следующей загрузке устройства и либо исправит его, либо, возможно, предложит вам что-то с этим сделать.
Эта функция также проверяет наличие повреждений данных, и в большинстве случаев она сможет исправить любые ошибки, внесенные в данные, благодаря кодам FEC. Google использует коды FEC, которые могут исправить одну неизвестную битовую ошибку в 255 бит . Конечно, это кажется довольно небольшим числом, но давайте рассмотрим это в перспективе, в отношении мобильного устройства:
Примечание. Приведенные ниже значения взяты из сообщения в блоге инженера Google Сами Толванена для разработчиков Android.
Google мог бы использовать коды FEC RS (255, 223): эти коды могли бы исправить 16 неизвестных битовых ошибок в 255 битах, но пространство из-за 32-битных избыточных данных было бы почти 15%, и это очень много, особенно на мобильных устройствах. Добавьте это к тому факту, что Android является преобладающей ОС на бюджетных смартфонах, которые поставляются с 4-8 ГБ памяти, и 15% дополнительного пространства наверняка кажется большим.
Пожертвовав возможностями исправления ошибок, в пользу экономии места, Google решила использовать коды FEC RS (255, 253). Эти коды могут исправить только одну неизвестную ошибку в 255 битах, но затраты пространства составляют только 0, 8%.
Примечание: RS (255, N) - это представление кодов Рида-Соломона, которые являются типом кодов с исправлением ошибок.
2. Плохой
Вы когда-нибудь слышали о «Есть две стороны монеты»? Конечно, у вас есть. Хотя намерения Google в отношении Strictly Enforced Verified Boot, несомненно, были чисты, как у единорога, у них есть свои проблемы.
Когда Strictly Enforced Verified Boot проверяет наличие вредоносных программ, он также проверяет наличие незаконных модификаций ядра, загрузчика и других вещей, с которыми я не буду утомлять вас, но это означает, что Android Nougat, вероятно, столкнется с множеством проблем с рутированием, и Перепрошивка пользовательских ПЗУ, поскольку Verified Boot не может различить код нежелательного вредоносного ПО и код, разблокировавший ваш загрузчик. Это означает, что если ваше устройство поставляется с заблокированным загрузчиком, а ваш OEM-производитель не разрешает разблокировку загрузчика, вы в значительной степени не сможете этого сделать. Надеюсь, кто-нибудь найдет для этого подвиг.
К счастью, большинство людей, которые рутируют свои устройства и прошивают собственные ПЗУ для дополнительных функций и возможностей, используют телефоны, дружественные для разработчиков, такие как Nexus. В связи с этой темой есть над чем подумать, и это определенно не конец пользовательских ПЗУ, по крайней мере, не на устройствах с разблокированным загрузчиком или позволяющих разблокировать загрузчик. Однако такие устройства, как телефоны Samsung, официально не разрешают разблокировку загрузчика, и на этих устройствах разблокировка вашего загрузчика будет определенно рассматриваться как «проблема» с помощью Verified Boot, предотвращающая загрузку устройства.
Другая проблема, которая возникнет при использовании Strictly Enforced Verified Boot, затронет даже тех пользователей, которые на самом деле не заботятся о получении привилегий root или установке пользовательских ПЗУ. Со временем, когда вы используете ваше устройство, в памяти неизбежно произойдет естественное повреждение данных; не из-за наличия вредоносного ПО, а просто потому, что это происходит. Обычно это не проблема или, по крайней мере, не такая серьезная проблема, как проверенная загрузка. Если у вас есть поврежденные данные, которые Strictly Enforced Verified Boot не может исправить при загрузке, это не позволит вашему устройству загрузиться. На мой взгляд, это более серьезная проблема, чем некоторые поврежденные данные в пользовательском разделе.
3. Гадкий
Из всех преимуществ применения Проверенной загрузки и всех потенциальных проблем наиболее тревожным, вероятно, является тот факт, что OEM-производители могут начать неправильно использовать это для блокировки своих устройств, чтобы люди не могли использовать Android для того, для чего он предназначен. быть: открытым, удобным для разработчиков и полностью настраиваемым. Strictly Enforced Verified Boot предоставит OEM-производителям возможность гарантировать, что люди не смогут разблокировать загрузчики на своих устройствах, тем самым запретив им устанавливать пользовательские ПЗУ и инструменты для улучшения функций, такие как модули Xposed.
Android Nougat: радикальное изменение в том, как работает Android?
Хотя мы уверены, что намерения Google заключались в том, чтобы просто избежать потенциальных проблем для случайных пользователей Android, которые не будут знать, что делать в случае, если их устройство подверглось воздействию вредоносных программ или если в их памяти были повреждены блоки данных, возможно, они передали OEM-производители. а производитель - идеальный инструмент, позволяющий пользователям жить с тем, что им предлагалось, и не более того.
Конечно, кто-то найдет эксплойт или обходной путь для этой ситуации, и мы надеемся, что они это сделают в истинном духе Android. Однако до тех пор, пока кто-то не найдет решение, все, что мы, как пользователи, можем сделать, это убедиться, что мы покупаем наши устройства у производителей, дружественных к разработчикам.
Избранные изображения: Flickr