Некоторые руткитов атаки работает, вставив новый двоичный формат в списке форматов и поставке ядро с ехидной обработчик, который возвращает код ошибки ENOEXEC каждый раз, когда она вызывается . Поскольку новый обработчик вставлен в начало списка форматов , вредоносный обработчик выполняется каждый раз, когда выполняется новый процесс . Размер списка является постоянным после запуска системы и изменяется только тогда, когда новый двоичный формат установлен. Поскольку эта атака вставляет новый двоичный формат, то изменяет длину списка форматов. Я читал это в статье. Я хочу знать, так ли это в ядре 3? Если да, то как я могу проверить длину списка форматов? Я нашел эту структуру в ядре 3.11.4:Rootkit атаки путем вставки новых двоичных форматов
/*
* This structuredefines the functions that are used to load the binary formats that
* linux accepts.
*/
struct linux_binfmt {
struct list_head lh;
struct module *module;
int (*load_binary)(struct linux_binprm *);
int (*load_shlib)(struct file *);
int (*core_dump)(struct coredump_params *cprm);
unsigned long min_coredump; /* minimal dump size */
};
Является lh
список, refered formats list
?