LINUX.ORG.RU

Для ядра Linux представлены патчи, отключающие поддержку спящего режима при загрузке с UEFI Secure Boot

 ,


0

0

Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux, последнее время занимающийся обеспечением загрузки Linux на системах с UEFI, опубликовал в списке рассылки ядра Linux серию патчей, отключающих поддержку спящего режима (Hibernate) и функцию загрузки нового ядра из уже запущенного ядра Linux (kexec), в случае сборки ядра в режиме верификации для UEFI Secure Boot.

Необходимость отключения данных функций при использовании UEFI Secure Boot объясняется невозможностью гарантировать сохранение цепочки доверия при загрузке ядра в процессе возврата из спящего режима или при использовании kexec, чем может воспользоваться атакующий и организовать выполнение варианта ядра в режиме без проверки цифровых подписей. В случае с kexec атакующий может просто запустить произвольный образ ядра, а при активности спящего режима, отключить раздел подкачки и подменить образ восстановления.

В настоящее время полный процесс верификации ядра при загрузке в режиме UEFI Secure Boot используется только в дистрибутиве Fedora Linux, остальные дистрибутивы ограничиваются поддержкой проверки загрузчика, после чего запускают ядро Linux в обычном режиме. Если патчи будут приняты в состав ядра, то пользователи Fedora Linux будут лишены возможности перевода их систем в спящий режим при загрузке системы в режиме UEFI Secure Boot. Без данных патчей и без создания полноценных механизмов проверки для kexec и hibernation, процесс верификации ядра становится бессмысленным, так как его можно обойти. В качестве одного из путей решения проблемы, в случае с kexec, ранее для ядра Linux был предложен прототип системы верификации исполняемых файлов по цифровым подписям. Для hibernation решение пока не предложено.

Кроме патчей для запрета kexec и hibernation при загрузке в режиме UEFI Secure Boot, Мэтью Гаррет опубликовал набор патчей для определения политики доступа в процессе безопасной загрузки (Secure boot policy). Если неизменность хранимого на диске образа ядра гарантируется цифровой подписью, то уже загруженное в память ядро может быть изменено в процессе его работы. В настоящее время существует большое число интерфейсов, позволяющих пользователю с правами root внести модификации в код уже загруженного в память ядра. Представленные патчи реализуют новый тип capabilities — «CAP_COMPROMISE_KERNEL», предназначенный для выборочного предоставления привилегированных действий по модификации ядра только для приложений, которым предоставлены соответствующие полномочия. Новая возможность полезна не только при загрузке в режиме UEFI Secure Boot, но и в других ситуациях, требующих ограничения доступа к ядру.

>>> Подробности

★★★★★

Проверено: tazhate ()
Последнее исправление: Silent (всего исправлений: 2)

Без данных патчей и без создания полноценных механизмов проверки для kexec и hibernation, процесс верификации ядра становится бессмысленным, так как его можно обойти.

Они совсем того?

С такимже успехом можно сказать-на загруженой системе через секьюрбут можно запустить виртуалку на которой будет работать непроверенное ядро/ОС...так давайте запретим виртуалки?

Я сам себе буду ограничивать загрузку определенной ОС через сикьюрбут,я даже не представляю в каких задачах такое может понадобится...ведь имея физический доступ к машине-с ней можно делать что угодно,независимо от сикьюрбута...зачем вообще нужен секьюрбут ели он столько проблем создает?

anonymous
()

Я жду компанию у которой можно будет мат. плату заказать нужными мне требованиями (я бы заказал без без всяких SecureBoot и UEFI, с открытым биосом Coreboot и открытыми прошивками сетевых карт навроде iPXE (gPXE, Etherboot). В этом случае мою защиту гарантировать будет:

1) доступность сорцов микропрограмм (всех микропрограмм что есть на материнке)

2) аппаратный переключатель на материнке для обновления bios и иных миропрограмм

3) проверка загрузчиков ядра bios-ом

4) самопроверка ядром своих компонентов

Тогда после переустановки системы нам лишь требуется обновить данные в bios о ядре (не сам bios) новое ядро было принято.

