CN118101242A - 基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质 - Google Patents
基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质 Download PDFInfo
- Publication number
- CN118101242A CN118101242A CN202410073294.4A CN202410073294A CN118101242A CN 118101242 A CN118101242 A CN 118101242A CN 202410073294 A CN202410073294 A CN 202410073294A CN 118101242 A CN118101242 A CN 118101242A
- Authority
- CN
- China
- Prior art keywords
- tcp
- attack
- data packet
- flow graph
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005065 mining Methods 0.000 title claims abstract description 25
- 230000006870 function Effects 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000005242 forging Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 230000005012 migration Effects 0.000 claims 1
- 238000013508 migration Methods 0.000 claims 1
- 230000007123 defense Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质,所述方法包括:向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;并据此将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成攻击调用流图,并确定攻击调用流图中的关键节点;配置符号化TCP种子数据包;基于攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在漏洞,产生候选攻击数据包序列。
Description
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质。
背景技术
随着互联网的发展,网络安全问题变得日益严峻。DDoS攻击目前是网络安全中最严重的威胁之一,而且它的威胁水平不断升级,变得更为复杂和难以察觉。目前,主要的DDoS攻击检测和防御方法依赖于昂贵的专用硬件设备进行流量清洗。这种方法的设计思路是将攻击目标的所有流量重定向到互联网安全服务提供商的外部流量清洗中心,以进行恶意流量的检测和过滤。
虽然经过了从集中式单点检测向分布式检测方案的发展,但这种方法仍存在一些问题,特别是在灵活性方面。一方面,其对攻击的检测依赖大量的过滤策略,配置的规则往往针对已经存在的攻击,对于一些zero-day的潜在攻击仍无法被检测和防御。另一方面,基于中间盒的检测防御系统依赖于硬件设备,不能够适应各种不同的攻击场景和网络配置,这些防御系统的防御效果与硬件性能相关。此外,这些方法还引入了计算存储负担、传输成本、以及针对中间件和云平台的攻击等问题。随着软件定义网络(SDN)技术和网络功能虚拟化(NFV)技术的兴起,基于可编程网络的防御系统的研究也对DDoS检测和防御指出了新的发展方向,基于这种新的网络范式和网络设备(如可编程交换机和智能网卡)进行攻击检测和缓解,让防御系统的灵活性、扩展性得到了一定的解决,但实时响应速度、性能开销仍然是需要优化的问题。
在近年来的DDoS研究中DDoS攻击呈现多种变种,并且攻击者仍在继续寻找并利用现有协议漏洞或者挖掘新的漏洞进行攻击,这种现象屡见不鲜。这趋势背后有两个重要原因。首先,新型恶意软件(例如Mirai)的出现增加了DDoS攻击的威力,导致攻击流量峰值的增加以及攻击类型更加多样和复杂。其次,基于网络协议,特别是TCP协议的DDoS攻击及其变种仍然是DDoS攻击的热点。基于TCP的DDoS攻击主要利用TCP协议的特性来进行攻击,攻击者可以采用不同的策略和技术来实施这些攻击,以变种的方式躲避检测。对现有协议和系统进行攻击模式的挖掘和漏洞查找对于攻击的检测是有必要的。
发明内容
本发明的目标在于针对现有技术的不足,提供了一种基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质。
第一方面,本发明实施例提供了一种基于符号执行的DDoS攻击漏洞挖掘方法,所述方法包括:
攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;
根据TCP协议栈的函数调用链和TCP连接状态信息,区分良性流量和攻击流量,并将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
配置符号化TCP种子数据包;
采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在攻击路径,产生候选攻击数据包序列。
第二方面,本发明实施例提供了一种基于符号执行的DDoS攻击漏洞挖掘系统,所述系统包括:
内核采集模块,攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;
攻击调用流图生成模块,用于区分良性流量和攻击流量,并根据TCP协议栈的函数调用链和TCP连接状态信息,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
符号化TCP种子数据包配置模块,用于配置符号化TCP种子数据包;
有向生成树构建模块,用于采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
符号执行模块,根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在漏洞,产生候选攻击数据包序列。
第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于符号执行的DDoS攻击漏洞挖掘方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于符号执行的DDoS攻击漏洞挖掘方法。
与现有技术相比,本发明的有益效果为:
本发明提供了一种基于符号执行的DDoS攻击漏洞挖掘方法,通过分析良性数据包和不同种类攻击数据包的TCP连接行为,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成可视化的攻击调用流图;基于攻击调用流图确定关键节点;配置符号化TCP种子数据包,通过符号执行探索终端主机的TCP实现,找到可以绕过基于现有规则的IDS检查的攻击变种,产生候选攻击数据包序列。本发明用选择性符号执行技术探索TCP状态机,优化种子数据包和符号执行的剪枝策略,提高TCP协议栈代码覆盖率。同时,本发明在挖掘基于TCP的DDoS攻击方面具有有效性,揭示了TCP协议中潜在的安全威胁。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于符号执行的DDoS攻击漏洞挖掘方法的流程图;
图2是本发明实施例提供的基于符号执行的DDoS攻击漏洞挖掘方法的架构图;
图3是本发明实施例提供的符号化TCP种子数据包的示意图;
图4是本发明实施例提供的根据已有攻击特征生成的新威胁的测试图;
图5是本发明实施例提供的在IDS检测防御下良性流量、已知攻击流量和新的未知攻击流量的传输速率曲线图;
图6是本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
如图1和图2所示,本发明实施例提供了一种基于符号执行的DDoS攻击漏洞挖掘方法,所述方法具体包括以下步骤:
步骤S1,攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息。
需要说明的是,通过与良性流量的对比实验,确保服务端遭受攻击后的异常是由于使用TCP协议而引起的资源耗尽攻击,而不是大流量压倒的带宽攻击,因为在同等流量下,良性报文不会造成服务端系统的崩溃。
步骤S2,根据TCP协议栈的函数调用链和TCP连接状态信息,区分良性流量和攻击流量,并将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,对不同攻击发生时不同TCP状态下的所有攻击路径、关键节点进行标识,生成攻击调用流图,并确定攻击调用流图中的关键节点。
进一步地,所述攻击调用流图是有向加权图。
其中,确定攻击调用流图中的关键节点包括:
所述攻击调用流图是一个有向加权图,记为G=(V,E);节点集合V中每个节点代表TCP协议栈的一个函数,函数之间的调用关系通过有向边E来表示。所述恶意节点表示在攻击过程中涉及到的函数节点,这些节点通常是攻击者在目标系统中滥用的函数,用于发起攻击或绕过安全机制,恶意节点集表示为VM。根据连通性和类别对网络节点进行聚类时某些节点会影响网络的簇结构,在图中找到一个最优节点子集使得删除这些节点后,网络的连通性受到最大程度的影响。并且所述最优节点子集VC中的节点应该具有最大的集合权重总和,即:max∑f(vi),vi∈VC;其中,f(vi)代表节点vi的属性值,最优节点子集VC={v1,v2,…,vi}。所述标志性节点代表使TCP状态机的连接状态发生变化的标志性的节点,表示为VP。所述关键节点VD为上述节点集合VM和VC的交集,以及VP的并集,即VD=VM∩Vc∪VP。
需要说明的是,在本实例中,所生成的攻击调用流图为一可视化的有向图,可以采用不同的颜色区分不同的节点。同时,通过每个节点的半径大小反映其属性值的大小,节点的半径越大表示其越重要。
步骤S3,配置符号化TCP种子数据包,以尽可能全面地探索服务器的TCP状态机。
所述符号化TCP种子数据包由TCP标头与TCP的有效负载组成。
需要说明的是,TCP报文是传输层TCP协议传输的数据单元,一个TCP首部至少有20个字节的固定数据,用来存放报文传输过程所需的信息。这20字节的TCP报文头不包含选项和数据。符号化TCP报文允许分析工具使用符号变量来代替具体的数据值,这有助于模拟不同的TCP报文传输路径,发现可能的漏洞或问题。在符号化TCP报文时,需要定义符号变量来表示TCP首部的字段和相关约束。
如图3所示,其中,TCP标头的大小为20字节,包括序列号、确认号、数据偏移、标志位、窗口大小、紧急指针字段和TCP选项。这些字段的变化涉及TCP连接状态和行为的改变。
TCP的有效负载的大小为0~40字节。
步骤S4,采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点。
步骤S5,根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在攻击路径,产生候选攻击数据包序列。
具体地,在步骤S5中,使用选择性符号执行来测试Linux内核中的TCP协议栈实现,并在具体执行模式和符号执行模式之间进行切换。具体包括以下子步骤:
步骤S501,将TCP协议的传输转化过程建模为TCP有限状态机的状态迁移过程。
进一步地,所述步骤S501包括:
TCP连接建立时,服务器为LISTEN状态;
客户端向服务端发送SYN报文段请求建立连接,服务端收到SYN报文段后向客户端发送ACK报文段和SYN报文段,此时服务端的状态为SYN-RCVD;
客户端收到ACK报文段和SYN报文段后向服务端发送ACK报文段,服务端收到ACK报文段后状态变为ESTABLISHED;
定义TCP状态集合、状态转移函数、对TCP连接状态进行描述的输出函数。
步骤S502,使用处于LISTEN状态的TCP套接字启动正在运行的Linux内核,向Linux内核提供若干个符号化TCP种子数据包,以全面探索服务器的TCP状态机;
步骤S503,首先选定与初始的符号化TCP种子数据包相对应的路径进行执行,当前的路径执行完成后,再选择另一条路径,以此遍历有向生成树中的每一路径;
其中,当符号执行时,遇到Linux内核的tcp_v4_rcv()代码段切换为符号执行模式,对其他代码段仍保持具体执行模式;
当符号执行时,遇到关键节点所在的代码块,根据当前的路径约束生成一测试用例;当符号执行时,遇到`exit`语句,则停止探索当前的路径,选择另一条路径重新探索;
直到完成关键节点的遍历或到达最大执行时间,得到候选攻击数据包序列,并记录路径探索过程中的路径选择和符号约束。
步骤S6,对候选攻击数据包序列进行验证。
具体地,所述步骤S6包括:
使用Z3求解器对候选攻击数据包序列中的测试用例进行求解,产生TCP报文头字段的具体值,并进行报文的字段填充和校验,生成完整的传输层数据包;
验证候选攻击数据包序列的测试用例数量、CPU利用率、首次响应时间、攻击成功率和连接排队率,以及是否能逃避基于现有规则的入侵检测系统的检查。
本实例中,在受害者主机上搭建Snort,在真实环境中模拟新攻击,对生成的攻击变种进行验证。实验证明,系统生成的所有变种攻击都对服务器端造成了压力。图4展示了TCP Connect Flood、TCP SYN Flood、TCP ACK Flood、TCP RST Flood、ACK-PSH Flood和SYN-RST-ACK Flood这六种典型的DDoS变种攻击的场景。测试用例数量示例图是符号执行引擎在探索不同类别攻击报文时的表现,后续的图可以看到这些测试用例的攻击成功率都相似,这种一致性突显了符号执行引擎的稳健性,不受具体攻击类型的影响。针对CPU资源的利用,不同类型的攻击有所差别。例如,TCP Connect Flood攻击、SYN-RST-ACK Flood攻击,以及ACK-PSH Flood攻击,由于其计算需求和连接请求的增多,往往会导致CPU利用率的显著上升。然而,TCP SYN Flood攻击和TCP RST Flood攻击虽然可能产生大量的连接请求,但其攻击策略相对简单,且不会产生连接行为,从而使得它们对CPU资源的占用较为有限。关于首次响应时间,由于TCP RST Flood攻击简洁的连接重置策略,系统能够快速地检测并应对这种非法的连接请求,从而迅速采取防御措施。同样地,TCP ACK Flood攻击也得到了相对较快的响应。与此形成对比的是,ACK-PSH Flood攻击由于携带的复杂标志和选项,往往需要更多的处理时间,从而导致了较长的首次响应时间。当攻击涉及更多的变量和数据时,系统必须投入更多的时间进行分析和处理,以制定适当的响应策略。6类攻击变种中TCP连接的排队率并没有发现明显的差异性,在大多数测试用例中,都出现了连接请求的排队以及由于系统容量不足所导致的处理延迟。这种现象意味着在实际网络环境中,这些攻击都造成了服务的中断或性能的下降。
图5展示了实网环境中IDS检测和过滤的测试。图5中的(A)为不启动任何IDS检查时,良性流量、已知攻击流量、新型攻击流量的状态。图5中的(B)展示了在启用EmergingThreats规则集之后的流量情况。图5中的(C)给出了使用Snort Community规则集的流量状态。在不启动IDS检查的基线条件下对良性流量进行验证,这部分流量主要来源于启动符号执行的TCP种子数据包。结果显示,当启动规则检查后,这些已知的流量被有效地标记并由防御系统进行过滤。然而,对于符号执行产生的攻击变种形成的攻击流量,尽管Snort成功地检测和阻止了部分攻击,大量的流量依然绕过了Snort的检测,成功地到达了其目标受害者。这些绕过检测的流量对系统资源造成了明显的压力,并引起了TCP连接队列的阻塞。
经过分析发现攻击者能够通过采用多种变种攻击来规避检测,以提高攻击的成功性或减小被检测的风险。这些变种包括通过参数随机化,攻击者可以轻易地修改攻击载荷或请求参数,使其每次都略有不同,从而难以通过静态规则来匹配和检测。此外,混合多种攻击类型或采用恶意协助软件,可能会产生更加难以检测的复杂行为。攻击者还可能利用IP地址欺骗、攻击分段等手段来分散或隐藏其攻击行为,使之不易被单一的检测策略捕获。进一步的分析揭示了这些成功的躲避策略与TCP时间戳选项验证相关。攻击者可能会利用TCP时间戳验证中的缺陷,将攻击流量伪装为良性流量,从而避免被IDS识别。这种伪装手法篡改时间戳或在攻击数据包中插入错误的时间戳,进一步增加了检测的复杂度,降低了检测的准确性。尽管利用TCP时间戳选项进行攻击并不常见,但其效果显著。在TCP通信中,时间戳选项通常用于RTT(往返时延)测量或保护TCP重启。许多IDS和防火墙并未严格校验时间戳的准确性,给攻击者留下了可利用的空间。他们会伪造或操纵这些时间戳信息,使得流量在IDS看来是合法的,或者至少足够模糊,不足以引起警报。对于这种攻击,采纳能进行深度分析的IDS将有助于提高检测的准确性和减少误报。
综上,本发明提供了本发明提供了一种基于符号执行的DDoS攻击漏洞挖掘方法,通过分析良性数据包和不同种类攻击数据包的TCP连接行为,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成可视化的攻击调用流图;基于攻击调用流图确定关键节点;配置符号化TCP种子数据包,通过符号执行探索终端主机的TCP实现,找到可以绕过基于现有规则的IDS检查的攻击变种,产生候选攻击数据包序列。本发明用选择性符号执行技术探索TCP状态机,优化种子数据包和符号执行的剪枝策略,提高TCP协议栈代码覆盖率。同时,本发明在挖掘基于TCP的DDoS攻击方面具有有效性,揭示了TCP协议中潜在的安全威胁。
另一方面,本发明实施例提供了一种基于符号执行的DDoS攻击漏洞挖掘系统,所述系统包括:
内核采集模块,攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;
攻击调用流图生成模块,用于区分良性流量和攻击流量,并根据TCP协议栈的函数调用链和TCP连接状态信息,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
符号化TCP种子数据包配置模块,用于配置符号化TCP种子数据包;
攻击模式识别模块,用于采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在攻击路径,产生候选攻击数据包序列。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于符号执行的DDoS攻击漏洞挖掘方法。如图6所示,为本发明实施例提供的基于符号执行的DDoS攻击漏洞挖掘方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图6所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于符号执行的DDoS攻击漏洞挖掘方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (10)
1.一种基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,所述方法包括:
攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;
根据TCP协议栈的函数调用链和TCP连接状态信息,区分良性流量和攻击流量,并将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成攻击调用流图,并确定攻击调用流图中的关键节点;
配置符号化TCP种子数据包;
采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在漏洞,产生候选攻击数据包序列。
2.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,攻击调用流图中的关键节点具体为:
区分良性流量路径和攻击流量路径,将攻击流量路径上的恶意节点记为VM;
据连通性和类别对网络节点进行聚类,找到影响网络的簇结构的节点集VC,
将TCP状态机的连接状态发生变化的标志性的节点集合记为VP;
获取攻击调用流图中的关键节点VD=VM∩Vc∪VP。
3.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,攻击调用流图还包括:通过每个节点的半径大小反映其属性值的大小,节点的半径越大,重要性越高。
4.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,符号化TCP种子数据包由TCP标头与TCP的有效负载组成;
其中,TCP标头的大小为20字节,包括序列号、确认号、数据偏移、标志位、窗口大小、紧急指针字段和TCP选项;
TCP的有效负载的大小为0~40字节。
5.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在攻击路径,产生候选攻击数据包序列包括:
将Linux内核TCP协议的传输转化过程建模为TCP有限状态机的状态迁移过程;
使用处于LISTEN状态的符号化TCP种子数据包启动Linux内核;
符号执行首先选定与初始的TCP种子数据包相对应的路径进行执行,当前的路径执行完成后,再选择另一条路径,以此遍历有向生成树中的每一路径;
当符号执行时,遇到Linux内核中的tcp_v4_rcv()代码段切换为符号执行模式,对其他代码段仍保持具体执行模式;
当符号执行时,遇到关键节点所在的代码块,根据当前的路径约束生成一条测试用例,即新的攻击数据包;
当符号执行时,遇到`exit`语句,则停止探索当前的路径,选择另一条路径重新探索;
直到完成关键节点的遍历或到达最大执行时间,得到候选攻击数据包序列,并记录路径探索过程中的路径选择和符号约束。
6.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,将TCP协议的传输转化过程建模为TCP有限状态机的状态迁移过程包括:
TCP连接建立时,服务器为LISTEN状态;
客户端向服务端发送SYN报文段请求建立连接,服务端收到SYN报文段后向客户端发送ACK报文段和SYN报文段,此时服务端的状态为SYN-RCVD;
客户端收到ACK报文段和SYN报文段后向服务端发送ACK报文段,服务端收到ACK报文段后状态变为ESTABLISHED;
定义TCP状态集合、状态转移函数、对TCP连接状态进行描述的输出函数。
7.根据权利要求1所述的基于符号执行的DDoS攻击漏洞挖掘方法,其特征在于,所述方法还包括:
对候选攻击数据包序列进行验证;包括:
使用Z3求解器对候选攻击数据包序列中的测试用例进行求解,产生TCP报文头字段的具体值,并进行报文的字段填充和校验,生成完整的传输层数据包;
验证候选攻击数据包序列的测试用例数量、CPU利用率、首次响应时间、攻击成功率和连接排队率,以及是否能逃避基于现有规则的入侵检测系统的检查。
8.一种基于符号执行的DDoS攻击漏洞挖掘系统,其特征在于,所述系统包括:
内核采集模块,攻击者通过伪造合法源IP地址或控制中间受害者主机,向靶机发送良性数据包和基于TCP的DDoS攻击数据包,从Linux操作系统内核中采集报文运行时TCP协议栈的函数调用链并分析TCP连接状态信息;
攻击调用流图生成模块,用于区分良性流量和攻击流量,并根据TCP协议栈的函数调用链和TCP连接状态信息,将函数作为节点,函数间的调用关系作为边,边的权重用于表示在相同流量条件下不同函数之间的依赖程度,生成内核调用流图;
符号化TCP种子数据包配置模块,用于配置符号化TCP种子数据包;
有向生成树构建模块,用于采用深度优先搜索法递归探索攻击调用流图以构建一个有向生成树;其中,有向生成树的节点对应攻击调用流图中的关键节点;
符号执行模块,根据符号化TCP种子数据包在有向生成树中所能达到的路径终止点和状态,探索靶机上TCP协议的潜在攻击路径,产生候选攻击数据包序列。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-7任一项所述的基于符号执行的DDoS攻击漏洞挖掘方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的基于符号执行的DDoS攻击漏洞挖掘方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410073294.4A CN118101242A (zh) | 2024-01-18 | 2024-01-18 | 基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410073294.4A CN118101242A (zh) | 2024-01-18 | 2024-01-18 | 基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118101242A true CN118101242A (zh) | 2024-05-28 |
Family
ID=91160951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410073294.4A Pending CN118101242A (zh) | 2024-01-18 | 2024-01-18 | 基于符号执行的DDoS攻击漏洞挖掘方法、系统、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118101242A (zh) |
-
2024
- 2024-01-18 CN CN202410073294.4A patent/CN118101242A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073411B (zh) | 一种网络安全推演方法、装置、设备及存储介质 | |
RU2680736C1 (ru) | Сервер и способ для определения вредоносных файлов в сетевом трафике | |
JP4490994B2 (ja) | ネットワークセキュリティデバイスにおけるパケット分類 | |
CN105430011B (zh) | 一种检测分布式拒绝服务攻击的方法和装置 | |
Jero et al. | Beads: Automated attack discovery in openflow-based sdn systems | |
JP2019021294A (ja) | DDoS攻撃判定システムおよび方法 | |
Fu et al. | On recognizing virtual honeypots and countermeasures | |
CA2545916A1 (en) | Apparatus method and medium for detecting payload anomaly using n-gram distribution of normal data | |
CN109194684B (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
JP7388613B2 (ja) | パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体 | |
Albanese et al. | Deceiving attackers by creating a virtual attack surface | |
CN110880983A (zh) | 基于场景的渗透测试方法及装置、存储介质、电子装置 | |
CN114826663B (zh) | 蜜罐识别方法、装置、设备及存储介质 | |
Manna et al. | Review of syn-flooding attack detection mechanism | |
CN111865996A (zh) | 数据检测方法、装置和电子设备 | |
CN115208634A (zh) | 一种网络资产的监管引擎 | |
Naik et al. | A computational intelligence enabled honeypot for chasing ghosts in the wires | |
Murphy et al. | An application of deception in cyberspace: Operating system obfuscation1 | |
CN112583845A (zh) | 一种访问检测方法、装置、电子设备和计算机存储介质 | |
JP6592196B2 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
Ivanova et al. | Method of fuzzing testing of firewalls using the gray box method | |
CN110213301B (zh) | 一种转移网络攻击面的方法、服务器和系统 | |
Choi et al. | Implementation and Design of a Zero‐Day Intrusion Detection and Response System for Responding to Network Security Blind Spots | |
Ling et al. | DDoSMiner: An Automated Framework for DDoS Attack Characterization and Vulnerability Mining | |
Hsu et al. | Scalable network-based buffer overflow attack detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |