DOM型跨站脚本网络攻击防御有效路径模拟

2021-11-17 08:36夏文英翟伟芳卞雪梅
计算机仿真 2021年5期
关键词:服务端会话脚本

夏文英,翟伟芳,卞雪梅

(1. 河北科技学院,河北 保定 071000;2. 保定理工学院,河北 保定 071000;3. 河北大学,河北 保定 071000)

1 引言

跨站脚本攻击会出现在目标网站的浏览界面上,在用户浏览器浏览文档时,会依靠脚本指令对用户浏览器进行控制,以此达到攻击某一程序的目的。通常来说,依靠跨站脚本的攻击手段与模式具有多种形式,跨站脚本攻击共存在三种较为典型的攻击种类即:反射型跨站脚本攻击、DOM型跨站脚本攻击以及储存型跨站脚本攻击。

反射型跨站脚本攻击的输入点大多会出现在网页的URL里,主要的攻击模式就是依靠修改URL地址参数,将攻击脚本输送到服务端内进行攻击。由于服务端没有对跨站脚本攻击进行比较完整的过滤,就会直接传回客户端内,在浏览器对浏览的会话或档案内容作出响应之后,就会激活这段跨站脚本攻击数据,同时使其在浏览器内运行。反射型跨站脚本攻击具有攻击及时与操作方便等特性,因此大多数跨站脚本的攻击案例,都是反射型跨站脚本攻击。

储存型跨站脚本攻击与反射型跨站脚本攻击的攻击模式,存在较为显著的差异,即攻击者会精心构建跨站脚本,随后直接储存在服务端内,攻击者想要再次申请该页面时,就不需要再上传跨站脚本。反射型跨站脚本攻击的输入点大多会在URL中,而储存型跨站脚本攻击的输入点会出现在所有可能产生交互性行为的软件内,比如网站的个人信息、留言板或评论区内。跨站脚本攻击被上传到服务端,在其他用户或管理人员在浏览信息的同时,浏览器会从服务端中直接读取跨站脚本,并在通信软件中运行。

而DOM型跨站脚本攻击与上述两种脚本攻击不同,DOM型跨站脚本即从JavaScript内传输数据至HTML页面中。所以DOM型跨站脚本攻击可能是反射型脚本攻击,也可能是储存型脚本攻击,这就导致对DOM型跨站脚本攻击的防御困难最大。

针对上述问题,本文提出一种DOM型跨站脚本网络攻击防御有效路径模拟,通过可信度算法对DOM跨站脚本攻击进行计算,得到即时攻击特性与数量,随后根据结果构建针对该类攻击的防御有效路径模拟平台,依靠平台对多种不同的防御方法进行模拟,最终得到能够有效防御该类攻击的防御方法。

2 DOM跨站脚本可信度调度

DOM型跨站脚本攻击与反射型、储存型脚本攻击不同,DOM跨站脚本攻击的输入点[1],其取决于输出的位置,其输出点大多在DOM中,DOM跨站脚本攻击即从Java Script里输送数据到HTML页面内。因此DOM跨站脚本攻击存在两种可能,其有可能是反射型脚本攻击,也有可能是储存型脚本攻击。DOM型跨站脚本攻击在服务端上传代码之后传回页面内,可能还会通过客户端脚本处理之后进行输出,因此只在服务端放置防御算法,不能完整地过滤DOM跨站脚本攻击。

2.1 可信度计算模块构建

模块运行的性能如下所示:

1)计算出DOM跨站脚本攻击时服务器[2]请求速率可信度Cr;

2)运算出服务请求的负载可信度Cw;

3)运算出日志的可信度Cs;

4)向可信度调度模块供给所需的日志可信度Cs。

2.1.1Cr值的计算

在没有攻击的条件下,统计大量正常用户日志或会话向服务器传输服务请求的时间间隔分布[3],以此来确定会话的请求速率可信度Cr。合法用户会话在开始时可能与统计分布存在误差,那么其在开始会话时,有可能被分配成可信度较低的状态,因为分布规律的稳定性,其可信度会慢慢恢复到较高的状态。Cr的运算如下所示:

步骤1:统计当前所有会话所存在的请求总量;

步骤2:把服务请求数量没超过或等于n的会话统一处理成一类,这样就能够获得若干种会话类别;

步骤3:在所有会话类别内,统计出所有传输请求的时间间隔,同时统计所有时间间隔内的请求总量,拟定出其在本类会话内请求总量所占据的百分比p。

在DOM跨站脚本攻击出现的时候,可信度运算模块就会运算出当前会话的重负载比例n,同时从步骤3的分布内搜索出这类会话所占据的百分比p,p代表服务请求的负载可信度Cr。

2.1.2Cw值的计算

步骤1:首先进行请求分类[4],分类的依据即应用层的URL可用信息。把服务请求划分成轻负载请求与重负载请求。

步骤2:统计所有会话内重负载所占据的百分比q;

步骤3:统计出q的分布。拟定重负载百分比生成q的每一个会话在所有会话总量内所占据的百分比拟定成b。

在出现攻击时,可信度计算模块就会运算出当前会话的重负载比例q,同时从步骤3的分布内搜索出这类会话占据的百分比b,σ代表服务请求的负载可信度Cw。

2.1.3Cs值的计算

DOM跨站脚本攻击的目标即耗尽服务器资源[5],使服务器不能向用户供给正常的服务。这种攻击方式即直接通过存在高比例重负载服务请求的会话向服务器发动攻击,这就会加速服务器资源的消耗。有研究表明,在轻负载时用户系统的吞吐量与负载是正比,而在超载时,网络数据的吞吐量[6]会出现快速下滑,这就会导致服务器的服务性能严重下降。因为重负载服务请求对服务器产生的破坏比泛洪攻击所产生的破坏更大,因此分给Cw较大权重,使可信度检测模块在检测时,不会被攻击手段干扰。

Cs=αCr+βCw(0<α<1)

(1)

本文的α取0.8,β取1。α与β能够凭借当时状况拟定,以达到最佳的检测效果。

2.2 可信度调度模块建立

DOM跨站脚本攻击检测,主要依靠可信度调度模块所使用的调度策略对恶意会话访问速率进行监控[7],使恶意用户的会话在进行访问时,能够及时地获取其访问速率,而合法用户的会话速率不会受到干扰。

2.2.1 调度策略

假设遵照优先服务高可信度会话的方式进行,虽然能够检测出攻击者的攻击,但是一些可信度较低的会话也可能会被检测评定成恶意攻击,导致这些正常用户的访问速率被防御手段限制。为了避免这种状况的产生,本文使用了以下方法:拟定最高可信度会话的访问速率拟定成Rh,定义分配给目前会话的访问速率拟定成Rc,最高可信度会话的可信度拟定成Ch,目前会话的可信度拟定成Cc。

(2)

这样既能够确保高可信度会话的访问速率,还能维护可信度较低的合法会话。

2.2.2 调度模块实现

图1 服务器体系架构

基于可信度调度模块对会话速率的检测时动态的,其会每隔一段时间更新会话可信度Cs,然后依靠上述方法对会话的速率进行动态监控。由于DOM跨站脚本攻击的恶意会话[8]负载度与请求速率不符合正常用户的分布规律,故经过一段时间,其不合理性就会格外明显,通过每个不合理性所处的位置,确定DOM跨站脚本攻击的路径与大致过程。

3 基于DOM攻击的防御有效路径模拟平台

基于上文的DOM跨站脚本可信度调度结果,构建防御有效路径模拟平台。本文通过虚拟密网技术,组建DOM型跨站脚本攻击防御有效路径模拟平台,网络安全人员随机挑选攻击对象即可获得相应的有效防御路径模拟结果,在模拟真实环境的情况下,同时明确DOM跨站脚本的防御过程和防御特性,以此掌控最优网络信息安全防御手段[9-11]。

依靠现存的网络安全攻防模拟装置,本文构建的模拟平台架构如图2所示。

图2 模拟平台结构图

通过设计的目标,为了模拟平台能够达到真实的攻击防御环境,又不干扰用户的正常操作,将平台放置在一个较为真实的局域网内。同时除了管理计算机与日志外,剩余的软件装置大多都放置在虚拟机中,安装模拟平台的宿主计算机需要的配置要求较高,CPU需要双核或四核,内存需要达到16G以上,这样能够更为真实地模拟攻防的过程与具体细节。挑选局域网内的一部分计算机,并将其设定为内部服务器[12],通过该服务器对网络角色进行模拟,当然,也能够通过一台计算机,凭借计算来模拟多台服务器,局域网中的剩余计算器作为日常工作的服务器PC,组成业务网络。

在模拟平台的网络里,具有三种网络接口,业务的外部接口拟定成Eth0,模拟平台的内部接口为Eth1,这两种接口的运行模式都为网桥模式,并且其不具有IP地址,数据包在上传的过程中,不会对TTL造成任何影响,同时也不会向外传输自身的Mac地址,所以该网关相较于入侵者来说是不可见的,入侵者不会识别出其攻击的网络是一种模拟平台,远程管理器拟定成Eth2,这个管理器中需要放置IP地址,其也代表一种秘密通道,能够将出入模拟平台的数据包和日志输送到另一个远程管理主机里。

