-1

У меня есть модуль ядра linux и он имеет механизм защиты от несанкционированного доступа.Имеется ли в объекте Object Kernel объекта (.ko) структура?

Когда insmod модуль проверяет целостность модуля в его функции init.

Чтобы проверить этот механизм, я немного изменил двоичный код модуля ядра.

Чтобы уточнить эту вакансию. Измененное содержимое было 2 байта определенного смещения файла модуля. (00 02 -> 02 00 в шестнадцатеричном представлении)

Затем я включил подделанный модуль, я получил убитое сообщение и произошло ядро.

dmesg говорит, что не может обрабатывать запрос подкачки ядра на ffffc900209aa7d1. для добавления последнего процесса трассировки вызова находилось find_symbol_in_section + 0x39/0xda.

Я думаю, что адрес модуля или что-то значение, связанное с процессом insmod, изменилось и вызывает ядро.

Поэтому я думаю, было бы полезно сообщить мне информацию о структуре файла объектов ядра.

+1

Вы можете воспользоваться своей любимой поисковой системой и попросить ее найти ссылку. SO не для внешних ресурсов. –

ответ

2

В соответствии с man page for init_module(2) модули ядра Linux используют формат файлов ELF. Вы можете использовать утилиту вроде objdump(1) или readelf(1), чтобы получить информацию от нее.