论蜜罐及其反制技术

国家保密局互联网门... 2024年06月20日

      【摘 要】 本文阐述了蜜罐的防护方法、蜜罐的引诱能力及蜜罐分类,并结合蜜罐的特点,详细论述了蜜罐反制技术,以期为蜜罐的开发使用及网络安全的主动解决方案提供研究思路。


      【关键词】 蜜罐 蜜罐反制 未知威胁 网络安全

      1 引言

      随着信息技术的不断发展,物联网、云计算、人工智能(AI)等技术深刻影响着我们的工作、学习、生活。网络技术的发展同样带来诸多隐患,网络安全成为无法回避的关键性问题。从早年的“熊猫烧香”“永恒之蓝”,到勒索病毒、高级可持续威胁(APT)攻击,网络攻击方式多种多样,攻击成本不断降低,隐蔽性增强,使溯源取证更加困难。尤其在一些特定领域,如打击网络犯罪过程中,由于网络攻击手段多样且手法隐蔽,终端网络犯罪的取证素材获取是网络犯罪取证的难点,研究并实现未知攻击链各个阶段相应取证素材的获取技术已迫在眉睫。

      基于蜜罐防御体系的出现打破了防守方只能被动防守的局面,防守方不仅能在攻击者接触到真实资产前做出反应,而且还能采取富有针对性的反制措施,解决相关部门对网络攻击事件调查取证困难的问题。本文对蜜罐与蜜罐反制进行总结和分析,对仿真、反制技术进行了阐述,并指出蜜罐所能达到的攻击防御效果。

      2 蜜罐阐述

      根据蜜罐仿真程度及交互能力,可分为低交互蜜罐、中交互蜜罐、高交互蜜罐,如图1所示。

图1 蜜罐类型

      低交互蜜罐是指实现某个特定服务模拟,可以模拟这个服务的全部交互,也可以是部分服务的模拟,交互程度可以是攻击者初始访问的一个反馈。这种蜜罐虽然仿真程度不高,但是已经达到了引诱攻击者,并捕获其IP、协议、端口及请求载荷等信息的目的。低交互蜜罐因其创建释放快捷、资源占用低、协议轻便的特点,目前在威胁检测方面应用普遍。

      中交互蜜罐除了要具备特定服务的模拟外,还要对设备环境进行模拟。正常应用程序、恶意二进制文件都需要在系统环境中执行,假如1个攻击者上传了1个恶意文件,执行后释放出动态链接文件并创建出系统服务,产生2个进程,1个用来挖矿,1个用来进行横向移动,中交互蜜罐会把整个攻击过程全部记录下来,并且保存攻击文件。中交互蜜罐是基于进程级的服务模拟,能够提供更完整的攻击交互,为溯源留存攻击记录和攻击文件。

      高交互蜜罐是基于真实的系统和服务构建的。虽然中交互蜜罐已经可以提供足够的交互能力,但面对APT攻击时容易被识破,攻击者长期对被攻击者进行富有针对性的、持续性的攻击,熟悉被攻击者的业务环境。因此,高交互蜜罐需要用户参与设计,模拟出符合用户业务及物理空间的蜜罐,针对载荷的信息建立模型,以虚拟出的真实的业务环境诱骗高级别攻击者实施攻击,从而捕获高级别攻击者。

      3蜜罐反制技术

      蜜罐攻击反制的目的是获取攻击者的有用信息,是攻击溯源环节的一部分,而不是以暴制暴。网络攻防长久以来存在着攻强守弱的局面,攻击方可以在任何时间、使用任何攻击手段实施攻击,而防守方只能被动防守。蜜罐则具备主动防御能力,它可以通过主动布防,主动示弱攻击者,并且进行反制,使网络攻击不再是一个没有损失、只有收益的事情。攻击者要为其网络攻击行为承担被发现的风险,以及法律责任,这对从事网络犯罪、威胁网络安全的不法分子起到了威慑作用。

      3.1 Web蜜罐反制

      浏览器反制主要利用了Js脚本攻击的原理。jsonp解决跨域问题的同时带来了安全性问题,攻击者利用<script>标签获得json数据,执行后可获取敏感数据。一般这种攻击先会对Web进行整体测试,了解功能和调用情况后将脚本代码插入页面,用户浏览页面进行输入时,js脚本会无声无息地执行,从而获取攻击者的信息。使用蜜罐进行反制时,首先需模拟出业务系统的Web网站,伪装网站里内置了js反制脚本,当攻击者被诱导,通过浏览器访问Web蜜罐时脚本会自动执行,获取攻击者的硬件指纹信息与网络攻击信息。将这2种信息相关联并溯源分析,就可定位攻击者。通过这种方式,可有效获取攻击者信息,包括浏览器、屏幕、硬件、页面、插件、网络、网络社交,如表1所示。

      表1 Web反制获取信息列举

      网络社交信息的获取,可通过跨站跨域模拟请求,获取浏览器中社交网站的账户缓存信息。

      如图2所示,在仿真Web页面上,可以添加注册流程,需要输入手机号码作为账号名,从而获取攻击者的手机号,这个注册流程可以接入真实的短信网关,发送真实的短信验证码。

