一种可量化差异的异构执行程序集合构成方法及装置制造方法及图纸

技术编号:35512651 阅读:16 留言:0更新日期:2022-11-09 14:28
本发明专利技术公开了一种可量化差异的异构执行程序集合构成方法及装置,将同一源代码通过异构的方式编译生成N个异构执行程序,N为大于0的整数,并将N个异构执行程序构建成异构执行程序池。根据原始可执行程序与异构执行程序的差异值、两两异构执行程序的差异值和原始可执行程序与异构执行程序的损耗值,求解异构执行程序安全模型的最大值,获得异构执行程序个数m,从异构程序池中选取m个异构执行程序构建异构执行程序集合。本发明专利技术提高了异构执行体的安全接入网关的安全性,对于分析利用拟态防御理论对电力物联网安全接入网关进行内生安全改造的效果具有关键意义。造的效果具有关键意义。造的效果具有关键意义。

【技术实现步骤摘要】
一种可量化差异的异构执行程序集合构成方法及装置


[0001]本专利技术涉及一种可量化差异的异构执行程序集合构成方法及装置,属于网络安全


技术介绍

[0002]随着泛在电力物联网战略推进,以及先进信息通信技术和互联网+在电网中的广泛应用,电力系统逐步打破了以往的封闭性和专有性。电力物联网安全接入网关为信息内外网边界安全防护要求的落实提供了基础支撑,解决了终端接入过程中的设备信任、通道安全和数据保密问题。电力物联网安全接入网关作为核心的边界安全防护措施,其自身的安全防护亦至关重要。目前,电力物联网安全接入网关自身安全防护方面采用了代码安全检测、管理员认证鉴权、数据加密存储校验、网络访问控制、操作系统内核裁剪、安全加固等技术措施。但在当前国家级网络攻防演练等高强度的实战对抗环境下,0DAY漏洞、未知攻击不断带来新的威胁,电力物联网安全接入网关现有安全防护措施显现出了严峻的安全差距。
[0003]为全面提升电力物联网安全接入网关综合防御能力,解决目前电力物联网安全接入网关在未知漏洞防护、未知攻击防御、一体化安全防护方面存在的问题,引入内生安全理念,利用拟态等技术理论对电力物联网安全接入网关进行改造,提升电力网络安全边界的内生安全免疫能力。
[0004]拟态防御是一种试图“改变现行游戏规则”的具有包容性、开放性、主动性的革命性防御技术体系。拟态防御不再追求建立一种无漏洞、无后门、无缺陷、完美无瑕的防御系统来对抗网络空间安全威胁,而是采取多样的、不断变化的评价和部署机制与策略,构建一种动态的、异构的、冗余的、不确定的体系架构,形成“探测难、渗透难、攻击激励难、攻击成果利用难”等困境,打破攻击链赖以形成的网络架构的静态性、确定性和相似性,极大的增加攻击者的攻击成本。期望通过增加系统的动态性减少系统的可探测性,增加系统的随机性降低系统的可渗透性,运用系统的动态异构冗余架构迫使攻击者直面协同化攻击的难题,综合利用系统的动态性、随机性和多样性破坏攻击链的稳定性或有效利用度。在部署、运行网络和系统时,通过降低其确定性、相似性和静态性来显著的提高包括基于未知漏洞和后门在内的攻击难度,以及攻击成果的可利用难度,彻底扭转“易攻难守”的战略格局。
[0005]综合考虑电力物联网安全接入网关的现有技术架构、硬件成本、安全性能等方面,我们采用基于软件虚拟化的方式,实现拟态防御理论中的异构化执行体,确保各执行体对外表征一致,具备与原有网关相同的功能性,同时,利用软件编译技术,使用指令替换、控制流变换都手段,从安全接入网关的源代码基础上生成多个具有差异性的可是执行程序,并以此构建异构执行体。
[0006]拟态防御理论的核心观点之一,是攻击者无法一次利用同一种攻击手段,攻破多个异构执行体中的漏洞。在实际应用中,上述理论成立的前提是多个执行体之间的差异性足够大,能够实现对于执行体中潜在漏洞隐患的差异性表示。然而,实际应用中,由于执行
体中的漏洞隐患是未知的,无法实现对于漏洞隐患存在部分代码的精准差异性编译,因此,通常采用多种编译手段对代码进行大范围的变换。又由于现有指令替换、控制流变换等手段均具有一定的随机性,无法实现对于编译变换后的结果完全可控,当前默认使用的编译变换手段越多,编译后产生的多个可执行程序间的差异性就越大,缺乏对于差异性的定量衡量方法,也致使对于编译后生成的异构执行体的安全性衡量成为难题,无法定量分析采用上述方法后对于接入网关程序安全性的提升。
[0007]基于软件编译生成异构执行程序,现有技术中通过采用不同的软件编译手段即可在生成的异构执行程序间产生差异性。但是,由于软件编译手段存在随机性,编译后的结果不完全可控,缺乏量化分析比较多个执行程序间差异性的方法,所以无法构建出令人满意的异构执行体集合。
[0008]因此,本领域技术人员急需要克服以上现有技术中的不足。

