APP下载

Web服务资源消耗脆弱性检测技术研究

2021-06-04史立敏王晓茜张宏斌刘心宇汪旭童

信息安全研究 2021年6期
关键词:评测脆弱性消耗

史立敏 王晓茜 张宏斌 刘心宇 汪旭童

1(中国科学院信息工程研究所 北京 100093) 2(中国科学院大学网络空间安全学院 北京 100093) 3(中国电子信息产业集团有限公司第六研究所 北京 100083)

当前Web安全形势不容乐观,Web服务站点的安全问题愈发突出,其中分布式拒绝服务攻击(distributed denial of service, DDoS)是攻击者常用的一种攻击手段.攻击者为了躲避检测,并让DDoS 攻击具有更大的破坏力,逐渐将攻击转移到应用层.因此,Web应用层的DDoS攻击已经成为Web服务平台重要安全威胁.应用层DDoS攻击很难像传统DDoS可以用硬件防火墙来过滤攻击,其利用正常的HTTP请求来耗尽Web服务资源来达到攻击目的,这些服务请求无须利用网络协议漏洞,更难以被检测到[1],一般对Web应用层的DDoS都会针对Web服务器资源消耗的脆弱性发起,而不是盲目地发起请求攻击,因此,针对Web服务器资源消耗脆弱性的研究很有必要.

根据腾讯安全的2020年DDoS威胁报告[2]显示:应用层的攻击呈现出大幅度上升趋势,HTTPS的CC攻击最大流量达到260万QPS,HTTP的CC攻击最大流量甚至达到了370万QPS.为减少Web服务资源消耗脆弱性给Web服务站点带来的损失,对于Web应用层的安全研究有了更大的需求.针对上述问题,本文提出了对Web服务资源消耗脆弱性检测技术,旨在Web服务受到攻击前预先分析和了解Web服务的资源消耗脆弱性安全问题,为网站安全性能优化和需要采取的防御手段提供理论和数据支撑.主要的研究工作和贡献如下:

1) 对Web服务资源消耗脆弱性进行了检测分析.基于获取的Web服务资源消耗信息,定向分析获得最优测试集合和测试阈值.基于对当前主流Web服务资源消耗手段进行了整理分类,整理复现了涵盖主流攻击手段的载荷测试方法并形成了测试方案.

2) 设计了一个Web服务资源消耗脆弱性评测框架.对当前Web资源消耗以及Web服务性能指标进行了分类和量化,同时对检测结果进行量化打分,对Web服务资源消耗脆弱性进行综合评测.

3) 系统设计与实现.基于以上检测分析方法和框架设计并完成了原型系统.通过对某网站的实际测评验证了本模型和框架的有效性,能够通过对实际应用的网站进行Web服务资源消耗脆弱性检测和评测,发现其Web服务资源消耗脆弱点.

1 相关工作与背景

1.1 相关工作

在被动防御研究方面,针对Web应用层DDoS攻击的对抗重点研究方向是攻击期间的检测技术.应用层检测研究方法目前研究还不太完善[3].在学术界,赵国锋等人[4]提出了根据每个用户的平均请求次数来检测攻击的方法;张烜[5]提出了根据请求页面的熵值作为检测应用层上DDoS的方法,但是不能很好地检测随机页面攻击;Prasad等人[6]利用一种基于异常的实时防御(ARTP)对Web上的App-DDoS攻击进行快速早期检测;刘泽宇等人[7]提出了一种基于Web行为轨迹的防御方法;谢亚[8]提出了基于模糊综合评判的检测算法;王风宇等人[3]提出通过用户产生的外联行为特点区分突发访问和攻击行为的算法,该算法场景检测难度大.

在Web服务资源消耗脆弱性的主动防御研究方面,目前大多集中在对Web应用的性能测试以及压力测试方面.在学术界方面:文献[9]提出了基于构件交互自动机的方法对构件交互行为进行建模;Andrews等人[10]分析构成Web应用的网页和软件构件之间的8种连接关系,提出了一种有限状态机的Web应用建模和测试用例生成方法;文献[11]提出了一种基于逻辑构件的对Web应用进行划分的方法;文献[12]提出了基于Web的性能测试模型.薛金川[13]研究指出高效压力测试的关键在于测试方案应尽可能接近真实应用负载.

综上所述,对于Web应用层的DDoS被动防御,Web服务方处于比较被动的地位,并且目前的研究比较少.在主动防御方面,学术界研究的测试方法以及工业界采用的压力测试手段主要是测试Web服务处理业务的性能,并没有从抗恶意DDoS的角度去测试,也不会用真实的DDoS手段测试,本文从抗恶意DDoS的角度,对Web服务资源消耗脆弱性检测技术进行研究,常态化检测Web服务器是否存在资源消耗脆弱性,主动去分析检测Web服务被DDoS的风险,弥补了当前研究的不足.

