Комментарии 96
Её можно отключить на всех магазинных платах, если она вам не нужна.
Ладно ещё, когда компьютер поставляется в сборе с предустановленной Windows, но в других случаях…
Я конечно понимаю, что
У самого настроен «кошерный» secure boot с правильными ключами, без всяких шимов.
Ладно ещё, когда компьютер поставляется в сборе с предустановленной Windows, но в других случаях…Ответ простой: какая, по вашему система будет использоваться в 90% случаев? 10% щедро отдадим Linux, Hackintosh и прочей экзотике.
Поэтому, подстраиваются под удобство подавляющего большинства (удобство = не докучать пользователю лишними, с его точки зрения вопросами после каждого обновления загрузчика + хоть как-то защиить его от вредоносного загрузчика), а пара процентов пользователей, которым требуются собственные ключи, явно способны удалить ключи по умолчанию.
Ну или хотя бы не так сильно палились и вшивали бы ключ абстрактной UEFI Signing Foundation, которая бы верифицировала все остальные загрузчики.
А то получается «Каждому родившемуся на территории России сразу выдывать карточку Сбербанка, ну а что, в 90% случаев она ему нужна».
Кстати, интересно, наличие сертификатов MS это частная инициатива вендоров или требование спецификации? Если первое, то c UEFI Forum взятки гладки.
Ну поэтому я и предложил альтернативу: «Вы доверяете Microsoft Inc? Продолжаем устанавливать Windows?».Вы думаете,
В UEFI требований по сертификатам нет как таковых, требование есть у Microsoft, для сертификации компьютера под Windows 10.
Некоторые материнские платы содержат ключи Canonical и Red Hat.
Насколько знаю, как раз никто не захотел заниматься аудитом и подписью загрузчиков, и всё как-то само передалось Microsoft.Причём Microsoft'у это тоже очень быстро надоело, и теперь проверка шима у них отдана на откуп тем же RedHat'у и Canonical, а сами MS только подпись лепят, когда получат от них добро. Да и то, даже в этом косячить умудряются.
А разумным бастионом защиты операционной системы должна была быть флешка на материнке и перемычка на плате, которая апартно запрещает изменять любые данные на ней.
А разумным бастионом защиты операционной системы должна была быть флешка на материнке и перемычка на плате, которая апартно запрещает изменять любые данные на ней.Это удорожает конечный продукт. То есть, вы получаете несколько процентов аудитории, которая понимает, что это такое и готова за это переплатить, но теряете гораздо большую часть, которой эта безопасность до лампочки.
Экономия уже дошла до того, что практически все вендоры начали просто распаивать микросхему на материнке (с выводом гребёнки для программатора) вместо гораздо более удобного варианта «микросхема в кроватке». Видимо, так на несколько центов дешевле.
В BIOS Setup дата-центра действительно захожу удаленно, через IPMI и RedFish.
Почему-то обновление ядра линукса не требует переустановки груба — достаточно поправить в текстовом конфиге, что грузить дальше.
Да и обновление всего остального тоже без проблем.
Система вполне сможет обновлять автоматически, если нет обновлений grub/другого загрузчика (на моей памяти — примерно раз в два года в debian/stable).
Новые компьютеры с системой Windows поставляются с прошивкой UEFI и с включенной загрузкой Secure Boot. Режим Secure Boot предотвращает загрузку операционных систем, если они не подписаны ключом, загруженным в UEFI; сразу «из коробки» можно загрузить только программное обеспечение, подписанное фирмой Microsoft.
То есть без танцев с бубнами ничего, кроме винды, поставить не получится.
"Это не Vendor Lock", говорите? Да это же явное навязывание своих продуктов и нарушение антимонопольного законодательства.
Secure Boot возможно отключить на всех материнских платах x86
Ключей Microsoft, присутствующих в материнских платах по умолчанию, два:
Microsoft Windows Production PCA 2011
иMicrosoft Corporation UEFI CA 2011
. Первым подписываются загрузчики Windows, вторым — остальное ПО (в т.ч. Linux'ы)Во многих материнских платах по умолчанию есть и другие ключи, например, Red Hat'а
В Secure Boot можно добавить свои ключи во внутреннюю ключницу, без ограничений. Можно также удалить ключи Microsoft.
Один из них используется в Kaspersky Rescue Disk 18
Можно засекать через сколько времени будет отозвана подпись загрузчика Касперского?
Как часто вообще вендоры обновляют список отозванных сертификатов в UEFI? Это только с обновлением прошивки материнской платы происходит?
Предполагаю, что сертификат Касперского долго не проживет, и его добавят в глобальный список отозванных сертификатов UEFI, который установят на компьютеры с Windows 10 через Windows Update, что нарушит загрузку Kaspersky Rescue Disk 18 и Silent UEFIinSecureBoot Disk. Посмотрим, как скоро это произойдет.
Microsoft распространяет этот лист через Windows Update, на компьютеры с Windows 10. Windows Update вшивает их в материнскую плату.
обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.
Получается, что не сильно то и обязательное?
Как только проблему подтвердят, хеш начального загрузчика Касперского (который компрометирует UEFI CA) будет добавлен в UEFI Revocation List File, который затем MS постарается распространить на все машины с ключом MS KEK (на другие он просто не установится) через Windows Update.
Если хотите подробностей, все это описано подробно в спецификации UEFI 2.3.1C+ в разделе Runtime Services: SetVariable.
Интересно, долго ли (и как?) пришлось искать дырявое подписанное комбо preloader-grub :)
Я считаю ZeroNet очень недооцененной системой, и намеренно публикую Silent-версию только в ZeroNet Git, для привлечения новых пользователей.
Нам и в Одноклассниках неплохо.
Хотя при чтении было ощущение что где-то подвох (смотрим на календарь :).
Проблема эта известная, радикальное решение — не доверять UEFI CA совсем (Apple и Microsoft на своих машинах поступают именно так). При этом начнутся сложности с работой OptionROM'ов внешних видеокарт и рейд-контролеров, которые в UEFI 2.4+ можно обойти при помощи SecureBoot Deployment Mode, либо подписыванием ОРОМов своими ключами и загрузкой их с диска или SPI-флеша, а не из устройства.
В общем, теоретически решения есть, и все можно сделать, если очень хотеть. Практически же, за исключением трех с половиной анонимов, UEFI SecureBoot отключен на всех ПК, потому что любая технология, которая одновременно опциональна, досаждает пользователю, и легко отключаема — будет отключена навсегда при первом же досадном случае, что и происходит.
CodeRush А можно тебе как знатоку UEFI задать оффтопный вопрос:
1) Я вот никогда не видел ноутбука с поддержкой мыши в uefi setup. Все что я видел мимикрируют под интерфейс legacy bios. А на десктопах всё наоборот. Почему так?
2) Если не ошибаюсь, ты где-то говорил что uefi позволяет существенно сократить время загрузки системы при использовании raid контроллеров. Это как-то связано с выбором типа OpROM (Legacy/Uefi) в uefi setup?
Мое мнение: старый текстовый интерфейс сильно лучше, чем все эти новомодные тормозящие чудеса в решете (он в текстовую консоль почти без потерь перенаправляется, к примеру, и программировать его проще, т.е. ошибок допустят меньше), но людям нравятся блестки, и потому рано или поздно без блесток не останется ничего.
2) Так и есть, и это действительно связано с тем, что некоторые UEFI OROMы сильно быстрее своих legacy-собратьев, которые вынуждены переключаться в 16-битный реальный режим и сегменты там яростно переключать, и чем больше устройств в массиве — тем заметнее разница. По честному, без бенчмарков это все — так себе аргументация, но я достаточно не люблю CSM, чтобы видеть после его отключения ускорение, пусть даже это ускорение только у меня в голове происходит.
А ещё AMI я вижу на серверах (supermicro), но там нет этого всего с OpenGL. Я вообще CSM давно бы отключил везде, но сейчас его актуальность обусловлена только необходимостью обновления «bios» из dos'а. Почему-то производитель предлагает инструкции под DOS. Хотя я в интернете видел прошивальщик AMI, работающий через uefi shell. Я его не пробовал ещё (как-то стрёмно :)), но хотел более внимательно изучить. Как считаешь, можно ли просто так взять его, и прописав такие же параметры как прописаны в батниках с досовским прошивальщиком обновить uefi?
2) Ну я могу провести бенчмарки. Я просто хотел узнать, правильно ли что я переключал эту опцию или могло что-то ещё влиять. Ты говоришь что это зависит от количества подключенных к контроллеру дисков? Я просто переключать уже пробовал, но разницы особо не почувствовал — что так, что так раздражающе долго платформа перезапускается. Хотя опять же, у supermicro на некоторых материнках как-то криво сделано в настройках что не поймёшь, какой OROM в итоге загрузился.
Типа, не обязательно грузить тяжелую полноценную ОСь, просто чтобы выйти по-быстрому в инет. Если бы не взрывное развитие рынка смартфонов — могла бы и взлететь.
особенно за этот замечательный загрузчик Касперского, который теперь надо бы забанить по хорошему, потому что цепочка эта фактически уничтожает последние остатки доверия к подписям с корнем на UEFI CA.А он не единственный такой ;)
1) Железка умеет давать скачать и обновить свой OpROM без особых проблем — используем утилиту, которая умеет читать/писать оный OpRROM (для некоторого железа пойдет flashrom), считываем, возможно раздракониваем (если там склейка из Legacy+UEFI), подписываем UEFI часть signtool-ом, собираем обратно (если надо), зашиваем, радуемся.
2) Железка не умеет/не даёт/убили предыдущим вариантом — берём клипсы/паяльник и внешний программатор, ищем флешку с прошивкой на железке цепляем клипсу/отпаиваем, вешаем на программатор, считываем и повторяем пункт 1.
Полностью универсального решения нет, разве что встроить отпромы от нужных железок прямо в образ UEFI, но тут вам могут дать прикурить всякие Boot Guardы и компания.
Просто в описании все ссылки ведут на github, а в разделе релизов
http://127.0.0.1:43110/1GitLiXB6t5r8vuU2zC6a8GYj9ME6HMQ4t/repo/releases/?1KVD7PxZVke1iq4DKb4LNwuiHS4UzEAdAv
пусто?
git clone
.git clone $path_to_zeronet_data_folder/1KVD7PxZVke1iq4DKb4LNwuiHS4UzEAdAv/silent-uefiinsecureboot-disk.git -b silent
Пример для Windows:
git clone C:\ZeroNet\data\1KVD7PxZVke1iq4DKb4LNwuiHS4UzEAdAv\silent-uefiinsecureboot-disk.git -b silent
Получилось, огромное спасибо. Я-то думал, data folder — это URL prefix. Что-нибудь эдакое хитровыстраданное (вольная цитата из beginner's guide-а):
(Remember to give others http: //127.0.0.1/ your_repo_address instead of http: // 127.0.0.1/ бла-бла-бла/repo/?your_repo_address because that adds more flexibility and makes changing Git Center source code easier.)
Но нет худа без добра. И на хабре, наконец, зарегался, и про зиронет, наконец, узнал
P.S. Да чего уж там… Я и сам git только недели две (наконец) расковырял. До этого всё svn-ом пользовался
Со стороны Касперского устранить проблему нельзя, только писать в UEFI, с просьбой о добавлении хеша или сертификата в список отзыва.
Прежде всего интересно, сколько времени займет обновление списка отзыва в случае публичного сообщения о проблеме.
Вот вам и Secure Boot.
Решил, что меня такие правила не устраивают, написал статью и обратился в UEFI Forum. Собственно, причем здесь Касперский, если я пишу в UEFI Forum, а не вам?
The UEFI Forum greatly appreciates ethical disclosures of vulnerabilities by security researchers.
https://hackerone.com/uefi_forum
There are no known guidelines for reporting potential security vulnerabilities to this organization.
Вы, пожалуйста, определитесь. Автор мог претендовать на бонус по программе bugbounty ЛК, или на что-то от UEFI Forum? На что-то конкретно от последних? Где-то об этом написано?.. Потом, из чего вы делаете вывод что автор не воспользовался программой по уязвимостям от UEFI Forum?.. Судя по статье и комментариям ссылку на ту страницу, откуда вы приводите цитату, автор нашел и именно по этим адресам написал. Именно с этих адресов ему не отвечают.
Вообще же проблема не стоит выеденного яйца, достаточно добавить хеша или сертификата в список отзыва в очередном обновлении, и всё. Да, это неприятно, но выход тут только один.
Вообще же проблема не стоит выеденного яйца,
Это, конечно не так, как я уже писал выше, списки отзыва — не игрушка, особенно если они могут превратить компы клиентов в кирпичи. Это не значит что ничего не делается, это значит что делается осторожно.
Но как можно неумышлено написать загрузчик, который грузит всё подряд, обнуляя весь SecureBoot, а потом ещё вещать про этику? Если это ошибка в ПО, его можно хотя бы запатчить. А утекший в сеть подписанный код запатчить нельзя — только отзыв ключей.
Прежде всего интересно, сколько времени займет обновление списка отзыва в случае публичного сообщения о проблеме.
Конечно интересно! Ретроспективный отзыв сертификата, который инвалидирует подписанные файлы за последние 3 года- это же так весело, что может пойти не так? Ведь вы же учли все возможные сценарии использования!
Можно отозвать только GRUB (fde_ld.efi), разрешающий загрузку модулей, но не сам пред-загрузчик Касперского (BOOTX64.efi).
Правильно ли я понимаю, судя по названию файла fde_ld.efi, этот загрузчик был создан для Kaspersky Endpoint Business, и был переиспользован для Kaspersky Rescue Disk?
Отзыв этого файла сломает загрузку с шифрованного диска в Kaspersky Endpoint Business?
По моему мнению, проблема не настолько значительная, чтобы придерживаться ответственного подхода к её сообщению.Зачем тогда надо было статью об этом писать?
И да, проблема значительная. Я за два года до публикации о баге в NTFS отрапортовал в Microsoft и дважды спросил разрешения на публикаю. Я конечно не люблю порой корпорации за их поведение, и не редко бывают причины так действовать, но простые пользователи тут не причем. Видимо плюсики дороже.
Ждем Petya2.
Зачем тогда надо было статью об этом писать?Чтобы обратить внимание на существование подписанных загрузчиков, позволяющих загружать что угодно. Механизм подписей пред-загрузчиков для Secure Boot, с теми требованиями, какие выдвигались к ним, несостоятельны. Всё основывается на доверии подписывающей стороны (Microsoft) к компании, и Microsoft не проверяет, что вы будете загружать в качестве второго загрузчика. Технически удостовериться, что компания не начнет подписывать всё что угодно ключом, включенным в пред-загрузчик, невозможно до обнаружения такого загрузчика.
В SSL-сертификатами в вебе было то же самое, пока не сделали Certificate Transparency и различные системы обнаружения аномалий с сертификатами в браузерах.
Как видно, Kaspersky подписал обычный GRUB, вероятно, даже не задумываясь, что делает что-то неправильно. И загрузчик от Касперского — не единственный такой.
Сейчас Microsoft требует использования Extended Validation-сертификатов, вместо самоподписанных, возможно, это как-то повлияет на ситуацию.
Я за два года до публикации о баге в NTFS отрапортовал в Microsoft и дважды спросил разрешения на публикацию. Я конечно не люблю порой корпорации за их поведение, и не редко бывают причины так действовать, но простые пользователи тут не причем.Вашу ошибку в NTFS можно использовать без прав администратора, и, возможно, даже удалённо, через какой-то софт.
На подмену EFI-загрузчика требуются права администратора в ОС (как в Windows, так и в Linux), злоумышленник должен написать свой буткит+руткит, и должен его ещё как-то использовать из ОС. Такая сложная процедура бессмысленна для атак на обычных пользователей — если у злоумышленника и так есть администраторский доступ в ОС, он просто выполнит необходимые действия в ОС, а не через загрузчик.
Это имеет смысл только при узконаправленных целевых атаках с дополнительным сокрытием (APT), которые не применяются массово, и не направленых на обычных пользователей.
Чтобы обратить внимание на существование подписанных загрузчиков, позволяющих загружать что угодно.Чье внимание? Разработчики и комитет UEFI и так все это знают. Вы нам нового ничего не рассказали. А простым пользователям эта информация никакой ценности не несет.
Механизм подписей пред-загрузчиков для Secure Boot, с теми требованиями, какие выдвигались к ним, несостоятельны.Ну так и UEFI не состоялся. С ним намного больше проблем чем с BIOS. Все в практику уперлось. А стандарт разумный.
Всё основывается на доверии подписывающей стороны (Microsoft) к компании, и Microsoft не проверяет, что вы будете загружать в качестве второго загрузчика.Отвечать должна Microsoft(по совести). Т.к. на себя замкнула подпись. Но только это к ним вопросы должны быть. Направленные.
Технически удостовериться, что компания не начнет подписывать всё что угодно ключом, включенным в пред-загрузчик, невозможно до обнаружения такого загрузчика.Это не так. Было бы желание. Большинство тонкостей можно выяснить, работая с модулем как с черным ящиком.
даже не задумываясь, что делает что-то неправильноА вы когда делаете что-то не так всегда это сознаете?
Сейчас Microsoft требует использования Extended Validation-сертификатов, вместо самоподписанных, возможно, это как-то повлияет на ситуацию.Никак вообще. Деньги только в большем объеме брать будут.
Вашу ошибку в NTFS можно использовать без прав администратора, и, возможно, даже удалённо, через какой-то софт.Нет, нужен физический доступ к ПК. Она не критичная. А популярной она стала только потому что собрались любители покритиковать. Ну и любители пополнения контентов своих сайтов. Раздули из мухи слона. Всем нужна истерика.
На подмену EFI-загрузчика требуются права администратора в ОС (как в Windows, так и в Linux), злоумышленник должен написать свой буткит+руткит, и должен его ещё как-то использовать из ОС.Видимо Petya как-то иначе работал. Пойду изучать.
Чье внимание? Разработчики и комитет UEFI и так все это знают. Вы нам нового ничего не рассказали.Для меня это новая информация. Раз комитет UEFI знает и не отзывает, то и этот не отзовут? В чем тогда смысл прохождения аудита для получения подписи Secure Boot?
Ну так и UEFI не состоялся. С ним намного больше проблем чем с BIOS. Все в практику уперлось. А стандарт разумный.Не согласен с вами. Каких-то серьезных проблем с точки зрения использования не наблюдал, что на десктопах и ноутбуках, что на VPS (некоторые хостеры используют UEFI).
Это не так. Было бы желание. Большинство тонкостей можно выяснить, работая с модулем как с черным ящиком.Не понял, о чем вы. Я о том, что Microsoft, по-видимому, интересует только пред-загрузчик (тот, который они будут подписывать), а payload, который он загружает, не проверяется.
А вы когда делаете что-то не так всегда это сознаете?Если это что-то настолько серьезного уровня, как глобальная подпись файла, которая может повлиять на всю технологию в целом, то я либо попрошу всё сделать компетентных людей, либо трижды удостоверюсь, что все сделал правильно, и попрошу компетентных людей перепроверить, чтобы не добавлять проблем ни себе, ни остальным.
Вероятно, некоторые думают иначе, и им важно только то, чтобы их ПО запускалось с включенным Secure Boot.
Нет, нужен физический доступ к ПК.Речь о той уязвимости, которая описана в вашей статье «Баг в NTFS, или как подвесить всю систему»? Для чего там нужен физический доступ?
Видимо Petya как-то иначе работал. Пойду изучать.Либо происходила перезапись MBR с администраторскими правами, либо просто шифровались документы пользователя из ОС. NotPetya ещё применял эксплоит EternalBlue, для получения прав администратора.
https://en.wikipedia.org/wiki/Petya_(malware)#Operation
Чье внимание? Разработчики и комитет UEFI и так все это знают. Вы нам нового ничего не рассказали. А простым пользователям эта информация никакой ценности не несет.
А кто вы собственно такой, чтобы опредлять что несет, а что не несет простым пользователям эта информация? Уж не переели ли вы ухи с такими замашками?
А кто вы собственно такой, чтобы опредлять что несет, а что не несет простым пользователям эта информация?Разработчик BIOS и UEFI загрузчиков. Одно из. Этим не ограничено. И далеко от всего списка.
Что до информации в статье, публикация такой новости Microsoft только на руку, чтобы использовать это как повод не подписывать загрузчики. Microsoft работает в сторону полной монополизации. Вопрос сугубо политический. Спасибо подобным авторам…
Так и вот, вы то собственно кто? (вопрос риторический, ответ я знаю)
Разработчик BIOS и UEFI загрузчиков. Одно из. Этим не ограничено. И далеко от всего списка.
Ну дык и разрабатываете! И желательно без таких вот косяков. Я что-то не припоминаю, чтобы цензура входила в сферу компетенции разработчиков.
> Что до информации в статье, публикация такой новости Microsoft только на руку, чтобы использовать это как повод не подписывать загрузчики.
Информация в статье — это скорее повод выпилить ключи Microsoft и использовать свои. А не стоять с протянутой рукой, втянув языки в задницы.
Для EFI-модулей всегда было требование на EV сертификаты. Там ещё и процесс нетривиальный.
Скачать Silent UEFIinSecureBoot Disk в сети ZeroNet Git Center: 127.0.0.1:43110/1KVD7PxZVke1iq4DKb4LNwuiHS4UzEAdAv/
Я извиняюсь, а Silent в ZeroNet был залит по каким-то соображениям безопасности?
thewincentral.com/windows-10-updates-kb4532693-kb4524244-causing-many-issues-report-users
h30434.www3.hp.com/t5/Business-Notebooks/KB4524244-cause-certain-HP-computers-to-hang-and-even-brick/td-p/7471459
Подробности об обновлении на сайте Microsoft:
docs.microsoft.com/en-us/windows/release-information/status-windows-10-1909#392msgdesc
Next steps: We are working on an improved version of this update in coordination with our partners and will release it in a future update.
В этом обновлении были отозваны следующие файлы:
{microsoft} {sha256} 81d8fb4c9e2e7a8225656b4b8273b7cba4b03ef2e9eb20e0a0291624eca1ba86
{microsoft} {sha256} b92af298dc08049b78c77492d6551b710cd72aada3d77be54609e43278ef6e4d
{microsoft} {sha256} e19dae83c02e6f281358d4ebd11d7723b4f5ea0e357907d5443decc5f93c1e9d
{microsoft} {sha256} 39dbc2288ef44b5f95332cb777e31103e840dba680634aa806f5c9b100061802
{microsoft} {sha256} 32f5940ca29dd812a2c145e6fc89646628ffcc7c7a42cae512337d8d29c40bbd
{microsoft} {sha256} 10d45fcba396aef3153ee8f6ecae58afe8476a280a2026fc71f6217dcf49ba2f
Один из хешей — уязвимый загрузчик с Kaspersky Rescue Disk (bootx64.efi).
BOOTX64.EFI 81d8fb4c9e2e7a8225656b4b8273b7cba4b03ef2e9eb20e0a0291624eca1ba86
Какие файлы стоят за другими хешами — неизвестно, но это не другие подобные уязвимые загрузчики, о которых я не рассказывал.
По поводу проблем с ноутбуками HP — там сработала система защиты переменных SecureBoot от несанкционированной записи, включенная по умолчанию. Система эта почему-то не удаляет ключ МС из КЕК при работе (это баг, потому что как еще сообщить коду ОС, что писать в db* нельзя?).
В общем, все как всегда: люди придумывают механизм обновления, которым никто никогда не пользовался, и потому он вообще не тестировался, а когда наконец им решили воспользоваться, оказалось, что детали работы этого механизма неизвестны ни тем, кто им решил воспользоваться, ни тем, кто его реализовывал. Бизнес как обычно.
30: {microsoft} {sha256} 81d8fb4c9e2e7a8225656b4b8273b7cba4b03ef2e9eb20e0a0291624eca1ba86
Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot