首页 理论教育 SMACK安全模块进入Linux内核主线,引发争论

SMACK安全模块进入Linux内核主线,引发争论

时间:2023-11-22 理论教育 版权反馈
【摘要】:SMACK于2008年4月16日进入了Linux 2.6.25,是继SELinux之后第二个进入Linux内核主线的安全模块。SMACK的出现在Linux内核社区引发了很大的争论。普通用户面对SELinux引起的“故障”,通常是束手无策。一种解决办法是强制推行,在内核中彻底去除LSM机制,让SELinux机制无法回避地成为内核中不可删除的一部分。SMACK的出现让SELinux的开发者和拥护者备受打击。Andrew Morton虽然表示SMACK在功能上并没有超越SELinux,但是明确表示倾向于将SMACK纳入Linux内核主线。

SMACK安全模块进入Linux内核主线,引发争论

SMACK是“Simplified Mandatory Access Control Kernel”的缩写。它的作者是Casey Schaufler,目前在Intel从事手机操作系统Tizen的安全开发工作。SMACK于2008年4月16日进入了Linux 2.6.25,是继SELinux之后第二个进入Linux内核主线的安全模块。

SMACK的出现在Linux内核社区引发了很大的争论。争论的背景是SELinux在2003年进入了Linux内核主线之后并未能如预想的那样为广大系统管理员和应用开发者理解和接受。管理员在发现系统因SELinux策略配置问题而不能正常运行时,往往是简单地关闭SELinux功能,而不是去调试和修改SELinux策略。应用开发者的开发工作只包括开发应用的功能,不包括开发应用相关的SELinux策略。Linux发行版,比如RedHat,面对众多的应用只能为一部分核心应用开发SELinux策略。这就造成了SELinux安全策略滞后于应用,用户在运行应用时,SELinux常常阻碍应用的正常运行。

面对复杂的系统,系统管理员没有能力为系统中各个应用调整SELinux策略。几乎没有管理员能够完全理解SELinux系统的各方面。应用开发者没有精力,也没有意愿开发应用相关的SELinux策略。他们通常的抱怨是SELinux太复杂了,无法掌握。普通用户呢?普通用户面对SELinux引起的“故障”,通常是束手无策。指望普通用户读懂SELinux的错误日志是不现实的。怎么办?一种解决办法是强制推行,在内核中彻底去除LSM机制,让SELinux机制无法回避地成为内核中不可删除的一部分。让所有的Linux内核开发人员、Linux应用开发人员、Linux系统管理员以及Linux用户都必须去适应SELinux,学习它,掌握它。Linux内核安全子系统负责人James Morris的观点很有代表性 [11] 。他认为,内核安全开发人员要想成为内核开发队伍的一等公民,就要消灭LSM机制,让SELinux不可替代,让内核安全代码不能被忽视。

第二种解决方法是既然LSM机制的目的是允许多个安全模块并存,既然SELinux的主要问题是复杂难用(至少表面上看起来是),那就设计出一种简单的安全模块来作为SELinux的替代品。SMACK就是循着这个思路而产生的。

SMACK的出现让SELinux的开发者和拥护者备受打击。它不仅动摇了SELinux的地位, 而且让SELinux开发团队的理想更加难以实现。有了SMACK,内核安全开发人员还要继续作Linux内核开发社区的二等公民,Linux应用的开发者会继续忽视SELinux,而不是学习SELinux。面对SMACK,SELinux开发者的自然反应就是阻挠SMACK进入Linux内核主线。而SMACK的开发者Casey Schaufler偏偏是一个不屈不挠的人,他一次又一次地提交自己的作品。这时两个重量级人物站出来支持SMACK,第一个是Andrew Morton,他说:(www.xing528.com)

“我不是很懂安全。在读过你提交的代码后,我的观点是代码本身的质量很好,但是似乎SELinux可以有相同的功能。将上面那个‘但是’作为不接受SMACK的理由对我而言有些困难。我更倾向于接受SMACK,然后看大家是否用它。”

Andrew Morton虽然表示SMACK在功能上并没有超越SELinux,但是明确表示倾向于将SMACK纳入Linux内核主线。

这还不够。第二个重量级人物站了出来,这个人是Linux的“仁慈的独裁者”——Linus Torvalds。这次的邮件要“刺激”得多 [12] 。邮件大意是调度算法是“硬科学”,而安全不是“硬科学”,因为安全无法定量地度量。尽管Stephen Smalley争辩说SMACK能做的事只是SELinux的一个子集。但是Linus Torvalds关心的根本不是具体的安全功能,他要用SMACK的进入主线来保留LSM机制,改变SELinux一家独大的局面。大佬一锤定音,SMACK进入Linux内核主线!

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