CN115186268B - 面向内生安全架构的安全性度量方法、装置及存储介质 - Google Patents

面向内生安全架构的安全性度量方法、装置及存储介质 Download PDF

Info

Publication number
CN115186268B
CN115186268B CN202210817697.6A CN202210817697A CN115186268B CN 115186268 B CN115186268 B CN 115186268B CN 202210817697 A CN202210817697 A CN 202210817697A CN 115186268 B CN115186268 B CN 115186268B
Authority
CN
China
Prior art keywords
executable program
score
security
executable
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210817697.6A
Other languages
English (en)
Other versions
CN115186268A (zh
Inventor
曾锃
缪巍巍
张瑞
夏元轶
滕昌志
张明轩
余益团
张震
李世豪
毕思博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Original Assignee
Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd filed Critical Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Priority to CN202210817697.6A priority Critical patent/CN115186268B/zh
Publication of CN115186268A publication Critical patent/CN115186268A/zh
Application granted granted Critical
Publication of CN115186268B publication Critical patent/CN115186268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种面向内生安全架构的安全性度量方法、装置及存储介质,通过预设编译方式,将所述源代码编译为多个可执行程序;针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;在当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。这样,可以准确地对可执行程序的安全性进行评估,准确地确定出可执行程序的安全性分值。

Description

面向内生安全架构的安全性度量方法、装置及存储介质
技术领域
本申请涉及网络安全技术领域,尤其是涉及一种面向内生安全架构的安全性度量方法、装置及存储介质。
背景技术
在网络系统中,由于软件同质化的问题,使得软件的可执行程序中存在的漏洞容易被利用,从而,攻破网络系统,对网络系统中大量的主机造成严重危害,因此,软件可执行程序的多样性技术问题受到了广泛关注。多样性技术通过增加软件可执行程序的复杂度和可理解性,增加攻击者发现和利用漏洞的难度。其从根本上改变了传统的防御观念,其着眼于增大攻击者难度,使得群体性的破坏得到遏制。
通常情况下,软件可执行程序的多样性越强,网络系统的安全性也就越大;然而,目前对多样性技术的应用缺乏进一步探索,并且多样性技术对于网络攻击所展现出的防御能力还缺乏精确的量化评估方法,难以进一步评估软件多样性提升的安全效果。
发明内容
有鉴于此,本申请的目的在于提供一种面向内生安全架构的安全性度量方法、装置及存储介质,能够结合每个可执行程序的被当前攻击方式的破译时间以及在被破译过程的执行结果,更加准确地对可执行程序的安全性进行评估,进而,准确地确定出可执行程序的安全性分值。
本申请实施例提供了一种面向内生安全架构的安全性度量方法,应用于对接入网关的源代码进行编译的编译系统;所述安全性度量方法包括:
通过预设编译方式,将所述源代码编译为多个可执行程序;
针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;
在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;
利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;
基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。
在一种可能的实施方式中,所述预设编译方式包括指令替换、控制流混淆、控制流扁平换以及垃圾代码注入中的一种或多种。
在一种可能的实施方式中,所述针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值,包括:
针对于每个可执行程序,确定该可执行程序的失效概率;
基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值。
在一种可能的实施方式中,所述针对于每个可执行程序,确定该可执行程序的失效概率,包括:
针对于每个可执行程序,随机获取该可执行程序的失效概率;或,
针对于每个可执行程序,通过统计预设时间段内该可执行程序出现运行故障的故障次数,确定该可执行程序的失效概率。
在一种可能的实施方式中,当所述多个可执行程序中至少包括预设数量的目标执行程序时;所述安全性度量方法还包括:
将所述多个可执行程序中除所述预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序;其中,所述目标执行程序为在经受所述当前攻击方式的破译过程中能够输出正确执行结果的可执行程序;
针对于每个错误执行程序,基于该错误执行程序的安全性分值,确定该错误执行程序的异常分值;
基于每个目标执行程序的安全性分值以及每个错误执行程序的异常分值,确定所述多个可执行程序在至少包括预设数量的目标执行程序情况下的整体安全性分值。
在一种可能的实施方式中,通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,Ti(t;λi,k)为当前攻击方式破译第i个可执行程序的破译时间,λi为第i个可执行程序的失效概率,/>为预设的攻击方式的切换时间,ts为预设时间参数,Γ(k)表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数。
在一种可能的实施方式中,通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
本申请实施例还提供了一种面向内生安全架构的安全性度量装置,应用于对接入网关的源代码进行编译的编译系统;所述安全性度量装置包括:
程序编译模块,用于通过预设编译方式,将所述源代码编译为多个可执行程序;
第一分值确定模块,用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;
准确性裁决模块,用于在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;
第二分值确定模块,用于利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;
第三分值确定模块,用于基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。
在一种可能的实施方式中,所述预设编译方式包括指令替换、控制流混淆、控制流扁平换以及垃圾代码注入中的一种或多种。
在一种可能的实施方式中,所述第一分值确定模块在用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值时,所述第一分值确定模块用于:
针对于每个可执行程序,确定该可执行程序的失效概率;
基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值。
在一种可能的实施方式中,所述第一分值计算模块在用于针对于每个可执行程序,确定该可执行程序的失效概率时,所述第一分值确定模块用于:
针对于每个可执行程序,随机获取该可执行程序的失效概率;或,
针对于每个可执行程序,通过统计预设时间段内该可执行程序出现运行故障的故障次数,确定该可执行程序的失效概率。
在一种可能的实施方式中,当所述多个可执行程序中至少包括预设数量的目标执行程序时;所述安全性度量装置还包括第四分值确定模块,所述第四分值确定模块用于:
将所述多个可执行程序中除所述预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序;其中,所述目标执行程序为在经受所述当前攻击方式的破译过程中能够输出正确执行结果的可执行程序;
针对于每个错误执行程序,基于该错误执行程序的安全性分值,确定该错误执行程序的异常分值;
基于每个目标执行程序的安全性分值以及每个错误执行程序的异常分值,确定所述多个可执行程序在至少包括预设数量的目标执行程序情况下的整体安全性分值。
在一种可能的实施方式中,所述第一分值确定模块用于通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,Ti(t;λi,k)为当前攻击方式破译第i个可执行程序的破译时间,λi为第i个可执行程序的失效概率,/>为预设的攻击方式的切换时间,ts为预设时间参数,Γ(k)表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数。
在一种可能的实施方式中,所述第二分值确定模块用于通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的面向内生安全架构的安全性度量方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的面向内生安全架构的安全性度量方法的步骤。
本申请实施例提供的面向内生安全架构的安全性度量方法、装置及存储介质,通过预设编译方式,将所述源代码编译为多个可执行程序;针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。这样,能够结合每个可执行程序的被当前攻击方式的破译时间以及在被破译过程的执行结果,更加准确地对可执行程序的安全性进行评估,进而,准确地确定出可执行程序的安全性分值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种编译系统示意图;
图2为本申请实施例所提供的一种安全性度量方法的流程图;
图3为本申请实施例所提供的一种安全性度量装置的结构示意图之一;
图4为本申请实施例所提供的一种安全性度量装置的结构示意图之二;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例所提供的一种编译系统示意图。如图1所示,本申请中所涉及的编译系统100中包括负反馈控制器110、输入代理装置120以及安全性度量装置130;安全性度量装置130包括程序编译模块131以及准确性裁决模块132;负反馈控制器110可以接收外部控制参数和表决参数等参数;同时,负反馈控制器110还可调控输入代理装置120进行数据分发、控制编译得到的可执行程序140工作以及准确性裁决模块132进行准确性裁决。
编译系统100可以接收外部设备发送的一系列指令与数据,并将接收到的指令与数据转换为输入序列输入至输入代理装置120,输入代理装置120负责将同一输入序列复制为多份并分别分发给每个可执行程序140进行处理。这里,输入序列包括所用数据、资源与一系列指令的集合,输入代理装置120将输入序列复制、分发给各个可执行程序140,每个可执行程序140都能独立完成相应的任务,输出自己的运行结果。
经过程序编译模块131编译得到的各个可执行程序140并行执行,彼此独立完成工作,产生各自的运行结果,并将运行结果发送到准确性裁决模块132。
准确性裁决模块132汇总所有运行结果,并通过负反馈控制器110确定的裁决策略计算各个可执行程序140的输出,裁决出一个唯一的结果作为编译系统100输出结果。
经研究发现,在网络系统中,由于软件同质化的问题,使得软件的可执行程序中存在的漏洞容易被利用,从而,攻破网络系统,对网络系统中大量的主机造成严重危害,因此,软件可执行程序的多样性技术问题受到了广泛关注。多样性技术通过增加软件可执行程序的复杂度和可理解性,增加攻击者发现和利用漏洞的难度。其从根本上改变了传统的防御观念,其着眼于增大攻击者难度,使得群体性的破坏得到遏制。
通常情况下,软件可执行程序的多样性越强,网络系统的安全性也就越大;然而,目前对多样性技术的应用缺乏进一步探索,并且多样性技术对于网络攻击所展现出的防御能力还缺乏精确的量化评估方法,难以进一步评估软件多样性提升的安全效果。
基于此,本申请实施例提供了一种面向内生安全架构的安全性度量方法,可以结合每个可执行程序在不同攻击方式破译下的实际执行效果,准确地对每个可执行程序的安全性进行评估,进而,准确地确定出每个可执行程序的安全性分值。
请参阅图2,图2为本申请实施例所提供的一种面向内生安全架构的安全性度量方法的流程图。应用于对接入网关的源代码进行编译的具有内生安全架构的编译系统;如图2中所示,本申请实施例提供的安全性度量方法,包括:
S201、通过预设编译方式,将所述源代码编译为多个可执行程序。
S202、针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值。
S203、在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果。
S204、利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值。
S205、基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。
本申请实施例所提供的一种面向内生安全架构的安全性度量方法,为了使得接入网关的源代码具有多样性,通过预设编译方式,将接入网关的源代码编译为多个可执行程序;针对于每个可执行程序,通过当前攻击方式对该可执行程序进行“反编译”,即对该可执行程序进行破译,结合当前攻击方式破译该可执行程序所耗费的破译时间,通过量化破译时间确定该可执行程序的防御力分值;并在当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的预测执行结果进行准确性裁决,利用每次准确性裁决的裁决结果以及每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;进而,基于得到的防御力分值和稳定性分值,确定该可执行程序的安全性分值。
这里,内生安全是针对与网络空间安全现状的哲学性归纳与论述,是网络安全领域的新兴概念与技术发展方向,具体包含内生安全问题和内生安全体制机制两部分内涵。网络空间内生安全问题可以抽象为两类问题,一类是狭义内生安全(Narrow EndogenousSatety and Security,NESS)问题,特指一个软硬件系统除预期的设计功能之外,总存在包括副作用、脆弱性、自然失效等因素在内的显式或隐式表达的非期望功能;另一类是广义内生安全(General Endogenous Safety and Security,GESS)问题,专指在狭义内生安全问题之上,还包括对最终用户不可见,或所有未向使用者明确声明或披露过的软硬件隐匿功能,例如前门、后门、陷门等“暗功能”问题。
在步骤S201中,针对于接入网关的源代码,通过预设编译方式,对源代码进行编译,将源代码编译为多个可执行程序,以构建得到源代码的动态冗余架构。
这里,预设编译方式包括指令替换、控制流混淆、控制流扁平换以及垃圾代码注入中的一种或多种。
示例性的,利用指令替换、控制流混淆以及控制流扁平换的预设编译方式对源代码进行编译,得到第一可执行程序;利用指令替换、控制流混淆以及垃圾代码注入的预设编译方式对源代码进行编译,得到第二可执行程序;利用指令替换以及垃圾代码注入的预设编译方式对源代码进行编译,得到第三可执行程序。
在步骤S202中,针对于编译得到的每个可执行程序,通过不同的攻击方式对该可执行程序进行“反编译”的破译,并在破译过程中,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值。
这里,反编译本质上是一种常用的逆向工程工具,通过对源代码进行“逆向分析”及“研究”,将源代码转化为更易读取的格式,使得攻击者可以推导出源代码所属网络系统所使用的思路、结构、算法、运行方法等设计要素以及部分或整体源代码,从而窃取或篡改重要信息导致网络系统的功能失效。
对于一个可执行程序来说,破译该可执行程序所需的时间越长,则攻击者成功破译该可执行程序的概率越小,说明该可执行程序的破译难度大、安全性较高,这也就意味着该可执行程序的防御力分值越高。
因此,可以通过量化破译时间的方式,根据当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值。
在一种实施方式中,步骤S202包括:步骤S2021针对于每个可执行程序,确定该可执行程序的失效概率。
该步骤中,针对于每个可执行程序,确定该可执行程序的失效概率。其中,失效概率为可执行程序在单位时间内出现故障的概率。不同的可执行程序出现故障的概率也就不同,具体的,可以根据该可执行程序的相关漏洞信息以及该可执行程序的历史表现情况等方式,来确定该可执行程序的失效概率。
在一种实施方式中,步骤S2021包括:针对于每个可执行程序,随机获取该可执行程序的失效概率。
该步骤中,针对于每个可执行程序,通过随机生成的方式,模拟出实际使用过程中不同可执行程序所拥有不同失效概率。
或,针对于每个可执行程序,通过统计预设时间段内该可执行程序出现运行故障的异常次数,确定该可执行程序的失效概率。
该步骤中,针对于每个可执行程序,统计在预设时间段内该可执行程序运行时出现运行故障的故障次数,结合该可执行程序在预设时间段内的总运行次数,计算该可执行程序的失效概率。
其中,失效概率λi的取值范围为[0,1]。
这里,实际上可执行程序的防御力分值随着破译时间的增加呈现出抛物线形的变化趋势,即,可执行程序的防御力分值在一段时间内随着攻击时间的增加而逐渐减小;在到达一定时长后,攻击者选择继续使用当前攻击方式进行攻击的概率减小,而此时可执行程序的防御力分值便会逐渐增加,因此,实际上可执行程序的防御力分值与当前攻击方式的破译时间之间具有伽马分布特性。
步骤S2022、基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值。
该步骤中,可利用该可执行程序的防御力分值与当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性,结合确定出的该可执行程序的失效概率,确定该可执行程序的防御力分值。
具体的,通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,Ti(t;λi,k)为当前攻击方式破译第i个可执行程序的破译时间,λi为第i个可执行程序的失效概率,0<λi<1,/>为预设的攻击方式的切换时间,ts为预设时间参数,Γ(k)表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数。
在当前攻击方式对该可执行程序的攻击时间t到达预设的攻击方式的切换时间后,对防御力分值的计算公式从k=1转到k=2时的公式。
这里,ts预设时间参数是随攻击时间t而变化的一个参数,初始值为之后依次递减1,控制防御力分值的计算。
k为伽马分布概率密度函数的形状参数,不同的k决定了伽马分布密度函数图像的不同形状。
这里,切换时间可以通过调研当前攻击方式的攻击意向与其所耗费破译时间成本的关系得到,越接近这个切换时间,攻击者放弃使用当前攻击方式的意愿越为强烈,因此,可近似认为在到达这个切换时间时,攻击者放弃使用当前攻击方式。
在到达切换时间后,上述公式中的时间参数变为ts,ts由上一时刻递减得到,s的初始值为t。
在步骤S203中,在攻击者使用当前攻击方式破译该可执行程序的过程中,利用预设执行结果,通过比对预设执行结果与通过该可执行程序所得到的测试执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,并确定每次准确性裁决的裁决结果。
具体的,在对第i个可执行程序进行多次准确性裁决的过程中,若第i个可执行程序的第j次输出的预测执行结果与预设执行结果一致,则确定第i个可执行程序在第j次准确性裁决的裁决结果若第i个可执行程序的第j次输出的预测执行结果与预设执行结果不一致,则确定第i个可执行程序在第j次准确性裁决的裁决结果/>
其中,为第i个可执行程序第j次准确性裁决的裁决结果。
在步骤S204中,利用该可执行程序每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;这里,时间属性分值可以表征出一个可执行程序的测试执行结果的可信任程度。在较近的周期内,可执行程序输出了与预设执行结果一致的测试执行结果,则可认为可执行程序的测试执行结果的可信任程度高,侧面表明该可执行程序近期未遭受攻击,安全性较高;相应的,随着时间的推移,超过一定时长后,时间属性分值对于该可执行程序来说,准确率与安全性的考量效果逐渐失真,即可在一定时间后,统一将准确性裁决的时间属性分值设置为0.1。
示例性的,表示第i个可执行程序ei的第j次裁决的时间属性分值,在最近一次准确性裁决中,/>在倒数第二近的准确性裁决中/>以此类推,在历史第九次的准确性裁决中,/>超过九次裁决情况,统一赋值/>因此/>的取值范围为:/>
在一种实施方式中,通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
在步骤S205中,可基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值;具体的,可通过以下公式计算该可执行程序的安全性分值:
其中,Si为第i个可执行程序ei的安全性分值,为第i个可执行程序ei的防御力分值,/>为第i个可执行程序ei的稳定性分值,α与β分别为防御力分值/>和稳定性分值/>的权重,这里,α+β=1。
这里,对于一个考虑m/n裁决策略的拟态防御系统来说,在编译得到n个可执行程序的动态异构冗余架构的情况下,至少有m个可执行程序不受干扰并输出与预设执行结果一致的测试执行结果时,才能够认为该拟态防御系统成功防御当前攻击方式的攻击行为;相反的,若该拟态防御系统输出与预设执行结果一致的测试执行结果的可执行程序的数量小于m,则认为该拟态防御系统不能够防御当前攻击方式的攻击。
在一种实施方式中,当所述多个可执行程序中至少包括预设数量的目标执行程序时;所述安全性度量方法还包括:
步骤a、将所述多个可执行程序中除所述预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序。
该步骤中,将在经受当前攻击方式的破译过程中,仍然能够输出正确执行结果的可执行程序确定为目标执行程序;即,将在经受当前攻击方式的破译过程中,仍然能够输出与预设执行结果一致的测试执行结果的可执行程序确定为目标执行程序;相应的,将多个可执行程序中除预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序;即,将在经受当前攻击方式的破译过程中,输出与预设执行结果不一致的测试执行结果的可执行程序确定为错误执行程序。
步骤b、针对于每个错误执行程序,基于该错误执行程序的安全性分值,确定该错误执行程序的异常分值。
该步骤中,针对于每个错误执行程序,通过以下公式计算该错误执行程序的异常分值:
其中,Sk t为第k个错误执行程序的异常分值,为第k个错误执行程序的安全性分值。
步骤c、基于每个目标执行程序的安全性分值以及每个错误执行程序的异常分值,确定所述多个可执行程序在至少包括预设数量的目标执行程序情况下的整体安全性分值。
该步骤中,具体可通过以下公式计算得到在至少包括预设数量的目标执行程序情况下的多个可执行程序的整体安全性分值:
其中,Sx为在具有l个目标执行程序的情况下多个可执行程序的整体安全性分值,为对l个目标执行程序进行排列组合得到的/>种目标执行程序的使用情况,Si y为第y个目标执行程序的安全性分值,Sk t为第k个错误执行程序的异常分值,A为多个可执行程序所构成的集合,Ai为预设数量的目标执行程序所构成的集合,A-Ai为错误执行程序所构成的集合。
本申请实施例提供的面向内生安全架构的安全性度量方法,通过预设编译方式,将所述源代码编译为多个可执行程序;针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。这样,能够结合每个可执行程序的被当前攻击方式的破译时间以及在被破译过程的执行结果,更加准确地对可执行程序的安全性进行评估,进而,准确地确定出可执行程序的安全性分值。
请参阅图3、图4,图3为本申请实施例所提供的一种面向内生安全架构的安全性度量装置的结构示意图之一,图4为本申请实施例所提供的一种面向内生安全架构的安全性度量装置的结构示意图之二。应用于对接入网关的源代码进行编译的具有内生安全架构的编译系统;如图3中所示,所述安全性度量装置130包括:
程序编译模块131,用于通过预设编译方式,将所述源代码编译为多个可执行程序;
第一分值确定模块133,用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;
准确性裁决模块132,用于在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;
第二分值确定模块134,用于利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;
第三分值确定模块135,用于基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。
在一种可能的实施方式中,所述预设编译方式包括指令替换、控制流混淆、控制流扁平换以及垃圾代码注入中的一种或多种。
进一步的,所述第一分值确定模块133在用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值时,所述第一分值确定模块133用于:
针对于每个可执行程序,确定该可执行程序的失效概率;
基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值。
进一步的,所述第一分值计算模块133在用于针对于每个可执行程序,确定该可执行程序的失效概率时,所述第一分值确定模块133用于:
针对于每个可执行程序,随机获取该可执行程序的失效概率;或,
针对于每个可执行程序,通过统计预设时间段内该可执行程序出现运行故障的故障次数,确定该可执行程序的失效概率。
进一步的,如图4所示,当所述多个可执行程序中至少包括预设数量的目标执行程序时;所述安全性度量装置130还包括第四分值确定模块136,所述第四分值确定模块136用于:
将所述多个可执行程序中除所述预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序;其中,所述目标执行程序为在经受所述当前攻击方式的破译过程中能够输出正确执行结果的可执行程序;
针对于每个错误执行程序,基于该错误执行程序的安全性分值,确定该错误执行程序的异常分值;
基于每个目标执行程序的安全性分值以及每个错误执行程序的异常分值,确定所述多个可执行程序在至少包括预设数量的目标执行程序情况下的整体安全性分值。
进一步的,所述第一分值确定模块133用于通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,Ti(t;λi,k)为当前攻击方式破译第i个可执行程序的破译时间,λi为第i个可执行程序的失效概率,/>为预设的攻击方式的切换时间,ts为预设时间参数,Γ(k)表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数。
进一步的,所述第二分值确定模块134用于通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
本申请实施例提供的面向内生安全架构的安全性度量装置,通过预设编译方式,将所述源代码编译为多个可执行程序;针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值。这样,能够结合每个可执行程序的被当前攻击方式的破译时间以及在被破译过程的执行结果,更加准确地对可执行程序的安全性进行评估,进而,准确地确定出可执行程序的安全性分值。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图2所示方法实施例中的面向内生安全架构的安全性度量方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图2所示方法实施例中的面向内生安全架构的安全性度量方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种面向内生安全架构的安全性度量方法,其特征在于,应用于对接入网关的源代码进行编译的具有内生安全架构的编译系统;所述安全性度量方法包括:
通过预设编译方式,将所述源代码编译为多个可执行程序;
针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;
在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;
利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;
基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值;
所述针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值,包括:
针对于每个可执行程序,确定该可执行程序的失效概率;
基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值;
通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,/>为当前攻击方式破译第i个可执行程序的破译时间,/>为第i个可执行程序的失效概率,/>为预设的攻击方式的切换时间,/>为预设时间参数,/>表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数;
通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
2.根据权利要求1所述的安全性度量方法,其特征在于,所述预设编译方式包括指令替换、控制流混淆、控制流扁平换以及垃圾代码注入中的一种或多种。
3.根据权利要求1所述的安全性度量方法,其特征在于,所述针对于每个可执行程序,确定该可执行程序的失效概率,包括:
针对于每个可执行程序,随机获取该可执行程序的失效概率;或,
针对于每个可执行程序,通过统计预设时间段内该可执行程序出现运行故障的故障次数,确定该可执行程序的失效概率。
4.根据权利要求1所述的安全性度量方法,其特征在于,当所述多个可执行程序中至少包括预设数量的目标执行程序时;所述安全性度量方法还包括:
将所述多个可执行程序中除所述预设数量的目标执行程序之外的其他可执行程序确定为错误执行程序;其中,所述目标执行程序为在经受所述当前攻击方式的破译过程中能够输出正确执行结果的可执行程序;
针对于每个错误执行程序,基于该错误执行程序的安全性分值,确定该错误执行程序的异常分值;
基于每个目标执行程序的安全性分值以及每个错误执行程序的异常分值,确定所述多个可执行程序在至少包括预设数量的目标执行程序情况下的整体安全性分值。
5.一种面向内生安全架构的安全性度量装置,其特征在于,应用于对接入网关的源代码进行编译的具有内生安全架构的编译系统;所述安全性度量装置包括:
程序编译模块,用于通过预设编译方式,将所述源代码编译为多个可执行程序;
第一分值确定模块,用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值;
准确性裁决模块,用于在所述当前攻击方式破译该可执行程序的过程中,利用预设执行结果,对该可执行程序的测试执行结果进行多次准确性裁决,确定每次准确性裁决的裁决结果;
第二分值确定模块,用于利用每次准确性裁决的裁决结果,结合每次准确性裁决的时间属性分值,确定该可执行程序的稳定性分值;
第三分值确定模块,用于基于该可执行程序的防御力分值和稳定性分值,确定该可执行程序的安全性分值;
所述第一分值确定模块在用于针对于每个可执行程序,结合当前攻击方式破译该可执行程序的破译时间,确定该可执行程序的防御力分值时,所述第一分值确定模块用于:
针对于每个可执行程序,确定该可执行程序的失效概率;
基于该可执行程序的防御力分值与所述当前攻击方式破译该可执行程序的破译时间之间所具有的伽马分布特性以及所述失效概率,确定该可执行程序的防御力分值;
通过以下公式计算所述防御力分值:
其中,为第i个可执行程序的防御力分值,/>为当前攻击方式破译第i个可执行程序的破译时间,/>为第i个可执行程序的失效概率,/>为预设的攻击方式的切换时间,/>为预设时间参数,/>表示伽马分布概率密度函数,k为伽马分布概率密度函数的形状参数;
通过以下公式计算可执行程序的稳定性分值:
其中,为经过t时间后第i个可执行程序的稳定性分值,/>为第i个可执行程序第j次准确性裁决的裁决结果,/>为第j次准确性裁决的时间属性分值,T为裁决周期。
6.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至4任一所述的面向内生安全架构的安全性度量方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至4任一所述的面向内生安全架构的安全性度量方法的步骤。
CN202210817697.6A 2022-07-12 2022-07-12 面向内生安全架构的安全性度量方法、装置及存储介质 Active CN115186268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210817697.6A CN115186268B (zh) 2022-07-12 2022-07-12 面向内生安全架构的安全性度量方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210817697.6A CN115186268B (zh) 2022-07-12 2022-07-12 面向内生安全架构的安全性度量方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN115186268A CN115186268A (zh) 2022-10-14
CN115186268B true CN115186268B (zh) 2023-10-20

Family

ID=83517739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210817697.6A Active CN115186268B (zh) 2022-07-12 2022-07-12 面向内生安全架构的安全性度量方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115186268B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115955365A (zh) * 2023-03-14 2023-04-11 之江实验室 一种内生安全的网络编译系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875320A (zh) * 2018-07-17 2018-11-23 北京元心科技有限公司 软件安全防护方法、装置、电子设备及计算机存储介质
CN113992386A (zh) * 2021-10-25 2022-01-28 北京天融信网络安全技术有限公司 一种防御能力的评估方法、装置、存储介质及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875320A (zh) * 2018-07-17 2018-11-23 北京元心科技有限公司 软件安全防护方法、装置、电子设备及计算机存储介质
CN113992386A (zh) * 2021-10-25 2022-01-28 北京天融信网络安全技术有限公司 一种防御能力的评估方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN115186268A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN107111713B (zh) 软件系统的自动验证
Saeed et al. Intelligent intrusion detection in low-power IoTs
Mouha et al. Finding bugs in cryptographic hash function implementations
CN110519220B (zh) 基于漏洞一致率的网络空间拟态防御安全性建模量化方法
US9363087B2 (en) End-to-end security for hardware running verified software
Wang et al. Malicious firmware detection with hardware performance counters
CN110276198B (zh) 一种基于概率预测的嵌入式可变粒度控制流验证方法及系统
Bos et al. Assessing the feasibility of single trace power analysis of Frodo
CN105103158A (zh) 剖析代码执行
Bao et al. Abacus: Precise side-channel analysis
Theissing et al. Comprehensive analysis of software countermeasures against fault attacks
Islam et al. Signature correction attack on dilithium signature scheme
CN115186268B (zh) 面向内生安全架构的安全性度量方法、装置及存储介质
Zhang et al. Recfa: Resilient control-flow attestation
Salehi et al. PLCDefender: Improving remote attestation techniques for PLCs using physical model
de Almeida Braga et al. Dragonblood is still leaking: Practical cache-based side-channel in the wild
Backes et al. Non-uniform distributions in quantitative information-flow
Luo et al. Differential fault analysis of SHA-3 under relaxed fault models
CN106411496A (zh) 检测ripemd‑160算法抵御差分故障攻击的方法
Kiaei et al. Real-time detection and adaptive mitigation of power-based side-channel leakage in soc
Kaster et al. Sliced Secure Boot: An Accelerated Secure Boot Concept Compatible with Automotive Safety Controllers
McCamant et al. Quantitative information-flow tracking for C and related languages
Chattopadhyay et al. Quantifying the information leak in cache attacks through symbolic execution
CN112269996A (zh) 一种面向区块链主节点的主动免疫可信计算平台的动态度量方法
Dave et al. FVCARE: Formal Verification of Security Primitives in Resilient Embedded SoCs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant