Я слышал, что на новых компьютерах будет встроена функция "безопасной загрузки" и что она должна предотвращать загрузку "неподписанного кода". Я не видел ни одной проблемы с возможностью загрузки не той ОС, поскольку информация о ней подразумевает. так ли это на самом деле, чтобы остановить руткиты или предотвратить установку других операционных систем на ПК?
3 ответа
Ответ зависит от того, какой ты заговорщик.
Эта технология способна предотвратить проникновение руткитов в критически важные части файловой системы, но та же технология может использоваться для предотвращения загрузки "неутвержденной" операционной системы, где Unapproved определяется создателем системы, а не ее владельцем.
Я считаю, что (на данный момент) Secureboot может быть отключен в BIOS, и любая система может быть загружена. Однако, возможно, что производитель мог бы удалить функциональность, чтобы отключить Secureboot [возможно, крупный поставщик ОС бросает на них деньги], что может ограничить то, что можно с этим сделать.
Чтобы взглянуть на "Что возможно", рассмотрим смартфоны. Некоторые [как телефоны под брендом Google и Samsung] могут загружать любую версию Android - например, поддерживаемую Cyanogenmod, в то время как другие заблокированы в операционной системе, с которой они пришли, и не могут быть обновлены - я полагаю, что LG это делает, а Motorola раньше делала это. это (у моей жены была Motorola, которую нельзя обновить с версии 2.x для Android - принудительное устаревание - я отмечаю, что ее возможная Motorola изменилась, поскольку теперь она принадлежит Google). В любом случае заблокированные загрузчики - обычное явление в мобильных телефонах, поэтому, если вы смотрите на последствия, это может быть полезным местом для проведения аналогии.
Все дело в "цепочке доверия", которую оно создает. Если у меня есть программное обеспечение, которое мне нужно, чтобы убедиться, что ничто вредоносное не может перехватить то, что я делаю, и поместить свой собственный код, я должен доверять программе, запускающей мою программу. Чтобы доверять той программе, которая запустила мою программу, нужно доверять программе, которая запустила программу, которая запустила мою программу, и так далее, и так далее.
Защищенная загрузка обеспечивает привязку к этой первой "доверенной программе". Это позволяет аппаратному обеспечению компьютера утверждать: « Никто не модифицировал этот загрузчик, и он будет вести себя точно так же, как программировали оригинальные программисты ». Затем загрузчик может проверить: « Никто не модифицировал эту ОС, и она будет вести себя точно так же, как запрограммированные оригинальные программисты ». Затем ОС может перейти к « Никто не изменил эту программу, и она будет вести себя точно так же, как запрограммированные первоначальные программисты », и теперь у вас есть "надежный путь" от вашей программы вплоть до физического оборудования, на котором работает машина, и все это проверяет, что ничего не происходит. мешать, который может перехватить или изменить поведение вашего кода.
Теперь то, что Bootloader, OS или программа делает с этой цепочкой доверия, полностью зависит от компании. Загрузчик может выбрать загрузку ОС только от определенного поставщика, и вы не можете предотвратить это. Операционная система может разрешить запуск только той программы, которая была авторизована для запуска (это то, что Windows 8 RT делает через App Store), а вы не могли. Программа может реализовать некоторые из DRM, и у вас не будет способа обойти это.
Все зависит от поставщика программного обеспечения о том, как использовать безопасную загрузку.
Secureboot обеспечивает «цепочку доверия», чтобы теоретически позволить вам запускать код, который с чрезвычайно высокой степенью достоверности является точным кодом, подписанным с помощью доверенного ключа. Микропрограмма, которая поддерживает это, заполнена производителем сертификатом x509, который встроен в микропрограмму.
Это несколько умная платформа, которая позволяет вам вручную изменять авторизованные ключи: в двух словах, PK (ключ платформы) показывает, кто управляет машиной, KEK (ключи обмена ключами) показывает, кто может обновить машину и dbx/db (ключи базы данных подписи) определяет загрузочный код, который может загружать платформу в безопасном режиме. (См .: http://blog.hansenpartnership.com/the-meaning-of-all-the-uefi-keys/ и http://kroah.com/log/blog/2013/09/02/booting-a- самоподписанный-linux-kernel/)
Как и в случае с сертификатами, которым доверяет ваш браузер, любой, у кого достаточно денег, может купить себя в предустановленной (или встроенной программе!) «цепь доверия». Таким образом, практически, Secureboot делает процесс развертывания программного обеспечения на аппаратном обеспечении массового рынка незначительно более дорогим - как для вас, так и для плохих парней.
Что хорошо. Может показаться, что вне всякого сомнения, он просто поднимает планку и не пускает отдельных лиц и мелких преступников, а проще говоря, когда дело доходит до вычислений, доверие означает деньги. Деньги - лучшая мера псевдонима, которую мы смогли создать как цивилизация. В конечном счете, доверие - это самый ценный товар, который мы знаем, поэтому деньги имеют ценность.