蜜罐技术及应用

蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对贵公司服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

1.蜜罐的定义

首先我们要弄清楚一台蜜罐和一台没有任何防范措施的计算机的区别,虽然这两者都有可能被入侵破坏,但是本质却完全不同,蜜罐是网络管理员经过周密布置而设下的“黑匣子”,看似漏洞百出却尽在掌握之中,它收集的入侵数据十分有价值;而后者,根本就是送给入侵者的礼物,即使被入侵也不一定查得到痕迹……因此,蜜罐的定义是:“蜜罐是一个安全资源,它的价值在于被探测、攻击和损害。”
设计蜜罐的初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,因此我们要求一台合格的蜜罐拥有这些功能:发现攻击、产生警告、强大的记录能力、欺骗、协助调查。另外一个功能由管理员去完成,那就是在必要时候根据蜜罐收集的证据来起诉入侵者。

2.涉及的法律问题

蜜罐是用来给黑客入侵的,它必须提供一定的漏洞,但是我们也知道,很多漏洞都属于“高危”级别,稍有不慎就会导致系统被渗透,一旦蜜罐被破坏,入侵者要做的事情是管理员无法预料的,例如,一个入侵者成功进入了一台蜜罐,并且用它做“跳板”(指入侵者远程控制一台或多台被入侵的计算机对别的计算机进行入侵行为)去攻击别人,那么这个损失由谁来负责?设置一台蜜罐必须面对三个问题:设陷技术、隐私、责任。
设陷技术关系到设置这台蜜罐的管理员的技术,一台设置不周全或者隐蔽性不够的蜜罐会被入侵者轻易识破或者破坏,由此导致的后果将十分严重。
由于蜜罐属于记录设备,所以它有可能会牵涉到隐私权问题,如果一个企业的管理员恶意设计一台蜜罐用于收集公司员工的活动数据,或者偷偷拦截记录公司网络通讯信息,这样的蜜罐就已经涉及法律问题了。
对于管理员而言,最倒霉的事情就是蜜罐被入侵者成功破坏了。有人也许会认为,既然蜜罐是故意设计来“牺牲”的,那么它被破坏当然合情合理,用不着小题大做吧。对,蜜罐的确是用来“受虐”的,但是它同时也是一台连接网络的计算机,如果你做的一台蜜罐被入侵者攻破并“借”来对某大学服务器进行攻击,因此引发的损失恐怕只能由你来承担了。还有一些责任是谁也说不清的,例如,你做的一台蜜罐不幸引来了Slammer、Sasser、Blaster等大名鼎鼎的“爬虫类”病毒而成了传播源之一,那么这个责任谁来负担?

3.蜜罐的类型

世界上不会有非常全面的事物,蜜罐也一样。根据管理员的需要,蜜罐的系统和漏洞设置要求也不尽相同,蜜罐是有针对性的,而不是盲目设置来无聊的,因此,就产生了多种多样的蜜罐……

3.1.实系统蜜罐

实系统蜜罐是最真实的蜜罐,它运行着真实的系统,并且带着真实可入侵的漏洞,属于最危险的漏洞,但是它记录下的入侵信息往往是最真实的。这种蜜罐安装的系统一般都是最初的,没有任何SP补丁,或者打了低版本SP补丁,根据管理员需要,也可能补上了一些漏洞,只要值得研究的漏洞还存在即可。然后把蜜罐连接上网络,根据目前的网络扫描频繁度来看,这样的蜜罐很快就能吸引到目标并接受攻击,系统运行着的记录程序会记下入侵者的一举一动,但同时它也是最危险的,因为入侵者每一个入侵都会引起系统真实的反应,例如被溢出、渗透、夺取权限等。

3.2.伪系统蜜罐

