[发明专利]融合影响因子的二进制函数相似性检测方法有效
申请号: | 202110607066.7 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113240041B | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 罗森林;邢继媛;潘丽敏;闫晗;吴舟婷 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 融合 影响 因子 二进制 函数 相似性 检测 方法 | ||
1.融合影响因子的二进制函数相似性检测方法,应用于网络安全漏洞检测领域,其特征在于所述方法包括如下步骤:
步骤1,对于两个函数的二进制文件,分别生成两个二进制函数对应的控制流程图(CFG1,CFG2);
步骤2,根据二进制函数中与平台无关的属性,将两个函数的控制流程图中的每个基本块表示成一个特征向量,生成对应的属性控制流程图(ACFG1,ACFG2);
步骤3,将两个函数的属性控制流程图ACFG1,ACFG2输入到两个完全相同的α-structure2vec网络中,转换成其对应的高维向量
步骤4,通过最小化目标函数训练步骤3中α-structure2vec网络中的参数,计算两个高维向量的余弦距离,输出两个二进制函数的相似度;
所述步骤3具体包括:
步骤3.1,迭代更新T次得到ACFG中每个顶点的嵌入向量其中 ;
步骤3.1.1,将ACFG中每个顶点的嵌入向量初始化为0;
步骤3.1.2,根据公式(1)更新顶点的嵌入向量 , 在更新顶点过程中,考虑到后继结点对当前顶点的影响,设置后继结点的集合H(v);由于当前顶点的一阶邻居结点同时可能是N阶邻居结点,故而不同一阶邻居结点对当前顶点的影响不同,设置影响因子α, 在顶点嵌入向量的更新过程中,如果顶点的某个一阶邻居结点同时为二阶邻居结点,三阶邻居结点……Nneighbor阶邻居结点,则该结点对于顶点嵌入向量的更新影响更大, 更新公式如下:
其中,QN(v)为当前顶点的N阶前驱结点的集合,HN(v)为当前顶点的N 阶后继结点的集合,Nneighbor表示当前顶点的Nneighbor阶邻居结点,一般取值为1-10,为非线性变换,如公式(2)所示:
其中,
为了提升非线性变换的性能,将σ(·)定义为n层全连通神经网络,如公式(5),公式(6)所示:
σQ(lq)=P1×ReLU(P2×…ReLU(Pn×lq)) (5)
σH(lh)=P1×ReLU(P2×…ReLU(Pn×lh)) (6)
步骤3.1.3,新一轮更新顶点的嵌入向量在上一轮所有顶点更新结束后再开始,迭代更新T次;
步骤3.2,将矩阵W2与顶点的嵌入向量相乘,将ACFG表示为高维向量
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110607066.7/1.html,转载请声明来源钻瓜专利网。