使用POF、Sebek等多种工具融合的方式来捕获攻防数据,对防御方法进行多层次捕获,捕获到的防御数据会被端口输送到不易被破坏的单独安全系统汇总,为进一步分析攻击行为并模拟相应的有效防御手段供给丰富的先验依据。

对捕获的数据分析有利于分析入侵者的攻击模式、特征与意图等。依靠提取、数据预处理以及跟踪等方式,对攻防数据进行实时捕获,得到新攻防特性,有利于对攻击的预测,同时在攻击出现之前上传响应,构建攻击预警与威胁预测机制,并通过服务端、用户端过滤明确相应攻防内联函数,模拟静态及动态防御路径。

4 实验设计与结果分析

本文通过拟定的模拟平台对DOM跨站脚本攻击防御的有效路径进行实验,实验平台的架构如图3所示。

图3 实验平台架构

图左侧部分为DOM跨站脚本攻击所在的主机,攻击者位于多个网段中,能够混合产生tcp、dip与应用层http等多种攻击形式。模拟正常访问的http流量的主要也存在多种网段;图右边部分即网络服务器和路由。图下方主机即被攻击主机,该主机是一台能够进行http服务的主机。

利用本文构建的模拟平台,对一种较为经典的DTM防御模型进行DOM跨站脚本攻击防御模拟,该防御模型的特性即对系统的异常行为存在较高的检测成功率。以下为本文方法模拟出的防御全过程与有效路径。

在DOM跨站脚本攻击的过程中,需要检测一定次数来达到服务器的申请。所以,需要统计服务器内申请次数的统计值,凭借该统计值运算服务器内正常操作的特征值。

本文所提防御模拟只会检测服务器管理员配置的网络地址,假如达到数据包的网络地址在配置的网络中,计算到达上限,就检测所有数据包分类,对数据包依照不同的类别运算其达到的数量,从而计算出异常值。该分类会凭借目的端口与IP得出,对达到服务器的所有数据包评测是否为跨站脚本,对满足条件的数据包再依靠端口分类、IP地址计数,访问该IP地址的申请中跨站脚本数据包的数量占据比重计算公式为

p(x)=N/M

(3)

式中,N表示到目的的包总量,M表示端口的包总量。

随后凭借比例运算时间的操作特征值是

AnomalyScore=lg(1/p(x))

(4)

在该防御模型防御的网络中,在一般状态下,凭借统计,p(x)的平均值大约在0.157,因此信息熵的阈值拟定成0.842。若特征值没有超过这个阈值,就代表该IP地址正在访问申请中,反之,就证明服务器内存在跨站脚本攻击行为。由于系统的实时情况一直在出现更改,所以操作的特征也在动态地变化。

在检测到DOM跨站脚本攻击之后,通过主干网ISP对攻击源跟踪,使用防御模型内的追踪算法能够很快搜索出边界路由器的IP入口,随后凭借三元组格式来对攻击数据包进行防御,继而有效防御DOM跨站脚本攻击。

图3表明,通过本文模拟得出的防御路径能够有效降低拒包率,保证极大多数真实会话得以正常运行,并且防御曲线70秒趋于平稳,实现了DOM跨站脚本攻击防御。

为证明所提方法的应用效果,设计对比实验,以文献[3]提出的基于虚拟机迁移的DoS攻击防御方法、文献[4]提出的基于攻防信号博弈的APT攻击防御方法为实验对照方法,与所提方法进行对比,具体实验结果如图5所示。

图5 不同防御方法的测试结果

分析图4得知,相比其它两种方法,采用本文方法构建防御有效模拟平台,能够对不同的防御方法进行精确的模拟,同时平台还能够模拟出防御方法的特性与薄弱点。

图4 防御模型下拒包率

5 结束语

为提升网络安全性,匹配不同攻击手段对应的防御方法,提出一种DOM型跨站脚本网络攻击防御有效路径模拟平台,通过可信度算法计算脚本攻击,获取其攻击特点,凭借结果构建防御有效模拟平台,完成对防御路径的模拟。由于本文方法只针对DOM型跨站脚本攻击,计算过程较为繁琐耗时长,所以在接下来研究中尝试添加神经网络迭代,降低计算耗时。

猜你喜欢
服务端会话脚本
QQ和微信会话话轮及话轮转换特点浅析
自动推送与网站匹配的脚本
多人联机对战游戏的设计与实现
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
用绘画导入英语教学
举一反三新编
捕风捉影新编
愚公移山
年龄大小的种种说法