LINUX.ORG.RU

Активисты Linux опубликовали «противоядие» от Secure Boot


3

1

Разработчик ядра Linux Мэтью Гаррет разместил в сети первый общедоступный загрузчик, позволяющий запускать дистрибутивы Linux на компьютерах с Windows 8 и прошивкой UEFI.

Загрузчик-«прокладка», получивший название shim, подписан официальным ключом Microsoft и доступен для свободного использования в любых сборках Linux, авторы которых не могут себе позволить или не хотят проходить сертификацию в Microsoft.

Напомним, что в ноябре прошлого года разразился скандал по поводу стратегии Microsoft, которая потребовала от OEM-производителей компьютеров с прошивкой UEFI, желающих получить сертификат совместимости с Windows 8, в обязательном порядке активировать в прошивке опцию безопасной загрузки (Secure Boot).

Принцип работы Secure Boot заключается в том, что UEFI проверяет наличие сертификатов безопасности перед тем, как загрузить те или иные компоненты операционной системы, и разрешает загрузку только тех из них, которые подписаны официальным ключом от Microsoft, стоимость которого составляет $99. Из этой категории выпадают загрузчики большинства дистрибутивов Linux, за исключением Fedora и Ubuntu, а также SUSE, которые уже обзавелись собственными ключами. Активисты Open Source под руководством члена команды Fedora Мэтью Гаррета (Matthew Garret), недавно ушедшего из Red Hat, инициировали кампанию против Secure Boot, результатом которой стал выпуск общедоступного загрузчика, подписанного ключом Microsoft, для использования в любительских сборках Linux.

Загрузчик shim реализован аналогично Secure Boot-загрузчикам Fedora и SUSE: он запускается первым, предоставляя микропрограмме UEFI необходимый ключ, и после сверки сертификата передает управление загрузчику дистрибутива. Последний, в свою очередь, должен быть подписан личным ключом, сгенерированным авторами сборки. В случае, если личный ключ отсутствует или неизвестен shim, загрузка приостанавливается.

Для использования shim создателю дистрибутива необходимо поместить его в загрузочном каталоге на UEFI-разделе вместе со штатным загрузчиком дистрибутива. Затем нужно сгенерировать два ключа - закрытый и публичный, первым из которых требуется подписать штатный загрузчик, а вторым - установочный носитель, с которого будет инсталлироваться дистрибутив. При загрузке с носителя пользователю будет предложено меню выбора ключей, в котором он должен выбрать публичный ключ. Если ключ окажется верным, загрузка продолжится. Такая реализация укладывается в концепцию UEFI Secure Boot, позволяя запускать сторонние ОС и одновременно предотвращая загрузку руткитов и буткитов в случае заражения.

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

Однако, по словам Мэтью Гаррета, столь серьезные предосторожности вовсе не обязательны, так как конечный пользователь «уже заявляет о своем доверии», выбирая публичный ключ для штатного загрузчика. Загрузчик Гаррета опередил аналогичную инициативу от Linux Foundation.

Фонд поддержки Linux в настоящее время пытается создать Secure Boot-загрузчик на базе efitools, позволяющий передавать управление неподписанным штатным загрузчикам дистрибутива. Код загрузчика уже готов, однако процесс по неизвестным причинам застопорился на стадии получения ключа у Microsoft. «Мы все еще ожидаем, пока Microsoft вернет нам подписанный загрузчик», - сообщает лидер проекта, активист Linux Foundation Джеймс Боттомли (James Bottomley).

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

★★★★★

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

Ответ на: комментарий от tyler19

Именно. Всё остальное, включая тесты памяти и дополнительную конфигурацию оборудования, можно легко делать с помощью загруженных с диска программ. Хоть сейчас, хоть 40 лет назад.

КУДА загруженных? С ЧЕГО загруженных?

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

Не понятно слово «таки», в свете очередного планового окунания линупс-петуханов в парашу.

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

Ну и выкините такое оборудование в котором повреждена память. Сами же говорили что она стоит копейки.

дык я с удовольствием выкину эту память, если-бы не одно НО: как я выясню, что это память? Тест памяти POST пишет «ОК», что не удивительно, ибо твой тест памяти подчиняется стандарту, когда «640к хватит всем», в итоге он фактически НИЧЕГО не тестирует, ибо у меня 2048к ВНУТРИ процессора. Т.е. IRL во время «теста» процессор даже НЕ обращается к памяти! IRL на сегодня BIOS тупо верит на слово - если ты поставил 2 плашки памяти по 2Г, то у тебя есть 4Гб. Сгоревшие они или нет - проверить невозможно - я на практике видел, что в большинстве случаев, битая память ПРОХОДИТ тест памяти. А вот дальше - как повезёт - система грузится, но до какого момента - зависит от сочетания звёзд. С memtest'ом обычно тоже самое - он тупо рандомно виснет(если загрузится конечно). В итоге, в 21ом веке, я юзаю метод тыка - меняю память на заведомо рабочую. Это не слишком радует, например потому, что проблема может быть и в БП, который выдаёт слишком высокое напряжение, из-за которого всё глючит, и память физически выгорает (ага, «заведомо рабочая»). Ну типа как в автосервисе - сейчас мы быстренько мотор перекинем на свой, и попробуем завестись, ибо иначе мы не умеем.

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