1.2 相关背景

Web应用层DDoS攻击是针对网站页面的攻击,原理是通过代理服务器模拟多个用户访问目标网站的动态页面,消耗目标Web服务站点的资源,造成拒绝服务[14].消耗的资源类型包括带宽资源、I/O资源、数据库资源等.其中带宽资源主要考虑文件下载、多媒体、布局变化、图片、JS/CSS几个方面,I/O资源消耗主要是对磁盘的读写操作,例如对网站不断进行小文件的上传或者下载请求,会造成大量的读写操作.

按照资源消耗类型对Web服务资源消耗攻击手段可以分为7类:Web服务器性能消耗类、资源伪造带宽消耗类、数据库性能消耗类、数学计算性能消耗类、协议栈性能消耗类、基础设施性能消耗类、直接带宽消耗类.

2 Web服务资源消耗脆弱性检测分析

通过对当前Web服务资源消耗脆弱性进行分析,构造了Web服务资源消耗脆弱性检测模型,该模型根据提炼的Web服务资源消耗的指标信息给出了检测方法.

2.1 Web服务资源消耗信息获取

对Web服务资源消耗信息的检测,需要了解Web服务资源消耗类型和资源分配规则以及站点的整体布局.首先通过爬虫获取世界流行网站的网页信息,分析其站点Web服务资源基础和网页资源前端嵌入方式,并针对目标站点的结构进行正则表达式规则的设计.

利用板栗花富含黄酮类化合物的特点,以及黄酮类物质的抗氧化作用,通过提取、分离精制,生产黄酮含量高的制剂,进而与其他食品或助剂配伍,开发板栗花保健食品;利用黄酮、多酚类物质对皮肤的美白等保健功能,可以开发板栗花美白化妆品,如乳液、膏霜、水剂、面膜等;通过板栗花抑菌能力追踪研究,提取或分离出抗抑菌能力强的成分或成分组合,开发板栗花天然抗菌药品,减少人们对抗生素的依赖。

2.2 Web服务资源消耗信息定向分析

2.2.1 最优测试集获取

通过Web服务资源消耗信息的检测获取到Web服务网站的资源消耗数据,对该数据进行处理分析,寻找最优测试集,具体流程如图1所示:

图1 最优测试集获取流程图

1) 采用线性回归和平均值2种方式,分别从最大数据开始加入最优测试集,直到数据小于回归拟合数据,停止加入.2)当数据较少,且该类资源文件较小时,没有测试价值.当数据较少,但该类资源文件较大时,最优测试集合为该数据全集.当数据较多时,最优测试集合数目为总数据集的30%.3)采用以上2种分析方式中最优测试集数目小于总数据集的30%的集合.如果以上2种方式中最优测试集符合则选择数目多的集合.如果以上2种方式中最优测试集都不符合则从最大数据开始加入最优测试集,直到测试集数目达到总数据集的30%时停止加入.

2.2.2 阈值获取

在最优测试集基础上进行阈值测试,如图2所示.最优测试集包含通过网页爬虫获取网站中资源消耗较大的节点.通过判断其资源消耗大小,不断加强请求次数,测试其网页延迟时间、TPS等Web服务性能数据,不断修正判断脆弱性阈值.

图2 阈值测试流程

2.3 Web服务资源消耗脆弱性测试方案

如表1所示,通过当前主流Web服务资源消耗手段整理分类,设计了涵盖主流攻击手段的载荷测试方法的测试方案.根据定向分析数据获得的最优测试集合以及Web服务资源消耗阈值,进行Web服务资源消耗脆弱性测试.

表1 Web服务资源消耗脆弱性测试方案

3 Web服务资源消耗脆弱性评测框架

本节提出了一个Web资源消耗脆弱性评测框架,通过对评测数据指标分类及量化和Web服务资源消耗脆弱性等级划分,对评测结果进行打分统计,最终划分出Web服务资源消耗脆弱性等级.

3.1 前端性能评测指标划分与量化

对于网站设计的评测参考Google的page speed[15]提供的指标及安全状态评测方法[16]、评估指标[17]进行评测.可以将前端性能分为3类,具体项目如表2所示:

表2 Web前端性能评价方法[18]

3.2 Web服务器性能评测指标划分与量化

将Web服务性能评测指标分为3类:Web服务器性能基本指标、数据库服务器性能指标、系统的瓶颈指标、稳定系统的资源状态指标[14],如表3所示:

表3 其他性能指标量化表

续表3

