1

一些 rootkit 攻击通过在格式列表中插入新的二进制格式并为内核提供恶意处理程序来实现,该处理程序在每次调用时都会返回错误代码 ENOEXEC。由于新的处理程序插入到格式列表的头部,因此每次执行新进程时都会执行恶意处理程序。系统启动后列表的大小是恒定的,只有在安装新的二进制格式时才会改变。当这种攻击插入新的二进制格式时,它会改变格式列表的长度。我在一篇文章中读过这个。我想知道在内核 3 中也是如此吗?如果是,我如何检查格式列表的长度?我在内核 3.11.4 中找到了这个结构:

 /*
  * 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引用的列表formats list吗?

4

1 回答 1

0

我不知道如何计算内核 3 中的格式,但是如果你的电脑受到了 rootkit 的攻击,尽管你知道格式的计数,但你无能为力。您阅读的这篇文章提出了检测 rootkit 攻击的方法,同时它尝试添加一种新格式(不变违规)。

于 2014-02-05T11:28:42.457 回答