Linux内核模块 – 安全风险?
Linux内核模块有多少安全风险?我记得读过如果有人有权访问,他们所要做的就是加载一个rootkit模块.它是否正确?有什么方法可以防止这种情况发生吗?
内核的哪些部分实际上是通过模块接口公开的,程序员可以访问哪些功能,可以用于恶作剧目的? 解决方法
道格拉斯所说的完全正确,Linux是
monolithic,模块可以做任何事情.这是一个主要由Linus Thorvalds驱动的设计选择,并且符合开源理念(为什么限制,它需要性能,你可以从源头看到模块做什么 – 实际上只说真正的书呆子:-) – ).
现在也许你必须从第三方加载一些所谓的二进制模块.即使它们似乎被编译,通常也会有一个共同的目标文件作为黑盒子,并且实际上只编译它周围的接口(就像我使用的nvidia图形驱动程序一样).没有明确的答案,如果您加载这些模块,您必须信任供应商,如果没有,不要这样做… 只有root才能加载理论上正确的模块.但实际上,没有一个系统是完美的(甚至是Linux).有时会出现内核漏洞,使本地用户或远程用户(非常罕见的情况)可以将代码引入内核,以便他们可以拥有root权限,从而可以控制您的系统.拥有最新的内核是件好事…… 在对此进行精确化之后,让我们进入到目前为止尚未回答的问题的第二部分:“程序员可以访问哪些功能,可以用于恶作剧目的?”.为SE-Linux做的许多事情也可用于恶意目的,例如: >隐藏/ proc或/ sys目录中的信息,例如隐藏恶意用户进程,以便它们不会显示在top,ps等工具中.这包括隐藏恶意模块本身,因此它未在lsmod中列出. 列表很大,如果你想了解更多细节,你可以看看Rootkit Hunter(http://www.rootkit.nl/projects/rootkit_hunter.html).这是我不时运行的工具.它可以检测到一些广泛使用的rootkits的存在.它管理一个rootkit列表和谷歌搜索名称将使你清楚这些野兽正在遵循什么样的目标…像道格拉斯所说,可以使用的功能实际上是所有的内核中可用的函数,没有限制.因此,告诉模块是否是一个坏人并不是一件明显的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |