本发明涉及计算机网络安全,尤其涉及一种基于符号执行的ddos攻击漏洞挖掘方法、系统、设备、介质。
背景技术:
1、随着互联网的发展,网络安全问题变得日益严峻。ddos攻击目前是网络安全中最严重的威胁之一,而且它的威胁水平不断升级,变得更为复杂和难以察觉。目前,主要的ddos攻击检测和防御方法依赖于昂贵的专用硬件设备进行流量清洗。这种方法的设计思路是将攻击目标的所有流量重定向到互联网安全服务提供商的外部流量清洗中心,以进行恶意流量的检测和过滤。
2、虽然经过了从集中式单点检测向分布式检测方案的发展,但这种方法仍存在一些问题,特别是在灵活性方面。一方面,其对攻击的检测依赖大量的过滤策略,配置的规则往往针对已经存在的攻击,对于一些zero-day的潜在攻击仍无法被检测和防御。另一方面,基于中间盒的检测防御系统依赖于硬件设备,不能够适应各种不同的攻击场景和网络配置,这些防御系统的防御效果与硬件性能相关。此外,这些方法还引入了计算存储负担、传输成本、以及针对中间件和云平台的攻击等问题。随着软件定义网络(sdn)技术和网络功能虚拟化(nfv)技术的兴起,基于可编程网络的防御系统的研究也对ddos检测和防御指出了新的发展方向,基于这种新的网络范式和网络设备(如可编程交换机和智能网卡)进行攻击检测和缓解,让防御系统的灵活性、扩展性得到了一定的解决,但实时响应速度、性能开销仍然是需要优化的问题。
3、在近年来的ddos研究中ddos攻击呈现多种变种,并且攻击者仍在继续寻找并利用现有协议漏洞或者挖掘新的漏洞进行攻击,这种现象屡见不鲜。这趋势背后有两个重要原因。首先,新型恶意软件(例如mirai)的出现增加了ddos攻击的威力,导致攻击流量峰值的增加以及攻击类型更加多样和复杂。其次,基于网络协议,特别是tcp协议的ddos攻击及其变种仍然是ddos攻击的热点。基于tcp的ddos攻击主要利用tcp协议的特性来进行攻击,攻击者可以采用不同的策略和技术来实施这些攻击,以变种的方式躲避检测。对现有协议和系统进行攻击模式的挖掘和漏洞查找对于攻击的检测是有必要的。
技术实现思路
1、本发明的目标在于针对现有技术的不足,提供了一种基于符号执行的ddos攻击漏洞挖掘方法、系统、设备、介质。
2、第一方面,本发明实施例提供了一种基于符号执行的ddos攻击漏洞挖掘方法,所述方法包括:
3、攻击者通过伪造合法源ip地址或控制中间受害者主机,向靶机发送良性数据包和基于tcp的ddos攻击数据包,从linux操作系统内核中采集报文运行时tcp协议栈的函数调用链并分析tcp连接状态信息;
4、根据tcp协议栈的函数调用链和tcp连接状态信息,区分良性流量和攻击流量,并将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
5、配置符号化tcp种子数据包;
6、采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
7、根据符号化tcp种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上tcp协议的潜在攻击路径,产生候选攻击数据包序列。
8、第二方面,本发明实施例提供了一种基于符号执行的ddos攻击漏洞挖掘系统,所述系统包括:
9、内核采集模块,攻击者通过伪造合法源ip地址或控制中间受害者主机,向靶机发送良性数据包和基于tcp的ddos攻击数据包,从linux操作系统内核中采集报文运行时tcp协议栈的函数调用链并分析tcp连接状态信息;
10、攻击调用流图生成模块,用于区分良性流量和攻击流量,并根据tcp协议栈的函数调用链和tcp连接状态信息,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
11、符号化tcp种子数据包配置模块,用于配置符号化tcp种子数据包;
12、有向生成树构建模块,用于采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
13、符号执行模块,根据符号化tcp种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上tcp协议的潜在漏洞,产生候选攻击数据包序列。
14、第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于符号执行的ddos攻击漏洞挖掘方法。
15、第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于符号执行的ddos攻击漏洞挖掘方法。
16、与现有技术相比,本发明的有益效果为:
17、本发明提供了一种基于符号执行的ddos攻击漏洞挖掘方法,通过分析良性数据包和不同种类攻击数据包的tcp连接行为,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成可视化的攻击调用流图;基于攻击调用流图确定关键节点;配置符号化tcp种子数据包,通过符号执行探索终端主机的tcp实现,找到可以绕过基于现有规则的ids检查的攻击变种,产生候选攻击数据包序列。本发明用选择性符号执行技术探索tcp状态机,优化种子数据包和符号执行的剪枝策略,提高tcp协议栈代码覆盖率。同时,本发明在挖掘基于tcp的ddos攻击方面具有有效性,揭示了tcp协议中潜在的安全威胁。
1.一种基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,攻击调用流图中的关键节点具体为:
3.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,攻击调用流图还包括:通过每个节点的半径大小反映其属性值的大小,节点的半径越大,重要性越高。
4.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,符号化tcp种子数据包由tcp标头与tcp的有效负载组成;
5.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,根据符号化tcp种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上tcp协议的潜在攻击路径,产生候选攻击数据包序列包括:
6.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,将tcp协议的传输转化过程建模为tcp有限状态机的状态迁移过程包括:
7.根据权利要求1所述的基于符号执行的ddos攻击漏洞挖掘方法,其特征在于,所述方法还包括:
8.一种基于符号执行的ddos攻击漏洞挖掘系统,其特征在于,所述系统包括:
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-7任一项所述的基于符号执行的ddos攻击漏洞挖掘方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的基于符号执行的ddos攻击漏洞挖掘方法。