The OpenNET Project / Index page

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

Выпуск модуля LKRG 0.6 для защиты от эксплуатации уязвимостей в ядре Linux

20.02.2019 10:13

Проект Openwall опубликовал выпуск модуля ядра LKRG 0.6 (Linux Kernel Runtime Guard), обеспечивающего выявление несанкционированного внесения изменений в работающее ядро (проверка целостности) или попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от уже известных эксплоитов для ядра Linux (например, в ситуациях когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Об особенностях LKRG можно прочитать в первом анонсе проекта.

В новой версии для systemd подготовлен unit-файл для инициализации LKRG на начальной стадии загрузки, а также предложены сборочные опции для его установки и удаления. В подсистеме проверки целостности переработана поддержка меток перехода (*_JUMP_LABEL) и обеспечена защита битов SMEP (Supervisor Mode Execution Prevention, 20 бит в регистре CR4) и WP (Write Protect, 16 бит в регистре CR0) для систем с архитектурой x86.

В коде определения применения эксплоитов при помощи pCFI (вариант Control Flow Integrity) реализована защита против эксплуатации через непреднамеренный вызов функций ядра в качестве ROP-гаджетов. Интерфейс usermodehelper ограничен запуском приложений из белого списка. pCFI позволил блокировать оба ранее опубликованных метода обхода LKRG из специально модифицированных эксплойтов, тогда как ограничение usermodehelper само по себе также блокировало бы один из них.

Для исключения ложных срабатываний обеспечено замораживание всех пользовательских процессов во время инициализации LKRG. Решены проблемы со сборкой в ядрах Linux 4.17+ при выключении опции CONFIG_ARCH_HAS_SYSCALL_WRAPPER.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Выпуск yescrypt 1.0.0, новой схемы хеширования паролей
  3. OpenNews: Обновление сборки Openwall GNU/*/Linux
  4. OpenNews: Проект Openwall подготовил модуль для защиты от эксплуатации уязвимостей в ядре Linux
  5. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  6. OpenNews: Линус Торвальдс раскритиковал ограничительные меры по усилению защиты ядра Linux
Лицензия: CC-BY
Тип: Программы
Ключевые слова: lkrg, kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Линус (?), 10:33, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +3 +/
    Это что, антивирус?!
     
     
  • 2.2, Торвальдс (?), 10:51, 20/02/2019 [^] [ответить]    [к модератору]
  • +8 +/
    Нет, это Патрик.
     
  • 2.7, J.L. (?), 13:05, 20/02/2019 [^] [ответить]    [к модератору]
  • +1 +/
    > Это что, антивирус?!

    не антивирус, а система защиты затрудняющая эксплуатацию дырок

     
  • 1.3, InuYasha (?), 11:14, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +2 +/
    Каков урон производительности при этом?
     
     
  • 2.11, solardiz (ok), 15:28, 20/02/2019 [^] [ответить]     [к модератору]
  • +5 +/
    Типично от долей процента до единиц процентов Иногда наблюдается даже повышение... весь текст скрыт [показать]
     
     
  • 3.12, Michael Shigorin (ok), 16:34, 20/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > Иногда наблюдается даже повышение производительности

    Ой, а за счёт чего так? (не нашёл в PERFORMANCE)

     
     
  • 4.15, solardiz (ok), 17:47, 20/02/2019 [^] [ответить]     [к модератору]  
  • +4 +/
    Повторюсь, но за счет того, что урон сравним со случайными колебаниями, проис... весь текст скрыт [показать]
     
     
  • 5.22, Michael Shigorin (ok), 18:39, 20/02/2019 [^] [ответить]     [к модератору]  
  • +/
    А, то есть ещё один фактор и разлёт измеряемого вследствие остальных, превышающи... весь текст скрыт [показать]
     
     
  • 6.24, Апасный Тип (?), 21:03, 20/02/2019 [^] [ответить]    [к модератору]  
  • –7 +/
    Ой какой сообразительный. Всегда приятно знать что мои посты удаляет более умный человек чем я.
     
  • 5.25, Ordu (ok), 22:38, 20/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Я не люблю давать советов, когда не просят, но давайте я это изложу как пожел... весь текст скрыт [показать]
     
     
  • 6.26, solardiz (ok), 00:12, 21/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Спасибо В файле PERFORMANCE сейчас даны не только средние, но и отдельные резул... весь текст скрыт [показать]
     
  • 6.27, Аноним (27), 00:23, 21/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    На надо дисперсию, пусть всю гистограмму дают.
     
     
  • 7.29, Ordu (ok), 01:24, 21/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Гистограмма -- это уже график Это дополнительные геморрои Дисперсию же посчита... весь текст скрыт [показать]
     
     
  • 8.30, Sw00p aka Jerom (?), 03:44, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    вы бы тут еще и на стат анализ ссылочек понакидали, если кто не в курсе
     
     
  • 9.33, PnDx (ok), 14:31, 21/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Для проверки простых моделей сводящихся к утверждениям вида что-то одно всегда... весь текст скрыт [показать]
     
     
  • 10.35, Sw00p aka Jerom (?), 15:21, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    а как же коэффициент корреляции, или мат ожидание?
     
     
  • 11.38, PnDx (ok), 15:41, 21/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Что, много букф По ссылке, внизу указатели на продолжение осмотра А то д... весь текст скрыт [показать]
     
     
  • 12.39, Sw00p aka Jerom (?), 15:46, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    так я и предложил Ordu оставить ссылочку на стат анализ, для тех кто не в курсе.
     
  • 9.40, Ordu (ok), 19:53, 21/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Я не знаю что посоветовать Обычно в таких случаях люди рекомендуют всем повтори... весь текст скрыт [показать]
     
  • 8.31, Аноним (27), 09:12, 21/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Гистограмма - это не график Это пары значений границы корзины - количество э... весь текст скрыт [показать]
     
     
  • 9.36, Sw00p aka Jerom (?), 15:25, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    все есть график, если это "рисуется", любой график зависимости можно представить в виде таблицы "пара-значение"
     
  • 1.5, ryoken (ok), 11:53, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Подскажите, кто в курсе. Сие только для x86\AMD64? На Power & K распространяется?
     
     
  • 2.10, solardiz (ok), 15:15, 20/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Пока только x86(-64), но поддержка других архитектур может быть добавлена при наличии спроса, особенно коммерческого (какой-нибудь "cloud" провайдер на Aarch64, какой-нибудь производитель телефонов на Android и т.п.) Причем добавлена она может быть легко, но частично (путем исключения специфичной для x86(-64) функциональности при сборке под другие архитектуры) или сложно, но полностью (путем добавления аналогичной функциональности для конкретных других архитектур). Вот ответ Адама на схожий вопрос: https://www.openwall.com/lists/lkrg-users/2018/07/31/3
     
  • 1.6, не Илья (?), 12:22, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    А вот и новые обходы от Ильи:

    https://www.openwall.com/lists/lkrg-users/2019/02/20/1

     
     
  • 2.9, solardiz (ok), 15:03, 20/02/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    Илья молодец, спасибо ему. Я только что прокомментировал новые обходы там дальше по треду: думаю, нам надо будет считать такие обходы выходящими за рамки предоставляемой LKRG защиты как минимум на системах/VM'ах без SMEP, а также усилить защиту бита SMEP (пока что очень слабую). Любопытно, что сегодня же Kees Cook предложил в upstream-ядрах устранить gadget, типично используемый эксплойтами (в том числе этим) для выключения SMEP. Может быть, LKRG привнесет аналогичное изменение и в старые ядра.
     
  • 1.28, Аноним (27), 00:25, 21/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    solardiz, вижу https вы таки наладили. Спасибо. А планируются ли оффициальные пакеты?
     
     
  • 2.34, solardiz (ok), 15:09, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Бинарные пакеты LKRG, если когда-либо будут, скорее всего окажутся специфичными для конкретных версий конкретных дистрибутивов, а возможно и для конкретных сборок ядра. В ближайших планах их нет, но есть вариант в отдаленном будущем сделать такие сборки под какие-нибудь enterprise'ные дистрибутивы в платном LKRG Pro - как способ финансирования проекта, не связанный с каким-либо урезанием функциональности бесплатного LKRG и позволяющий использовать свободную лицензию (сейчас это GPLv2) и для LKRG Pro (который в таком случае будет лишь проверенной нами сборкой LKRG). Нужны ли бинарные пакеты кроме как под enterprise дистрибутивы и бесплатно? Какие, кому и зачем, учитывая разнообразие версий и сборок ядер, которые нам пришлось бы поддерживать? Пока нам представляется проще нынешний вариант, когда пользователь дает команду make сам и получает сборку под своё ядро. В этом контексте, мы также рассматриваем добавление рандомизации при сборке, что даст пользовательским сборкам некоторое преимущество по безопасности перед заранее подготовленными и у всех одинаковыми пакетами.
     
     
  • 3.41, J.L. (?), 12:39, 22/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Бинарные пакеты LKRG, если когда-либо будут, скорее всего окажутся специфичными для конкретных
    > версий конкретных дистрибутивов, а возможно и для конкретных сборок ядра.
    > разнообразие версий и сборок ядер, которые нам пришлось бы поддерживать

    а dkms использовать?

     
     
  • 4.42, solardiz (ok), 16:01, 25/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Спасибо. Мы пока не рассматривали вариант использовать DKMS, но может быть.
     
  • 1.32, Онанимус (?), 10:47, 21/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Когда в прошлом году я пробовал LKRG на своем ноуте, то он начинал с материться про взлом поле выхода ноута из спящего режима. Как с этим в новой версии? У меня, к сожалению, сейчас нет времени для теста (
     
     
  • 2.37, solardiz (ok), 15:33, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Знаем об этой проблеме. Проявляется не на всяком железе, что усложняет проверку возможных исправлений. Пока не исправили. Когда исправим, напишем об этом в CHANGES.
     

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


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