[发明专利]一种可量化差异的异构执行程序集合构成方法及装置有效
申请号: | 202210820600.7 | 申请日: | 2022-07-13 |
公开(公告)号: | CN115309402B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 曾锃;张瑞;缪巍巍;夏元轶;毕思博;余益团;李世豪;滕昌志;张明轩;张震 | 申请(专利权)人: | 国网江苏省电力有限公司信息通信分公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/53 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 母秋松 |
地址: | 210024 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 量化 差异 执行 程序 集合 构成 方法 装置 | ||
1.一种可量化差异的异构执行程序集合构成方法,其特征在于:包括如下步骤:
将同一源代码通过异构的方式编译生成N个异构执行程序,N为大于0的整数,并将N个异构执行程序构建成异构执行程序池;
计算异构执行程序池中原始可执行程序与异构执行程序的差异值;
计算异构执行程序池中两两异构执行程序的差异值;
计算异构执行程序池中原始可执行程序与异构执行程序的损耗值;
根据原始可执行程序与异构执行程序的差异值、两两异构执行程序的差异值和原始可执行程序与异构执行程序的损耗值,求解异构执行程序安全模型的最大值,获得异构执行程序个数m,从异构程序池中选取m个异构执行程序构建异构执行程序集合。
2.根据权利要求1所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:所述将同一源代码通过异构的方式编译生成N个异构执行程序,N为大于0的整数,并将N个异构执行程序构建成异构执行程序池,包括:
步骤101:选取同一源代码中需要异构处理的二进制代码片段,生成虚拟指令片段;
步骤102:随机选择seed,根据seed对虚拟指令片段进行混淆操作,生成混淆后的虚拟指令片段;
步骤103:设置a%中a的数值,a的取值范围为0-100,根据a%计算混淆后的虚拟指令片段中标志位设定为1的混淆后的虚拟指令片段,再根据混淆后的虚拟指令片段的偏移地址量,获得混淆后的虚拟指令片段的执行路径;
步骤104:根据混淆后的虚拟指令片段和执行路径编译生成异构执行程序;
步骤105:重复步骤101-104进行N次操作,生成N个异构执行程序;
步骤106:将N个异构执行程序构建成异构执行程序池。
3.根据权利要求2所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:异构执行程序池中N个异构执行程序根据原始可执行程序与异构执行程序的差异值由大至小进行排序。
4.根据权利要求2所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:对a%进行梯度递增设置。
5.根据权利要求4所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:所述seed选取N个异构执行程序中原始可执行程序与异构执行程序的差异值梯度变化最大的异构执行程序对应的seed。
6.根据权利要求1所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:计算异构执行程序池中原始可执行程序与异构执行程序的差异值的公式如下:
Diff(Ho,Hi)=cov(hso,hsi)ωs+cov(hbo,hbi)·ψb+cov(hco,hci)·ωc+cov(hto,hti)·ωt
其中,cov(hso,hsj)、cov(hbo,hbj)、cov(hco,hcj)、cov(hto,htj)分别代表原始可执行程序与第i个异构执行程序关于程序容量、跳转分支指令数量、复杂度、编译时间的相关性值,ωs,ωb,ωc,ωt为程序容量、跳转分支指令数量、复杂度、编译时间的权重。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网江苏省电力有限公司信息通信分公司,未经国网江苏省电力有限公司信息通信分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210820600.7/1.html,转载请声明来源钻瓜专利网。