首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核模块-安全风险?

Linux内核模块-安全风险?
EN

Stack Overflow用户
提问于 2009-10-14 09:57:18
回答 6查看 4.5K关注 0票数 6

linux内核模块有多大的安全风险?我记得我读到过,如果有人获得了访问权限,那么他们所要做的就是加载一个rootkit模块。这是正确的吗?有什么方法可以防止这种情况发生吗?

内核的哪些部分实际上是通过模块接口公开的,以及程序员可以访问哪些函数,这些函数可能被用于恶意目的?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-14 10:43:07

道格拉斯说的完全正确,Linux是monolithic,一个模块可以做任何事情。这是一个主要由Linus Thorvalds驱动的设计选择,符合开源哲学(为什么限制,它会消耗性能,您可以从源代码中看到模块的作用-实际上只对真正的书呆子说:-) -)。

现在,你可能需要从第三方加载一些所谓的二进制模块。即使它们看起来是编译的,但通常有一个共同的目标文件作为黑盒,只有它周围的接口才会被实际编译(就像我使用的nvidia图形驱动程序一样)。没有明确的答案,如果你加载了这样的模块,你必须信任供应商,如果不是,就不要这么做……

只有root用户才能加载理论上正确的模块。然而,在实践中,没有一个系统是完美的(即使是Linux)。时不时会有一些内核漏洞,使本地用户或远程用户(极少数情况下)有可能将代码引入内核,这样他们就可以根权限,从而控制您的系统。拥有最新的内核是一件好事……

在此之后,让我们进入问题的第二部分,这个问题到目前为止还没有得到回答:“程序员可以访问哪些功能,这些功能可能会被用于恶意目的?”为SE-Linux执行的许多操作也可能被用于恶意目的,例如:

  • 隐藏/proc/sys目录中的信息,例如隐藏恶意用户进程,这样它们就不会显示在topps等工具中。这包括隐藏恶意模块本身,使其不会列在lsmod.
  • log中,并向外界记录关键的strokes...
  • sending数据。没有内核模块需要连接到站点并发送信息(除了原始linux代码中的网络堆栈),如果模块的代码做了一些难闻的事情。如果为了进行某些操作而对某些字符串进行加密和解密,它甚至会有worse...
  • ...

的味道

这个列表很大,如果你想了解更多细节,可以看看Rootkit Hunter (http://www.rootkit.nl/projects/rootkit_hunter.html)。这是一个我经常运行的工具。它可以检测一些广泛使用的rootkits的存在。它管理着一个rootkit列表,用谷歌搜索这些名字可以让你清楚这些野兽在跟踪什么样的目标……正如Douglas所说,可以使用的函数实际上是内核中所有可用的函数,没有限制。因此,判断一个模块是否是坏人并不是一件显而易见的事情。

票数 6
EN

Stack Overflow用户

发布于 2009-10-14 10:05:21

内核模块以完整的内核权限运行-它可以做内核能做的任何事情,这几乎是任何事情。行为良好的模块会将其操作限制为那些由内核导出为符号的函数,但实际上没有什么可以阻止模块调用任何具有其地址的任意函数,或者执行与任何现有函数等效的代码。

保护措施是只有root用户才能加载内核模块。

Root用户可以让机器执行任何操作,因此增量风险可以忽略不计。要澄清的是,加载一个模块可能会让root更好地隐藏,或者使用更少的系统信息来操作攻击,但原则上,由于root可以覆盖内核映像,并将系统重新引导到该映像,因此它可以实现内核模块所能做的一切。因为/dev/kmem通常是不可写的,所以用户空间根进程相对于内核模块可能会受到限制,但是重写和重启可以“修复”这个问题。

此外,除了改变内核内存之外,可能还有其他选择,例如,如果你想隐藏一个进程,你可以使用一个可加载的模块,或者你可以用特洛伊木马的版本替换ps

类似地,要隐藏文件,可以使用内核模块,也可以直接替换ls

票数 6
EN

Stack Overflow用户

发布于 2009-10-14 10:18:20

你可能想看看这个Wikipedia

说内核模块是危险的,就像说windows上的驱动程序是危险的一样。作为Mr.Leeder,声明的根目录可以做几乎任何事情,但我怀疑它是否能直接调用内核api,它需要为此加载一个内核模块(显然它可以)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1565323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档