蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对贵公司服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。
设置蜜罐并不难,只要在外部因特网上有一台计算机运行没有打上补丁的微软Windows或者Red Hat Linux即行。因为黑客可能会设陷阱,以获取计算机的日志和审查功能,你就要在计算机和因特网连接之间安置一套网络监控系统,以便悄悄记录下进出计算机的所有流量。然后只要坐下来,等待攻击者自投罗网。
不过,设置蜜罐并不是说没有风险。这是因为,大部分安全遭到危及的系统会被黑客用来攻击其它系统。这就是下游责任(downstream liability),由此引出了蜜网(honeynet)这一话题。
蜜网是指另外采用了技术的蜜罐,从而以合理方式记录下黑客的行动,同时尽量减小或排除对因特网上其它系统造成的风险。建立在反向防火墙后面的蜜罐就是一个例子。防火墙的目的不是防止入站连接,而是防止蜜罐建立出站连接。不过,虽然这种方法使蜜罐不会破坏其它系统,但同时很容易被黑客发现。
数据收集是设置蜜罐的另一项技术挑战。蜜罐监控者只要记录下进出系统的每个数据包,就能够对黑客的所作所为一清二楚。蜜罐本身上面的日志文件也是很好的数据来源。但日志文件很容易被攻击者删除,所以通常的办法就是让蜜罐向在同一网络上但防御机制较完善的远程系统日志服务器发送日志备份。(务必同时监控日志服务器。如果攻击者用新手法闯入了服务器,那么蜜罐无疑会证明其价值。)
近年来,由于黑帽子群体越来越多地使用加密技术,数据收集任务的难度大大增强。如今,他们接受了众多计算机安全专业人士的建议,改而采用SSH等密码协议,确保网络监控对自己的通讯无能为力。蜜网对付密码的计算就是修改目标计算机的操作系统,以便所有敲入的字符、传输的文件及其它信息都记录到另一个监控系统的日志里面。因为攻击者可能会发现这类日志,蜜网计划采用了一种隐蔽技术。譬如说,把敲入字符隐藏到NetBIOS广播数据包里面。
蜜罐技术的优势
蜜罐系统的优点之一就是它们大大减少了所要分析的数据。对于通常的网站或邮件服务器,攻击流量通常会被合法流量所淹没。而蜜罐进出的数据大部分是攻击流量。因而,浏览数据、查明攻击者的实际行为也就容易多了。
自1999年启动以来,蜜网计划已经收集到了大量信息,你可以在www.honeynet.org上找到。部分发现结果包括:攻击率在过去一年增加了一倍;攻击者越来越多地使用能够堵住漏洞的自动点击工具(如果发现新漏洞,工具很容易更新);尽管虚张声势,但很少有黑客采用新的攻击手法。
蜜罐主要是一种研究工具,但同样有着真正的商业应用。把蜜罐设置在与公司的Web或邮件服务器相邻的IP地址上,你就可以了解它所遭受到的攻击。
当然,蜜罐和蜜网不是什么“射后不理”(fire and forget)的安全设备。据蜜网计划声称,要真正弄清楚攻击者在短短30分钟内造成的破坏,通常需要分析30到40个小时。系统还需要认真维护及测试。有了蜜罐,你要不断与黑客斗智斗勇。可以这么说:你选择的是战场,而对手选择的是较量时机。因而,你必须时时保持警惕。
蜜罐领域最让人兴奋的发展成果之一就是出现了虚拟蜜网。虚拟计算机网络运行在使用VMware或User-Mode Linux等虚拟计算机系统的单一机器之上。虚拟系统使你可以在单一主机系统上运行几台虚拟计算机(通常是4到10台)。虚拟蜜网大大降低了成本、机器占用空间以及管理蜜罐的难度。此外,虚拟系统通常支持“悬挂”和“恢复”功能,这样你就可以冻结安全受危及的计算机,分析攻击方法,然后打开TCP/IP连接及系统上面的其它服务。
对大组织的首席安全官(CSO)来说,运行蜜网最充分的理由之一就是可以发现内部不怀好意的人。
蜜罐技术的法律问题
出乎意料的是,监控蜜罐也要承担相应的法律后果,譬如说,有可能违反《反窃听法》。虽然目前没有判例法,但熟悉这方面法律的人士大多数认为,双方同意的标语是出路所在。也就是说,给每个蜜罐打上这样的标语:“使用该系统的任何人同意自己的行为受到监控,并透露给其他人,包括执法人员。”
蜜罐技术解析
一、从影片特技到蜜罐技术
《特洛伊》里庞大的希腊舰队、《终结者2》里随意改变形体的“液体金属”、《侏罗纪公园》里满地乱跑的恐龙们、《黑客帝国》里的“×××时间”…… 随着计算机技术的不断发展,越来越多的电脑特技被应用在电影领域,不需要工资的虚拟演员不知辛劳地日夜工作,这些电脑技术使得导演可以构思现实中不可能存在的情节环境,也减少了影片开支。但是,在计算机的信息安全领域里,网络管理员要面对的是黑客×××实干的入侵破坏,难道在电脑技术大量应用的今天,安全领域却得不到一点援助?答案是有的,它就是在安全领域里代替网络管理员上阵的“虚拟演员”——蜜罐技术。
蜜罐,或称Honeypot,与应用于电影的特技相比,它并不神秘——所谓蜜罐,就是一台不作任何安全防范措施而且连接网络的计算机,但是与一般计算机不同,它内部运行着多种多样的数据记录程序和特殊用途的“自我暴露程序”——要诱惑贪嘴的黑熊上钩,蜂蜜自然是不可少的。在入侵者的角度来看,入侵到蜜罐会使他们的心情大起大落——从一开始偷着乐骂管理员傻帽到最后明白自己被傻帽当成猴子耍的过程。
二、为什么要使用蜜罐
《终结者2》里阿诺让约翰把自己放入熔炉,《特洛伊》里Achilles被王子射杀,战争片里的机枪扫射,甚至《黑衣人》里外星人发射的核弹毁灭了北极!如果这一切是真实的话,我们的明星已经成为墙上的照片了,拍一部片要死多少人?况且,我们只有一个地球,值得为了一部影片炸掉某个地区?所以人们必须采用电脑特技完成这些不能真实发生的剧情。同样,管理员也不会为了记录入侵情况而让入侵者肆意进入服务器搞破坏,所以蜜罐出现了。
前面说过了,蜜罐是一台存在多种漏洞的计算机,而且管理员清楚它身上有多少个漏洞,这就像狙击手为了试探敌方狙击手的实力而用枪支撑起的钢盔,蜜罐被入侵而记录下入侵者的一举一动,是为了管理员能更好的分析广大入侵者都喜欢往哪个洞里钻,今后才能加强防御。
另一方面是因为防火墙的局限性和脆弱性,因为防火墙必须建立在基于已知危险的规则体系上进行防御,如果入侵者发动新形式的攻击,防火墙没有相对应的规则去处理,这个防火墙就形同虚设了,防火墙保护的系统也会遭到破坏,因此技术员需要蜜罐来记录入侵者的行动和入侵数据,必要时给防火墙添加新规则或者手工防御。
三、深入蜜罐
既然使用蜜罐能有那么多好处,那么大家都在自己家里做个蜜罐,岂不是能最大程度防范黑客?有这个想法的读者请就此打住!蜜罐虽然在一定程度上能帮管理员解决分析问题,但它并不是防火墙,相反地,它是个危险的入侵记录系统。蜜罐被狡猾的入侵者反利用来攻击别人的例子也屡见不鲜,只要管理员在某个设置上出现错误,蜜罐就成了打狗的肉包子。而一般的家庭用户电脑水平不可能达到专业水平,让他们做蜜罐反而会引火烧身——蜜罐看似简单,实际却很复杂。虽然蜜罐要做好随时牺牲的准备,可是如果它到最后都没能记录到入侵数据,那么这台蜜罐根本就是纯粹等着挨宰的肉鸡了,蜜罐就复杂在此,它自身需要提供让入侵者乐意停留的漏洞,又要确保后台记录能正常而且隐蔽的运行,这些都需要专业技术,如果蜜罐能随便做出来,我们在家里也能拍摄《黑客帝国》了——故意开着漏洞却没有完善的记录处理环境的服务器不能称为蜜罐,它只能是肉鸡。
所以,我们必须了解蜜罐,它到底是什么样的?
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源头的那双黑手。