Можно сделать примерно так: делаем кнопку на материнке которая «разрешает» bios-у обновить данные о новом ядре, но деактивируется это разрешение автоматически сразу после перезагрузки (аппаратно реализовать на материнке).

Тогда вся процедура обновления будет такой:

Ставлю новое ядро и перезагружаюсь. Ядро не грузится и bios дает предупреждение. Я нажимаю кнопку на материнке и bios сканирует новые параметры ядра. Как только отсканирует - сразу bios отправляет систему в перезагрузку для деактивации разрешения.

Ну а обновление bios - это должен быть специальный инструмент (тоже открытый) который работает только когда материнка передведена в режим обновления (джампер). Код программы обновления bios должен реализовать весь функционал для обновления и лучше его сделать в неперезаписываемом ПЗУ. В режиме обновления ПЗУ компьютер должен загружаться только используя код программы обновления и совсем не использовать код coreboot который мы будем перезаписывать. В итоге, мы всегда сможем весь микрокод обновить безопасно.

Конечно, я упустил ряд деталей для упрощения, но любой эти детали любой нормальный инженер восстановит (придумает) без труда.

Ну как вам мое решение? Вроде бы мы и защитились и свободы пользователя сохранили. Если это решение имеет рациональное зерно, то, пожалуйста, переведите и отправьте RMS если кто владеет ангельским.

Авторство мое - а я анонимус. Поэтому:

1) никто не сможет выдать себя за автора (даже я) и присвоить/запатентовать идею;

2) все могут свободно использовать данную технику.

anonymous
()
Ответ на: комментарий от anonymous

Я жду компанию у которой можно будет мат. плату заказать нужными мне требованиями ...

Пролистывая новости дальше (я читаю сверху вниз) увидел мининовость: AMD представила материнскую плату с системой ввода-вывода на базе CoreBoot. Надо будет все-таки идею отправить RMS. Похоже что она набирает шансы на существование. Некрософт пора отменять.

anonymous
()
Ответ на: комментарий от anonymous

зачем вообще нужен секьюрбут ели он столько проблем создает?

зачем демоны запускаются от разных пользователей? и почему привелегии на все файлы не 0777 ? (ведь сёравно от root можно перезаписать файлы в независимости от пользователя и привелегий!)

SecureBoot это всего лишь ещё один уровень (новый) безопасности по верх уже существующих уровней.

да, согласен, что это весьма сомнительная безопасность, но всё же. не факт что SecureBoot получится рализовать в Linux (или в Windows) — полностью на 100%. но теоретически если получится, то будет на 1 уровень безопасность выше.

user_id_68054 ★★★★★
()

опубликовал в списке рассылки ядра Linux серию патчей, отключающих поддержку спящего режима (Hibernate) и функцию загрузки нового ядра из уже запущенного ядра Linux (kexec), в случае сборки ядра в режиме верификации для UEFI Secure Boot.

Надеюсь, в федоре этих говнопатчей не будет, UEFI Secure Boot не нужен.

Napilnik ★★★★★
()
Ответ на: комментарий от anonymous

Ставлю новое ядро и перезагружаюсь. [...]. Я нажимаю кнопку на материнке и bios сканирует новые параметры ядра.

в момент между «Ставлю новое ядро» и «перезагружаюсь» — вирус [мифический:)] подменил кой какую бинарную инфу в новом ядре. и теперь после перезагрузки он получит доступ в kernel-space!! (а до этого вирус висел в user-space)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

SecureBoot это всего лишь ещё один уровень (новый) безопасности по верх уже существующих уровней.

Затраты на безопасность не должны превышать возможные убытки.
В данном случае убытки - ограничения, уменьшение комфорта пользователя, безопасность - твой «ещё один уровень (новый)».

Так что неразумно.

Сделайте хотябы отключаемым.

Kroz ★★★★★
()
Ответ на: комментарий от Napilnik

Надеюсь, в федоре этих говнопатчей не будет, UEFI Secure Boot не нужен.

если тебе не нужен Secure Boot, то почему тебе есть дело до того как он будет работать? :-)

пусть хоть вообще ядро понизит свою производительность на 95% в режиме Secure Boot. но если ты НЕ используешь Secure Boot и считаешь что Secure Boot не нужно, то какая тебе разница на все эти детали? :-) мне вот интересно просто!

