The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

16.01.2013 23:17  Для Linux представлена система верификации исполняемых файлов по цифровым подписям

Один из инженеров из компании Red Hat представил в списке рассылки разработчиков ядра Linux патчи с реализацией системы верификации исполняемых файлов в формате ELF с использованием цифровых подписей. Разработка дополняет систему верификации модулей ядра, созданную в рамках проекта по обеспечению поддержки механизма UEFI Secure Boot.

В текущей реализации режима верификации модулей ядра пришлось заблокировать механизм kexec наряду с другими возможностями, которые могут быть использованы для обхода цепочки проверки загружаемых модулей (через kexec могло быть запущено ядро в режиме без проверки цифровых подписей модулей). Одним из предложенных решений указанной проблемы стала поддержка проверки по цифровой подписи исполняемого файла /sbin/kexec, применяемого для загрузки нового ядра с использованием системного вызова sys_kexec(). Другим мотивом обеспечения верификации исполняемых файлов являлось желание выполнения команды kdump для ядер, загруженных в режиме UEFI Secure Boot. Другой возможностью является создание полностью верифицируемых систем, в которых гарантируется неизменность не только ядра, но и исполняемых компонентов пользовательского уровня.

Кроме патчей для ядра Linux представлена новая утилита signelf, предназначенная для заверения исполняемых файлов ELF с использованием закрытого ключа и сертификата x509, созданных в процессе сборки ядра Linux с включенным режимом верификации. В процессе выполнения вызова exec(), ядро проверяет снабжён ли файл цифровой подписью и проводит верификацию (проверяется загружаемое в память содержимое секции PT_LOAD). Если цифровая подпись соответствует проверочному ключу или файл не подписан, то программа выполняется в обычном режиме, иначе выполнение блокируется.

В настоящее время поддерживается только подписывание статически слинкованных исполняемых файлов. В силу необходимости формирования подписей для всех используемых библиотек пока не поддерживается динамическое связывание. Явное обращение к вызову dlopen() не блокируется, поэтому задействование в программе данной функции следует проверять вручную перед формированием подписи.

