Золотой ключик — неустранимая возможность полного обхода Secure Boot на большинстве Windows-устройств



    Исследователями безопасности MY123 и Slipstream был найдена уязвимость в реализации механизма Secure Boot многих устройств, позволяющая полностью обойти требование наличия надлежащим образом подписанного исполняемого кода для запуска на этих устройствах. Это, в частности, означает, что владельцы планшетов с Windows RT вновь получат возможность устанавливать альтернативную операционную систему. Но так же это означает, что и головной боли у системных администраторов прибавится, ведь уязвимость открывает новые возможности для установки руткитов.


    Энтузиасты разместили подробную информацию на специальной страничке, оформленной в стиле демо-сцены.


    Опция Secure Boot — разрешает и\или запрещает возможность запуска и установки других ОС на данном устройстве.
    Secure Boot — это версия протокола загрузки, его работа основана на "зашивании" в BIOS ключей для проверки сигнатур загрузочного кода. Secure Boot отказыватся от выполнения любой загрузки при не совпадении подписей. Данная технология защиты от взлома и нелицензионного использования ОС основана на модульности UEFI (Unified Extensible Firmware Interface ) BIOS. UEFI — предназначена для инициализации оборудования при включении системы и передачи управления загрузчику ОС.


    Secure Boot входит в спецификацию UEFI 2.2. Включенный Secure Boot обычно не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, и, по идее, беспокоиться тут не о чем. Однако, неотключаемый Secure Boot есть на планшетах на ARM с предустановленной Windows! А в условиях приближающегося срока окончания поддержки данных устройств пользователи столкнулись с перспективой получить на руках стремительно устаревающий кусок кафельной плитки вместо планшета с весьма приличным железом.


    Подробней о функционировании UEFI можно почитать в материале "Немного про UEFI и Secure Boot".


    Не было бы счастья, да несчастье помогло. Microsoft практически сами "слили" информацию о способе обхода Secure Boot.


    Если попытаться кратко и очень приблизительно описать суть найденной уязвимости, то она заключается в следующем. Модульная архитектура UEFI позволяет последовательную загрузку объектов в память. Microsoft предусмотрели специальную отладочную процедуру, предназначенную для производителей устройств и разработчиков драйверов. Эта процедура позволяет загрузить самоподписанный бинарный код в обход обязательных проверок. На устройствах под управлением Windows с залоченым загрузчиком, где эта процедура отсутствует, ее можно попытаться добавить самому. О самой процедуре и способах ее добавления стало известно в результате исследования относительно свежих пакетов обновления Windows (рэдстоун, привет!).


    image


    Фактически, мы имеем дело с преднамеренно внедренным бэкдором во все варианты дистрибутива Windows начиная с 8, а исследователи всего лишь нашли "золотой ключик" от секретного театра, "оставленный нерадивым хозяином на стойке в баре".


    Ранее сообщалось, что Microsoft удалила из Windows RT встроенный бэкдор, который позволяет обойти Secure Boot и установить Linux, однако на самом деле это не так. Это были всего лишь полумеры. Характер проблемы таков, что не позволяет действительно закрыть уязвимость, не поломав при этом "безопасную" загрузку для множества уже существующих носителей информации.

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 41

    • UFO just landed and posted this here
        0

        О, спасибо, что разместили тут эту новость.


        И да, это просто прелестно.

          +2
          Устраняется эта «неустранимая» уязвимость на всех машинах с ключом Microsoft KEK тем же обновлением, который закрывает уязвимость в загрузчике, путем добавления хешей уязвимых загрузчиков в переменную dbx, что запрещает их загрузку. Если же у вас свой собственный ключ в KEK — добавьте эти хеши самостоятельно.
            +1

            Особенности перевода. Она не «неустранимая», а «неустранимая без поломки большого количества существующих сейчас загрузочных медиа (дисков/флэшек/рекавери)».

              0
              А кто-то ими вообще пользуется на планшетах? фактори ресет и все.
              +2
              it'd be impossible in practise for MS to revoke every bootmgr
              earlier than a certain point, as they'd break install media, recovery partitions,
              backups, etc.

              Это даже не особенность перевода, это написано в оригинале прямым текстом. Microsoft не пойдет на «устранение» этой уязвимости, потому, что ущерб от устранения будет превышать потенциальную выгоду на порядки. Все, что они будут делать, это пытаться затруднить всем жизнь, но не более того.
                +1
                Деваться им в этой ситуации некуда, так что пойдут как миленькие. У меня сейчас нет тестовой системы с Windows, чтобы проверить это утверждение, но я обязательно вернусь к этому вопросу, когда она появится.
            • UFO just landed and posted this here
                +2
                который является непосредственным участником механизма Secure Boot. А если учесть, что Microsoft была главным идеологом и является главным пользователем технологии с подавляющим численным перевесом над другими пользователями. То все же можно говорить о компрометации Secure Boot.
                • UFO just landed and posted this here
                    +1
                    Ключи MS внедрены в 99% материнских плат девайсов с поддержкой UEFI. И даже дистрибутивы Линукса используют именно эти ключи, а не свои собственные. Поэтому всегда есть возможность задействовать уязвимость через использование загрузчика Microsoft, даже если стоит Линукс.
                    • UFO just landed and posted this here
                        0
                        Я подкоректировал заголовок, но несколько иначе. И я не вижу ничего плохого, чтобы не быть хотя бы чуть-чуть MS-хейтером.
                        • UFO just landed and posted this here
                            0
                            Secure boot для введения ограничений на возможность исполнения произвольного кода:
                            * ограничение списка ОС, которые можно запустить на девайсе;
                            * предотвращение запуска руткитов и буткитов.

                            Найденная уязвимость снимает оба ограничения полностью. Да, сама она лежит за пределами спецификаций Secure boot, но при этом делает Secure boot полностью бесполезным, т.е. компрометирует его.

                            Гладко было на бумаге, да забыли про овраги. Secure boot не уязвим на бумаге, но все существующие (или как минимум подавляющее большинство) его реализации оказались скомпрометированы. И скомпрометированы они не кем нибудь, а действиями самого главного локомотива всей технологии — компанией Microsoft.

                            image
                              0

                              Сопротивление не обязательно бесполезно.


                              Не могу быстро найти статью, так что пишу по памяти.


                              В какой-то лаборатории игрались с генетическими алгоритмами, пытаясь получить FPGA, выполняющую роль мультивибратора, выдающего частоту в 1 Гц. Как всегда с генетическими методами, на выходе получилась жуткая мешанина из компонентов, не описуемая никакой логикой, которая тем не менее выдавала требуемую частоту. Но наибольший ужас вызывал транзистор, подключеный к остальной схеме ОДНИМ выводом.


                              "Это что за хрень!" — сказали экспериментаторы и убрали его из схемы. Частота на выходе пропала! 8-O Подключили обратно — появилась!


                              Они долго ломали голову, пока наконец не нашли разгадку. Подключенный одним выводом транзистор выполнял роль антенны, которая принимала выдаваемую каким-то плохо заэкранированным прибором в соседней комнате как раз на требуемой частоте.

                            +4

                            Знаете, если утечёт приватная часть сертификата какой-нибудь комоды, которой можно будет подписать что угодно и которую по каким-то причинам решат не отзывать — это будет проблема комоды лично или TLS в целом? Это невероятный сценарий (особенно часть «решат не отзывать»), но здесь мы наблюдаем именно это.


                            Насколько я понимаю, все или подавляющее большинство устройств доверяют уязвимому bootmrgw.efi. bootmrgw.efi доверяет чему угодно. Ни один из компонентов этой цепочки в ближайшем будущем не починят, если верить авторам.


                            Это проблема системы как таковой.

                              +1
                              Я прям вижу, как разворачивают кризисный центр, а в центральные офисы Microsoft уже едут сотни срочных посылок с BDSM-атрибутикой внутри.

                              Кто-то вел себя очень плохо последние несколько лет и должен быть наказан.
                              • UFO just landed and posted this here
                                  +1
                                  Ваша точка зрения мне понятна, ок. Но как автор поста, я могу транслировать свое видение ситуации. Вашу точку зрения смогут увидеть все, кто зайдет в комментарии.
                                    +1
                                    Хорошо, сберегу Вам нервы.
                    0
                    Ну проста красавцы. Микро софт как всегда в своем репертуаре.
                      0
                      Осталось за малым — придумать, как поставить вин10 на Limia 2520 и я сразу же ее куплю.
                        +2
                        Я думаю, стоит покупать, а потом думать. Сейчас начнут сметать с прилавков все девайсы MS. Не было бы счастья, да несчастье помогло.
                          +1
                          так может это был такой тонкий ход M$? :)
                          0
                          У меня сейчас surface лежит, интересно посмотреть на него с вин 10
                        • UFO just landed and posted this here
                            +1
                            От SecureBoot есть толк, если вы очень серьёзно озабочены безопасностью вашего ПК и у вас таки присутствует паранойя. Тогда вы спокойно убиваете в UEFI все не нравящиеся вам ключи, ставите свои, берёте ваш любимый и защищённый дистибутив операционки и подписываете его загрузчик своим ключём. Всё, у вас всё схвачено — ничего, кроме вашего загрузчика запуститься не может.
                            • UFO just landed and posted this here
                                0
                                Совершенно определённо он никак не защитит тебя от того что кто то у тебя вытащит винт и запишет туда всё что захочет (в том числе и то что запустится после бута) или прочитает.

                                Да, но то, что он запишет, не будет подписано вашим ключом и не будет запущено. Да, прочитает, но если вы пошли на то, чтобы перезаписать ключи в UEFI, то, скорее всего, диск у вас зашифрован.


                                Совершенно точно там есть «AWARDSW» для своих.

                                Это нефальсифицируемый аргумент.


                                Я могу в 4-5 команд перезаписать загрузки обратно.

                                С UEFI это можно сделать в одну ;)

                                • UFO just landed and posted this here
                                    0
                                    1) TianoCore(UDK) сто лет как доступен каждому ленивцу.
                                    2) Параноики уже давно слили Aptio трёхлетней давности и просмотрели его (ужаснувшись от качества кода). Плюс никто не запрещает вам вооружиться Radare2/IDA Pro и исследовать сей замечательный код, наплевав на его закрытость.
                                    3) AMT/ME спокойно вырезается на <45 сериях интела под корень и отсутствует на eKabini — параноики спокойно обходятся не самым новым железом.
                                    4) Для вас могу порекомендовать Lenovo X200/T400/T500 с прошитым LibreBoot, вам понравится, ни единого бинарного блоба кроме EC контроллера (а может и его уже отреверсили), никакого секурбута, шифрование можно начать с самого начала.
                                  +1
                                  Секурбут является одним из звеньев защиты. Как и полное шифрование диска (фразу про паранойю надо было читать внимательнее). Как и хранение ключей от этого диска на другом носителе. Как и загрузчик, который далее проверяет то, что он грузит. И обезопасив себя таким образом (и опломбировав сам системный блок + отключив программно запись в spi rom) вы спокойно отправляетесь на встречу с другим параноиком для обсуждения каких-либо важных проблем, не опасаясь, что за время вашего отсутствия злобное АНБ/КГБ/ФСБ/Рептилоиды/ЖителиНибиру сумеет вам что-то подменить, перезаписать ваш ефи и т.д.
                                    0

                                    Если бы секурбут нужен был для защиты пользователя, а не от пользователя, то у пользователя была бы возможность его отключить, всегда, на всех устройствах.


                                    Или не включать вообще из коробки (в зависимости от типа устройства) — всё равно смысла от него без ограничения доступа к настройкам UEFI нет никакого.


                                    Больше того, «защита пользователя» в текущем виде слепо верит всему, что подписала третья сторона в лице МС. Даже флаг за паролем в настройках UEFI, который просто блокирует любые изменения загрузчика (сверкой подписи) был бы лучше с точки зрения безопасности пользователя.

                                      +1
                                      А я где-то утверждал, что он только для пользователя? Это как с кухонным ножом, можно нарезать стейки(для пользователя), а можно и соседа зарезать(от пользователя). Тот факт, что были девайсы, которые были залочены под определенную операционку я не отрицаю, другое дело, что у заинтересованных пользователей был выбор — брать или не брать такой вендор-лок себе.

                                      «Изкаропки» — сколько я железа не брал, везде была как минимум галочка разрешения/запрещения этого секурбута. Даже на серверах(супермикро). Даже на ноутах ленововских(T и X серии).

                                      Про слепую веру — прочитайте ещё раз мой коммент, с которого этот срач начался, более внимательно.
                              0
                              Помогите поставить андроид на ASUS VivoTab Smart me400cl. С флешки ничего не запускается, только винда( А тут так понимаю появился способ?
                                0
                                С флешки не запускается наверное из-за 32-разрядного UEFI, но это вопрос решаемый, и загрузив установочный образ той же Ubuntu Gnome 16.04 по одной из инструкций, написанных для устройств на BayTrail, вы сможете получить на вашем me400cl 32-разрядный GRUB в качестве загрузчика, который можно будет использовать для запуска различных ОС. Далее понадобиться раскатать на свободное место (которое нужно было оставить при установке Убунты) раздел с Android x86 (образ которого можно подготовить на другом компьютере или с помощью виртуальной машины) и добавить в конфиг GRUB пункт загрузк Android x86 с этого раздела.

                                Все что выше — это была простая часть (и возможно последние версии Android x86 сами умеют ставить 32-разрядный GRUB на 32-разрядных UEFI, не знаю — проверьте). Сложности начинаются с того, что в процессорах линейки Intel CloverTrail используется PowerVR SGX 54x вместо видеокарты. Насколько мне известно, сборки видеодрайвера PowerVR SGX есть только для Windows 8 x86, Ubuntu 12.04.0 x86, Android ARM. А вот сборки для Android x86 не существует, как не существует сборки для новой версии Ubuntu. В Windows 10 с Windows Update ставится последняя версия, вышедшая для Восьмерки, и народ на форумах Интела жалуется на проблемы с ней, а вот тут https://communities.intel.com/message/375766#375766 человек пишет, что какая-то старая версия драйвера у него работает стабильнее последней. Плюс совершенно непонятно, какой уровень поддержки остальной переферии вашего устройства в Linux, очень возможно, что ситуация там не намного лучше, чем с видеокартой, ведь устройства на CloverTrail из-за их видеокарты были проблемные изначально, и насколько я могу судить по форумам, сообществами энтузиастов GNU/Linux и Android они были проигнорированы, а значит рассчитывать на хороший уровень поддержки не приходиться.

                                В общем, не в Secure Boot ваша проблема. Ставьте Десятку, тот чудо-драйвер с форума Интел, да избавляйтесь от этого железа через Авито. Перспектив с ним никаких, света в конце туннеля не видно, а проблем ворох.
                                  0
                                  Спасибо огромное за полезный совет)
                                0
                                У кого осталась копия данных с сайта? Похоже месяц назад у владельцев сайта случилась беда и вся информация на дисках была подчистую снесена.
                                  0
                                  Нашел вот это http://web.archive.org/web/20170204010656/https://rol.im/SecureBoot.zip

                                Only users with full accounts can post comments. Log in, please.