主机入侵防御系统的分析

2023-02-01

常用的主机入侵防御系统 (HIPS, Host Intrusion Prevent System) 是近几年将系统控制权交给用户的一种成功防御体系。与现在流行的主机防火墙和杀毒软件有所不同, 其本身不具备特征码扫描和主动杀毒等功能;同样与主机入侵检测系统 (HIDS) 有着本质的区别, 它是主动地阻止攻击, 而不是被动去检测攻击。运行主机入侵防御系统时不会去区别正常程序和木马的, 它只有一系列动作, 让你了解并分析某个进程的加载情况并让你决定这个进程能否运行, 换句话说, 系统的安全性取决于用户本身。

主机入侵防御系统大大细化对资源的控制细化程度。系统提供的许可类型除了读、写、执行三各种外, 同时增加了了重命名、删除、更改属主、更改模式、更新时间、更改ACL、创建、目录更改等8项许可;同样对一个账户采用不同的应用程序访问资源也有可能获得不同级别的访问许可, 这给某些行业的特殊需求提供了极大的便利。

1 HIPS的防御体系

主机入侵防御系统可提供三种体系:应用程序防御体系A D (A p p l i c a t i o n Defend) 、注册表防御体系RD (Registry Defend) 、文件防御体系FD (File Defend) , 称为“3D”。

1.1 应用程序防御体系A D

应用程序防御体系 (AD) 在HIPS中是最主要、最重要的功能, 它直接影响到整个系统的安全, 通过监视系统调用函数来达到防御目的。某程序请求执行时, 系统立即记录下该程序的宿主。Windows系统中启动要执行某程序, 系统中的Windows外壳程序smss.exe、csrss.exe、Explorer.exe等会产生新的宿主, 从而形成的关系“进程树 (Process Tree) ”[1]。而木马等非法伪造程序的启动和创建所需要的外壳程序就是Explorer.exe等负责的。应用程序防御体系通过驱动拦截实现的, 创建进程的决定权系统把它交给了用户, 当一个进程被请求创建时, 系统的用户层的应用程序接口函数CreateProcess被拦截并被获取调用参数来分析出程序的执行体和宿主等, 弹出提示由用户决定是否运行。

1.2 注册表防御体系R D

在操作系统结构中, 当木马等非法伪程序进入注册表的内核层时, 普通监视工具就显得力不从心。在系统结构核心层中, 注册表名不再是Registry, 而改名为“HIVE” (蜂巢) , 结构称为“Cell” (蜂室) 。若能正确监视到核心层的注册表的相关操作, 必须首先要求拦截到系统中相关的底层注册表操作函数。

因注册表防御体系 (RD) 是拦截系统核心层中导出的API函数, 从而实现了真正有效的监视和拦截。RD能对系统中常见的敏感注册表项进行监视, 如设置浏览器、相关启动项、驱动服务项、系统策略项等, 从而监视所有木马的自启动, 而且RD会认为这些操作是敏感行为而拦截挂起, 同时弹出警告提示框报告用户该操作的具体内容和发出操作请求的执行体, 最终用户决定该操作能否通过, 达到相关程序是否执行。

1.3 文件防御体系FD

文件防御体系 (FD) 是控制系统中敏感目录的文件操作, 比如修改删除系统目录里的任何文件或创建新文件等, 也可用来发现被木马隐藏的文件本体。但FD在某些HIPS系统中缺省设置是关闭或省略掉的。

目前, 国内流行的HIPS系统有SSM、SNS、PG (ProcessGuard) 、立新众安HIPS等主机防御系统。

2 HIPS的防御技术分析

恶意攻击方法分5部分, 如表1所示。在前2个部分, 攻击方法是最常用的, 同时手段多样, 后3个部分是较为普遍, 同时也可预测的表现。入侵者针对注册表、文件、网络连接等的攻击是一般性目的。而HIPS设计成用于拦截、分析主机操作系统以及应用的行为, 拒绝由安全策略定义的不受欢迎的、恶意的相关行为。

2.1 系统调用技术

HIPS系统充分使用系统调用技术, 从而实现对用户访问系统资源行为进行有效的拦截和监视。Windows2000/XP操作系统体系结构如图1所示, 在正常情况下用户空间对系统内核的访问完成由Ntdll.dll调用int2E来实现。系统服务调度器KiSystemServ ices, 根据Ntdll.dll提供的服务号并在系统服务描述符表中找到所对应的native函数的入口地址, 执行该函数, 从而显现用户的请求, 并将所得到的结果返回给用户空间。

