使用蜜罐技术进行主动防御-直接捕获黑客
蜜罐介绍
蜜罐(Honeypot),就是提供虚假的应用服务器。
这个服务器没有任何保护措施,并且提供带有漏洞的服务,就是为了吸引攻击者来攻击它。
蜜罐由安全人员部署在网络的各个节点中,理论上,其他开发人员都不会知道蜜罐的存在,也就不会向蜜罐发起任何请求。
而攻击者在外网探寻资产时,发现资产就会发起扫描,尝试外围打点,或入侵内网后,需要对内网进行资产探测,如果发现某个服务有漏洞,就会针对漏洞发起攻击。
所以蜜罐在内网或外网均能捕获攻击者的真实攻击。
-
在内网,蜜罐捕获的行为,可以用来检测发现已存在的失陷问题。
-
在外网,蜜罐捕获的攻击行为,可以用来获取攻击者的相关IP、payload数据、攻击模式。
所以蜜罐有显著的特点
-
真实用户不知道存在,所有访问均为异常行为,几乎不产生误报
-
真实攻击,特征明显、数据量小、价值高
-
无需各类规则匹配、漏洞识别,甚至能捕获较新的攻击模式、攻击样本
蜜罐分类
- 低交互蜜罐-就是指蜜罐内的所有服务都是模拟的,不能提供真实的服务功能。比如,低交互蜜罐为了模拟一个弱密码的 SSH 服务,它会监听 22 端口。而黑客一旦向这个 22 端口发起 SSH 登录请求,蜜罐就会返回登录成功的响应。但是,蜜罐并没有提供真实的 SSH 服务,只是模拟了一个登录成功的响应而已,所以攻击者并不能通过 SSH 连接上服务器。
- 高交互蜜罐会提供一个真实的服务,而且不施加任何限制,只是用来做详细的记录而已。还是以上面 SSH 登录为例,在高交互蜜罐中,蜜罐会开启一个真实的 SSH 服务,攻击者能够通过 SSH 连入。但是,黑客连入蜜罐后的所有行为都会被记录下来,并产生报警,我们既可以持续观察攻击者的行为模式,也能将攻击者踢出蜜罐。
缺点
- 蜜罐必须做的易于被发现且有诱惑力,否则攻击者可能会对真实资产更有兴趣
- 虚假数据准备,如果不填充虚假数据,或不明确表明是开发测试环境,可能攻击者会快速逃离
- 蜜罐可以被打破,所以不可以放任攻击
显然,高交互蜜罐还可以用来消耗攻击者的时间、精力,提高攻击者的攻击成本
其他深度应用
- 蜜饵,伪造一些常见的压缩包如 www.rar放在正常业务的根目录,backup.gzip放在明确路径下,或者生成非常明确的访问证书组件、工作计划、运维手册、人员名单等,引诱攻击者下载打开,这些文件,可以用来发现攻击,也可以进一步绑定反连软件,尝试捕获攻击者的信息。
- 密标,更深入的改造蜜饵,蜜饵可以做成纯粹的干净文件,甚至一定程度上真实有效,让攻击者放松警惕,即时获得满足感,但蜜饵内部实则放一些在线文档的访问地址或其他行为触发陷阱,放松警惕的攻击者可能会在真是网络下进行点开连接,让我们捕获高敏感、高警惕性的攻击者,通过延长捕获链条,降低攻击者警惕性,一旦点击在线链接即可捕获攻击者的浏览器中的相关指纹。
- 密网,显然是大量蜜罐与真实业务交织,迷惑攻击者、提供复杂的、丰富的漏洞和接口,一方面浪费攻击者的时间,减少真实业务受损,一方面捕获攻击者的行为模式,为应急响应、追踪溯源提供便利
- 流量重定向,使用WAF等设施,将真实业务上的真实攻击路由到蜜罐网络,通过流量的重定向,让攻击者在蜜罐中转圈
总结
蜜罐技术属于主动防御的一种手段,也是一门欺骗的技术,能够带来大量真实情报的同时,也并非没有缺陷,需要常态化的进行维护,尤其是高交互蜜罐,一定要多种多样,剧本翻新,及时重置,我们核心是做防御,不是为了捕获攻击者炫技,一定要避免因小失大。