3.3 Web服务资源消耗脆弱性检测结果指标量化

对于每种载荷测试结果进行等级划分,分为A,B,C,D这4个等级,每个等级对应响应分数.具体等级说明及打分如表4所示:

表4 Web服务资源消耗脆弱性检测结果指标量化表

4 实验结果

4.1 Web服务资源脆弱性检测分析实验结果

4.1.1 Web服务资源消耗信息获取实验结果及定向分析

1) 网站资源文件

本文实验以中国科学院信息工程研究所官方网站为例,以下简称IIE网站.

图3 IIE网站引用的图片文件大小

对爬取到IIE网站所有页面引用的图片文件信息数据进行预处理.求取数据中的脆弱性最优测试集:采用线性回归方式,如图3斜直线为数据回归线,从最大数据开始加入最优测试集,直到数据小于回归拟合数据.线性回归最优测试集81个,拟合效果很好.采用平均值方式,如图3水平虚线为数据算数平均值.最优测试集有245个,效果一般.

对爬取到IIE网站所有页面引用的JS,flash等文件数据,采用同样方式处理,获得最优测试集,结果如表5所示:

表5 IIE网站资源文件数据集

爬取到IIE网站所有页面及其引用资源信息,对数据采用同样方式进行预处理,结果如表6所示:

表6 IIE网站每个页面资源数据集

2) 阈值测试

如图4、图5所示,对于页面url,随着用户数量增多,其响应时间控制在700 μs以内的正常响应范围,没有明显变化,但是响应成功率降低,因此对于页面url设置脆弱点阈值优先考虑响应成功率,当响应成功率低于0.7时认为是脆弱的.

如图6、图7所示,对于图片url,随着用户数量增多响应成功率很高,在0.9以上,没有明显变化,但是响应时间在2 000 μs以上,超过正常范围,因此对于图片url设置脆弱点阈值优先考虑响应时间,当响应时间超过3 000 μs,认为是脆弱的.

图4 访问网站url的响应时间

图5 访问网站url的响应成功率

图6 访问网站大图片资源url响应成功率

图7 访问网站大图片资源url响应时间

4.1.2 Web服务资源消耗脆弱性测试结果

针对Web服务器性能消耗类的HTTP慢速攻击载荷以及针对协议栈性能消耗类的WebSocket connection载荷,对站点资源消耗影响最严重的会直接在1 h内使得站点服务资源耗尽,失去服务能力.消耗数据库性能的载荷、消耗数学计算性能的载荷和消耗直接贷款性能的载荷测试对站点影响效果较为显著,相应资源消耗明显,服务造成站点响应延迟,加载缓慢.基础设施性能消耗类载荷测试的利用效果较弱,少量主机不能造成影响.

4.2 Web服务资源脆弱性评测实验结果

4.2.1 Web服务性能评测

以IIE网站为例,根据Google的page speed对其Web服务前端性能进行评测[15].该评测最终评测结果的得分是所有指标评分的加权算数平均值.评测的总分为100分制,分为3个等级,低于50分为差,50~89分为较差,90分以上为优.

对IIE网站的Web服务前端性能进行评测,最终的评测结果为46分,该网站Web服务前端性能差.基础数据测试结果如表7所示,通过的测试(评测结果为优)指标结果如表8所示.

表7 基础数据测试结果

表8 通过测试的指标结果

4.2.2 Web服务资源消耗脆弱性评测

Web服务资源消耗脆弱性测试评测结果如表9所示,评测结果为49分,网站Web服务资源消耗能力较差.

表9 Web服务资源消耗脆弱性结果

5 结 论

针对当前Web服务面临的Web应用层DDoS攻击威胁[19],本文提出了面向Web服务资源消耗脆弱性的检测模型和评测框架,并设计实现了相应的原型系统.能够检测Web服务资源[20]消耗脆弱点,并且评测Web服务资源消耗脆弱程度,为Web服务受到攻击前预先分析和了解Web服务的资源消耗脆弱性安全问题提供理论和数据[21]支撑.通过对某网站的实际测评验证了本模型和框架的有效性,能够通过对实际应用的网站进行Web服务资源消耗脆弱性检测和评测,发现其Web服务资源消耗脆弱点.

猜你喜欢

评测脆弱性消耗
玉钢烧结降低固体燃料消耗实践
工控系统脆弱性分析研究
转炉炼钢降低钢铁料消耗的生产实践
次时代主机微软XSX全方位评测(下)
次时代主机微软XSX全方位评测(上)
降低钢铁料消耗的生产实践
我们消耗很多能源
攻坡新利器,TOKEN VENTOUS评测
基于DWT域的脆弱性音频水印算法研究
煤矿电网脆弱性评估