系统调用技术首先在系统服务描述符表中找到所对应的native函数的入口地址存储起来, 接下来换成所对应的处理函数地址, 此时KiSystemServeices在进行中断处理时, 可以调用该处理函数, 并依据处理函数中相关的参数以及策略来决定是否允许调用原来的native函数。以此方式可对用户空间访问系统资源实施很好的强制访问控制。

针对的是int2E中断执行这种拦截方法, 若在中断向量表中设置恶意代码, 并建立起附加的中断处理程序, 用户就可绕过该方法的拦截, 使其失效。因此, HIPS系统在文件层、网络层使用过滤器驱动技术, 使对资源的访问可进行更强制性控制, 更能贴近实际资源。

2.2 过滤器驱动技术

内核IO管理器中也支持过滤器驱动技术这一种拦截技术, 如图1, 接紧着内核管理器的是一些驱动程序, 该技术可截取发往低级驱动程序的请求。过滤器驱动程序在处理或截取请求时低级驱动程序并不知道。Windows操作系统中规定, 以驱动程序方式实现网络协议和文件系统的, 因此在HIPS系统中的过滤器驱动技术, 对文件、网络、设备的访问控制达到很好的效果。过滤器驱动技术对用户的访问拦截、检查相比内核系统调用技术来说, 其效果更靠近实际的资源 (文件、网络、设备等) 。

过滤器驱动技术只在Windows2000/XP系统的设备、文件、网络协议中使用, 若用户空间要对进程、注册表进行有效的控制也只能通过内核系统调用来实现。因此若某些攻击方法突破系统调用的拦截进入内核, 若要访问文件、访问设备、网络连接的建立, 也可通过过滤器驱动进行有效的拦截和控制。

在HIPS系统中通过使用内核系统调用技术、过滤器驱动程序等技术, 在Windows2000/XP中实现系统的进程对象管理器、文件对象管理器、网络对象管理器、设备对象管理器、注册表对象管理器、安全服务器、密码模块、策略管理组件的管理[2]。

3 系统设计

用户空间实施安全策略到系统的文件系统层、网络层、设备层、调用层, 同时要求对低层对象客体进行细粒度较高的访问控制, 并且要求执行由安全策略控制的高层功能。但要求把实施访问控制的子系统与策略决策子系统分离, HIPS系统采用Flask安全体系框架的设计思想[3]。

3.1 系统框架

依据Flask体系框架的结构, 在HIPS系统内核中加入文件、网络、设备、进程、注册表对象管理器, 从而达到拦截进程对各层的访问请求, 然后决策请求将从安全服务器发出, 根据安全服务器的决策, 再决定该进程的请求是否满足。密码模块为其它组件提供加、解密以及认证服务。为能更好定义和管理各策略, 在应用层实现了策略管理GUI。

3.2 策略模型

HIPS系统采用一类混合的安全策略来定义系统的正常行为, 也就是在访问矩阵模型中加入信息流控制机制。当需要决定是否允许某进程 (主体) 访问某文件、网络、注册表等客体时, 安全服务器根据访问矩阵完成判断任务, 而当客体被主体进行实际读/写操作需时时, 则采用信息流控制策略进行控制。

4 结语

本文综合分析机入侵防御系统可提供三种体系, 归纳系统调用和过滤器驱动技术, 简略依据Flask安全体系框架的结构, 提出了在Windows2000XP操作系统中可实施的一个安全策略模型, 并采用系统调用、过滤器等技术, 从而达到实现了支持该安全策略的实施机制, 并且通过在操作系统内核两个层次上实施强制访问控制, 能有效地对重要系统资源进行很好的保护。

摘要:提出主机入侵防御体系提供的三种重要体系, 结合系统调用和过滤器驱动两种技术进行分析HIPS, 并且通过在操作系统内核的两个层次上分析了实施强制访问控制, 进行一定的系统设计。

关键词:防御体系,控制,主机入侵防御系统

参考文献

[1] (美) 布莱克赫兹, 等, 赵彦玲, 等[译].Microsoft, UNiX及oracle主机和网络安全[M].北京:电于工业出版社, 2004, 7.

[2] 梁亚声, 计算机网络安全教程 (第2版) [M].北京:机械工业出版社, 2008, 7, 1.

[3] (美) 拉菲, 思科网络技术学院教程网络安全 (第一、二学期) [M].人民邮电出版社, 2008, 10.

上一篇:城中村改造过程中村民子女教育问题探究——以晋城市开发区侯匠村为例下一篇:电力企业财务内控管理的有效性研究