防攻击的程序运行方法和装置、存储介质、电子装置制造方法及图纸

技术编号:25271108 阅读:41 留言:0更新日期:2020-08-14 23:04
本申请公开了一种防攻击的程序运行方法和装置、存储介质、电子装置。其中,该方法包括:获取待运行的目标程序;将目标程序转化为指令序列,指令序列表示的任务与目标程序表示的任务相同;在执行指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,噪声指令表示的任务与指令序列表示的任务不同。本申请解决了相关技术软件的安全性较低的技术问题。

【技术实现步骤摘要】
防攻击的程序运行方法和装置、存储介质、电子装置
本申请涉及软件安全领域,具体而言,涉及一种防攻击的程序运行方法和装置、存储介质、电子装置。
技术介绍
在信息社会,密码技术应用于人们的方方面面,常用于提供机密性的信息,即保护传输和存储的信息。密码技术还可用于消息签名、身份认证、系统控制、信息来源等,是关系人类社会发展进步的重要技术。密码编码学得到发展的同时,与之对应的密码分析学也有了很大的进步。现实中,密码算法的设计安全不仅局限于算法本身的安全性,还包括其实现的物理实体——密码芯片的安全性。密码芯片在工作时,或者运行密码算法的处理器工作时,会发生很多额外信息泄露(如边信道信息泄露),这些信息泄露都是由于芯片的物理特性产生的,与之对应的密码分析方法称之为边信道攻击(Side-Channelattack,SCA)。边信道攻击绕开了分析复杂的密码算法本身,将芯片运行密码算法时泄露的各种信息(如运行时间、功耗、电磁辐射、Cache、声音等)进行分析。目前,边信道攻击已成为安全领域的最大威胁之一,边信道攻击技术已经成功应用于攻击大部分的密码算法和协议,包括公钥算法(如RSA、ECC等)、分组密码(如DES、CLEFIA、AES、Camellia等)、序列密码(RC4、Trivium等)和密码协议(SSL协议、TLS协议、PKCS协议等),并针对于不同处理器硬件平台、操作系统上的软件实现以及不同的智能卡、以及FPGA、ASIC上的实现,均有对应的有效的攻击分析方法,已经成为安全领域最大威胁之一。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种防攻击的程序运行方法和装置、存储介质、电子装置,以至少解决相关技术软件的安全性较低的技术问题。根据本申请实施例的一个方面,提供了一种防攻击的程序运行方法,包括:获取待运行的目标程序;将目标程序转化为指令序列,其中,指令序列表示的任务与目标程序表示的任务相同;在执行指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,其中,噪声指令表示的任务与指令序列表示的任务不同。根据本申请实施例的另一方面,还提供了一种防攻击的程序运行装置,包括:获取单元,用于获取待运行的目标程序;转化单元,用于将目标程序转化为指令序列,其中,指令序列表示的任务与目标程序表示的任务相同;执行单元,用于在执行指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,其中,噪声指令表示的任务与指令序列表示的任务不同。根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。在本申请实施例中,可在执行指令序列中任务指令的过程中,自动执行第一指令集合中的噪声指令,使得有规律和可分析的程序变得没有规律和模式可寻,从而增大侧信道分析的难度,解决了相关技术软件的安全性较低的技术问题,进而达到提高软件的安全性的技术效果。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种可选的防攻击的程序运行方法的流程图;图2是根据本申请实施例的一种可选的防攻击的程序运行方法的流程图;图3是根据本申请实施例的一种可选的防攻击的程序编译的示意图;图4是根据本申请实施例的一种可选的防御侧信道分析攻击保护的示意图;图5是根据本申请实施例的一种可选的防攻击的程序运行装置的示意图;以及,图6是根据本申请实施例的一种终端的结构框图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为防止盗版或者其它破解行为,根据本申请实施例的一方面,提供了一种防攻击的程序运行方法的方法实施例,以在软件中实现防御侧信道攻击(或称边信道攻击)。本申请的防攻击的程序运行方法可以由防御设备来运行,防御设备并不限定于PC、手机、平板电脑等。防御设备执行本申请实施例的防攻击的程序运行方法也可以是由安装在其上的客户端来执行。图1是根据本申请实施例的一种可选的防攻击的程序运行方法的流程图,采用本申请的技术方案防御侧信道攻击,可在程序中自动加入噪声,使得有规律和可分析的程序变得没有规律和模式可寻,从而增大侧信道分析的难度,避免盗版或者其它破解行为的出现,如图1所示,该方法可以包括以下步骤:步骤S102,防御设备获取待运行的目标程序。步骤S104,防御设备将目标程序转化为指令序列,指令序列表示的任务与目标程序表示的任务相同。步骤S106,防御设备在执行指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,噪声指令表示的任务与指令序列表示的任务不同,即噪声指令是与目标程序无关的指令。上述任务指令为执行任务过程中的指令,如数据读取指令、数据运算指令(如加减乘除运算、逻辑与运算、逻辑或运算等)、数据存储指令。通过上述步骤,可在执行指令序列中任务指令的过程中,自动执行第一指令集合中的噪声指令,使得有规律和可分析的程序变得没有规律和模式可寻,从而增大侧信道分析的难度,可以解决相关技术软件的安全性较低的技术问题,进而达到提高软件的安全性的技术效果。为了实现批量往程序中加入噪声、避免软件被攻击者侧信道分析的目的,在本申请的技术方案中,可将程序编译到进程虚拟机中执行,在进程虚拟机的每个指令执行时随机执行噪声指令。下面结合图1所示的步骤进一步详述本申请的技术方案。在步骤S102提供的技术方案中,获取待运行的目标程序,目标程序为预先采用编程语言(如C语言、JAVA语言等)编写好程序源代码。在步骤S104提供的技术方案中,将目标程序转化为指令序列,指令序列表示的任务与目标程序表示的任务相同。在一种可选的防御错误注入攻击的方法中,可以采用人工的方式在程序中每个需要防御侧信本文档来自技高网
...

