疯狂小企鹅 看Linux平台未来的安全领域(2)

  系统管理员可能已经知道了这个漏洞,但是补丁还没有出来,毕竟,严格地说是一个本地漏洞,除你之外没有人在这个系统上有shell权限,谁想在给内核打补丁后不得不重新启动呢?但是现在一个远程攻击者有了一个本地shell访问权限,如果他成功地利用了这个内核漏洞,他就是root了,这就是常见的入侵场景,但是使用了root-takes-all安全模块后不用再担心这个了。

  这就是Linux安全的现状,保护Linux需要我们花费相当多的努力利用复杂的安全特征,这些复杂的特征默认情况下往往没有启用,要保持所有补丁都是最新的。我们在一个好的公司里:大多数使用现代操作系统它们拥有相同的局限和挑战。

  强制访问控制

  我已经提到在Linux、UNIX和windows上的访问控制或文件权限是任意的,这就是一个弱的安全模块,那么,SELinux怎么养呢?它使用基于角色的访问控制(RBAC)和类型增强(TE),它们两个都是强制访问控制的实例,是的,的确,它就是这样。但是我担心这或许不是Linux安全的未来,原因是SELinux不是当前Linux安全的重要组成部分。

  RBAC限制用户的行为和对系统资源的访问,基于仔细定义的规则,这些规则比常见的UNIX组机制相似但更深远,类似地,类型增强限制进程的活动,基于它们预先定义的操作域,RBAC和TE对网络的影响是创建将用户和进程操作分开的竖井(我的术语),严格地限制竖井之间的交互。

  这是一个非常优雅的有效的安全模型,但是,对于大多数人们来说,RBAC、TE和其他强制访问控制太复杂,很难管理。大多数人看来,SELinux和类似的操作系统命中注定只能用于某些特定领域:操作系统对于需要它的人来说非常有用但注定不能被广泛接受。不管是赞美SELinux的安全架构还是对RBAC原理的迷恋,我认为强制访问控制本身并不是Linux安全的革命。

  底层管理程序和虚拟机

  如果RBAC和TE事实证明太难以使用不能很好地在操作系统层区分安全破坏,底层管理程序和虚拟机(vm)可能在一个更高层次实现这个目标,我们已经熟悉虚拟机处于两个不同的上下文中:运行时虚拟环境(就象那些使用java的程序)和虚拟平台(如Vmware、plex86和VirtualPC,它运行你在一个虚拟的硬件环境中运行整个操作系统)。

  java虚拟机被设计成有特殊的安全特征,最值得注意的就是java沙箱,通常,java安全来自于java小程序运行时与真实的操作系统资源是隔开的,每一个事情都是通过java虚拟机完成的,除了一个好的安全模型之外,对于程序员和最终用户在使用上也相对简单安全些,正是因为这些原因java已经受到普遍应用。

  底层管理程序隔离运行在相同硬件上的虚拟机,限制它们交互和防止安全破坏,IBM已经为底层管理程序创建了一个叫做sHype的安全架构,一个开源的底层管理程序/虚拟机项目—叫做Xen—到现在也是可用的了。

  底层管理程序的目的是为了防止一个虚拟机与其他运行在同一硬件上的虚拟机发生冲突,例如:独占共享资源,有一些智能管理系统在这个层次已经做得很强大了,或许还有一些潜在的隐患,至少,增加了传统的入侵检测系统(IDS)检查系统泄密的复杂性。

  强制访问控制和底层管理程序/虚拟机不是相互排斥的,一方面,我的主张是,强化朋友和伙伴对安全分析的重视,底层管理程序比MAC在Linux安全未来的发展更具有潜力,但是另一方面,这两者可以结合起来使用,设想一下一个大型的、强大的服务器系统运行几个由底层管理程序控制的虚拟机的情景,一个VM能运行在一个通用的操作系统上,如Linux,提供web服务,另一个VM为敏感信息提供数据库服务,它们都能运行在一个基于MAC的操作系统上,如SELinux,两个VM都能从强制安全控制受益,使用SELinux能提供一层额外的安全保护。

  基于异常的入侵检测和防病毒系统

  如MAC和底层管理程序目前已经生根发芽了,但是将来可能还会出现更大的影响力的技术:如基于异常的入侵检测系统。基于不规则的IDS很简单:它包括创建一个正常网络或系统活动的基线,以及在任何突发意外或有反常活动被检查到时发送警告。

  基于特征的系统的致命弱点是如果攻击方式是最新的,那么在你的IDS的特征数据库中就要有与之对应的特征,如果没有就检测不到。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzyzsy.html