【摘 要】 传统Web安全防护技术存在误报、漏报以及防御被动等问题,蜜罐技术的引入可有效改善此状况。本文针对面向Web安全防护的蜜罐技术进行研究,分析当前主流的Web蜜罐技术,提出蜜罐技术在Web安全防护中的应用模型,并进行了研究展望。

1 引言

随着Web2.0的发展,越来越多的公司、政府、学校等组织机构开始利用Web技术向外提供服务。根据Internet Live Stats统计,截至2021年年初,全世界Web站点数量已超18亿。Web技术优秀的标准化工作以及活跃的社区使普通开发者开发Web应用的难度降低,促使了Web技术的发展,但同时也导致了很多Web安全问题。据国家信息安全漏洞库CNVVD2013年至2020年收录的漏洞类别统计显示,其中涉及Web应用的漏洞约有17万个,占比19%。Web服务向外暴露的巨大攻击面,使得攻击Web应用经常成为网络攻击的入口点。

传统的Web安全防护技术不足以应对层出不穷、变化多端的Web攻击。Web应用防火墙(Web Application Firewall,WAF)、入侵检测系统(Intrusion Detection Systems,IDS)等防御手段往往采用基于规则和基于异常的机制来检测和阻断Web攻击,这种防御方式存在很明显的缺点。如基于规则的防御手段采用特征码的方式匹配已知的攻击,这无法防御新的攻击手段,同时也很容易被高级攻击者绕过;而采用基于异常的机制,往往又严重依赖于异常检测模型的精确程度,模型的假阳性率对于业务系统的用户体验影响很大。

传统Web安全防护技术的“力不从心”,其实可以从主动防御的思路中总结出原因。传统的Web安全防护过程中,被防御实体一直站在原地处于“被动挨打”的境地,防御者只能通过不断加入一层层的“屏障”阻挡攻击者进攻的步伐。而在主动防御的思路中,防御者主动出击,诱导攻击者、延缓攻击进程甚至是反制攻击者。蜜罐技术就是这样一种主动防御技术。在蜜罐技术未应用之前,不管加入多少传统防护手段,攻击者的认知都是很清晰的,那就是绕过、破坏这些防护手段,然后攻陷目标;在加入了蜜罐技术之后,攻击者的认知被扰乱,因为攻击的目标是否是真正的业务系统这件事变得不那么确定,很可能在历经千辛万苦攻陷系统之后发现是个假目标。蜜罐技术的加入可以有效改善传统Web安全防护技术中防御被动的状况,显著提升Web服务整体安全防护能力。

2 蜜罐技术概述

蜜罐技术是一种主动防御技术,通过部署没有真实业务数据的系统来诱骗攻击者实施攻击,记录其攻击行为从而学习攻击者的攻击目的和攻击手段,以此不断提升真实业务系统的安全防护能力[1,2]。

蜜罐技术发展至今经历了蜜罐、蜜网和蜜场等阶段。单就蜜罐技术而言,研究内容从如何提升蜜罐的自适应性到如何提升蜜罐的动态性等[2],这些研究的目的都是为了提升蜜罐整体的诱骗能力。

蜜罐技术按照其交互程度可以分为低交互蜜罐、高交互蜜罐和纯蜜罐[3],其中,纯蜜罐和真实业务系统功能上一致,但是会在其外部加入监测记录功能。按照其作用点不同,又可以粗略分为应用层蜜罐、网络蜜罐、主机蜜罐、设备蜜罐等。本文所介绍的应用于Web安全防护中的蜜罐技术属于应用层蜜罐的范畴,下面将对此详细展开介绍。

3 Web安全防护中的蜜罐技术

在Web安全攻防对抗中,攻击模式一般分为2种:非定向Web攻击和定向Web攻击。非定向Web攻击的目的往往是利用漏洞获取资源,攻击者通过威胁情报或者漏洞挖掘等方式掌握了较新的漏洞利用方式,基于此编写漏洞批量利用脚本,自动化、无差别地对互联网上的Web应用进行漏洞探测与利用,以此获取更多的“肉鸡”资源用于跳板机、挖矿以及组建僵尸网络等目的。由于这种攻击方式不是针对特定的个体或者组织,所以称之为非定向Web攻击。与之相对应,攻击者具有很明确的目的性,针对特定个体或者组织发起的攻击就称为定向Web攻击。定向Web攻击和非定向Web攻击在实施过程中最大的区别就是攻击者亲自参与的程度不同,在定向Web攻击中,攻击者往往会更多地亲自参与、多次尝试,所以定向Web攻击的攻击手法也往往更加高级。

