本公开涉及用于执行可执行文件的装置、方法和计算机程序,以及用于分发软件或固件的方法。
背景技术:
1、对软件的边通道攻击是用于通过测量与行为相关的数据来提取敏感信息的技术。这些攻击通常利用计算机的功率消耗、电磁辐射或者定时行为。边通道攻击的示例包括但不限于功率分析、电磁分析、声学分析和基于缓存的攻击。边通道攻击(side-channelattack,sca)变得越来越流行,以至于新技术和新威胁类别的出现速度甚至连软件开发生命周期方法和策略都难以跟上。即使是今天被认为“安全”的软件组件,在未来的威胁面前也可能不堪一击。
2、在理想情形中,软件仍会得到维护并且可打补丁,因此可以对任何新发现的威胁进行分析,在代码中纠正漏洞,并且发布修正后的新版本。在现实中,一些代码的寿命可能很长,或者很难重部署。因此,旧软件在其支持期结束之后仍在使用。这是现实世界中存在的问题,尤其是在诸如工业、金融、医疗保健或军事/政府之类的高度管制或专业领域,在这些领域中,每一次简单的改变都需要经历昂贵的测试和重认证过程,并且“改变风险”足够高,以至于即使升级到打补丁的版本也可能被认为风险太大。此外,在一些情况下,补丁根本无法产生,这例如是由于软件被进行了完好性保护以防篡改(例如,通过签名),以及原软件供应商不再经营、源代码不可用和/或用于签署软件的签名密钥不再可用。
技术实现思路
1、根据本公开的一方面,提供了一种用于执行可执行文件的装置,该装置包括接口电路、机器可读指令以及处理电路,所述处理电路用于执行所述机器可读指令以进行下述操作:在所述可执行文件的执行期间为所述可执行文件识别用来激活或停用噪声注入模式的触发,所述噪声注入模式适合用于在所述可执行文件的执行期间引入噪声;以及基于所识别的触发来激活或停用所述噪声注入模式。
2、根据本公开的一方面,提供了一种用于执行可执行文件的方法,该方法包括:在所述可执行文件的执行期间为所述可执行文件识别用来激活或停用噪声注入模式的触发,所述噪声注入模式适合用于在所述可执行文件的执行期间引入噪声;并且基于所识别的触发来激活或停用所述噪声注入模式。
3、根据本公开的一方面,提供了一种用于执行可执行文件的方法,该方法包括:处理执行清单,所述执行清单指示出在执行所述可执行文件时是否需要激活噪声注入模式,所述噪声注入模式适合用于在所述可执行文件的执行期间引入噪声;并且通过基于所述执行清单激活或停用所述噪声注入模式,来基于所述执行清单来执行所述可执行文件。
4、根据本公开的一方面,提供了一种用于分发软件或固件的方法,该方法包括:提供所述软件或固件的可执行文件;并且通过将执行清单与所述可执行文件捆绑在一起来提供所述执行清单,所述执行清单指示出在执行所述可执行文件时是否需要激活噪声注入模式,所述噪声注入模式适合用于在所述可执行文件的执行期间引入噪声。
1.一种用于执行可执行文件的装置,该装置包括接口电路、机器可读指令以及处理电路,所述处理电路用于执行所述机器可读指令以进行下述操作:
2.根据权利要求1所述的装置,其中,所述处理电路用于执行所述机器可读指令,以在以下各项中的至少一者中激活或停用所述噪声注入模式:用于执行所述可执行文件的运行时环境,托管用于执行所述可执行文件的虚拟机的超级监督者,用于执行所述可执行文件的操作系统,以及用于执行所述可执行文件的计算机系统的硬件组件。
3.根据权利要求2所述的装置,其中,所述处理电路用于执行所述机器可读指令,以在用于执行所述可执行文件的运行时环境中激活或停用所述噪声注入模式,以激活或停用以下各项中的至少一者:由所述运行时环境插入随机延迟,执行预定义的指令集以增大或减小执行时间、功率消耗、热量排放、电磁噪声和声音中的至少一者,在用于执行所述可执行文件的所述计算机系统的总线上生成随机流量,以及与所述可执行文件的执行并行地在用于执行所述可执行文件的处理单元上执行附加计算内核。
4.根据权利要求2所述的装置,其中,所述处理电路用于执行所述机器可读指令,以在所述超级监督者、操作系统或硬件组件中激活或停用所述噪声注入模式,以激活或停用以下各项中的至少一者:执行预定义的指令集以增大或减小执行时间、功率消耗、热量排放、电磁噪声和声音中的至少一者,在用于执行所述可执行文件的所述计算机系统的总线上生成随机流量,以及与所述可执行文件的执行并行地在用于执行所述可执行文件的处理单元上执行附加计算内核。
5.根据权利要求1所述的装置,其中,所述处理电路用于执行所述机器可读指令,以在所述可执行文件的至少一部分被怀疑易受边通道攻击的情况下识别用于激活所述噪声注入模式的触发。
6.根据权利要求5所述的装置,其中,所述处理电路用于执行所述机器可读指令,以基于以下各项中的至少一者来确定所述可执行文件的至少一部分是否被怀疑易受边通道攻击:包括关于易受边通道攻击的可执行文件的信息的第一数据存储库,包括关于易受边通道攻击的库的信息的第二数据存储库,与所述可执行文件捆绑在一起的执行清单,与所述可执行文件捆绑在一起的执行剖面,计算机系统范围的策略,部署站点范围的策略,以及企业范围的策略。
7.根据权利要求5所述的装置,其中,所述处理电路用于执行所述机器可读指令,以通过处理所述可执行文件以确定执行剖面,来确定所述可执行文件的至少一部分是否被怀疑易受边通道攻击,所述执行剖面包括关于触发所述噪声注入模式的激活或停用的一段或多段代码和/或一个或多个存储器区域的信息。
8.根据权利要求1所述的装置,其中,所述处理电路用于执行所述机器可读指令,以在所述可执行文件的执行期间识别用来激活或停用所述噪声注入模式的触发,以使得所述噪声注入模式在预定义的指令集被执行时、在预定义的存储器区域被访问时或者在预定义的库被调用时被激活,并且在此之后被停用。
9.根据权利要求1所述的装置,其中,所述处理电路用于执行所述机器可读指令,以确定期望的噪声注入量,并且以所述期望的噪声注入量来激活所述噪声注入模式。
10.根据权利要求9所述的装置,其中,所述处理电路用于执行所述机器可读指令,以为所述可执行文件的执行确定期望的信噪比,并且基于所述期望的信噪比来确定所述期望的噪声注入量。
11.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以基于所述可执行文件对边通道攻击的易受攻击性来确定所述期望的信噪比。
12.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以从与所述可执行文件捆绑在一起的执行清单获得所述期望的信噪比。
13.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以进一步基于用于执行所述可执行文件的计算机系统的负载来确定所述期望的噪声注入量。
14.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以通过在以下各项中的至少一者启动时执行自测试来确定所述期望的噪声注入量:用于执行所述可执行文件的运行时环境,托管用于执行所述可执行文件的虚拟机的超级监督者,用于执行所述可执行文件的操作系统,以及用于执行所述可执行文件的计算机系统。
15.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以基于披露前最小踪迹mtd参数来确定所述期望的噪声注入量。
16.根据权利要求10所述的装置,其中,所述处理电路用于执行所述机器可读指令,以检测在所述可执行文件的执行期间执行的边通道攻击,并且进一步基于在所述可执行文件的执行期间是否在执行边通道攻击来确定所述期望的噪声注入量。
17.根据权利要求1所述的装置,其中,所述处理电路用于执行所述机器可读指令,以处理与所述可执行文件捆绑在一起的执行清单,所述执行清单指示出在执行所述可执行文件时是否需要噪声注入,并且基于所述执行清单来执行所述可执行文件。
18.一种用于执行可执行文件的方法,该方法包括:
19.一种非暂态机器可读存储介质,包括程序代码,所述程序代码当被执行时,使得一种机器执行如权利要求18所述的方法。
20.一种用于执行可执行文件的方法,该方法包括:
21.根据权利要求20所述的方法,其中,所述执行清单与所述可执行文件捆绑在一起,或者其中,所述执行清单是与所述可执行文件分开获得的。
22.一种非暂态机器可读存储介质,包括程序代码,所述程序代码当被执行时,使得一种机器执行如权利要求20或21中的一项所述的方法。
23.一种用于分发软件或固件的方法,该方法包括:
24.根据权利要求23所述的方法,其中,所述执行清单由所述可执行文件的原始软件供应商与所述可执行文件捆绑在一起,或者其中,所述执行清单是与所述可执行文件一起提供的。
25.一种非暂态机器可读存储介质,包括程序代码,所述程序代码当被执行时,使得一种机器执行如权利要求23或24中的一项所述的方法。
