Pull to refresh

Comments 8

1. свистоперделки в .config не нужны
2. так же как в хуках LSM, имхо, модификацию обрабатываемых данных на них сможет совершить только редкостно психованный индус
Всё верно. Основная цель — это добиться возможности осуществления перехватов (функций, системных вызовов — не важно) в рантайме, т.е. динамически; на любом ядре и с любой его конфигурацией (конечно, отсутствие возможности загрузить модуль ядра существенно усложнит дело).
мда, родили вы очередной «interceptor.c», извините, но решению на jmp по адресу вызова сто лет в обед. Хотя написано неплохо, поздравляю, теперь этот код будет в тыщщщах модулей и статей тиражироваться.

Корректный перехват execve (с возвратом -EACCES, (минус важен), например), мне кажется, — очень порадует с этим примером :).

И, помимо хуков sys_call_table — до сих пор модно еще и патчить security_ops в реалтайме, когда это возможно. Плюс старый добрый код перехвата binfmt загрузчика тоже дает пару неплохих мест, которые выгоднее перехватывать там.

p.s. никому разработчик, любящий потрахать ядро, на удаленку не нужен?
Вы правы на счёт того, что в стате описан известный способ перехвата управления. Однако, если попытаетесь посмотреть на проблему перехвата системных вызовов в целом, то вряд ли найдёте что-то актуальное и готовое к использованию. Здесь же мы попытались дать эту информацию. Что касается LSM и модификации security_ops, эта инфорормация уже была детально расписана в одной из ранних статей.
да, впечатляющий разбор LSM'а, по нему как раз информации меньше было. Я все равно считаю, что недавний метод с поиском адреса таблицы через известный адрес sys_call_table — вполне актуален, тем более что к нему и пример с перехватом шел )
Я все равно считаю,


Просто какой-то паноптикум дегенератов!
очень содержательная статья, спасибо.
Sign up to leave a comment.