SEAndroid
NSA在1月16日发布了基于SELinux的SEAndroid。项目主页是:
http://selinuxproject.org/page/SEAndroid
粗读了一下他们的幻灯片,主要的内容如下:
1、要把SELinux系统及其设计思想移植到Android有不少困难,比如非标准Linux机制(Ashmem、Binder等模块)、Android框架层的策略、现有DAC权限控制模型、文件系统不支持安全标签等等,但SEAndroid项目最后解决了这些问题
2、对目前Android系统上发现的几乎所有提权漏洞、Android应用上发现的大量信息泄露漏洞,SEAndroid都能补上,主要是漏洞利用程序的利用步骤会被SEAndroid的安全策略所阻止,也就是无法顺利利用漏洞。
3、作者认为对Android,MAC模型是有意义的,并且可以和现有安全体系并存。
从RageAgainstTheCage、zergRush(幻灯片中称之为GingerBreak)这两个漏洞利用的阻止细节上,我觉得SEAndroid的安全做得比较理想,对权限的管理已经到了及其严格的地步,利用代码几乎寸步难行。
而这个项目目前存在什么问题,幻灯片中只字不提。我觉得,对性能的损耗可能是第一位的。
在去年看到的一篇论文中,有提到,即便是在Android所有敏感API的入口处基于源码做hook,记录API触发行为和参数,编译得到的系统的性能都有显著的降低,而这个降低的性能在真实机器上可能引发连锁效应,导致整个系统无法启动。
而SEAndroid从文件系统开始广泛使用标签,对每个需要管理的对象使用标签来实施安全策略,这里还包括对每个敏感行为的审计。我倾向于认为这样的改动也会遇到同样的问题。至于NSA有没有解决,是如何解决的,还需要进一步看细节。我会在年后使用他们提供的源码编译出一份可用的系统,在Nexus S上进行测试。
无论如何,这个项目值得我们进一步学习。
- i,Claud
- Add new comment
- 268 reads


Comments
传说中的经过加固的堡垒主机:-)
如题
两回事
主机加固和SElinux是两回事,SElinux主要是采用的安全模型不一样,正常使用的都是DAC模型,而SElinux是MAC模型,通常是军事用途,个人很少用。这里面就有一个安全性评估的一个分级标准,是CISSP里面一个很重要的考点。
相同的问题iphone如何解决?
相同的问题,iphone如何解决?以前看过inside jave security,对那一堆permission的接口就感觉难受。对这块不太懂,不过MAC貌似pc上也没用啊?
iphone的安全设计我不清楚,sorry。 SELinu
iphone的安全设计我不清楚,sorry。
SELinux比较学术性,没有在个人桌面广泛使用。不过很有积极意义,它的安全设计被一些后续发行版和内核部分采用。其他系统确实没有严格的MAC(我知道的范围内)。
美国军方和政府是有这么严格的安全需求的。比如在TCSEC标准下,大部分主流系统是C2级,而SELinux可以达到B1级。
年前就曾有消息NSA会专门为军方和政府设计安全可靠的Android,看来应该就是这个了,或者以这个为基础开发。