技术实现思路

[0009]目的:为了克服现有技术中存在的不足,本专利技术提供一种可量化差异的异构执行程序集合构成方法及装置,以量化的差异性为依据构建异构执行程序集合,作为拟态架构中的功能执行体。
[0010]技术方案:为解决上述技术问题,本专利技术采用的技术方案为:
[0011]第一方面,一种可量化差异的异构执行程序集合构成方法,包括如下步骤:
[0012]将同一源代码通过异构的方式编译生成N个异构执行程序,N为大于0的整数,并将N个异构执行程序构建成异构执行程序池。
[0013]计算异构执行程序池中原始可执行程序与异构执行程序的差异值。
[0014]计算异构执行程序池中两两异构执行程序的差异值。
[0015]计算异构执行程序池中原始可执行程序与异构执行程序的损耗值。
[0016]根据原始可执行程序与异构执行程序的差异值、两两异构执行程序的差异值和原始可执行程序与异构执行程序的损耗值,求解异构执行程序安全模型的最大值,获得异构执行程序个数m,从异构程序池中选取m个异构执行程序构建异构执行程序集合。
[0017]作为优选方案,所述将同一源代码通过异构的方式编译生成N个异构执行程序,N为大于0的整数,并将N个异构执行程序构建成异构执行程序池,包括:
[0018]步骤101:选取同一源代码中需要异构处理的二进制代码片段,生成虚拟指令片段。
[0019]步骤102:随机选择seed,根据seed对虚拟指令片段进行混淆操作,生成混淆后的虚拟指令片段。
[0020]步骤103:设置a%中a的数值,a的取值范围为0

100,根据a%计算混淆后的虚拟指令片段中标志位设定为1的混淆后的虚拟指令片段,再根据混淆后的虚拟指令片段的偏移地址量,获得混淆后的虚拟指令片段的执行路径。
[0021]步骤104:根据混淆后的虚拟指令片段和执行路径编译生成异构执行程序。
[0022]步骤105:重复步骤101

104进行N次操作,生成N个异构执行程序。
[0023]步骤106:将N个异构执行程序构建成异构执行程序池。
[0024]作为优选方案,异构执行程序池中N个异构执行程序根据原始可执行程序与异构
执行程序的差异值由大至小进行排序。
[0025]作为优选方案,对a%进行梯度递增设置。
[0026]作为优选方案,所述seed选取N个异构执行程序中原始可执行程序与异构执行程序的差异值梯度变化最大的异构执行程序对应的seed。
[0027]作为优选方案,计算异构执行程序池中原始可执行程序与异构执行程序的差异值的公式如下:
[0028]Diff(H
o
,H
i
)=cov(h
so
,h
si
)
·
ω
s
+cov(h
bo
,h
bi
)
·
ω
b
+cov(h
co
,h
ci
)...

【技术保护点】

【技术特征摘要】
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(H
o
,H
i
)=cov(h
so
,h
si

s
+cov(h
bo
,h
bi
)
·
ψ
b
+cov(h
co
,h
ci
)
·
ω
c
+cov(h
to
,h
ti
)
·
ω
t
其中,cov(h
so
,h
sj
)、cov(h
bo
,h
bj
)、cov(h
co
,h
cj
)、cov(h
to
,h
tj
)分别代表原始可执行程序与第i个异构执行程序关于程序容量、跳转分支指令数量、复杂度、编译时间的相关性值,ω
s
,ω
b
,ω
c
,ω
t
为程序容量、跳转分支指令数量、复杂度、编译时间的权重。7.根据权利要求1所述的一种可量化差异的异构执行程序集合构成方法,其特征在于:所述计算异构执行程序池中两两异构执行程序的差异值的公式如下:Diff(H
i
,H
j
)=cov(h
si
,h
sj
)
...

【专利技术属性】
技术研发人员:曾锃张瑞缪巍巍夏元轶毕思博余益团李世豪滕昌志张明轩张震
申请(专利权)人:国网江苏省电力有限公司信息通信分公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1