Что мешает тесту памяти загруженному с диска перевести процессор в 64 разрядный режим работы и обращаться к 4 и более гигабайтам памяти, так как это делает операционная система?

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

Что мешает тесту памяти загруженному с диска перевести процессор в 64 разрядный режим работы и обращаться к 4 и более гигабайтам памяти, так как это делает операционная система?

тогда он будет несовместим со _стандартом_ BIOS, который ИМХО пора потому менять. О чём и речь. Intel этого уже 10+ лет добивается, но всё не дают, пугая вирусами и прочей ерундой (линуксоидов пугают незагружающимеся линуксами).

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

Совместим со стандартом BIOS должен быть только код который будет загружен BIOS'ом при старте. Этот код может загружать в память что угодно включая 64 разрядный код который может вообще не использовать ф-ции BIOS'а. Таким образом кроме простенькой процедуры загрузки больше от BIOS и его аналогов ничего не надо т.к. всё остальное может быть загружено причём при этом будет выбор а не проприетарщина вшитая намертво в плату.

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

Совместим со стандартом BIOS должен быть только код который будет загружен BIOS'ом при старте. Этот код может загружать в память что угодно включая 64 разрядный код который может вообще не использовать ф-ции BIOS'а. Таким образом кроме простенькой процедуры загрузки больше от BIOS и его аналогов ничего не надо т.к. всё остальное может быть загружено причём при этом будет выбор а не проприетарщина вшитая намертво в плату.

молодец. Ты придумал UEFI. вот почитай: http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

The original motivation for EFI came during early development of the first Intel–HP Itanium systems in the mid-1990s. BIOS limitations (such as 16-bit processor mode, 1 MB addressable space and PC AT hardware) were unacceptable for the larger server platforms Itanium was targeting.

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

Всё это можно сделать с BIOS'ом. Просто есть люди которые превращают обновление в самоцель несмотря на то что всё уже и так работает. Новое ради нового - самый идиотский лозунг который только можно придумать.

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

Всё это можно сделать с BIOS'ом. Просто есть люди которые превращают обновление в самоцель несмотря на то что всё уже и так работает. Новое ради нового - самый идиотский лозунг который только можно придумать.

извини, я не слишком врубаюсь, на кой хрен нужна 16и битная архитектура там, где уже давно вводят 64х битную?

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

Ну запихайте в программу старта 64 битный код вместо 16 битного если эта backward-compatibility покоя не даёт. Зачем до маразма доходить с гигабайтами памяти для того что умещается в несколько килобайт и проприетарными подписями? Наворотить всякой ненужной херни - типичная болезнь современных программистов. Всё что надо от этой системы это найти диск и скопировать оттуда загрузочный сектор в память. Все программы диагностики и прочее уже можно загрузить потом, не проприетарые прошивки а открытые скомпилированные и сохранённые на диске.

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

Ну запихайте в программу старта 64 битный код вместо 16 битного если эта backward-compatibility покоя не даёт. Зачем до маразма доходить с гигабайтами памяти для того что умещается в несколько килобайт

ту же память к примеру глупо проверять, если доступно 1024кб, при кеше 2048кб.

и проприетарными подписями?

раз декларируется загрузка чего угодно, то это «что угодно» неплохо-бы и проверить на отсутствие жучков.

Наворотить всякой ненужной херни - типичная болезнь современных программистов.

открой капот автомобиля - там тоже Over9000 ненужной херни.

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

ту же память к примеру глупо проверять, если доступно 1024кб, при кеше 2048кб.

Ну так переведи в нужный режим, сколько раз ещё повторить.

раз декларируется загрузка чего угодно, то это «что угодно» неплохо-бы и проверить на отсутствие жучков.

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

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

открой капот автомобиля - там тоже Over9000 ненужной херни.

Что там ненужно? Приведите пример.

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

Ну так переведи в нужный режим, сколько раз ещё повторить.

эх... в _стандарте_ BIOS нет такого режима. Т.е. он нестандартный. Т.е. _стандарт_ надо менять. Это разве непонятно?

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

проблема в том, что для подписи необходимо иметь третье доверенное лицо. И производитель платы тут не пойдёт (проблема в том, что если сделать доверенным лицом крупного производителя, то все остальные попросту разоряться, ибо не смогут выпускать платы по новому стандарту. Это приведёт очевидно к резкому скачку цен, что мало кому нужно. Фактически, это будет глобальный HiTech кризис). За то в области ОС у нас есть крупные игроки - это Microsoft и Ubuntu. И с ними могут договорится более мелкие, вроде Патрика. А вот в первом посте так вообще рассказано про универсальный загрузчик, который может запустить любой Linux, и который подписан мысы. Чем ты не доволен? Ты из фанатегов, которые готовы за одно упоминание мысы глотку перегрызть? Если это так - выпей ъадувалерьянки, и успокойся. Всё хорошо, мысы suxx и mustdie. И сабж - ещё один гвоздь в её гроб.

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

