什么是HIPS
HIPS是英文“Host Intrusion Prevent System”的缩写,我们通常翻译为“主机入侵防御系统”。
随着网络的不断普及,信息的传播速度越来越快,软件系统也越来越复杂,随之而来的是主机安全问题日益严峻,我们一旦接入互联网就会面临黑客的扫描、网页恶意代码、病毒、间谍软件、木马、流氓软件等各种威胁。为了解决这些问题,安全厂家先后研发出了个人防火墙、防病毒等安全产品,但是在2006年,这些产品受到了前所未有的挑战:
首先,传统的个人防火墙不再有效。传统的个人防火墙,如天网个人防火墙等,可以对经过本机的网络数据流量进行控制,做到不允许外部计算机扫描本机,同时本机只有指定的应用程序可以外出访问网络,高级些的防火墙还可以对外出访问的目标地址、端口和协议进行过滤。但是现在网络威胁已经远远不是端机的主要威胁,黑客们更习惯在你访问某个网站时通过浏览器悄悄地下载一个恶意软件,然后想办法让它运行,进而盗走敏感信息,或者弹出广告窗口。在这种趋势下,仅简单对网络访问进行控制而不对应用程序行为进行控制的传统个人防火墙将难以应对。
其次,基于特征码扫描技术的防病毒产品面临巨大挑战。2007年在美国旧金山举行的RSA Conference大会上,专家纷纷表示,“越来越复杂的恶意软件不断繁衍,传统的、以签名(特征码)为基础的安全软件对于病毒和蠕虫的阻挡能力正受到越来越多的质疑。”“仅2007年一年就会新出现至少20万种病毒及变种,签名技术正在网络黑客的攻击下摇摇欲坠。同时,反病毒软件公司的病毒库都平均落后于恶意软件两个月。”在国内,熊猫烧香病毒的肆虐也说明了这样一个问题,病毒已经和系统漏洞、流氓软件等进行了捆绑,变种更新和传播的速度远超想象,在没有新的特征库更新前防病毒软件对未知病毒束手无策。
由于上述种种原因,安全厂家开始寻找新的解决方案,以主动防御为思想的主机入侵防御系统日渐成熟,在今天,可能只有HIPS才是能解决端机上复杂安全问题的希望。
HIPS软件以进程为核心,可以对进程所产生的行为,如运行、访问网络、访问注册表、访问文件、注册驱动、进程注入、组件调用等进行监控,并且可以向你发送行为报告,如果你阻止了某个异常行为,那么它将无法执行此行为。同时,HIPS还可以通过类似的监控手段对文件、注册表、网络等资源进行保护,防止未授权进程对其读写或扫描。举个例子,当你在上网的时候不小心下载了一个恶意软件,而这个恶意软件在试图进行执行、操作注册表获得下次启动入口、访问网络试图带出数据时,HIPS软件会根据您的策略弹出对话框询问或直接阻止这些行为,使得系统免受威胁。由于HIPS这种可以针对行为进行控制的特性,使得HIPS可以防御未知恶意软件,你所要做的仅仅是判断未知应用程序的行为是否正常,在发现异常时及时阻止。
用一句大家都很熟悉的话来说:“病毒变种天天出新,使得杀软可能跟不上病毒的脚步,而HIPS能解决这些问题。HIPS是以后系统安全发展的一种趋势,只要你有足够的专业水平,你可以只用HIPS而不需杀毒软件。”
本测试所涉及的HIPS是指运行在Windows 2000/xp/2003下的主机入侵防御系统类软件。
为什么要进行本次测试
HIPS在信息安全市场上是个新概念,在2006年无疑是主机安全领域最大的明星。HIPS软件在国外已经逐步进入规范化发展的轨道,国人所熟知的SSM、SNS都是这个领域的先驱。随着一些国际大公司相继推出HIPS产品,我们已经看到了未来主机安全产品一体化、主动安全产品替代传统被动安全产品这一发展趋势,HIPS的出现意味着变革已经悄然到来,这对饱受恶意软件折磨的你来讲将是一场精彩的盛宴。
反观国内HIPS市场,我们的信息安全厂商似乎慢了一步。三大防病毒软件提供商:瑞星、金山和江民截至目前尚未推出任何此类概念产品,有些厂商提出的主动防御概念也与此大相径庭。中网、微点、EQ恐怕是目前国内在搜索引擎上能找到的仅有3家HIPS产品提供商,它们提供的软件在功能上也存在商榷。
笔者是HIPS软件的热衷用户,对国内外的几家产品均进行过安装和测试,特别是在测试过程中发现在目前的HIPS产品中良莠不齐,有些产品功能强大,有些产品安全性好,有些产品使用方便。因此,笔者将近半年来的测试工作整理成本报告,希望能对正在选择HIPS软件的朋友提供一些帮助,愿国内HIPS用户群越来越大,国产HIPS软件越来越强。
测试产品的选择
笔者曾使用测试过十余款HIPS软件,通过与身边同样对HIPS感兴趣的朋友交流,最终选择了9款具有代表性的,使用率相对较高的产品进行测试,其中国外6款,国内3款,具体见下表:
- Safe’n’Sec Personal(SNS)
- System Safety Monitor(SSM)
- CA Host-Based Intrusion Prevention System(CA HIPS
- ProSecurity
- Ghost Security Suit(GSS)
- Winpooch
- 中网S3主机安全系统
- 微点主动防御软件
- EQSecure
-
所有测试软件均下载自官方网站。
测试范围
由于本次测试定位在深度测试,本人希望能将所有10款HIPS软件的方方面面尽可能详细地展示出来,因此同时从HIPS四大核心功能(应用程序控制AD、文件保护FD、注册表保护RD、网络访问控制ND)、自身安全强度、易用性以及实际使用环境等角度制定了测试计划,其测试对象如下:
安装及运行类
- 安装速度及容易度、磁盘容量需求及内存需求
- 运行效率
- 产品是否易于使用
- 系统稳定性
-
应用程序控制类 AD
应用程序控制功能,也就是我们通常描述HIPS软件时所提到的AD(Application Defend)功能,是HIPS软件最重要也是最基本的功能。在Windows系统上,应用程序的行为是造成Windows系统威胁的根本原因。我们的计算机感染病毒、被植入木马等问题的核心都是应用程序被执行且产生了恶意行为。在病毒、木马、流氓软件已经没有明显界限的今天,黑客们越来越重视对应用程序行为的研究,它们使用诸如进程隐藏、Rootkit、注入、进程伪装等手段“保护”恶意软件的行为不会被用户发现,进而偷偷地进行破坏,弹出窗口或带出敏感数据,这些问题是目前Windows系统上所面临的主要问题。
应用程序控制功能需要对应用程序可能对操作系统带来危害的主要行为进行控制,使用户在使用HIPS后可以及时发现这些行为并及时阻止。高级些的HIPS还需要对应用程序的执行进行控制,对可执行文件的完整性进行校验。
- 已知程序运行控制
- 未知程序运行控制
- 已更改程序运行控制
- 自启动程序控制
- 创建子进程控制
- 打开进程控制
- DLL注入控制
- 打开网络连接控制
- OLE对象控制
-
文件控制类 FD
文件控制功能就是通常所说的FD(File Defend)功能。应用程序以文件方式存储在硬盘上,恶意程序可以通过以下两种方式获得执行权限:第一种是写入到“开始”等拥有特殊功能的文件夹,或在磁盘根目录生成autorun.ini文件执行,第二种是重写某些特殊文件,如iexplorer.exe执行。恶意程序也可以将自身写入Windows或system32等特殊目录以逃避检查。
写文件往往是恶意程序感染才作系统的第一步,因此HIPS需要对操作系统的文件读写进行控制。这种控制包括两个方面:
首先是对未知应用程序试图进行文件读写操作的行为进行控制。通过这类控制可以控制恶意程序直接在操作系统中释放恶意文件,很多黑客程序在开始工作时都会释放出一个恶意文件,如“熊猫烧香”会释放spoclsv.exe,“灰鸽子”会释放hacker.com.ini。
其次是对关键路径进行保护。未知程序向Windows、Windows/system32、Documents and Settings等目录写文件都是非常危险的动作。当使用IE上网时,恶意网站会通过一段脚本造成IE缓冲区溢出,随后向指定路径写文件,这时在HIPS看来写文件的进程是IE,而IE是具有写文件权限的进程。因此在这种情况下需要对关键路径提供保护,禁止任何进程写关键路径。
优秀的HIPS软件应同时具备以上两种控制手段,仅完成一种是不完备的,一个没有任何文件控制(FD)功能的HIPS产品是存在很大漏洞的。
注册表控制类 RD
注册表控制类通常被成为HIPS的RD(Registry Defend)功能。注册表是应用程序运行的重要入口,在Windows系统中预留了类似于Run、RunOnce等特殊注册表项,用以在操作系统启动时自动运行相应的应用程序,此外注册表还决定了应用程序的引导方式,如作为驱动引导、作为服务引导还是作为一般应用程序引导,引导顺序也可以指定。
黑客程序往往会利用某些特殊的注册表项,使得自身可以不需人为干预而自动运行,高级的黑客程序还可以将自身注册为操作系统驱动或服务,以逃避防病毒软件查杀。
类似于文件保护功能,HIPS需要对操作系统的注册表读写进行控制,这种控制包括两个方面:
首先是未知应用程序读写注册表的行为,HIPS软件应该可以及时进行控制,木马通常会在运行后将自身写入自动运行键以开启后门。
其次是对关键注册表项进行保护,防止恶意软件通过正常应用程序以授权权限写关键注册表项。
优秀的HIPS软件最好能同时具备以上两种控制手段,仅完成一种是不完备的,一个没有任何注册表控制(RD)功能的HIPS产品是存在很大漏洞的。
网络控制类 ND
作为HIPS产品的功能描述,网络控制ND(Network Defend)在国内并没有被过多提及,而实际上ND功能是HIPS软件最重要的功能之一。
HIPS软件需要对网络行为进行控制,不仅需要完成主机、端口过滤,也需要对试图访问网络的应用程序进行控制,国外的HIPS软件多数都有网络控制功能。我们可以通过以下几个方面评价HIPS软件的网络控制功能:
-
自身安全性类
无论个HIPS软件功能设计多么强大,如果它不能很好的保护自己,确保用户所配置的安全策略全部生效,那么终归也仅仅是个摆设。如果一个恶意代码能够关闭、禁用或破坏HIPS,那么结果就是主机没有受到任何保护。设计精良的HIPS软件必须能对自身的资源进行保护,包括配置文件、关键进程等。
-
附加工具类
优秀的HIPS软件还会提供类似于进程管理、系统诊断类工具,使用户可以通过这些工具发现和定位系统中存在的问题,附加工具的多少,效果如何,都在一定程度上决定了HIPS软件的可用性。
实际环境挑战
为了更加真实地模拟HIPS的实际使用环境,笔者除了进行上述功能测试外,还进行了渗透性测试、病毒及流氓软件样本测试、恶意网站测试三类实际环境测试,这些实际测试综合考察了一个HIPS产品各个方面的功能,从更加客观的角度描述了HIPS产品在实际防御黑客攻击时所能起到的作用。
专用工具渗透性测试
渗透测试是一种无害测试,测试程序通常由安全专家或独立的安全评测机构编写,这些测试程序试图故意跳过主机安全工具的检查。这种测试的理念是:“如果这些工具采用的技术能够通过您计算机上的安全防护,那么黑客也一样可以利用这些技术”。
渗透工具本身并不具有任何破坏力,他们只是为了让您能清楚地知道自己所安装的主机安全工具能够提供哪些功能,这些工具的安全防护是否彻底,安全模型是否有效。在本次测试中,本人精选了8个渗透性测试工具,它们基本涵盖了目前流行的攻击手段,如下表:
-
LeakTest会尝试伪装自己并通过本地计算机的80端口(HTTP)访问grc.com网站,通过这个工具可以测试HIPS是否可以对产生出方向流量的应用程序及其访问网络的行为进行控制。
-
Tooleaky工具试图通过进程间访问调用IE并访问grc.com网站。这个工具可以测试HIPS是否具有进程间访问控制功能。通过一个隐藏窗口调用IE访问一个已经在程序内预先设置好的地址,HIPS会认为这是一个合法访问。
-
在通常使用情况下,IE总是被默认设置为具有至少80端口的访问权限,因此恶意代码总是会希望借助IE浏览器获取访问网络的权限,为此他们会采用改名、进程间调用等方式,但是这些方式往往容易被发现。最近流行的方式为挂接系统钩子,firehole就是采用这种技术。
Firehole在执行时会从自身释放出一个firedll的dll文件,这个dll文件具有钩子功能,可以操作IE带出数据,filehole通过这个钩子访问指定地址的80端口。
-
Copycat是一个进程注入型工具,它可以在不产生新线程的条件下直接将自身注入IE浏览器,进而借助浏览器泄漏数据。 Copycat在执行时会使用一个已经运行的IE程序,注入成功并泄漏后会在C盘根目录下生成一个名为exploited.txt的文本文件。
-
Plflankleaktest通过了对象链接与嵌入(OLE)技术完成对IE的控制,操作IE行为并泄漏数据。OLE是一种Windows系统特有的技术,它允许将一个程序嵌入到另一个程序中,使得嵌入程序拥有与被嵌入程序相同的权限。通过测试可以得出,嵌入后进程将只有被嵌入进程一个,这使得其难于被发现和检查。
-
Wallbreaker同样是一个进程间调用的工具,不过它比Tooleaky更复杂。Wallbreaker提供了一个测试工具包,它用了一系列混合的方式来做进程间调用,包括通过隐藏窗口方式和命令行方式,同时它还可以控制自己的父进程explorer调用IE。
-
Jumper会释放一个jumperleaktest_dll的dll文件,然后修改注册表,使得IE在下次启动时调用上述dll,当dll加载后会按照dll中写入的URL地址泄漏信息。这种方式经常被流氓软件使用,造成修改首页和弹出窗口等问题。
-
pcaudit在执行时会从自身释放出一个名为cole32s的dll文件,这个dll文件具有钩子功能,可以操作IE带出数据,cole32s通过这个钩子访问指定地址的80端口。
病毒及流氓软件样本测试
在本次测试中,笔者还使用了真正的病毒和流氓软件样本、恶意网站进行测试,这种测试将更具实战意义。
病毒样本:熊猫烧香
流氓软件样本:CNNIC上网助手
测试产品总评价表
项目名称 产品名称
SNS SSM CA HIPS ProSecurity GSS Winpooch 中网S3 微点 EQSecure
安装及运行类
安装速度、容易度 √ √ √ √ ○ √ √ √ √
磁盘及内存需求 √ √ √ √ √ √ √ × √
系统资源占用 √ √ ○ ○ √ √ √ ○ √
是否易于使用 √ × √ ○ √ × √ √ ○
系统稳定性 √ √ √ ○ ○ √ √ ○ √
使用手册,在线帮助 √ ○ ○ √ ○ × √ √ ○
应用程序控制类 AD
已知程序运行控制 √ √ √ √ √ × √ × √
未知程序运行控制 × √ √ √ √ × √ × √
已更改程序运行控制 √ √ √ √ √ × √ × √
自启动程序控制 ○ ○ ○ ○ ○ ○ ○ × ○
创建子进程控制 √ √ √ × √ × √ × √
打开进程控制 × × √ × × × √ × ×
DLL注入控制 √ √ √ √ √ × √ √ √
打开网络连接控制 √ √ √ √ √ × √ √ ×
OLE对象控制 × ○ √ × ○ × √ × ×
文件控制类 FD
文件保护控制 ○ × ○ √ × ○ ○ × ○
注册表控制类 RD
注册表保护控制 ○ ○ √ √ √ ○ ○ × √
网络控制类 ND
进方向连接控制 √ × √ × √ × √ ○ ×
出方向连接控制 √ × √ × √ × √ ○ ×
状态检测 √ × √ × √ × √ ○ ×
自身安全类
规则保护 √ √ × √ × × √ √ √
防止进程终止 √ √ × × ○ ○ × × √
附加工具类
附加工具是否足够 一般 不错 不错 少 少 一般 不错 不错 少
渗透性测试
Leaktest √ √ √ √ √ × √ √ ×
Tooleaky √ √ √ √ √ × √ × √
Firehole ○ √ √ √ √ × √ × √
Copycat ○ √ √ √ √ × √ ○ √
PCFlank × × √ × × × √ × ×
WallBreaker × √ √ × √ × √ × √
Jumper √ √ √ √ √ √ √ × √
pcaudit √ √ √ √ √ √ √ × √
病毒、流氓软件、恶意网站测试
熊猫烧香 ○ √ √ √ √ × √ ○ √
CNNIC上网助手 √ √ √ √ √ √ √ × √
总评
评价级别 ★★★★ ★★★ ★★★★☆ ★★ ★★★ ★ ★★★★ ★ ★★★
印象最深的三款产品
通过这次测试,我们对市场上HIPS产品有了一定的了解,其中3款产品给我们留下了深刻印象。
- CA Host-Based Intrusion Prevention System
CA HIPS是本次测试中当之无愧的第一名,无论在产品功能上还是在实际测试环境中都表现出了优良的品质,这与Tiny多年的个人防火墙积累和CA高超的产品质量控制有关,CA收购Tiny是明智之选。
特别值得指出的是,在pcflank(OLE行为)的测试中,仅有CA和中网S3顺利通过测试。CA HIPS也同时拥有丰富的预置规则,还为企业用户提供了管理平台,各种控制规则的颗粒度非常细,可以对计算机进行精确的保护。
唯一遗憾的是,目前还没有中文版本,HIPS软件本身就具有很高的复杂度,再加上语言差异,可能会把广大国内用户挡在门外。笔者自认为英文不错,但是有些地方还是花了很长时间才搞定。但是如果您英文不错,又有一定专业知识,CA HIPS本人重点推荐。
之所以将CA HIPS的评价定为4星半,除语言原因外,自身安全性不足也是一个重要问题。
- Safe’n’Sec Personal
“大犀牛”是SNS的代名词,在笔者测试的这段时间里,SNS是唯一让我感到惊讶的产品。
在整个测试成绩,特别是实际测试环境中,SNS只能说是不算坏,这恐怕与其预置规则有关。在将SNS与CA进行比较时,发现两者在规则颗粒度上几乎一样,拦截的系统函数也差不多,可是由于测试是在默认安装下进行,SNS没有表现出应有的水平。
在用户界面上,SNS有着几乎完美的软件界面和产品形象,“大犀牛”甚至在卸载时还有将犀牛装回箱子的图片,让人感觉软件整体性非常强。此外,SNS还在同一界面中提供了傻瓜模式和专家模式,傻瓜模式下用户几乎不用做什么动作,使用非常容易。在专家模式下,SNS也将强大的功能用逻辑性很强的界面表现了出来,使高级用户更加容易上手。
HIPS之所以没有普及是因为使用复杂,SNS在界面工程上进行了很多有价值的探讨,它将直接影响整个HIPS产业的推广。
- 中网S3主机安全系统
测试完中网S3主机安全系统后,我再次为国产安全软件感到骄傲。
中网S3在某些程度上已经具备了与国际一流HIPS软件竞争的潜质,在功能上非常完备,是国内不多的同时具有AD/FD/RD/ND的HIPS软件。在实际测试环境中也表现出色,拿到的成绩竟然略优于久负盛名的SSM,而且在细节上很突出,这可能与中网公司10余年专业安全厂商的经验有关。
中网S3在自身安全性上存在欠缺,希望厂家能在下一版本中有所改进。
如果您希望尝试HIPS技术,又对庞大复杂的英文产品头疼,中网S3主机安全系统将是首选。
期待未来国内HIPS软件能够产生5星级产品。
-
HIPS未来趋势
测试过这些HIPS产品后,笔者认为HIPS软件提出了两个重要思想,一是从应用程序行为入手。当我们不能识别一个应用程序本身是好是坏时,我们可以通过分析它们的行为判断其功能是否与我们的预期吻合,并借助HIPS的阻止功能禁止恶意行为执行。二是明确保护对象,将关键文件、关键注册表、网络作为资源对象进行保护,对资源的修改严格控制。
可以看出HIPS使用的是一种不同于特征码检查的技术方式,我们称之为“主动防御”方式。这种方式的好处是可以对未知应用程序进行控制,实时发现并阻止未知病毒、未知木马或流氓软件运行。在病毒产生和传播速度大大加快,特征库更新滞后的今天,“主动防御”技术无疑具有重大意义。
再从部署层次看,最早的安全保护手段试图在国际出口架设防火墙,但是随后发现无法阻止国内黑客攻击;随后开始架设企业防火墙,但企业内部依然有安全威胁。比尔盖茨在RSA Conference 2007上的讲话说得真好,“未来的网络边界将会消亡,我们要保护的是城堡中的国王,而不是城堡本身”。这句话预示了HIPS充满希望的未来,因为只有使用HIPS的主动防御技术,才能真正保护好我们的国王——计算机上的数据和程序。
但是,目前的HIPS软件还存在很多问题,这些问题如不能解决将大大影响HIPS的普及。
首先是易用性问题,目前的HIPS普遍配置复杂度较高,对用户要求较高,弹框数量较高。三高问题将很多初学者挡在了门外,未来的HIPS应当能对应用程序行为做系统化分析,同时对多个潜在威胁进行提问,减少些术语,多一些操作建议,并具有一定的自动化处理能力。这点在使用SSM时感触尤深,SSM可以捕获非常多的应用程序行为,但是弹框数量同样巨大,使得用户使用很烦,往往一路“允许”点下去,很容易放过恶意行为。
其次是预置规则问题,有效而完善的预置规则将提高HIPS的可用度,直接在后台阻拦恶意行为。这点SNS和CA HIPS做的不错,大量的预置规则保证了系统安全,有些规则所设计的细节笔者甚至从未注意过。
再次是清理问题,在笔者测试HIPS的过程中曾数次使计算机感染恶意软件,HIPS可以发现,但是由于缺乏清理机制使得对部分软件无法处理,特别是驱动方式引导以及有守护进程的恶意软件。HIPS像一个罩子,在它正常工作时可以保护系统免受大多数攻击,但是由于误操作或漏洞,操作系统一样会被感染,因此罩子内部的工作同样重要。这点中网S3和SSM的处理就比较优秀,提供了多种启动项清理,应用程序锁定等功能,可以对已感染系统进行一定修复,杀调守护进程。
最后是语言问题,HIPS的复杂度是显而易见的,因此对于中国用户来说,中文系统就变得更加重要。在这点上首推当然是国内软件,比较可喜的是某些中文HIPS已经具备了和国际产品抗衡的潜质,如中网S3和EQ,这是广大HIPS爱好者的福音。
总之,随着HIPS产品的不断成熟,端机安全领域即将发生一场重大变革,HIPS的前景是充满光明的,它的出现给对被动防御手段失望的您带来了一线希望,愿HIPS用户群不断扩大,国产HIPS厂商一路走好。