Из других проектов по использованию цифровых подписей для защиты целостности исполняемых файлов можно отметить интегрированную начиная с ядра Linux 2.6.30 инфраструктуру IMA (Integrity Management Architecture) и предложенные компанией Ericsson системы DSI (Distributed Security Infrastructure) и DigSig (Digital Signature in the Kernel).

  1. Главная ссылка к новости (https://lkml.org/lkml/2013/1/1...)
  2. OpenNews: Релиз Linux ядра 2.6.30 (добавлена инфраструктура контроля целостности исполняемых файлов IMA)
  3. OpenNews: Четыре вещи, которых не хватает в Linux ядре
  4. OpenNews: Релиз ядра Linux 3.7. Обзор новшеств
  5. OpenNews: Fedora станет первым дистрибутивом с поддержкой режима безопасной загрузки UEFI
Лицензия: CC-BY
Тип: Программы
Ключевые слова: elf, sign, verify, uefi
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, mine (ok), 00:57, 17/01/2013 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    UEFI и подобная хрень не нужны на десктопе.
     
     
  • 2.6, BratSinot (ok), 01:24, 17/01/2013 [^] [ответить]    [к модератору]
  • +20 +/
    UEFI это замена BIOS вообще-то, а Secure Boot отдельная тема.
     
     
  • 3.26, Аноним (-), 08:46, 17/01/2013 [^] [ответить]    [к модератору]
  • –3 +/
    Не замена, а расширение/дополнение. Без  BIOS или coreboot UEFI бесполезен, так как не умеет инициализировать устройства, что и является основной задачей BIOS.
     
     
  • 4.30, Аноним (-), 09:31, 17/01/2013 [^] [ответить]     [к модератору]
  • +3 +/
    Вас обманули UEFI - это универсальный расширяемый фирмварный интерфейс Возмо... весь текст скрыт [показать]
     
     
  • 5.57, XVilka (ok), 13:25, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Не совсем - SEC и PI - не часть UEFI, UEFI - это лишь ядро операционной системы... весь текст скрыт [показать]
     
  • 3.46, filosofem (ok), 10:49, 17/01/2013 [^] [ответить]    [к модератору]  
  • –6 +/
    > UEFI это замена BIOS вообще-то

    От этого он не становится нужным. Никаких проблем BIOS он собственно не решает, кроме поддержки GPT, которую и в Legacy BIOS можно было добавить.

     
  • 3.86, ваш школьник (?), 21:20, 18/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Таки поддерживаю. Закрытая фигня не нужна на десктопе! Coreboot лучше будет)
     
  • 1.2, Аноним (-), 01:03, 17/01/2013 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Вот вроде и хорошая вещь, но опять её повернут против пользователя Тот же гугл ... весь текст скрыт [показать]
     
     
  • 2.32, Аноним (-), 09:53, 17/01/2013 [^] [ответить]     [к модератору]  
  • –4 +/
    На кой ляд тебе рутовые права в смарте Консоль запускать и чесать ЧСВ ... весь текст скрыт [показать]
     
     
  • 3.43, ъ (?), 10:32, 17/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    >На кой ляд тебе рутовые права в смарте?

    Смарт в Китае за сто бачей купил и теперь надо китайчатину выпилить.

     
     
  • 4.50, Xasd (ok), 12:09, 17/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > теперь надо китайчатину выпилить.

    меняй прошивку через ClockworkMod . на китайских телефонах зачастую бывает что ClockworkMod уже установлен.

     
  • 3.58, Anonim (??), 13:37, 17/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Его без рута даже толком не настроить. Неюзабильно, в общем.
     
  • 3.59, Аноним (-), 13:39, 17/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Конечно. А тебе этого разве не хотелось бы?
     
  • 3.78, arisu (ok), 03:24, 18/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    > На кой ляд тебе рутовые права в смарте?

    на кой ляд тебе ключи от квартиры? входи-выходи, когда ЖЭК позволит.

     
  • 2.38, Харитон (?), 10:04, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Но ведь гугл исходники выкладывает отключаете сертификацию и перекомпилируете я... весь текст скрыт [показать]
     
  • 1.3, CssfPZS (ok), 01:06, 17/01/2013 [ответить] [показать ветку] [···]     [к модератору]  
  • –5 +/
    2008-07-15 16 13 03 GMT Линус Торвальдс сравнил сообщество OpenBSD, которое изве... весь текст скрыт [показать]
     
     
  • 2.4, sashka_ua (?), 01:13, 17/01/2013 [^] [ответить]    [к модератору]  
  • –2 +/
    Чувак, ты чувствуешь разницу между:
    - целиком концентрируются на вопросах безопасности, в то время как существуют и другие важные проблемы
    - тоже работают над безопасностью

    ?

     
     
  • 3.8, CssfPZS (ok), 01:33, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Во первых от чувака слышу Во вторых все эти пляски могут выйти боком И потом O... весь текст скрыт [показать]
     
     
  • 4.31, Аноним (-), 09:45, 17/01/2013 [^] [ответить]     [к модератору]  
  • +2 +/
    Ну так воспользуйся OpenBSD вместо линукса, какие проблемы то Посмотрим как теб... весь текст скрыт [показать]
     
  • 3.21, Anonym (?), 07:17, 17/01/2013 [^] [ответить]     [к модератору]  
  • –2 +/
    И где же ваш Линус теперь ... весь текст скрыт [показать]
     
     
  • 4.33, Аноним (-), 09:54, 17/01/2013 [^] [ответить]     [к модератору]  
  • –2 +/
    Дрочит в углу ... весь текст скрыт [показать]
     
  • 4.39, Аноним (-), 10:08, 17/01/2013 [^] [ответить]    [к модератору]  
  • +6 +/
    > И где же ваш Линус теперь?

    Там же где и раньше. Сами по себе подписи не являются абсолютным вселенским злом.
    Хотите пример, который понятен даже кухарке?

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

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

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

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

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

    Внимание, вопрос: являются ли все собаки узнающие голос своего хозяина и различающие его от окружающих абсолютным злом? ИМХО нет. Просто надо понимать кто настоящий хозяин вон той штуки.

     
     
  • 5.49, жабабыдлокодер (ok), 12:01, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    А если двери стальные, на окнах решетки в руку толщиной, замки сейфовые т е ст... весь текст скрыт [показать]
     
     
  • 6.60, Anonim (??), 13:43, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Эти сейфы взломаны уже наверное тысячи раз это только известные случаи , а вы в... весь текст скрыт [показать]
     
  • 5.53, linux must _RIP_ (?), 12:55, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    А столман считает иначе И стадо линукс обезьян кричат что Secure boot это зло ... весь текст скрыт [показать]
     
     
  • 6.71, Аноним (-), 21:15, 17/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Ошибаешься, обезьяны кричат, что linux must rip.
     
  • 2.13, Андрей (??), 02:33, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    нельзя сравнивать то что openbsd следит за безопасным написанием кода, с тем что... весь текст скрыт [показать]
     
     
  • 3.17, CssfPZS (ok), 03:49, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Речь про то, что с такими тенденциями может быть ограничена свобода пользователе... весь текст скрыт [показать]
     
     
  • 4.40, Аноним (-), 10:18, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    У вас все как-то топорно Обычно такое в menuconfig-е ядра конфигурируется Друг... весь текст скрыт [показать]
     
  • 4.45, ананим (?), 10:45, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    каким образом сырцы как были открытыми так и останутся более того, подписанные... весь текст скрыт [показать]
     
     
  • 5.54, linux must _RIP_ (?), 12:56, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    А ведь только недавно ты обливал грязью Motorola Droid который не давал грузить ... весь текст скрыт [показать]
     
     
  • 6.75, ананим (?), 02:57, 18/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Модератор Какого х ты удалил ответ Или брехать уже разрешено Главное чтобы ку... весь текст скрыт [показать]
     
     
  • 7.84, Crazy Alex (ok), 04:18, 18/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Как же не имеет? Идеальный движок для тивоизации.
     
     
  • 8.85, ананим (?), 04:57, 18/01/2013 [^] [ответить]     [к модератору]  
  • +/
    угу, как и компьютер идеальный движок для тивоизации и обмана а железо 8212 ... весь текст скрыт [показать]
     
  • 5.70, CssfPZS (ok), 18:35, 17/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Внизапно, BIOS тоже можно перепрошить, так что по твоей логике получается, что все просто и
    security boot это не тивизация, ведь ты всегда можешь написать свой bios и прошить его!

     
     
  • 6.76, ананим (?), 03:05, 18/01/2013 [^] [ответить]     [к модератору]  
  • +2 +/
    Ты дурак 1 Где на биос сырцы 2 В каком месте в секуре бут я могу вставить с... весь текст скрыт [показать]
     
  • 6.77, ананим (?), 03:12, 18/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Зыж Запомни, детка, секуребут работает с уефи Только с уефи Там нет биоса При... весь текст скрыт [показать]
     
     
  • 7.91, Пр0х0жий (ok), 01:10, 20/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Secure boot начинается с BIOS, который Enable Disable и при Disable разлочивает ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (22)

  • 1.5, Аноним локалхоста (?), 01:18, 17/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    При желании, можно и на скрипты ввести ограничения запуска.

    Примерная модель:
    У скрипта без цифровой подписи не может быть атрибута "исполняемый", если файловая система смонтирована со специальной опцией.
    Команда chmod +x file произведет подписывание бинарного или скриптового файла сертификатом пользователя, если не указан иной сертификат явно.

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

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

     
     
  • 2.18, Аноним (-), 04:03, 17/01/2013 [^] [ответить]     [к модератору]  
  • +2 +/
    Евгений Велтистов Рэсси - неуловимый друг - Вам одним открою строгую тайну Я... весь текст скрыт [показать]
     
  • 2.37, Аноним (-), 10:01, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Скрипты могут запускаться и так source script_name sh или sh script_name sh Т ... весь текст скрыт [показать]
     
     
  • 3.68, Аноним (-), 17:56, 17/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Ну, если уж на то пошлО, то ВСЕ скрипты некоторые явно, некоторые неявно - если... весь текст скрыт [показать]
     
     
  • 4.69, www2 (??), 18:14, 17/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Система может и сама проверить подпись у скрипта, прежде чем вызывать его интерпретатор.
     
     
  • 5.72, Аноним (-), 00:19, 18/01/2013 [^] [ответить]    [к модератору]  
  • +/
    Тогда уж вообще у всех файлов открываемых в системе на чтение.
    echo ls > test.txt
    sh < test.txt
     
     
  • 6.73, Аноним (-), 00:22, 18/01/2013 [^] [ответить]    [к модератору]  
  • +/
    > Тогда уж вообще у всех файлов открываемых в системе на чтение.
    > echo ls > test.txt
    > sh < test.txt

    или
    cat test.txt | sh

    не может же shell проверять подпись еще и у pipe.

     
     
  • 7.74, Аноним (-), 00:28, 18/01/2013 [^] [ответить]     [к модератору]  
  • +/
    или еще так alias sh cat test txt 124 sh sh ... весь текст скрыт [показать]
     
  • 2.88, Пр0х0жий (??), 22:43, 19/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    > У скрипта без цифровой подписи
    > не может быть атрибута "исполняемый"

    $ touch ./privet
    $ echo "echo "PRIVET"" > privet
    $ bash ./privet
    PRIVET
    $ cat ./privet
    echo PRIVET

     
     
  • 3.89, arisu (ok), 23:31, 19/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    а зачем «тач»? эхо и так создаст.
     
     
  • 4.92, Пр0х0жий (ok), 01:55, 20/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Признаю, дал маху Но темы Цифровые подписи и Подписано ключом Майкрософт заводя... весь текст скрыт [показать]
     
     
  • 5.93, arisu (ok), 02:29, 20/01/2013 [^] [ответить]     [к модератору]  
  • +/
    это да пугает ещё количество людей, которые считают 171 ничего страшного 187... весь текст скрыт [показать]
     
     ....нить скрыта, показать (11)

  • 1.15, Crazy Alex (ok), 03:06, 17/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Вот интересно - оно кому-то реально нужно? Не в смысле security theatre - а чтобы реальная польза была? Мне как-то только вред видится - для тивоизации всё это - просто подарок.
     
     
  • 2.16, Аноним (-), 03:14, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Дурацкий вопрос Им и нужно, зачем - предлагаю подумать самому Это для тебя тив... весь текст скрыт [показать]
     
     
  • 3.63, Crazy Alex (ok), 15:09, 17/01/2013 [^] [ответить]    [к модератору]  
  • +/
    Выгоды этих товарищей мне не интересны.
     
  • 2.35, Аноним (-), 09:55, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Ты просто темный и за пределами своего локалхоста ничего не знаешь Тащемта, BAR... весь текст скрыт [показать]
     
  • 2.41, Аноним (-), 10:22, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Ну например такая система для вломившегося в нее хакера - достаточно неудобна Р... весь текст скрыт [показать]
     
     
  • 3.47, К.О. (?), 10:57, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Не знаю не вламывался Но судя по тому, что всплывали трояны подписанные вполне... весь текст скрыт [показать]
     
  • 3.62, Crazy Alex (ok), 15:09, 17/01/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Так это ж вроде селинуксом прикрывается скорее? Причем в его случае вопрос "на чьей стороне играет система" не стоит.
     
  • 3.80, arisu (ok), 03:29, 18/01/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    > Ну например такая система для вломившегося в нее хакера — достаточно неудобна.

    а если вообще не давать рута, не позволять ставить своё ядро, не… wait… OH, SHI~~~

     
  • 2.94, Мимоаноним (?), 22:17, 22/01/2013 [^] [ответить]     [к модератору]  
  • +/
    Мне на ноуте точнее, когда куплю новый взамен стареющему Украдут - без рефлэша... весь текст скрыт [показать]
     
  • 1.20, Ph0zzy (ok), 07:04, 17/01/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    Если подправить законодательство "этой страны" то использование подобной технологии наконец позволит обойти дурацкую формулировку: "сертифицированным считается система, установленная с носителя, изготовленного в сертифицированной лаборатории", а также упростит процесс обновления сертифицированных дистрибутивов.
     
     
  • 2.42, Аноним (-), 10:26, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Гораздо проще просто регать фирму в другой стране Где никто не заставляет проши... весь текст скрыт [показать]
     
     
  • 3.44, VoDA (ok), 10:39, 17/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Такая фирма не сможет поставлять технику и ОС для гос-органов и стратегически ва... весь текст скрыт [показать]
     
     
  • 4.48, Аноним (-), 11:48, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Secure Boot - это Тивоизация в чистом виде GPL3 - такое запрещает Но ядро на ... весь текст скрыт [показать]
     
     
  • 5.87, mavriq_ (?), 00:37, 19/01/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    биос вообще с разделами не работает если что - он нулевой сектор берет, по адре... весь текст скрыт [показать]
     
  • 5.90, Пр0х0жий (??), 00:17, 20/01/2013 [^] [ответить]    [к модератору]  
  • +/
    http://article.gmane.org/gmane.linux.kernel/957194

     
  • 4.51, ананим (?), 12:34, 17/01/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    если ты не микрософт вот как интересно будут подписывать дрова для винды в связ... весь текст скрыт [показать]
     
  • 4.61, Аноним (-), 13:59, 17/01/2013 [^] [ответить]     [к модератору]  
  • +4 +/
    Так этому радоваться надо Самые тупые, наглые, бюрократизированные волокитчики,... весь текст скрыт [показать]
     
  • 4.81, arisu (ok), 03:30, 18/01/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    > Такая фирма не сможет поставлять технику и ОС для гос-органов и стратегически
    > важных предприятий.

    а зачем это надо? ну, кроме «откатов и распилов», конечно.

     
     ....нить скрыта, показать (8)

  • 1.83, Аноним (-), 04:05, 18/01/2013 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Чем оно отличается от SELinux, в плане при входе в ядро через первую же дырку... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor