Разработчики проекта Grsecurity опубликовала информацию по вопросам безопасности которые были найдены в предложенном патче для улучшения безопасности ядра Linux сотрудником Huawei, наличие тривиально эксплуатируемой уязвимости в наборе патчей ХКСП (Самозащита ядра Huawei).
Эти патчи «HKSP» были опубликованы сотрудником Huawei 5 дней назад и включают упоминание Huawei в профиле GitHub и используют слово Huawei в декодировании названия проекта (HKSP - Самозащита ядра Huawei), хотя Emplado упоминает что проект не имеет отношения к компании и является его собственным.
В свободное время я исследовал этот проект, название hksp дал я, он не имеет отношения к компании Huawei, нет продукта Huawei, который использует этот код.
Этот патч-код был создан мной, так как у одного человека не хватает энергии, чтобы покрыть все. Таким образом, отсутствует гарантия качества, такая как проверка и тестирование.
О HKSP
HKSP включает изменения, такие как рандомизация компромиссы в структуре, защита от атак пространства имен ID пользователя (пространство имен pid), разделение технологического стека область mmap, обнаружение двойного вызова функции kfree, блокировка утечки через псевдо-FS / proc (/ proc / {модули, ключи, ключевые пользователи}, / proc / sys / kernel / * и / proc / sys / vm / mmap_min_addr, / proc / kallsyms), улучшенная рандомизация адресов в пользовательском пространстве, дополнительная защита Ptrace, улучшенная защита smap и smep, возможность запретить отправку данных через необработанные сокеты, блокировка адресов Invalid в сокетах UDP и проверки целостности запущенных процессов.
Фреймворк также включает модуль ядра Ksguard, предназначенный для выявления попыток внедрения типичных руткитов.
Патчи вызвали интерес у Грега Кроа-Хартмана, отвечает за поддержание стабильной ветви ядра Linux, которая будет попросил автора разделить монолитный патч на части для упрощения обзора и продвижение в центральную композицию.
Кис Кук (Kees Cook), руководитель проекта по продвижению технологии активной защиты в ядре Linux, также положительно отзывался о патчах, а проблемы привлекли внимание к архитектуре x86 и характеру уведомления многих режимов, которые записывают только информацию проблема, но не пытайтесь ее заблокировать.
Патч-исследование разработчиков Grsecurity выявили много ошибок и слабых мест в коде и это также показало отсутствие модели угроз, позволяющей адекватно оценить возможности проекта.
Чтобы проиллюстрировать, что код был написан без использования безопасных методов программирования, Пример тривиальной уязвимости представлен в обработчике файлов / proc / ksguard / state, созданном с разрешениями 0777, что означает, что у всех есть доступ на запись.
Функция ksg_state_write, используемая для анализа команд, записанных в / proc / ksguard / state, создает буфер tmp [32], в который данные записываются на основе размера переданного операнда, без учета размера целевого буфера и без проверки параметр с размером строки. Другими словами, чтобы перезаписать часть стека ядра, злоумышленнику достаточно написать специально созданную строку в / proc / ksguard / state.
Получив ответ, прокомментировал разработчик на странице GitHub проекта «HKSP» задним числом после обнаружения уязвимости он также добавил примечание, что проект продвигается в его свободное время для исследований.
Спасибо команде безопасности за обнаружение множества ошибок в этом патче.
Ksg_guard - это образец бита для обнаружения руткитов на уровне ядра, взаимодействие пользователя и ядра запускает интерфейс proc, моя исходная цель - быстро проверить идею, поэтому я не добавляю достаточно проверок безопасности.На самом деле проверка руткита на уровне ядра вам все равно придется обсудить с сообществом, если вам нужно разработать инструмент ARK (анти-руткит) для системы Linux ...