ты уверен в том, что злоумышленник не навтыкал туда жучков, пока тебя не было рядом?

Что там ненужно? Приведите пример.

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

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

эх... в _стандарте_ BIOS нет такого режима. Т.е. он нестандартный. Т.е. _стандарт_ надо менять. Это разве непонятно?

Каким же тогда образом операционная система это делает при загрузке? Как она переходит в несуществующий режим и почему тоже самое не может делать весь ваш софт для диагностики аппаратуры?

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

Производителя конкретной платы. Что бы он мог проверить программное обеспечение для настройки/диагностики его платы на совместимость. Т.к. имеет смысл туда вшивать в BIOS или что то навроде его только софт для таких целей. Каким боком недософт относится к этой аппаратуре если он её не производит непонятно.

крупные игроки - это Microsoft и Ubuntu

Вы пошутили? Недософт согласен - продаёт недософт уже давно и благодаря удачному маркетингу популярен среди офисного планктона. Но Ubuntu в каком месте крупный игрок? Я о нём слышал пару раз всего и в основном на этом форуме.

ты уверен в том, что злоумышленник не навтыкал туда жучков, пока тебя не было рядом?

Каких жучков, я же сам только что скомпилировал. Такими темпами злоумышленник мог их втыкать пока недософтовский сотрудник ходил пить кофе.

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

Не считаю её излишней.

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

Каким же тогда образом операционная система это делает при загрузке? Как она переходит в несуществующий режим и почему тоже самое не может делать весь ваш софт для диагностики аппаратуры?

никаким. никак. BIOS грузит загрузчик, а уж загрузчик грузит ОС. Никогда не задумывался, зачем нужна эта лишняя сущность? Вот затем и нужна...

Производителя конкретной платы. Что бы он мог проверить программное обеспечение для настройки/диагностики его платы на совместимость. Т.к. имеет смысл туда вшивать в BIOS или что то навроде его только софт для таких целей. Каким боком недософт относится к этой аппаратуре если он её не производит непонятно.

т.е. Патрег обязан у _всех_ производителей плат покупать ключик?

Вы пошутили? Недософт согласен - продаёт недософт уже давно и благодаря удачному маркетингу популярен среди офисного планктона. Но Ubuntu в каком месте крупный игрок? Я о нём слышал пару раз всего и в основном на этом форуме.

я тоже не юзаю бубунту. Но говорят, что Марк своим ключом бубунту подписывает, а не ключом от мысы. Т.ч. бубунта загрузится на UEFI без всякой мысы.

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

Не считаю её излишней.

ну вот и в UEFI такое вставили. в старом BIOS перемычка была, которая физически запрещает запись. Но на HDD такую перемычку не повесить.

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

никаким. никак. BIOS грузит загрузчик, а уж загрузчик грузит ОС. Никогда не задумывался, зачем нужна эта лишняя сущность? Вот затем и нужна...

Ну так грузите свои программы через загрузчик, о чём я вам говорю уже несколько сообщений подряд. Чем вам эта сущность мешает же, у вас же память стоит копейки а вам несколько килобайт для неё жалко? Мне вообще не понятно почему эти ваши программы нельзя запустить уже после загрузки операционной системы используя вызовы операционной системы. Привелигированный код может прекрасно писать байты в порты.

т.е. Патрег обязан у _всех_ производителей плат покупать ключик?

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

я тоже не юзаю бубунту. Но говорят, что Марк своим ключом бубунту подписывает, а не ключом от мысы. Т.ч. бубунта загрузится на UEFI без всякой мысы.

Вообще то уже давно всё изобретено. http://www.verisign.com/ и другие провайдеры SSL сертификатов. Если кто то доверяет исключительно недософту пусть недософт предоставит свой SSL сертификат и подпись для проверки. Если же кто то верит исключительно в убунту пусть берёт SSL сертификат разработчиков убунту и проверяет подпись. К чему централизация? По такому принципу давно уже работают SSH, HTTPS, и другие протоколы обмена данными. Да что говорить в gentoo mailing list GLSA рассылаются подписанные конкретными разработчиками.

ну вот и в UEFI такое вставили. в старом BIOS перемычка была, которая физически запрещает запись. Но на HDD такую перемычку не повесить.

Надо пользоваться нормальным софтом а не распиаренной поделкой, тогда и перемычки не понадобятся.

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

нефиг и ждать

Нефиг и ждать - эту х-ню быстро ломанут писатели вирусов для windows-8 - запасайтесь попкорном... Linux-ятники, которые не «правоверные»(Debian) - ломанут ещё быстрее и подскажут вирусописателям ЧТО и КАК :-) А закончится всё тем, что эту «технологию» объявят «устаревшей» :-)

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