针对TCP/IP分层网络模型的交互式安全性分析方法及系统

文档序号:32952866发布日期:2023-01-14 14:31阅读:100来源:国知局
针对TCP/IP分层网络模型的交互式安全性分析方法及系统
针对tcp/ip分层网络模型的交互式安全性分析方法及系统
技术领域
1.本发明涉及计算机网络安全技术领域,尤其涉及针对tcp/ip分层网络模型的交互式安全性分析方法及系统。


背景技术:

2.网络协议是整个网络空间正常有序运行的基础,定义了网络设备间如何交换信息,保证了网络消息在设备间的顺利生成、传递和接收理解。为了简化开发和维护的复杂度,同时保证协议功能相对独立,网络协议栈通常都是基于层次结构来设计的,如osi七层模型和tcp/ip四层模型。协议栈中的每一层协议都完成特定的功能,如链路层的帧中继,ip 层的分组路由,传输层的流控制和可靠传输等。得益于层次式的架构和相对独立的设计,协议栈中的各层协议自提出至今,都已经得到了长足的发展和进步。相应地,协议安全性也明显提高,可以有效应对和缓解各种各样的攻击威胁。
3.然而,协议栈在数据发送和接收过程中,栈中的各层协议需要跨层交互和相互协同。即协议栈中的每一层协议,除过完成自己特定的功能外,更重要的是跨层调用邻接层的接口函数,将数据再次提交给邻接层进行下一步的处理。通过这种层间交互的方式,最终顺利完成数据的生成、传递和接收存储。例如,http 消息的发送,需要依次调用 dns 协议、tcp 协议、ip 协议、arp 协议、甚至 icmp 协议等对消息进行处理封装。
4.就安全性而言,即使协议栈中每一层的协议已经足够鲁棒,但将这些协议组合在一起,通过函数调用的方式进行跨层交互,可能会出现一些安全问题或异常。尤其是某一层的特定功能(甚至安全属性),可能会被其它层的正常执行过程所破坏,进而引入严重的安全问题。目前针对网络协议跨层交互过程中产生的安全问题,缺乏针对性的解决方案。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本发明的目的在于提出一种针对tcp/ip分层网络模型的交互式安全性分析方法,率先提出了tcp/ip协议栈模型中存在的5种典型跨层交互式安全问题,并提出了形式化的方法对这5种安全问题进行归纳概括,抽象出各类安全问题的共性范式,采用自动化的分析方法检测协议栈中存在的跨层交互式安全漏洞,提高协议栈的安全性和鲁棒性。
7.本发明另一方面提出了一种针对tcp/ip分层网络模型的交互式安全性分析系统。
8.为达上述目的,本发明一方面提出了一种针对tcp/ip分层网络模型的交互式安全性分析方法,包括:获取分层网络模型中的跨层交互漏洞集合,并将目标协议栈源代码转换成中间语言;对转换后的中间语言进行扫描以划分不同层次的网络协议栈,并对所述网络协议栈中交互的变量进行标记得到源关键变量;基于源关键变量间的关系进行标记得到传播变量,并根据传播变量的标记顺序得
到传播路径;基于所述传播路径和所述跨层交互漏洞集合进行漏洞检测得到漏洞检测结果。
9.根据本发明实施例的针对tcp/ip分层网络模型的交互式安全性分析方法还可以具有以下附加技术特征:进一步地,在本发明的一个实施例中,所述并对所述网络协议栈中交互的变量进行标记得到源关键变量,包括:将所述网络协议栈中网络交互时引入漏洞数据的变量标记为源关键变量,并保存在全局变量数组中。
10.进一步地,在本发明的一个实施例中,所述基于源关键变量间的关系进行标记得到传播变量,并根据传播变量的标记顺序得到传播路径,包括:基于污点分析方法构建的控制和数据流图确定源关键变量间的关系,根据所述源关键变量间的关系进行变量标记得到传播变量;其中,所述关系包括赋值关系或信息传递关系;根据传播变量的标记顺序对标记的传播变量进行排序,根据排序结果得到传播变量的传播路径。
11.进一步地,在本发明的一个实施例中,所述基于传播路径和所述跨层交互漏洞集合进行漏洞检测得到漏洞检测结果,包括:根据所述跨层交互漏洞集合中的多种类型的跨层交互式漏洞范式,构建漏洞范式规则;根据所述传播路径和所述漏洞范式规则进行匹配,根据匹配的结果得到漏洞检测结果;其中,所述漏洞检测结果,包括跨层交互漏洞的传播路径。
12.进一步地,在本发明的一个实施例中,所述将目标协议栈源代码转换成中间语言,包括:利用llvm编译器将目标协议栈源代码编译成llvm中间语言ir。
13.为达到上述目的,本发明另一方面提出了一种针对tcp/ip分层网络模型的交互式安全性分析系统,包括:源码转换模块,用于获取分层网络模型中的跨层交互漏洞集合,并将目标协议栈源代码转换成中间语言;安全分析模块,用于对转换后的中间语言进行扫描以划分不同层次的网络协议栈,并对所述网络协议栈中交互的变量进行标记得到源关键变量;以及,基于源关键变量间的关系进行标记得到传播变量,并根据传播变量的标记顺序得到传播路径;漏洞输出模块,用于基于所述传播路径和所述跨层交互漏洞集合进行漏洞检测得到漏洞检测结果。
14.本发明实施例的针对tcp/ip分层网络模型的交互式安全性分析方法及系统,能够对本发明提出的多种跨层交互式安全漏洞进行自动化的检测和识别,发现目标协议栈中的隐蔽高危漏洞,提高协议栈安全漏洞的分析效率和协议栈的鲁棒性。
15.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
16.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的针对tcp/ip分层网络模型的交互式安全性分析方法的流程图;
a.write
2 = f2(a.read ) ,即层a能够正常读取层b所写内容,同时层a某个写操作write1紧密依赖于从层b读取到的内容。但是,在进行其它不同的写操作write2时,该操作也依赖了从层b所读取到的内容,将可能导致层b所写的内容语义过载,导致内核发生误操作漏洞。
27.具体地,将目标协议栈源码转成中间语言表示ir。
28.可选地,本实施例采用llvm编译器将目标协议栈源代码编译成llvm中间表示(ir),它是用来在编译器中表示代码的形式。采用中间语言进行程序分析的优势主要为:中间语言中指令语义简单,每条指令只完成一个功能,对每条指令更容易解释执行,保证了分析准确性。由于中间语言具备语义精确的特性,基于中间语言进行分析能提高程序分析的精确率。
29.s2,对转换后的中间语言进行扫描以划分不同层次的网络协议栈,并对网络协议栈中交互的变量进行标记得到源关键变量。
30.具体地,扫描中间语言,对网络协议栈划分不同层次,界定不同层的协议实现。
31.可选地,本实施例主要关注于tcp/ip 协议栈中基础层次的网络交互,即主要发生在链路层(如 wi-fi)、ip 层、icmp 层和 tcp 层的协议之间的交互。
32.进一步地,标记源关键变量:即可能会在不同层间或不同协议进行交互的变量,保存在全局变量数组中。源关键变量代表该处可能直接引入漏洞的数据。
33.s3,基于源关键变量间的关系进行标记得到传播变量,并根据传播变量的标记顺序得到传播路径。
34.可选地,本实施例可以利用指针分析和污点分析等技术,构建程序的过程间控制流图和数据流图,据此识别可从源关键变量传播到的本层和其他层间协议的传播变量。
35.具体地,本实施例将与源关键变量间有直接赋值关系或者信息传递关系的变量标记为可传播变量。例如,变量1=变量2为直接赋值关系,变量1=(变量2=1 为正数或变量2=-1为负数)为信息传递关系。
36.进一步地,标记变量传播路径:由从源关键变量到传播变量的传播链上所有被标记的传播变量依序构成传播路径。
37.s4,基于传播路径和跨层交互漏洞集合进行漏洞检测得到漏洞检测结果。
38.具体地,根据跨层交互漏洞集合中的多种类型的跨层交互式漏洞范式,构建漏洞范式规则;根据传播路径和漏洞范式规则进行匹配,根据匹配的结果得到漏洞检测结果;其中,漏洞检测结果,包括跨层交互漏洞的传播路径。
39.可选地,在得到传播变量和传播路径后,根据步骤s1揭示出地5种类型的跨层交互式漏洞范式,构建漏洞匹配规则,并在传播路径上对漏洞范式规则进行匹配,如果满足某一规则范式,则认为可能存在漏洞,并将其记录保存,以输出跨层交互漏洞传播路径,从而报告漏洞。
40.根据本发明实施例的针对tcp/ip分层网络模型的交互式安全性分析方法,有利于网络协议跨层交互式漏洞的自动化挖掘与验证,能够对本发明提出的多种跨层交互式安全漏洞进行自动化的检测和识别,发现目标协议栈中的隐蔽高危漏洞,提高协议栈安全漏洞的分析效率和协议栈的鲁棒性。
41.为了实现上述实施例,如图3所示,本实施例中还提供了针对tcp/ip分层网络模型的交互式安全性分析系统,该系统包括:源码转换模块100、安全分析模块200和漏洞输出模
块300。
42.源码转换模块100,用于获取分层网络模型中的跨层交互漏洞集合,并将目标协议栈源代码转换成中间语言;安全分析模块200,用于对转换后的中间语言进行扫描以划分不同层次的网络协议栈,并对网络协议栈中交互的变量进行标记得到源关键变量;以及,基于源关键变量间的关系进行标记得到传播变量,并根据传播变量的标记顺序得到传播路径;漏洞输出模块300,用于基于传播路径和跨层交互漏洞集合进行漏洞检测得到漏洞检测结果。
43.进一步地,上述安全分析模块200,还用于:将网络协议栈中网络交互时引入漏洞数据的变量标记为源关键变量,并保存在全局变量数组中。
44.进一步地,上述安全分析模块200,还用于:基于污点分析方法构建的控制和数据流图确定源关键变量间的关系,根据源关键变量间的关系进行变量标记得到传播变量;其中,关系包括赋值关系或信息传递关系;根据传播变量的标记顺序对标记的传播变量进行排序,根据排序结果得到传播变量的传播路径。
45.进一步地,上述漏洞输出模块300,还用于:根据跨层交互漏洞集合中的多种类型的跨层交互式漏洞范式,构建漏洞范式规则;根据传播路径和漏洞范式规则进行匹配,根据匹配的结果得到漏洞检测结果;其中,漏洞检测结果,包括跨层交互漏洞的传播路径。
46.进一步地,上述源码转换模块100,还用于:利用llvm编译器将目标协议栈源代码编译成llvm中间语言ir。
47.根据本发明实施例的针对tcp/ip分层网络模型的交互式安全性分析系统,有利于网络协议跨层交互式漏洞的自动化挖掘与验证,能够对本发明提出的多种跨层交互式安全漏洞进行自动化的检测和识别,发现目标协议栈中的隐蔽高危漏洞,提高协议栈安全漏洞的分析效率和协议栈的鲁棒性。
48.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
49.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
50.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1