应用于Web安全防护中的蜜罐技术,为应对这两种不同的Web攻击模式,也呈现出不同的形式,下面将从部署模式、技术特点和应用效能3个方面介绍在这两种Web攻击模式下蜜罐技术的异同。

3.1 针对非定向Web攻击的蜜罐技术

在非定向Web攻击中,攻击来源往往是自动化攻击脚本。这些攻击脚本没有明确的目标对象,批量的扫描、验证着互联网上的Web应用。这种攻击模式呈现出非定向、低交互的特征,所以应对这种攻击模式的蜜罐技术在部署后往往与真实业务系统处于一个平行的位置,并且直接暴露于互联网,如图1所示。因为这样部署使得蜜罐具有和普通业务系统同等的地位,自然也就会成为非定向Web攻击的目标。而蜜罐表现出的特点往往是低交互且动态性比较强,低交互是因为这些自动化脚本本身的交互性也不会很高,低交互足以应对;动态性是为了能应对多种不同的自动化攻击。在这样的应用场景下,蜜罐具备Web攻击预警、Payload捕获等效能。

web应用安全防护与部署方案(面向Web安全防护的蜜罐技术研究)(1)

3.2 针对定向Web攻击的蜜罐技术

在定向Web攻击中,攻击多由攻击者亲身参与。这种攻击有明确的目标对象,比如官网首页或者某个子部门的二级域名网站。这种攻击模式往往呈现的是定向、高交互的特征,所以应对这种攻击模式的蜜罐技术在空间部署后会像图2所示,其诱导装置检测攻击并将攻击诱导至一个与真实业务系统高度仿真的蜜罐,诱导装置和蜜罐共同保护着真实业务系统。这种应用场景下的蜜罐具有高交互、高隐蔽性的特点,高交互是为了能够和攻击者进行更多的交互行为,一方面可以捕获更多攻击数据,另一方面也是为了提高自身的隐蔽性。隐蔽性除了高交互特征提供之外,也包含了监测机制的隐蔽性,以保证攻击者无法察觉。在此场景下,蜜罐技术除了具备Web攻击预警、Payload捕获效能之外,还能延缓攻击进程,给予安全防护人员更多的应急响应时间。

web应用安全防护与部署方案(面向Web安全防护的蜜罐技术研究)(2)

介绍完两种攻击模式下的Web蜜罐技术,接下来将主要就单蜜罐技术进行讨论,提出面向Web安全防护的蜜罐技术分层模型。

4 面向Web安全防护的蜜罐技术分层模型

在Web应用开发领域有一种著名的架构模式叫做MVC,它将Web应用系统分为模型层(Model)、控制器层(Controller)和视图层(View)。在分析研究当前主流的Web蜜罐后发现,应用于Web安全领域的蜜罐技术也可按照这三层为界限进行划分。蜜罐技术本质是诱骗和监测,根据诱骗和监测发生在MVC的不同阶段,可将Web安全防护中的蜜罐技术分为视图层蜜罐技术、控制层蜜罐技术和数据层蜜罐技术,其模型示意图如图3。

web应用安全防护与部署方案(面向Web安全防护的蜜罐技术研究)(3)

接下来将从这三层逐一展开,说明每一层蜜罐技术的表现形式和特点,并介绍相应的主流Web蜜罐技术。

4.1 视图层蜜罐技术

视图层蜜罐技术指的是诱骗或监测发生在视图层及以上的技术形态,主要表现为各类具有模拟功能的低交互Web蜜罐、记录HTTP流量类型的纯蜜罐、Web中间件类型蜜罐、反向代理类型蜜罐等。Glastopf[4]是一款优秀的低交互Web蜜罐,它通过各种Web漏洞类型模拟器模拟各类Web漏洞。纯蜜罐通过将真实的业务系统脱敏,在其上层添加记录流量的组件使其成为一个蜜罐系统。2015年,Araujo等人[5]在USENIX上提出的基于LLVM的DataFlowSanitizer实现的是一种基于信息流的Apache Web中间件蜜罐,在检测到攻击时自动将攻击者的网络连接引导至具备监测能力进程上。HFish蜜罐平台[6]是基于Nginx中间件开发的插件,可以实现将任意站点转化为蜜罐。2017年,Izagirre等人[7]提出反向代理等手段在应用层操纵HTTP请求注入诱骗数据以检测攻击和阻断攻击,属于反向代理类蜜罐技术。