什么叫伪系统呢?不要误解成“假的系统”,它也是建立在真实系统基础上的,但是它最大的特点就是“平台与漏洞非对称性”。
大家应该都知道,世界上操作系统不是只有Windows一家而已,在这个领域,还有Linux、Unix、OS2、BeOS等,它们的核心不同,因此会产生的漏洞缺陷也就不尽相同,简单的说,就是很少有能同时攻击几种系统的漏洞代码,也许你用LSASS溢出漏洞能拿到Windows的权限,但是用同样的手法去溢出Linux只能徒劳。根据这种特性,就产生了“伪系统蜜罐”,它利用一些工具程序强大的模仿能力,伪造出不属于自己平台的“漏洞”,入侵这样的 “漏洞”,只能是在一个程序框架里打转,即使成功“渗透”,也仍然是程序制造的梦境——系统本来就没有让这种漏洞成立的条件,谈何“渗透”?实现一个“伪系统”并不困难,Windows平台下的一些虚拟机程序、Linux自身的脚本功能加上第三方工具就能轻松实现,甚至在Linux/Unix下还能实时由管理员产生一些根本不存在的“漏洞”,让入侵者自以为得逞的在里面瞎忙。实现跟踪记录也很容易,只要在后台开着相应的记录程序即可。
这种蜜罐的好处在于,它可以最大程度防止被入侵者破坏,也能模拟不存在的漏洞,甚至可以让一些Windows蠕虫攻击Linux——只要你模拟出符合条件的Windows特征!但是它也存在坏处,因为一个聪明的入侵者只要经过几个回合就会识破伪装,另者,编写脚本不是很简便的事情,除非那个管理员很有耐心或者十分悠闲。

4.使用你的蜜罐

既然蜜罐不是随随便便做来玩的,管理员自然就不会做个蜜罐然后让它赋闲在家,那么蜜罐做来到底怎么用呢?

4.1.迷惑入侵者,保护服务器

一般的客户/服务器模式里,浏览者是直接与网站服务器连接的,换句话说,整个网站服务器都暴露在入侵者面前,如果服务器安全措施不够,那么整个网站数据都有可能被入侵者轻易毁灭。但是如果在客户/服务器模式里嵌入蜜罐,让蜜罐作为服务器角色,真正的网站服务器作为一个内部网络在蜜罐上做网络端口映射,这样可以把网站的安全系数提高,入侵者即使渗透了位于外部的“服务器”,他也得不到任何有价值的资料,因为他入侵的是蜜罐而已。虽然入侵者可以在蜜罐的基础上跳进内部网络,但那要比直接攻下一台外部服务器复杂得多,许多水平不足的入侵者只能望而却步。蜜罐也许会被破坏,可是不要忘记了,蜜罐本来就是被破坏的角色。
在这种用途上,蜜罐不能再设计得漏洞百出了。蜜罐既然成了内部服务器的保护层,就必须要求它自身足够坚固,否则,整个网站都要拱手送人了。

4.2.抵御入侵者,加固服务器

入侵与防范一直都是热点问题,而在其间插入一个蜜罐环节将会使防范变得有趣,这台蜜罐被设置得与内部网络服务器一样,当一个入侵者费尽力气入侵了这台蜜罐的时候,管理员已经收集到足够的攻击数据来加固真实的服务器。
采用这个策略去布置蜜罐,需要管理员配合监视,否则入侵者攻破了第一台,就有第二台接着承受攻击了……

4.3.诱捕网络罪犯

这是一个相当有趣的应用,当管理员发现一个普通的客户/服务器模式网站服务器已经牺牲成肉鸡的时候,如果技术能力允许,管理员会迅速修复服务器。那么下次呢?既然入侵者已经确信自己把该服务器做成了肉鸡,他下次必然还会来查看战果,难道就这样任由他放肆?一些企业的管理员不会罢休,他们会设置一个蜜罐模拟出已经被入侵的状态,做起了姜太公。同样,一些企业为了查找恶意入侵者,也会故意设置一些有不明显漏洞的蜜罐,让入侵者在不起疑心的情况下乖乖被记录下一切行动证据,有些人把此戏称为“监狱机”,通过与电信局的配合,可以轻易揪出IP源头的那双黑手。