【技术实现步骤摘要】
基于def
‑
use数据依赖图的IPSec协议状态变化标识方法
[0001]本专利技术涉及网络安全
,尤其涉及一种基于def
‑
use数据依赖图的IPSec协议状态变化标识方法。
技术介绍
[0002]IPSec(Internet Protocol Security,互联网安全协议)是VPN(Virtual Private Network,虚拟专用网)中一种广泛应用的技术,它为 IP 数据报提供了高质量的、可互操作的、基于密码学的安全性,从而实现在Internet非安全信道中的保密通讯。出于不同应用场景的需求,IPSec拥有不同的具体实现,包括StrongSwan、OpenSwan、LibreSwan等开源软件以及Cisco、Juniper等众多厂商的闭源产品,可以运行于主机、服务器、路由器、防火墙网关等多类型设备环境。
[0003]IPSec是一个协议族,由IKE、AH、ESP、IPSec DOI等一系列子协议构成,定义了一套复杂的协议状态转换关系,以实现对IP报文数据完整性检测、加密保护和身份验证等诸多安全特性。如,IKE负责协商加密密钥和验证密钥以保护私有数据;AH协议提供数据完整性验证,但不提供加密服务。这些子协议自身的设计与实现安全是整个IPSec VPN系统安全的基石,因此研究IPSec协议的安全性,挖掘协议可能存在的安全漏洞,具有十分重要的意义。
[0004]当前,模糊测试技术是IPSec协议安全测试分析的主流技术,其面临的一大技术挑战是如何有效 ...
【技术保护点】
【技术特征摘要】
1.基于def
‑
use数据依赖图的IPSec协议状态变化标识方法,其特征在于,包括:步骤1:获取实现IPSec协议的目标二进制程序;步骤2:对所述目标二进制程序进行重写插桩来实现基本块的标识和定位;步骤3:对重写插桩后的目标二进制程序进行扫描以获取所有函数指针间接调用指令,并生成包含所有函数指针间接调用指令所在位置索引的指针函数字典;步骤4:遍历所述目标二进制程序中的所有函数,为每个函数生成对应的def
‑
use数据依赖图;步骤5:遍历所述目标二进制程序中所有结构体变量赋值指令,根据每条赋值指令所在函数的def
‑
use数据依赖图和所述指针函数字典标识出协议状态变化操作所在代码的位置。2.根据权利要求1所述的基于def
‑
use数据依赖图的IPSec协议状态变化标识方法,其特征在于,步骤2具体包括:对所述目标二进制程序进行反汇编并生成中间语言;基于所述中间语言,采用二进制重写工具在目标二进制程序的数据段中插入一个全局共享数组和一个全局整型变量,以及在代码段中的每个基本块起始位置均插入两条特征指令;其中一条特征指令用于为所在基本块生成一个随机数,并采用该随机数作为下标对全局共享数组进行计数操作来基本块的标识,另一条特征指令采用魔数对全局整型变量进行赋值来实现基本块定位。3.根据权利要求2所述的基于def
‑
use数据依赖图的IPSec协议状态变化标识方法,其特征在于,步骤3具体包括:使用反汇编工具对重写插桩后的目标二进制程序进行反汇编得到汇编代码;基于所述汇编代码对代码段进行全空间扫描,正向搜索具有预设特征的指令语句作为函数指针间接调用指令;其中,具有预设特征的指令语句为“call[base+func_offset]”类型,base表示结构体变量地址,func_offset表示函数指针偏移量;对于每条函数指针间接调用指令,从其所在位置开始,反向搜索并提取该函数指针间接调用指令所在基本块对应的随机数,将该随机数和该函数指针间接调用指令所在位置组成二元组信息,将该二元组信息存入以函数指针偏移量func_offset为key值的指针函数字典。4.根据权利要求1所述的基于def
‑
use数据依赖图的IPSec协议状态变化标识方法,其特征在于,步骤4中,通过IDAPython使用miasm插件遍历所述目标二进制程序中的所有函数,生成以函数为单位的def
‑
use数据依赖图。5.根据权利要求3所述的基于def
‑
use数据依赖图的IPSec协...
【专利技术属性】
技术研发人员:董卫宇,雷久刚,王瑞敏,林键,唐永鹤,刘春玲,娄睿,王奕森,王焕伟,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。