刘 焕
(太原大学 外语师范学院,山西 太原 030012)
黑客利用恶意程序、系统漏洞和程序弱点等未达到影响网络安全的目的.传统防御网络攻击行为是以防火墙搭配入侵检测系统,但目前拥有杀毒软件并使用传统防火墙搭配入侵检测的系统,已无法有效遏止网络攻击的威胁.如果能在计算机遭受攻击的第一时间,立即记录攻击事件的来源、手法,对其进行分析比对与推论后续可能的攻击,并提供给信息安全人员相关警告和信息,就可有效减缓并降低信息安全风险.[1]
蜜罐所收集到的信息能针对特定流量工作,提供其它工具所没有的独特信息,因此得到的信息价值也较高,如果是搭配入侵检测系统,可减少主动错误信息和被动错误信息等问题.但是一般开放原始码蜜罐使得使用者不易进行广泛设置,也导致收集的信息有区域限制而不够全面.对此,本研究构建结合入侵检测和蜜罐的分布式预警系统,并开发友好的使用者接口,通过分散在各网络中的客户端,收集大范围的攻击信息及恶意程序进行信息汇总分析,让信息安全人员根据所分析的结果,观察遭受攻击的计算机及服务,以便推论其攻击模式与意图,及潜在风险与未来趋势,以确定应变措施、确保网络安全.[2]
本研究着重在网络攻击行为的记录与分析,根据研究所需的相关名词进行文献探讨,并对本研究所使用的工具进行简介.
入侵检测系统(IDS)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备.它与其他网络安全设备的不同之处在于,IDS是一种积极主动的安全防护技术.根据其应用环境的不同,入侵检测系统可以归类为两种类型:主机型(Host Based)与网络型(Network Based)的入侵检测系统.[3]
主机型入侵检测系统主要以计算机系统主机的核心(Audit)信息或网络活动为基础(如文档、程序、日志文件等)作持续的监测,如果有不正常的情形发生,系统就会发出被入侵的警告信息,例如未授权的登录、非法程序的存取、异常的系统呼叫等可疑纪录.缺点是信息量通常非常庞大,且其所纪录的信息如果被窜改或者是删除时,则对入侵行为无从查起.
网络型入侵检测系统则是直接选取网络上传送的封包为根据,监测封包的档头以及内容部分,以此判断网络主机是否遭受攻击或入侵.缺点是其所消耗的系统资源往往与网络封包的流量成正比,如果网络流量过大将会造成入侵检测系统来不及处理,导致入侵检测正确率的降低.[4]
美国L.Spizner是一个著名的蜜罐技术专家,他曾对蜜罐做了这样的一个定义:蜜罐是一种资源,它的价值是被攻击或攻陷.这就意味着蜜罐是用来被探测、被攻击甚至最后被攻陷的,蜜罐不会修补任何东西,这样就为使用者提供了额外的、有价值的信息.蜜罐不会直接提高计算机网络安全,但是它却是其他安全策略所不可替代的一种主动防御技术.
具体的来讲,蜜罐系统最为重要的功能是对系统中所有操作和行为进行监视和记录,可以使网络安全专家通过精心的伪装,使得攻击者在进入到目标系统后仍不知道自己的行为已经处于系统的监视下.
设计蜜罐的初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,因此我们要求一台合格的蜜罐拥有这些功能:发现攻击、产生警告、强大的记录能力、欺骗、帮助调查.其架构如图1.
图1 蜜罐技术原理图
本研究以收集大范围网络攻击信息及警告信息发报为目的,构建一个可快速安装的分布式预警系统,以减少信息安全人员分布式系统构建和大范围信息收集的负担.研究实际结合入侵检测与蜜罐工具,汇总不同格式信息,对大范围网络攻击和警告信息进行集中分析和发报,再利用网页接口显示经分析后的汇总信息,让管理者能迅速对攻击事件做出因应行动.
分布式预警系统是由客户端(Client)与服务器端(Server)两大部分所组成的,系统架构如图二所示.客户端将遭受攻击的信息与捕获的恶意程序回传给服务器端,由服务器端进行攻击记录与分析、入侵通报,再以网页的方式呈现汇总后的信息,利用服务器端和多个客户端的间的连结,达到分散信息集中管控的效果,构建起一个完整的预警网络.以下将对这些组件作比较深入介绍.
图2 系统架构图
客户端安置在网域中负责搜集入侵者攻击行为的任务.以下说明各个组件的功能:
Nepenthes:模拟常见服务漏洞引诱入侵者发动攻击,并捕捉恶意程序样本,再将其传回服务器端,再进行后续分析.
Snort:监听并过滤封包来检测可能的入侵或网络攻击,辨识其攻击型态等信息,再将警告信息传回服务器端.
Sebek客户端:记录入侵者在蜜罐上的行为(如:执行程序、对外连线、存取系统资源、输入的指令等信息),再将信息传回服务器端.
网络管理人员可根据所在网络环境的不同,利用可携式LiveUSB进行客户端快速安装,并使用操作接口进行客户端设置.当网络攻击发生时,根据攻击类型的不同,会触发不同的系统组件进行信息的收集,最后传递到服务器端进行后续处理.
服务器端可以同时连接多个客户端并接收到所有客户端传递的信息,由各个不同的组件进行过滤分析后储存在数据库,如果这些信息都有相关性,则可能有入侵者针对网域内的计算机作大范围的攻击或扫描.以下说明各个组件的功能:
Sebek服务器:接收多个客户端传回的指令或连线信息进行过滤,再将其存入数据库.
Malware收集器:接收Nepenthes传回的恶意程序样本,并储存记录在数据库中.
Prelude:模块化设计的开放原始码混合型入侵检测系统,使用标准IDMEF格式进行通讯,从设计的方式来看定位在适应大型网络的需求,可接收来自多个客户端的信息,统整不同的信息格式,再储存在数据库.
网页界面:分析由数据库中取得的攻击信息,再以网页的方式进行呈现,同时监控网络攻击情况,如果有异常情形发生,会对这些信息进行标记并根据管理者设定的方式进行通知或是输出报表等相关事务.另外,管理者也可远程进行信息查询或恶意软件样本下载.
将开发完成的系统实际安装在校园网络环境和私人企业,经过一个月的信息收集,客户端总共遭受到2571次攻击,根据Snort分类其风险等级,并针对遭受攻击的类型列出前10名,如表1所示.
表1 遭受攻击的主机
再列出来自校内和校外IP的攻击次数,以及相关攻击型态统计,将收集到的恶意程序上传至Virus Total进行分析,列出恶意程序的统计信息,可检视出内部和外部网络的异常情形,预测可能的危害,据以进行后续处理和防范.
表2 攻击类型统计
本研究除了以Snort来识别攻击的类型,并结合了Nepenthes的仿真服务与恶意程序收集,再以Sebek记录利用弱点并回避人侵侦测系统在客户端操作的行为,最后通过汇集的警示信息,对黑客的攻击行为做出进一步的分析.
本文研究和设计了一种在Web服务器群中架设蜜罐而进行数字取证的系统,该系统可吸引恶意攻击并收集相关攻击信息,并对不同格式及分散信息进行关联性分析,再利用网页接口显示汇总信息,推论可能攻击、预测未来趋势.在未来研究中,可加强本系统的传输安全性及运作隐密性,来减低被检测的风险,使其能更全面地了解黑客攻击的趋势与变化,有利于信息安全人员作好网络防护工作.
[1]张海芹,须文波.基于移动Agent的新型分布式入侵检测系统[J].微计算机信息,2006(8):76-77.
[2]Perkins C.Addison-wesley,DSDV:Routing over a Multi-hop Wireless Network of Mobile Computers[J].Reading,2003(7):88-91.
[3]张新宇,卿斯汉,李 琦.一种基于本地网络的蠕虫协同检测方法[J].软件学报,2007(2):412-421.
[4]于 贵.网络系统可靠性研究现状及展望[J].四川文理学院学报,2011(2):64-65.