Comments 105
В итоге хотят как лучше, а получается как всегда…
Уже. Что бы драйвер производителя железа заработал на Win 10 1609+ нужно подписывать его через MS Dev Portal. Даже cross signing зарубили для драйверов.
Правда есть исключения:
1) если подпись была выполнена ключом выпущенным до какого-то там числа 2015 года — такой драйвер продолжит загружаться
2) если Win 10 1609+ не был установлен с нуля, а дошёл до этого состояния — то старые подписанные драйвера будут работать, плюс cross-sign (это вообще феерично, если честно: обновлялся, обновлялся — всё работало, вдруг снёс, установил заново — оппа! идите лесом!)
3) что-то там ещё.
и это уже при Secure Boot и подписанных драйверах. В Linux же так и не понятно, как подписывать драйвера через DKMS или частично бинарные, подобно nvidia, где основная логика в блобе, а в виде исходников — обёртка. И путь только один: сгенерировать пару ключей, подписать и приватные загрузить в MOK или использовать ключи от shim-signed. Только где здесь безопасность?
Это Microsoft обязывает OEM производителей компов с предустановленной виндой включать secure boot по умолчанию (причем с обязательной возможностью отключения).
У меня материнка с UEFI и я не заметил проблем с загрузкой линукса.
И тут вопрос: на какой процент устройств производители захотят её налепить. Кроме того, Secure Boot — это часть стандарта UEFI 2.3.1, в более ранних версиях он не был предусмотрен.
21. MANDATORY: Enable/Disable Secure Boot. On non-ARM systems, it is required to implement the ability to disable Secure Boot via firmware setup. A physically present user must be allowed to disable Secure Boot via firmware setup without possession of PKpriv. Programmatic disabling of Secure Boot either during Boot Services or after exiting EFI Boot Services MUST NOT be possible.
вижу на странице 116 вижу следующее:
On an ARM system, it is forbidden to enable Custom Mode. Only Standard Mode may be enable.
21. MANDATORY: Enable/Disable Secure Boot. On non-ARM systems, it is required to implement the ability to disable Secure Boot via firmware setup. A physically present user must be allowed to disable Secure Boot via firmware setup without possession of PKpriv. Programmatic disabling of Secure Boot either during Boot Services or after exiting EFI Boot Services MUST NOT be possible. Disabling Secure MUST NOT be possible on ARM systems.
т.е. ничего не в порядке и на армах они хотят пристегнуть юзера наручниками к батарее.
А так как сейчас на рынке АРМ Винда никак не представлена (если не считать Windows CE), то и отмазки от антимонопольного комитета можно не вставлять.
употребляется для выражения морального долга или советаи имеет в этом случае значение «должен», «следует», «следовало бы»
При чём юридическая трактовка всегда «следовало бы». Про ARM же написано чётко и выделено жирным шрифтом: must not.
Так что… Как-то так. Что из этого получится — не понятно. Но веселье всем точно гарантировано.
Пишу это исходя из того, что требуется не только публикация драйвера доверенным издателем, но и его тестирование на предмет совместимости. Поправьте меня, если я не прав.
1) Работает «из коробки» (используются стандартные драйвера, включенные в дистрибутив Windows). К таким устройствам, например, относятся продающиеся всюду «микро bluetooth адаптеры».
2) Работает с драйверами брэндового производителя. Опять же могу привести в пример bluetooth адаптеры, которые я покупал года 3 назад. Сейчас таких практически не осталось.
3) Работает только с драйверами, идущими в комплекте. Так, мне попадалась привередливая веб-камера. Причем магазин забыл положить диск с драйверами, devid.info не помог, пришлось гуглить сайт производителя, которого (сайта) уже не было, чудом сайт (и драйвера) нашлись в archive.org Кстати, к этой же категории относятся, например, драйвера ADFU, необходимые для перепрошивки S1 плееров.
Просто по сути то, наиболее интересные предложения для «домашнего использования» китайцы предлагают именно в этом классе устройств. Мышку или bluetooth можно с таким же успехом (и примерно такой же ценой) купить брэндовую и в локальном магазине.
попробуйте обойтись виндовскими дровами для брэндовых устройств. Результат будет тот же.
Не поймите меня неверно, я ни как не противник noname устройств, я противник создания проблем на ровном месте (это я про Secure boot).
Об остальных 10% разговор особый. Да, для брэндовых скорее всгео будут драйвера подписаны, у китайских не будут. Но это частности.
Стоп, стоп, стоп. UEFI требует подписи себя и загрузчика, но не требует принятия политик в самой ОС. При чем тут ядро и вообще то, что делается после стадии когда загрузчик операционной системы начинает работу?
Реальная проблема в том, что Microsoft опять пытается консолидировать вокруг себя независимых изготовителей железа. С одной стороны они же свободные, что хотят то и делают. Но с другой это отражается на производителях софта, в данном случае разработчиков ОС. Проблема решается через антимонопольные структуры той или иной страны, огорчает то что это работает не везде и только крупный игрок на рынке пойдет на такое. Вот на чем нужно акцентировать внимание.
Можно подумать загрузчик Windows не будет проверять окружение UEFI на подписанность.
— Не, я загрузил Linux, но он хороший парень.
— А ну ладно, наверное он действительно хороший и будет выполнять только полезный код.
Почитайте про тип атак Man in Middle.
Главное чтобы была техническая возможность проложить прокси. Но учитывая имплиментации UEFI поверх BIOS это возможно.
В любом случае для х86 сертификация обязывает иметь отключаемый режим safeboot, скорее всего в виде перемычки на материнке. Если не хватает ума на такое, то к линуксу лучше не подходить.
1. Нагоняем панику
2. Выкатываем магическое лекарство — secure boot
3. Блондинки боятся выключать secure boot
4. В режиме secure boot не работают активаторы
5. ???????
6. PROFIT
2. «Активаторы» для OEM-ной винды и так не нужны, а самосбору на коленке вообще по фигу на требования к OEM-ам — могут поддерживать SecureBoot, но оставить его выключенным по дефолту, а могут и не поддерживать вообще
3. ??????
4. ??????
Я не знаю, что курил автор этого сценария, но для отправки кредитной карточки в Китай злоумышленнику будет проще отправить к жертве пару амбалов. Какая-то дикая, нереальная мешанина ядер, модулей, уровня приложений и угроз для кредитной карточки.
GPLv3 имеет различные требования к доступности ключей
Аналогичная мешанина понятий. Причем здесь GPL к ключам?
Думаю, это будут сертификаты Extended Validation
Как и прочее, бессмысленное использование понятий. EV используется не там и не так. И так далее.
Не, не убедительно…
Запускается линь c виртуализацией и 3д и подключается к локальному диску, запускается вин, а линь все логгирует, пересылка по сети вопрос ловкости рук и мошенства.
«Installation Information» for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
Хотите запускать подписанный GRUB — распространяйте приватные ключи для того, чтобы было возможно запускать модифицированный GRUB
Другими словами, OEM-ы не могут продавать машины со включенным SecureBoot и GRUB и при этом не предоставлять закрытых ключей для подписи перекомпилированного GRUB-а (иначе код перестанет работать исключительно из-за факта модификации, что напрямую запрещено). Наверное настоящие юристы могут найти способ обойти это (если кто-то вообще захочет с этим связываться), но и говорить, что GPL вообще никак не связана с ключами не совсем верно
ОЕМ решает, что бутит только подписанные загрузчики. Сам решает или берет Secure boot — неважно. Так вот вопроса GPL в этой связке даже рядом не стоит. Грубо говоря, кого хочет, того и бутит.
Ключи для подписи — это данные. Если вы подписали свой GRUB личным ключом и распространяете GRUB с подписью «42» это совершенно не обязывает вас открывать приватный ключ.
Всё так, но вы упускаете один существенный в данном случае нюанс. Если вы по подписали свой GRUB личным ключом и распространяете его, это дает конечному пользователю возможность удостовериться, что софт собран именно вами, и по пути от вас к пользователю никто его не модифицировал. Но ничего не мешает пользователю самостоятельно, из поставляемых вами же исходных кодов, собрать свой GRUB добавить рюшечек и использовать именно его. Так дело обстоит сейчас. Если же будет включен Secure boot, и он будет проверять подпись прежде, чем передать управление GRUB, то вы не сможете воспользоваться своей собственной сборкой GRUB, даже из тех же самых исходных кодов, потому как не сможете подписать его. И фактически получаете закрытый бинарный GRUB, с которым ничего сделать не сможете. Именно об этом приведенная выше ссылка на GPLv3.
Не сможете, и чо? Каким образом это должно волновать производителя и тем более, привязывать его к лицензии, по которой распространяется некий неведомый GRUB? Ссылка на GPL тут левая, не к месту совершенно, поймите.
Кому нужен будет свой GRUB — отключит SecureBoot, делов-то. Или купит сертификат. Если сертификаты будут дорогие или найдутся производители с неотключаемым SecureBoot, те 15 человек в мире, которые компилируют свои GRUB-ы, найдут способ мэйнтейнить список неподходящих систем, правда?
> Но запускать BIOS-у что-то или не запускать на основании GPL-ности загрузчика? Это сильно :).
Straw-man. Перечитайте еще раз. Проблемы с GPL и GRUB возникнут у любого OEM, который решит выпускать компьютер с предустановленным Линуксом и включенным SecureBoot. Да, этих проблем в «реальном мире» не возникнет, потому что в «реальном мире» OEM-ы просто не будут выпускать компьютеры с предустановленным Линуксом и SecureBoot.
> По-вашему, все в мире обязаны грузить лишь линукс на грубе, ибо он GPL, посему обязателен к загрузке
А ну да, есть еще устаревший LILO с тьмой никому не известных модификаций. Я так сходу даже и не вспомню дистрибутив который по умолчанию грузится не GRUB-ом. Но они есть, да, и могут быть использованы для обхода проблемы с GPLv3, что в общем то противоречит утверждению, что никаких проблем нет вообще.
> Ключи для подписи — это данные.
Очень глубокое замечание.
> Если вы подписали свой GRUB личным ключом и распространяете GRUB с подписью «42» это совершенно не обязывает вас открывать приватный ключ.
Утверждать чего либо без решения суда не могут даже настоящие юристы, но лично для меня вполне очевидно, что данное требование GRUB-а вполне недвусмысленно требует открытия приватных ключей, чтоб можно было подписать видоизмененный GRUB: именно для борьбы с аппаратными проверками подписей «прошивок» (тивоизацией) это требование и было введено в последнюю редакцию GPL (если его можно обойти какими нибудь хитрыми юридическими ухищрениями — это не значит, что у GPL нет ничего общего с ключами).
Я в курсе. Если речь идет про железку. Откуда и слово пошло :). У производителей железки нет выхода. Железку и софт так просто не поменяешь. А PC — это открытая платформа. Помимо совершенно очевидных способов отказа от любой GPL системы или отключения SecureBoot для GPL системы, у производителя есть еще масса разных вариантов.
Например, поставлять Линукс систему с дистрибутивом (или даже имиджем) на CD, предварительно сохранив ключ этого GRUB (а то и нескольких, из стандартных дистрибутивов). Вот и все: Линукс установлен, лицензия не нарушена, система закрыта.
И так далее. Вариантов так много, что несколько лень перечислять.
Нельзя распространять условия GPL на потенциальную возможность установить софт GPL. OEM, записавший в свои таблицы ключ GRUB, просто записывает 128 или 256 байт, а не обязывается под лицензией! Да, без этих 256 байт нельзя будет использовать GRUB, но и само использование GRUB не может быть обязательным. В embedded-системе обязательно, а на PC — нет. Утверждать обратное — значит утверждать, что любой запуск GPL-приложения на компьютере автоматически и навсегда привязывает все приложения на всех носителях этого компьютера (а также его BIOS и микрокоды) к GPL.
Надеюсь, Вы понимаете о чем я (подозреваю, что выражаюсь немного путано, но сформулировать понятнее конкретно сейчас нет времени).
А Вы про виртуализацию слышали? Ничего в этом дикого нет. UEFI — это программный код, который можно достать бесплатно, в открытых исходниках, например, у Intel, перефигачить его так, как надо, запустить с ним виртуальную машину. Да и без виртуальной машины можно. Загрузчик UEFI видит этот самый UEFI просто через таблицу указателей на функции. Подменили таблицу — всё, приехали. Важные вызовы, например, какая-нибудь проверка аутентичности UEFI можно пропускать к реальному UEFI железяки, а остальное перехватывать и подменять так, как нужно. Стандартный метод взлома подобной защиты.
Это не так уж и сложно и никакие амбалы не нужны. Большинство всяких мощных хакерских тулзов делают это полуавтоматически.
Аналогичная мешанина понятий. Причем здесь GPL к ключам?
В GPLv3 написно: все ключи, требующиеся для установки ПО должны быть опубликованы.
Я и про использование четырех 0day vulnerabilities одновременно слышал, и про взрыв центрифуг на ядерном заводе. И что? Вы слышали про кражу кредитной карты через виртуализацию? Ну бред же!
Подменили таблицу — всё, приехали
Для этого (в смысле, против этого) весь этот Секюрбут и придумывают.
В GPLv3 написно: все ключи, требующиеся для установки ПО должны быть опубликованы
Это чушь, извините. И в любом случае не имеет отношения к BIOS-у (который не GPL) и ключам-подписям (которые не GPL). Я тут в другой ветке подобнее отметил.
И никакая это не чушь. Там прямым текстом в лицензии написано про Тивоизацию. Кажется, вам уже про это там написали.
Также очень интересно, с чего это майкрософт взялась диктовать всем какие-то там условия. Хотелось бы увидеть, что она будет послана нафиг и соберутся адекватные производители софта и железа, которые сообща разработают более грамотную, понятную и четкую реализацию этой хрени.
А вообще кроме красивого мышкотыкательного биоса я профита не вижу в это костыле.
Если ядро Linux будет подписано (предположим у Red Hat нашлись деньги на один ключик), то оно же не обязано грузить только подписанные драйверы? Или подписанные ядра обяжут загружать только подписанные модули?
Потратить на это усилия, а не на борьбу против или там на закупку безумно дорогих ключей. Сможет Linux Foundation такое потянуть? Вполне актуально сейчас.
Образовательные программки под линукс ограничиваются тем браузером, из-под которого смотрятся обзоры софта для iOS. Взять хотя бы флагман детского обучения — OLPC XO. Что там предустановлено? Tux paint и среда программирования…
Почему-то под другую_ос писать игрушки, использующие только контролы GDI, прекратили еще в 98-99 годах. Никто не говорит, что в образовательном приложении должен быть крутой_графон, но по крайней мере — досовские игрушки Babytype и TIM были несколько привлекательнее всего упомянутого.
Stellarium — да, но у него в общем-то другая целевая аудитория. А вот теперь найдите, допустим, что-то с курсом математики для дошколят, более-менее интерактивное и с достойным контентом. Под винду оно есть (правда, соответствует только первому критерию).
Ну так и что рекламировать, кроме воздуха? Напомню, по зомбоящику уже крутят рекламу MS Office, в которой ребенок верстает презенташку про собаку. Что на это ответит опенсурц? Несобирающимся ebuild'ом dreamchess, разве что? (мля, хотел дать ребенку более-менее визуально_интригующие шахматы, так оно сначала не собралось, а потом падало через раз)
Про dreamchess не знаю, всё же зависит от настроек ebuild-а, может Gentoo — это совсем даже и не user-friendly система, и если там в portage есть пакет, это ещё не означает, что он гарантированно соберётся и будет стабильно работать. У них философия такая. Возьмите лучше Arch. У меня из AUR dreamchess собрался, музыка скачалась, всё запустилось. Вроде висит он в бэкграунде, не падает.
Про математику под Linux не знал, полез искать, и вот наткнулся на gcompris.net Ну и здесь: educational-freeware.com — тоже богатый выбор, многое есть под Linux
По моему, достаточно богатый выбор.
Идея — утопическая. На сколько порядков у M$ больше денег чем у Linux Foundation — догадайтесь сами.
По-моему такими действиями вы привлечете не тех людей. Соплежуйство на тему жестокости в играх, тяжелой музыки и тд. ущербно по своей сути (на эту тему хорошо высказывался тот-же Д.Карлин).
Линукс — система для программеров, с возможностью гибкой настройки (ну и есть неплохие попытки сделать на ее базе надежную user-friendly систему для мобильных девайсов, см. Android и MeeGo). У нее хватает достоинств, кроме отсутствия определенного софта.
Вот на этом просто можно сыграть. Это бизнес и PR, ничего личного. Ещё можно заказать партию игрушечных Tux-ов, проплатить Simpson-ам серию про Linux :) и всё такое прочее.
EFI вообще позволяет инициализацию устройств, у которых на борту есть option rom/его аналог? Про то, чтобы вынести управление такими устройствами в тот самый графический интерфейс или доступный из userspace сервис, по-моему, речи вообще нет?
Почему UEFI Secure boot это трудность для Linux