[发明专利]基于深度学习的控制流完整性检测方法在审

专利信息
申请号: 202010058919.1 申请日: 2020-01-19
公开(公告)号: CN111274580A 公开(公告)日: 2020-06-12
发明(设计)人: 王湘奇;张吉良 申请(专利权)人: 湖南第一师范学院
主分类号: G06F21/56 分类号: G06F21/56;G06F8/36;G06N3/04;G06N3/08
代理公司: 长沙永星专利商标事务所(普通合伙) 43001 代理人: 周咏;米中业
地址: 410205 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 深度 学习 控制 完整性 检测 方法
【权利要求书】:

1.一种基于深度学习的控制流完整性检测方法,包括如下步骤:

训练阶段:

S1.获取训练程序及其对应的可执行文件;

S2.对步骤S1获取的可执行文件进行反汇编,并以gadget为单位构建粗粒度控制流图;

S3.对步骤S1获取的训练程序,采用英特尔分支追踪监测程序的控制流,从而收集地址信息;

S4.根据步骤S2得到的粗粒度控制流图和步骤S3得到的地址信息,构建程序的细粒度控制流图;

S5.对步骤S4得到的细粒度控制流图进行切分,得到良性gadget链和恶意gadget链,并作为训练数据;

S6.采用步骤S5得到的训练数据对分类器进行训练,从而得到最终的控制流完整性检测分类器;

检测阶段:

S7.对于待检测程序,采用IPT监测程序的控制流,从而收集地址信息;

S8.根据步骤S7得到的地址信息,构建待检测程序的gadget链编码;

S9.采用步骤S6得到的控制流完整性检测分类器,对步骤S8得到的待检测程序的gadget链编码进行分类检测,从而将待检测程序的gadget链编码分类为正常控制流和CRA攻击,完成待检测程序的控制流的完整性检测。

2.根据权利要求1所述的基于深度学习的控制流完整性检测方法,其特征在于步骤S4所述的根据步骤S2得到的粗粒度控制流图和步骤S3得到的地址信息,构建训练程序的细粒度控制流图,具体为采用如下步骤构建细粒度控制流图:

A.静态分析程序的可执行文件,得到程序所有的直接分支信息;

B.采用IPT监测程序的控制流,并在IPT生成的所有IPT包中获取TNT包;

C.根据步骤B得到的TNT包,获取程序所有的直接条件分支信息;

D.生成若干种不同的输入数据并输入到程序中,采用IPT监测程序的控制流,并在IPT生成的所有IPT包中获取TIP包;

E.根据步骤D获取的不同的输入数据情况下程序的TIP包,获取程序所有的间接分支信息;

F.将步骤A获取的直接分支信息、步骤C获取的直接条件分支信息和步骤E获取的间接分支信息与粗粒度控制流图结合,在原有的粗粒度控制流图上添加合法的控制流转移路径,从而得到最终的细粒度控制流图。

3.根据权利要求2所述的基于深度学习的控制流完整性检测方法,其特征在于步骤S5所述的对步骤S4得到的细粒度控制流图进行切分,得到良性gadget链和恶意gadget链,具体为采用如下规则进行切分:

对于间接分支的控制流转移,以一条边为单位对细粒度控制流图进行拆分,从而得到第一良性Gadget链;

对于直接分支的控制流转移,以N条边为单位对细粒度控制流图进行拆分,从而得到第二良性Gadget链;第一良性Gadget链和第二良性Gadget链一同构成良性Gadget链;

任意连接细粒度控制流图中的M个节点构成Gadget链,且保证所得到的Gadget链不在良性Gadget链中,从而将构成的上述所有Gadget链构成恶意Gadget链;

所述的N和M均为大于1的正整数。

4.根据权利要求3所述的基于深度学习的控制流完整性检测方法,其特征在于步骤S5所述的训练数据,具体为采用如下步骤处理训练数据:

a.将得到的良性gadget链和恶意gadget链中的每一条指令均表示为十六进制;

b.将步骤a得到的十六进制数据以4位为单位进行拆分,从而得到单个的数值;

c.将步骤b得到的所有数值按照指令的先后顺序排列;

d.采用nop指令,在步骤c的数据末尾,将所有数据补齐到等长,从而将一个Gadget转换为神经网络可识别的数据。

5.根据权利要求1~4之一所述的基于深度学习的控制流完整性检测方法,其特征在于步骤S6所述的分类器,具体为深度神经网络模型。

6.根据权利要求5所述的基于深度学习的控制流完整性检测方法,其特征在于所述的深度神经网络模型,具体为六层深度神经网络模型;所述六层深度神经网络模型包括一个输入层、四个隐藏层和一个输出层;四个隐藏层的节点数分别为1024、512、128和32;对于每一个隐藏层,采用线性修正单元ReLU作为激活函数;设置dropout为50%,从而加快练速度和防止过拟合;通过softmax将结果转化为0到1之间的概率值;在训练深度神经网络模型时,设置模型的学习率为0.01,并采用随机梯度下降法对模型进行优化;对于每一次训练,均采用反向传播算法更新网络每一层的权值,并不断重复优化过程直到误差收敛。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南第一师范学院,未经湖南第一师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010058919.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top