图2 获取手机号

      通过同样的方法,可在仿真Web页面上添加微信扫一扫二维码,伪装成公众号或客服等,引诱攻击者扫描,之后可以使用网上开源免费的后台登记访客系统,获取扫描者的微信信息。

      在Web上预置代码书写不规范的漏洞也是反制方法之一。代码编写具有一定的书写规范,代码注释是代码编写中不可缺少的一部分,但是当项目上线代码打包后,这些注释必须要全部清除,避免直接暴露出来。利用这一点,可以在仿真的Web页面里制造代码注释未删除的假象,如将“//mysql数据库10.0.0.1 root/admin@123”这样的注释,植入蜜罐的公网IP,模拟成开发时的后端服务器,从而欺骗攻击者,引诱攻击者进行攻击。

      3.2 数据库蜜罐反制

      MySQL反制蜜罐的工作原理是通过搭建一个简单的MySQ服务,如果攻击者对目标进行3306端口爆破,且尝试使用mysql客户端工具远程连接MySQL蜜罐服务器,就可能获取攻击者的IP、读取本地文件,包括微信配置文件等。MySQL服务端能够用读取命令获取MYSQL客户端的任意文件,然后伪造恶意服务器向连接这个服务器的客户端发送读取文件的载荷(payload)。

      3.3 诱饵反制

      诱饵反制的原理是利用脱敏的用户数据文件,或是可执行程序,如虚拟专用网(VPN)安装程序,把其与反制程序捆绑到一起,通过对反制程序添加花指令、编译器多次编译、对shellcode编码、程序加壳等多种方式对反制程序打包、混淆,同时在反制程序运行时减少对系统的修改,减少敏感行为应用程序接口(API)调用,多在内存里进行操作,使用反弹的连接,对传输数据进行压缩、加密等方式绕过杀毒软件拦截。此方法支持获取攻击者终端中的文件、主机名、主机权限、操作系统、用户信息、网卡信息等,如图3所示。

图3 触碰诱饵

      反制终端的信息在回传时,可于蜜罐管理页接收信息,此时需要连接互联网在公网搭建一个接收服务端,并且IP应归属被攻击IP地址,这样在回传的时候哪怕攻击者发现有外发请求,但因IP地址不是可疑的,可以避免攻击者发现疑点漏洞,删除反制文件。

      3.4 陷阱反制

      蜜罐系统一般支持钓鱼邮件自定义功能,原理是在系统中生成一封邮件,通过邮件服务器发送到指定邮箱,如果此邮箱被攻击爆破,攻击者打开了钓鱼邮件,就会产生告警信息。另外邮件里面的内容同样可以伪造成虚假信息,把蜜罐IP写进去,连环诱骗攻击者。

      另外,接收钓鱼邮件的邮箱可以使用一个新的钓鱼邮箱,设置成弱口令,植入到伪装Web页面里,故意暴露给攻击者进行爆破。

      4结语

      本文对蜜罐技术及蜜罐的反制思路进行了阐述,明确了蜜罐作为一种主动防御手段,其溯源与反制能力的效果及发挥空间,列举了蜜罐反制技术的方法,以期为蜜罐的开发使用及网络安全的主动解决方案提供研究思路。

      (原载于《保密科学技术》杂志2023年4月刊)