user_id_68054 ★★★★★
()
Ответ на: комментарий от Kroz

Сделайте хотябы отключаемым.

ну SecureBoot и не навязываеся Федорой! :)

просто он будет, но включать его не обязательно.

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

в момент между «Ставлю новое ядро» и «перезагружаюсь» — вирус [мифический:)] подменил кой какую бинарную инфу в новом ядре. и теперь после перезагрузки он получит доступ в kernel-space!! (а до этого вирус висел в user-space)

Ставь на чистый комп. Начинай так:

1. Обновляешь bios.

2. С чистого источника ставишь новое ядро.

3. Жмешь кнопку на след. перезагрузке и bios запоминает новые параметры чистого ядра.

Вроде все ровно, нет?

PS: RMS я ссылку отправил. Копия текста тут (ЛОР-модераторы те еще с#ки иногда): http://pastebin.com/vhMGsye3

anonymous
()
Ответ на: комментарий от Thero

Мэт работает над правильной а не маркетинговой реализацией SecureBoot. и правильно всё говорит, текущий гибернэйт не подходит для секьюрбута

А ради _ненужного_ секурбота портить нужные фичи линукса конечно правильно. Для выхода из спящего режима необходимо ввести пароль пользователя, этой верификации вполне достаточно.

Napilnik ★★★★★
()
Ответ на: комментарий от user_id_68054

а если некий пользователь Вася Пупкин против своей воли купил компьютер в котором предположим нельзя отключить Secure Boot, то простите но разработчики Fedora тут вовсе не причём. может быть Васю Пупкина обманул Продавец Консультант, может ещё что-то произошло...

....но факт остаётся фактом: Вася Пупкин купил компьютер с ПОВЫШЕННОЙ «безопасностью» и теперь пусть он этой «безопасностью» наслаждается!!! :-)

Хорошо тебе в нерезиновске выбирать под проц и оперативку материнку из сотни кандидатов а что делать если в магазине выбор полезных шняг раз-два и обчёлся?

Napilnik ★★★★★
()
Ответ на: комментарий от Kroz

Затраты на безопасность не должны превышать возможные убытки.
В данном случае убытки - ограничения, уменьшение комфорта пользователя, безопасность - твой «ещё один уровень (новый)».

уменьшение комфорта по сравнению с чем?

дано:

пользователь захотел безопасности (включил SecureBoot).

получаем 3 возможных варианта:

1. операционная система не загрузилась (потомучто не умеет работать с SecureBoot).

2. операционая система загрузилась, но вместо увеличенной безопасности получаем змеиное масло.

3. операционная система загрузилась, выполняя дополнительные концепции безопасности.

Fedora выбрала вариант 3 так как уважает желание пользователя. который не стал бы включать SecureBoot если он ему не нужен был бы.

другие дистрибутивы выбрали вариант 1 или 2 — не по самым благим намереньям :).

user_id_68054 ★★★★★
()
Ответ на: комментарий от Napilnik

а что делать если в магазине выбор полезных шняг раз-два и обчёлся?

а что если в магазинах будут продавать только Microsoft Surface?

Fedora-то тут причём :-) ..

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

если тебе не нужен Secure Boot, то почему тебе есть дело до того как он будет работать? :-)

Ведро испортят, сгенерируют глюки а мне до этого не должно быть дела! И нет никакой гарантии что однажды в руки пользователю не попадёт железо в неотключаемым секурботом - ошибётся при покупке или вдруг захочет поставить линукс, да мало ли что может произойти и тут то и выяснится что рабочее железо нужно выбрасывать на свалку из-за говнопатчей.

пусть хоть вообще ядро понизит свою производительность на 95% в режиме Secure Boot. но если ты НЕ используешь Secure Boot и считаешь что Secure Boot не нужно, то какая тебе разница на все эти детали? :-) мне вот интересно просто!

В отношениии IT действует презумпция виновности - обладатель байтов и железа _во_всём_ виновен если не сможет доказать обратное, в этой ситуации завинчивание гаек создаёт опасную ситуацию: как только аппаратные и программные средства ограничения свободы человека будут готовы к применению, ввести законодательную ответственность за их неиспользование плёвое дело.

