Проект Openwall опубликовал выпуск модуля ядра LKRG 0.9.7 (Linux Kernel Runtime Guard), предназначенного для выявления и блокирования атак и нарушений целостности структур ядра. Например, модуль может защитить от несанкционированного внесения изменений в работающее ядро и попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от эксплоитов уже известных уязвимостей ядра Linux (например, в ситуациях когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Код проекта распространяется под лицензией GPLv2. Об особенностях реализации LKRG можно прочитать в первом анонсе проекта...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59760
Надеюсь когда-нибудь я увижу такую же сноску про Раст."Об особенностях реализации безопасной работы с памятью в Rust можно прочитать в первом анонсе проекта".
Камень в огород редакции.
Это к чему было?
Скорее всего к повторяющемуся описанию "Безопасная работа с памятью обеспечивается..." из новости в новость про релиз раста. Такое ощущение, что новостедел бере просто тест с предыдущего релиза и заменяет часть текста на новый.
А что, если эксплоит отключит этот модуль? Да ну, не может быть.
Тут кто первый встал - того и тапки.
Мне нравится больше классический подход:
Строгое W^X
Для неизменяемых данных строгое RO> предназначенного для выявления и блокирования атак и нарушений целостности структур ядра. Например, модуль может защитить от несанкционированного внесения изменений в работающее ядро и попыток изменения полномочий пользовательских процессов
Считаю все технологии позволяющие вносить любые изменения в работающие ядро - БЕКДОРОМ!
Все что исполняется никогда не должно изменятся, а что изменяется никогда не должно исполнятся. Это фундамент ИТ ИБ определён математиками в конце 1960-тых и принят как стандарт в 1983г. Нарушать его нельзя.
Все технологии требующие WX надо выкинуть с ядра, системного и прикладного ПО, это самый минимум для ИБ.
А ловить вири, когда те уже ЗАПУСТИЛИСЬ С ПРАВАМИ ЯДРА в системе, неблагодарное занятие.
Еще один аналогичный плохой пример:
eBPF-based Security Observability and Runtime Enforcement solution, named Tetragon,(Isovalent) https://grsecurity.net/tetragone_a_lesson_in_security_fundam...
Поправлю ссылку: https://grsecurity.net/tetragone_a_lesson_in_security_fundam... и эта не работает. Эта тоже не работает: https://grsecurity.net/blogПопробуйте так:
По ссылке не переходите, а наберите руками: https://grsecurity.net
Далее в правом вверхнем углу перейдите на BLOG (https://grsecurity.net/blog) мне все статьи с этого блога нравятся, читаю по возможности.
На странице блога от May 24, 2022 есть статья "Tetragone: A Lesson in Security Fundamentals" написанная Pawel Wieczorkiewicz, Brad Spengler (https://grsecurity.net/tetragone_a_lesson_in_security_fundam...)
От UKSM было бы больше проку.
> This repository has been archived by the owner on Aug 29, 2023. It is now read-only.Не будет?
Долго приходилось самостоятельно поддерживать работоспособность и копаться в ядре. Удовольствие не из приятных, учитывая частоту, с которой патчи отваливались. Вот бы кто-нибудь подхватил, отличная вещь была же.
В красивой упаковке передайте Linux Foundation, типа как Мазила свои разработки. ;)
первый антивирус онли Linux на старт, смотрите что популярность творит
А что если в модуле по защите от уязвимостей тоже есть уязвимость 🤔?
То это не уязвимость, а фича, кого надо фича.
Название смотрим: Openwall > open wall > открой стену.
Или застени пробой.
Где вмятина?
Вызывает проблемы со звуком на некоторых сочетаниях аудиокарт и процессоров (у меня - двухядерный, на 8ядерном я проблем не слышал, но это не значит, что их не было).Неплохо бы сделать модуль PipeWire, который будет отключать LKRG во время воспроизведения звука, как временный костыль.
> Неплохо бы сделать модуль PipeWire, который будет отключать LKRG во время воспроизведения звука, как временный костыль.Подменять его функции и сигналить сиреной в колонки если зловред пытается нарушить структуры ядра.
P.S. Разве Kernel Panic не защищает ядро от нарушения структур ядра ?
Паника это следствие каких то нарушений в ядре, а не превентивная мера защиты от них.
>В usermodehelper в список разрешённых файловых путей добавлен /usr/bin/modprobe, используемый в Arch Linux.А не проще ли список путей грузить из файла? Если уже есть рут, то терять особо нечего, а если рута нет - то файл особо и не модифицировать (ну разве что грязной коровой).
А если файл недоступен, что делать? А если доступен, но неправильного формата? А если прочиталась только половина файла? А если… Короче, такие вещи лучше захардкодить сразу, чем потом ифать каждый угол. Динамическая конфигурация сама по себе дыра в безопасности.
>А если
>Короче, такие вещи лучше захардкодитьА если захардкодишь неверно? А если во рту грибы выросли?
>А если файл недоступен, что делать?
Отключать эту защиту, писать в dmesg.
>А если доступен, но неправильного формата?
Отключать эту защиту, писать в dmesg.
>А если прочиталась только половина файла?
Если ошибка чтения - отключать эту защиту, писать в dmesg.
Если нет ошибки чтения - применять все прочитанные пути, включать защиту. Если у тебя сбойный диск - то ты не можешь гарантировать, что сам модуль ядра и вообще сам бинарь ядра верно прочитан. В таких условиях все гарантии аннулированны и ты вообще должен сказать спасибо, что у тебя хоть что-то работает.
Как это установить в мой дебиан?
https://www.kicksecure.com/wiki/Linux_Kernel_Runtime_Guard_LKRG
https://github.com/lkrg-org/lkrg?ysclid=lmm2jjqj3p363822167
Сдается мне, что установить не самое главное.
Тут важно, как правильно приготовить и как его есть
$ apt search lkrg
А чего в само ядро не берут его?
Вопрос времени. Другой вопрос: почему не использовать AppArmor, SELinux?
Kernel Self Protection SettingsWhonix uses strong Kernel Hardening Settings as recommended by the Kernel Self Protection Project (KSPP).
https://github.com/Kicksecure/security-misc