【技术保护点】
1.一种防攻击的程序运行方法,其特征在于,包括:/n获取待运行的目标程序;/n将所述目标程序转化为指令序列,其中,所述指令序列表示的任务与所述目标程序表示的任务相同;/n在执行所述指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,其中,所述噪声指令表示的任务与所述指令序列表示的任务不同。/n

【技术特征摘要】
1.一种防攻击的程序运行方法,其特征在于,包括:
获取待运行的目标程序;
将所述目标程序转化为指令序列,其中,所述指令序列表示的任务与所述目标程序表示的任务相同;
在执行所述指令序列中任务指令的过程中,执行第一指令集合中的噪声指令,其中,所述噪声指令表示的任务与所述指令序列表示的任务不同。


2.根据权利要求1所述的方法,其特征在于,将所述目标程序转化为指令序列包括:
获取所述目标程序中的每一个程序片段,并从第二指令集合查找与每个程序片段匹配的任务指令,其中,所述第二指令集合中包括预先创建的多条任务指令;
将匹配到的任务指令按照对应的程序片段在所述目标程序中的位置进行排列,得到所述指令序列。


3.根据权利要求2所述的方法,其特征在于,
在从所述第二指令集合查找与每个程序片段匹配的任务指令之前,所述方法还包括:在编译器中获取所述第二指令集合,其中,所述第二指令集合中的每条任务指令用于表示一个子任务;
从所述第二指令集合查找与每个程序片段匹配的任务指令包括按照如下方式对所述目标程序中的每个程序片段进行处理:利用所述编译器从所述第二指令集合中查找表示的子任务与当前处理的程序片段匹配的任务指令,其中,所述目标程序中的每个程序片段用于表示一个子任务。


4.根据权利要求1至3中任意一项所述的方法,其特征在于,在执行第一指令集合中的噪声指令的过程中,所述方法还包括:
获取为目标任务指令生成的指示信息,其中,所述目标任务指令为所述指令序列中当前待在进程虚拟机中运行的任务指令,所述指示信息为按照预设方式生成的;
按照所述指示信息从所述第一指令集合中获取目标噪声指令。


5.根据权利要求4所述的方法,其特征在于,在执行所述指令序列中任务指令的过程中,执行第...

【专利技术属性】
技术研发人员:陈钢
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1