Napilnik ★★★★★
()
Ответ на: комментарий от user_id_68054

а что если в магазинах будут продавать только Microsoft Surface?

Fedora-то тут причём :-) ..

Не знаю что за «если» но в некоторых магазинах уже сейчас для интела может быть 10 материнок и целых 2 для амд - огромный выбор, хочешь бери с отключаемым секурботом, хочешь с неотключаемым. Что менеджеру от балды понравилось, тем и торгуют. Ведровые говнопатчи могут сделать муки выбора железяки непреодолимыми.

Napilnik ★★★★★
()
Ответ на: комментарий от anonymous

Доживем до тех времен, когда за попытку расковырять секьюрбут на домашнем компе будет выезжать спецназ :)

Adjkru ★★★★★
()
Ответ на: комментарий от Kroz

UEFIанки

надеюсь никогда не столкнуться с UEFI Secure Boot...

поздно!

mumpster ★★★★★
()
Ответ на: комментарий от Napilnik

Кому недостаточно, пусть одевают шапочку из фольги.

Да дело не в этом. Понятно дело что почти всем (кроме майрософт?) нафиг это не упало.

Вместо того чтобы спорить ты бы лучше помог мою идею на базе открытого микрокода распотрошить и найти в нем косяки если таковые есть. Смысл в том что если проект сформулировать и выбросить в сеть в виде законченного решения (пусть в проектном плане), то я думаю найдется производитель кто сделает подобное (спрос будет - будет и предложение).

anonymous
()
Ответ на: e-commerce от mumpster

а что, инет-магазины уже отменили?8)

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

Napilnik ★★★★★
()
Ответ на: комментарий от Kroz

Лол, некрософт решил парочку своих проблем, на 1% им плевать, более того, такой побочный эффект как связанные с этим секурбутом проблемы их даже забавляют.

FFSinit ★★
()
Ответ на: комментарий от anonymous

Вместо того чтобы спорить ты бы лучше помог мою идею на базе открытого микрокода распотрошить и найти в нем косяки если таковые есть. Смысл в том что если проект сформулировать и выбросить в сеть в виде законченного решения (пусть в проектном плане), то я думаю найдется производитель кто сделает подобное (спрос будет - будет и предложение).

Так уже делается AMD представила материнскую плату с системой ввода-вывода на базе CoreBoot К сожалению на сегодняшний день открытость предполагает что вместо бюдетной видухи HD 6000 серии с 2Гб оперативки будет встроенное видео, но хотя бы не «типа видуха от Intel с типа OpenGL». Покупайте изделие побольше и идея попрёт в массы.

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от Napilnik

Идешь на сайт поставщика в москве и выбираешь железо. Как выбрал - дело за малым: найти кто тебе привезет (магазины если что везут со склада и заказать в магазине у них можно; просто 1 раз пройдит по ближайшим тебе магазинам в городе и сделай список кто с какого склада везет и с какой наценкой). Другое дело если вы любите ходить тратить впустую свое время и смотреть на витрины с андроидами.

Ну а насчет UEFI я уже писал: вы купили железо и увидели неотключаемы Secure Boot. В течение 2х недель несете железо обратно с претензией что не подошло по функционалу и у вас его обязаны принять (по закону).

anonymous
()
Ответ на: комментарий от Kroz

Самолично угробил систему таким образом: сделал hibernate, потом загрузился под «другим пунктом меню»

в grub (просто другое ядро было), чего-то там поделал, потом перегрузился и «вышел из hybernate».

А потом кто-то что-то говорит о плохой поддержке этого режима во фреебзд.

IPR ★★★★★
()
Ответ на: комментарий от anonymous

Ну а насчет UEFI я уже писал: вы купили железо и увидели неотключаемы Secure Boot. В течение 2х недель несете железо обратно с претензией что не подошло по функционалу и у вас его обязаны принять (по закону).

Это где в РФ такой закон?????

sv75 ★★★★★
()
Ответ на: комментарий от Napilnik

К сожалению на сегодняшний день открытость предполагает что вместо бюдетной видухи HD 6000 серии с 2Гб оперативки будет встроенное видео

