近两年,熊猫烧香、灰鸽子、磁碟机等不断衍生,其变种更是呈几何级数地增长,令传统安全产品疲于应付;在破坏性方面,从网络拥堵到感染可执行文件,再到击破硬盘还原等等,给信息系统带来了巨大的损失。其中,最具摧毁性的无疑是 root kit 类攻击工具,因为它是基于操作系统内核级的,危及面覆盖信息系统里的所有业务应用及数据,前段时间疯狂作恶的磁碟机病毒,在侵入系统时就加载了大量 root kit 组件进行破坏。
1、ROOT KIT的狠招
系统中病毒时,管理员们通常的做法是查看可疑进程,然后一路追杀到文件目录进行清除。随着攻击技术水平的提升,像制造疑似系统进程名这样的初级手段已少有人用,攻击者往往直接将攻击进程嵌入系统进程,这时候,只有借助专门的进程管理器(如 procexp 等)才能发现。Rootkit则更进一步,这种内核级后门通过自身的伪装和隐藏,运行时根本没有进程显示。
我们知道,程序运行的时候,系统会在内存中写入一些数据结构,进程管理器就是通过这些数据结构来显示进程的。Root kit 的做法是在内核层修改这些数据结构,用自带的ps 、top等程序替代原有系统程序,从而达到隐藏进程的目的。很显然,现在再用 Pslist 进程查看工具已经无济于事了。 在隐藏文件时, root kit也是在系统内核层做手脚。具体做法是修改内核文件系统的代码,用自己编写的 ls 程序来替换,从而使原有的 ls 文件目录查看工具形同虚设。
从以上的分析可以看出,通过修改操作系统的核心服务(进程管理、文件系统),Root kit 可以悄无声息地实施攻击行为。此外, rootkit 还有专门的工具来提升权限,这样一来,信息系统的控制权随时面临着转手他人的危险。
事实上,黑客们在制作工具时,通常都会考虑到攻击效率而专门针对操作系统来开发,很少有针对应用程序的。另一方面,操作系统是硬件与软件之间唯一的交互平台,拥有硬件设备及应用软件的唯一控制权。“匹夫无罪,怀璧其罪”的道理在 0与1 交互的虚拟世界同样有效,操作系统特别是服务器的操作系统岌岌可危。
就像人为了防止生病而增强肌体免疫力一样,为了抵御面临的安全风险,操作系统同样需要提升自身的免疫力,其中很重要的一项技术就是操作系统安全加固技术,即 ROST。
2、ROST的策略
与 root kit 一样, ROST 也是系统内核级的攻防技术,其思路是对系统核心服务(文件系统、过程控制、内存控制等)加以控制,在系统用户层及内核层之间构筑一道关卡,根据事先制定的策略对交互信息进行过滤,从而杜绝了非法用户对内核资源的访问(包括进程调用、文件访问等)。
Windows操作系统分为用户模式和内核模式。用户模式包括系统支持进程、服务进程、用户进程、环境子系统等,在运行时需要调用原始的 Windows 操作系统服务,其中服务进程及用户进程通过子系统动态连接库发起调用。在内核模式中,执行体包含了基本的操作系统服务,比如内存管理、进程和线程管理、 I/O 、网络等。 Windows 内核是一组底层的操作系统功能,比如线程调度、中断、异常分发等,执行体利用这些例程和对象实现更高层次的功能;设备驱动程序包括硬件设备驱动程序,文件系统和网络驱动程序,其中硬件设备驱动程序将用户的 I/O 函数调用转换成特定的硬件设备I/O 请求;硬件抽象层是一层特殊代码,把内核、设备驱动程序和Windows执行体跟平台相关的硬件差异隔离开来。
3、基于策略的强制访问控制
ROST技术的实现,是在内核中放置一组安全HOOKS 函数来控制对内核对象的访问。当用户进程向系统发送调用请求时,系统首先将消息送给相应类别(鼠标、系统、线程等)的HOOKS ,后者根据函数内容对消息进判断,决定是否将其传送给下一个HOOKS函数,以此类推,直到传送到目标进程、文件等核心资源。
HOOKS 判断的依据为事先制定的策略,即HOOKS函数对文件、进程等操作系统关键客体所做的敏感标记。ROST下强制访问控制过滤程序接收到用户的调用请求后,将遍历策略表以对用户信息( MAC 地址、请求内容等)进行校检,符合策略的请求将立即转交原服务函数,否则丢弃。在基于策略的强制访问控制下,攻击者即使通过 rootkit 或别的工具获取管理员权限,也无法再像以前一样为所欲为。 在开源操作系统Linux中,ROST 的实现方法是在内核源代码中放置HOOKS 。用户进程运行时,首先会调用系统接口,然后进行错误检查和 Linux 的自主访问控制检测,在 Linux内核试图对内部对象进行访问之前,一个 Linux 安全模块( LSM )的 H00KS 对安全模块所必须提供的函数进行一个调用,从而对安全模块提出访问请求,安全模块根据其安全策略进行决策,做出回答即允许用户访问,或者拒绝进而返回一个错误。
4、ROST的实际应用
目前,我国在 ROST技术产品化工作方面已取得了一些进展,浪潮服务器安全加固系统 (SSR)就是首款拥有自主产权的ROST具体产品。该产品在部署初期即对服务器系统中的文件、进程等指定敏感标记,并根据用户级别制定了详细的强制访问控制列表,内容包含用户对进程/文件的调用、进程对文件的调用等等。在用户访问服务器时,系统会根据其用户类型(普通、系统管理员、安全管理员等),遍历内存中存放的标记表,决定其对系统资源的访问权限,从而实现了强制访问控制。
0 Comments