摘要 蜜罐是一种主动防御的网络安全技术,可以吸引黑客的攻击,监视和跟踪入侵者的行为并且记录下来进行分析,从而研究入侵者所使用的攻击工具、策略和方法。该文介绍蜜罐技术的基本概念,分析了蜜罐的安全价值,详细研究了蜜罐的信息收集技术,同时也讨论了蜜罐系统面临的安全威胁与防御对策。
关键字 蜜罐,交互性,入侵检测系统,防火墙
1引言
现在网络安全面临的一个大问题是缺乏对入侵者的了解。即谁正在攻击、攻击的目的是什么、如何攻击以及何时进行攻击等,而蜜罐为安全专家们提供一个研究各种攻击的平台。它是采取主动的方式,用定制好的特征吸引和诱骗攻击者,将攻击从网络中比较重要的机器上转移开,同时在黑客攻击蜜罐期间对其行为和过程进行深入的分析和研究,从而发现新型攻击,检索新型黑客工具,了解黑客和黑客团体的背景、目的、活动规律等。
2蜜罐技术基础
2.1 蜜罐的定义
蜜罐是指受到严密监控的网络诱骗系统,通过真实或模拟的网络和服务来吸引攻击,从而在黑客攻击蜜罐期间对其行为和过程进行分析,以搜集信息,对新攻击发出预警,同时蜜罐也可以延缓攻击和转移攻击目标。
蜜罐在编写新的ids特征库、发现系统漏洞、分析分布式拒绝服务(ddos)攻击等方面是很有价值的。WWw.133229.COm蜜罐本身并不直接增强网络的安全性,将蜜罐和现有的安全防卫手段如入侵检测系统(ids)、防火墙(firewall)、杀毒软件等结合使用,可以有效提高系统安全性。
2.2 蜜罐的分类
根据蜜罐的交互程度,可以将蜜罐分为3类:
蜜罐的交互程度(level of involvement)指攻击者与蜜罐相互作用的程度。
⑴ 低交互蜜罐
只是运行于现有系统上的一个仿真服务,在特定的端口监听记录所有进入的数据包,提供少量的交互功能,黑客只能在仿真服务预设的范围内动作。低交互蜜罐上没有真正的操作系统和服务,结构简单,部署容易,风险很低,所能收集的信息也是有限的。
⑵ 中交互蜜罐
也不提供真实的操作系统,而是应用脚本或小程序来模拟服务行为,提供的功能主要取决于脚本。在不同的端口进行监听,通过更多和更复杂的互动,让攻击者会产生是一个真正操作系统的错觉,能够收集更多数据。开发中交互蜜罐,要确保在模拟服务和漏洞时并不产生新的真实漏洞,而给黑客渗透和攻击真实系统的机会。
⑶ 高交互蜜罐
由真实的操作系统来构建,提供给黑客的是真实的系统和服务。给黑客提供一个真实的操作系统,可以学习黑客运行的全部动作,获得大量的有用信息,包括完全不了解的新的网络攻击方式。正因为高交互蜜罐提供了完全开放的系统给黑客,也就带来了更高的风险,即黑客可能通过这个开放的系统去攻击其他的系统。
2.3蜜罐的拓扑位置
蜜罐本身作为一个标准服务器对周围网络环境并没有什么特别需要。理论上可以布置在网络的任何位置。但是不同的位置其作用和功能也是不尽相同。
如果用于内部或私有网络,可以放置在任何一个公共数据流经的节点。如用于互联网的连接,蜜罐可以位于防火墙前面,也可以是后面。
⑴ 防火墙之前:如见图1中蜜罐(1),蜜罐会吸引象端口扫描等大量的攻击,而这些攻击不会被防火墙记录也不让内部ids系统产生警告,只会由蜜罐本身来记录。
因为位于防火墙之外,可被视为外部网络中的任何一台普通的机器,不用调整防火墙及其它的资源的配置,不会给内部网增加新的风险,缺点是无法定位或捕捉到内部攻击者,防火墙限制外向交通,也限制了蜜罐的对内网信息收集。
⑵ 防火墙之后:如图1中蜜罐(2),会给内部网带来安全威胁,尤其是内部网没有附加的防火墙来与蜜罐相隔离。蜜罐提供的服务,有些是互联网的输出服务,要求由防火墙把回馈转给蜜罐,不可避免地调整防火墙规则,因此要谨慎设置,保证这些数据可以通过防火墙进入蜜罐而不引入更多的风险。
优点是既可以收集到已经通过防火墙的有害数据,还可以探查内部攻击者。缺点是一旦蜜罐被外部攻击者攻陷就会危害整个内网。
还有一种方法,把蜜罐置于隔离区dmz内,如图1中蜜罐(3)。隔离区只有需要的服务才被允许通过防火墙,因此风险相对较低。dmz内的其它系统要安全地和蜜罐隔离。此方法增加了隔离区的负担,具体实施也比较困难。
3 蜜罐的安全价值
蜜罐是增强现有安全性的强大工具,是一种了解黑客常用工具和攻击策略的有效手段。根据p2dr动态安全模型,从防护、检测和响应三方面分析蜜罐的安全价值。
⑴ 防护 蜜罐在防护中所做的贡献很少,并不会将那些试图攻击的入侵者拒之门外。事实上蜜罐设计的初衷就是妥协,希望有人闯入系统,从而进行记录和分析。
有些学者认为诱骗也是一种防护。因为诱骗使攻击者花费大量的时间和资源对蜜罐进行攻击,从而防止或减缓了对真正系统的攻击。
⑵ 检测 蜜罐的防护功能很弱,却有很强的检测功能。因为蜜罐本身没有任何生产行为,所有与蜜罐的连接都可认为是可疑行为而被纪录。这就大大降低误报率和漏报率,也简化了检测的过程。
现在的网络主要是使用入侵检测系统ids来检测攻击。面对大量正常通信与可疑攻击行为相混杂的网络,要从海量的网络行为中检测出攻击是很困难的,有时并不能及时发现和处理真正的攻击。高误报率使ids失去有效的报警作用,蜜罐的误报率远远低于大部分ids工具。
另外目前的ids还不能够有效地对新型攻击方法进行检测,无论是基于异常的还是基于误用的,都有可能遗漏新型或未知的攻击。蜜罐可以有效解决漏报问题,使用蜜罐的主要目的就是检测新的攻击。
⑶ 响应 蜜罐检测到入侵后可以进行响应,包括模拟回应来引诱黑客进一步攻击,发出报警通知系统管理员,让管理员适时的调整入侵检测系统和防火墙配置,来加强真实系统的保护等。
4 蜜罐的信息收集
要进行信息分析,首先要进行信息收集,下面分析蜜罐的数据捕获和记录机制。根据信息捕获部件的位置,可分为基于主机的信息收集和基于网络的信息收集。
4.1 基于主机的信息收集
基于主机的信息收集有两种方式,一是直接记录进出主机的数据流,二是以系统管理员身份嵌入操作系统内部来监视蜜罐的状态信息,即所谓“peeking”机制。
⑴ 记录数据流
直接记录数据流实现一般比较简单,主要问题是在哪里存储这些数据。
收集到的数据可以本地存放在密罐主机中,例如把日志文件用加密技术放在一个隐藏的分区中。本地存储的缺点是系统管理员不能及时研究这些数据,同时保留的日志空间可能用尽,系统就会降低交互程度甚至变为不受监控。攻击者也会了解日志区域并且试图控制它,而使日志文件中的数据不再是可信数据。
因此,将攻击者的信息存放在一个安全的、远程的地方相对更合理。以通过串行设备、并行设备、usb或firewire技术和网络接口将连续数据存储到远程日志服务器,也可以使用专门的日志记录硬件设备。数据传输时采用加密措施。
⑵ 采用“peeking”机制
这种方式和操作系统密切相关,实现相对比较复杂。
对于微软系列操作系统来说,系统的源代码是很难得到,对操作系统的更改很困难,无法以透明的方式将数据收集结构与系统内核相结合,记录功能必须与攻击者可见的用户空间代码相结合。蜜罐管理 员一般只能察看运行的进程,检查日志和应用md-5检查系统文件的一致性。
对于unix系列操作系统,几乎所有的组件都可以以源代码形式得到,则为数据收集提供更多的机会,可以在源代码级上改写记录机制,再重新编译加入蜜罐系统中。需要说明,尽管对于攻击者来说二进制文件的改变是很难察觉,一个高级黑客还是可能通过如下的方法探测到:
·md-5检验和检查:如果攻击者有一个和蜜罐对比的参照系统,就会计算所有标准的系统二进制文件的md-5校验和来测试蜜罐。
·库的依赖性和进程相关性检查:即使攻击者不知道原始的二进制系统的确切结构,仍然能应用特定程序观察共享库的依赖性和进程的相关性。例如,在unix操作系统中,超级用户能应用truss或strace命令来监督任何进程,当一个象grep(用来文本搜索)的命令突然开始与系统日志记录进程通信,攻击者就会警觉。库的依赖性问题可以通过使用静态联接库来解决。
另外如果黑客攻陷一台机器,一般会安装所谓的后门工具包,这些文件会代替机器上原有的文件,可能会使蜜罐收集数据能力降低或干脆失去。因此应直接把数据收集直接融入unix内核,这样攻击者很难探测到。修改unix内核不象修改unix系统文件那么容易,而且不是所有的unix版本都有源代码形式的内核。不过一旦源代码可用,这是布置和隐藏数据收集机制有效的方法。