这类蜜罐技术的监测层次处于视图层及以上的位置,捕获和记录攻击者对于Web蜜罐的输入数据,相对来说比较简便易行。但由于监测的层面较高,往往捕获到的攻击行为数据所携带的语义信息更低,当数据量较大时可能需要结合其他数据分析方式如数据挖掘等进行辅助分析。这个层面的Web蜜罐技术的监测工作已经做得相对比较完善,未来的研究主要集中在诱骗策略的设计以及对大量语义数据的分析工作上。

4.2 控制器层蜜罐技术

控制器层蜜罐技术的诱骗或监测发生在视图层之下、数据层之上,主要包括各类高交互Web蜜罐、网站影子系统等。比如HIHAT可以将现有的PHP应用转化为一个高交互蜜罐,虽然部分PHP应用没有明显划分MVC3个层级,但转换后的蜜罐监测功能实际上是发生在控制器层,所以可以划分到控制器层的蜜罐技术。2017年,ArkTeam在FreeBuf互联网安全创新大会(FIT2017)上发表的“网络欺骗:防御者的诡计”主题演讲[8]中提到的影子服务,即在真实业务系统旁边安插的高度仿真的蜜罐系统,其本质上也是一个高交互的蜜罐,所以也可将其划分到控制器层蜜罐技术范畴。2020年,Niakanlahiji等人[9]提出一种根据攻击者交互数据推测攻击者水平,从而为攻击者提供定制化的Web蜜罐来最大化地迷惑攻击者的思路,这种交互数据的捕获需要在控制器层面,进而才能获取更多的语义信息输入到推测模型,所以这种也可以归类到控制器层的蜜罐技术。

控制器层蜜罐技术捕获到的攻击行为数据相较于视图层来说语义更加丰富,但相对来说监测也更加困难。HIHAT虽然做到了自动化地将现有应用转化为高交互蜜罐,但是其实现的机制不是很隐蔽,与蜜罐技术本身的诱骗功能存在冲突,在监测隐蔽性上仍有待提升。此外,还可基于高交互特性获取到的高语义数据来进行进一步的分析以提高蜜罐整体的诱骗性。

4.3 数据层蜜罐技术

数据层蜜罐技术偏向于数据层面的诱骗和监测,主要包括数据库蜜罐、数据蜜饵等,目前的研究工作数量相对前两种层面的蜜罐技术较少。NoSQLpot[10]是一个NoSQL蜜罐框架,可以模拟各类NoSQL数据库,记录数据库操作行为,属于数据层蜜罐技术。2013年,Juels等人[11]提出的“honeywords”的诱骗手法,通过给正常的用户设置除了正确密码以外的密码,当攻击者以honeywords登录时就会触发警报,本质上是一种数据库蜜饵。

数据层蜜罐技术倾向于数据流的监测,虽然监测难度相对来说不是很大,但是往往需要与前两种层面的蜜罐技术相结合才能发挥效能。例如,虽然对于涉及秘密数据的攻击行为来说此类蜜罐技术行之有效,但是对于以控制为目的的攻击行为就会显得束手无策。这个层面的蜜罐技术的后续研究可集中于诱骗策略的设计上,如结合控制层蜜罐技术收集到的高语义行为数据,有针对性地生成、布置蜜饵,以提高蜜罐技术整体的诱骗效能。

5 结语

本文针对面向Web安全防护的蜜罐技术进行了研究,从目前传统Web安全防护技术存在的不足出发,以主动防御的视角分析了问题存在的根本原因,逐步引出了2种不同Web攻击模式下的Web蜜罐技术,进而提出Web蜜罐技术分层模型。安全研究工作者可借助此模型认识、分析现有的Web蜜罐技术,发现不足与缺口,进而提出改进方法与新技术。Web服务暴露出的巨大攻击面使其逐渐成为网络攻击的最佳入口点,研究Web蜜罐技术对于在攻击初期发现、捕获、延缓网络攻击,提升系统整体安全防护能力具有深远的意义。面向Web安全防护的蜜罐技术进一步的研究工作将在于提升诱骗的智能性和监测的隐蔽性,逐步提升蜜罐整体的诱捕能力。

(原载于《保密科学技术》2021年2月刊)

,