Все жалуются на заблокированные загрузчики на телефонах. Судя по загрузчику, код хранится в разделе, который смонтирован /boot. После того, как телефон рутирован, почему нельзя просто удалить то, что находится в / boot, и поместить туда свои собственные вещи. Когда вы выполняете OTA и обновляете загрузчик, я предполагаю, что он просто записывает файлы в этот раздел.
В дистрибутиве Linux я могу заменить grub, который хранится в boot, на LILO или что-то еще, просто заменив файлы в /boot и записав PBR в заголовок этого раздела, чтобы затем загрузиться в LILO. Когда ПК загружается, он просматривает MBR, который говорит ему посмотреть на активный раздел (вероятно, с /boot), связать его и прочитать код LILO в начале, который затем делает что-то со всеми другими файлами в /boot .
Как устройства Android загружаются по-разному, что предотвращает это?
Загрузчик вообще не на /boot
разделе, а на отдельном, хотя суть вопроса не в этом.
Проблема возникает, когда загрузчик имеет криптографическую подпись, которая предназначена для предотвращения замены его собственным. Устройство проверит подпись загрузчика при запуске и откажется загружать загрузчик с недействительной подписью. После этого загрузчик проверяет подпись всего, что находится в /boot
, отказываясь загружать это, если оно не подписано правильно. Таким образом, вы не можете перезаписать ни один из разделов без того, чтобы устройство перестало загружаться.
Когда загрузчик разблокирован, он не будет проверять подпись других образов разделов, поэтому вы можете устанавливать пользовательские ПЗУ. Это означает, что вам не нужно заменять загрузчик, чтобы изменить /boot
, вам просто нужно разблокировать его, чтобы он пропускал проверку подписи на /boot
. Если загрузчик заблокирован и подписан, то вы, по сути, застряли, за исключением эксплойта, который позволяет вам обойти один из шагов проверки подписи.
Это также означает, что заблокированные загрузчики сами по себе не обязательно являются проблемой. Настоящая проблема заключается в подписанных загрузчиках, которые не предоставляют механизма разблокировки.
Этот процесс (более или менее) аналогичен безопасной загрузке UEFI , хотя, вероятно, это не совсем та же архитектурная реализация. Кстати, в вашем примере с Linux одно из основных критических замечаний по поводу безопасной загрузки UEFI заключается в том, что ее потенциально можно использовать для предотвращения установки альтернативных ОС на традиционные ПК с помощью той же схемы проверки подписи.
Каран Радж Баруа
рекламаfasdfasdf