А кстати толку с этих 2Гб, если текстуры повсеместно рассчитаны на Xbox/PS3, как результат я смотрю на размытые одежды в каком-нить ME и плачу?

Мне пришлось в итоге на Wesnoth перейти, там этих проблем нет.

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

Идешь на сайт поставщика в москве и выбираешь железо.

В течение 2х недель несете железо обратно с претензией что не подошло по функционалу и у вас его обязаны принять (по закону).

А что делать проживающим за пределами большой земли;) Для них твои советы звучат как фантастика.

просто 1 раз пройдит по ближайшим тебе магазинам в городе и сделай список кто с какого склада везет и с какой наценкой

А нет там нихрена кроме болванок, флешек, записанных чем-то дисков, каких-то мышек и плохих наушников за небольшую цену. Вот CANYON CNR-HS3 себе заказал, дико переплатил за доставку но торгашам из ближайших городов с покупки не досталось ни копейки, бо при стационарном использовании лучше скручивать проволокой и скотчем старые наушники чем слушать шепелявые новые.

Napilnik ★★★★★
()
Ответ на: комментарий от sv75

А кстати толку с этих 2Гб, если текстуры повсеместно рассчитаны на Xbox/PS3, как результат я смотрю на размытые одежды в каком-нить ME и плачу?

Чтобы окошки на рабочем столе не тормозили, для редких запусков ёба игрушек, для просчётов в гимпе, блендере и на вырост.

Napilnik ★★★★★
()
Ответ на: комментарий от Anonymous

через 10 - незаконно

Типун тебе на язык!

GAMer ★★★★★
()
Ответ на: комментарий от Lighting

kexec на десктопе мало кому нужен

Просто его никто не удосужился нормально приготовить.

Kindly_Cat
()
Ответ на: комментарий от Anonymous

Так всё же верно. Это хороший аргумент против SecureBoot и UEFI вообще. Можно антимонопольщикам пожаловаться: «Мелкософт не даёт нам сделать hibernate и kexec!». И это должно сработать.

Quasar ★★★★★
()
Ответ на: комментарий от bhfq

Взломанный SecureBoot - это неправильно. Убранный нафиг отовсюду и больше никогда не вводимый - правильно.

Quasar ★★★★★
()
Ответ на: комментарий от Ubuntu1210

Я так понимаю, что для параноиков, которые боятся, что кровавая гэбня проникнет незаметно в их гнездышко, подменит образ ядра, и злобно хихикая отвалит домой.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от anonymous

anonymous> зачем вообще нужен секьюрбут ели он столько проблем создает?

Чтобы создавать столько проблем.

Quasar ★★★★★
()
Ответ на: комментарий от user_id_68054

Такой уровень безопасности лучше реализовывать через открытые гипервизоры. А SecureBoot - это говнище.

Quasar ★★★★★
()

Честно говоря, этот секур бут больше похож на манию преследования. Что характеризует его авторов.

wheel
()
Ответ на: комментарий от user_id_68054

Потому, что SecureBoot мелкософт всё равно хочет сделать неотключаемым. Это под давлением общественности и только на x86 он отключаем.

Quasar ★★★★★
()
Ответ на: комментарий от user_id_68054

Вариант номер 4: пользователь выбрал венду, так как только она совместима с SecureBoot полноценно.

Quasar ★★★★★
()
Ответ на: комментарий от sv75

http://www.consultant.ru/popular/consumerism/37_2.html#p311


Статья 18.
1. Потребитель в случае обнаружения в товаре недостатков, если они не были оговорены продавцом, по своему выбору вправе:
..........................
В отношении технически сложного товара потребитель в случае обнаружения в нем недостатков вправе отказаться от исполнения договора купли-продажи и потребовать возврата уплаченной за такой товар суммы либо предъявить требование о его замене на товар этой же марки (модели, артикула) или на такой же товар другой марки (модели, артикула) с соответствующим перерасчетом покупной цены в течение пятнадцати дней со дня передачи потребителю такого товара.


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

Polugnom ★★★★★
()
Последнее исправление: Polugnom (всего исправлений: 1)
Ответ на: комментарий от wintrolls

вместо допиливания хибернейта до приемлемых скоростей давайте выкинем его совсем

В духе современности.

cipher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.