一种二进制代码安全审计方法及相关装置与流程

摘要: 本发明属于网络安全,具体涉及一种二进制代码安全审计方法及相关装置。背景技术:1、随着工业互联网的快速发展,大量关键基础设施采用了嵌入式系统或工控应用程序。这些系...
一种二进制代码安全审计方法及相关装置与流程

本发明属于网络安全,具体涉及一种二进制代码安全审计方法及相关装置。

背景技术:

1、随着工业互联网的快速发展,大量关键基础设施采用了嵌入式系统或工控应用程序。这些系统往往运行在封闭的、与互联网物理隔离的环境中,而且出于安全和保密的考虑,通常禁止使用u盘、移动硬盘等移动存储设备进行数据交换。

2、然而,安全审计人员需要对这些二进制代码进行安全性分析。现有的技术方案通常需要审计人员携带专用设备进入现场,通过物理接口(如联合测试行动组jtag,jointtest action group、串口)或移动存储设备拷贝代码,这不仅存在极大的安全风险,可能引入病毒或木马,而且在很多高保密级别的场所是被严格禁止的。

3、因此,如何在不接触物理设备、不使用移动存储介质的情况下,安全、合规地提取二进制代码并进行审计,成为亟待解决的问题。

技术实现思路

1、本发明的目的在于提供一种二进制代码安全审计方法及相关装置,用于解决现有技术中对二进制代码进行安全审计时,存在极大的安全风险的问题。

2、为了实现上述目的,本发明采用如下技术方案:

3、第一方面,本发明提供一种二进制代码安全审计方法,包括以下步骤:

4、获取待审计的二进制代码,记作二进制代码;

5、获取运行二进制代码所需要的目标环境配置;

6、构建虚拟化容器,在虚拟化容器中加载二进制代码和二进制代码所需要的目标环境配置,得到二进制代码的运行环境;

7、在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果;

8、基于审计结果,对二进制代码的安全脆弱性进行分析,得到二进制代码安全审计报告。

9、本发明进一步的改进在于,所述获取待审计的二进制代码,记作二进制代码,具体为:

10、采用非接触式方法,获取待审计的二进制代码,记作二进制代码;

11、所述获取运行二进制代码所需要的目标环境配置,具体为:

12、采用非接触式方法,获取运行二进制代码所需要的目标环境配置。

13、本发明进一步的改进在于,所述待审计的二进制代码包括嵌入式系统固件、工控应用程序或动态链接库文件。

14、本发明进一步的改进在于,所述目标环境配置包括操作系统类型、版本信息、硬件架构信息和依赖库列表。

15、本发明进一步的改进在于,所述构建虚拟化容器,具体为:

16、采用开源的docker虚拟化容器技术,构建虚拟化容器。

17、本发明进一步的改进在于,得到二进制代码的运行环境之后,对二进制代码的运行环境进行检查,确认二进制代码的运行环境中的配置信息是否与运行二进制代码所需要的目标环境配置一致。

18、本发明进一步的改进在于,所述在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果,具体为:

19、综合采用静态反汇编分析技术、动态模糊测试技术和动态污点分析技术,在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果。

20、第二方面,本发明提供一种二进制代码安全审计系统,包括:

21、第一数据获取模块,用于获取待审计的二进制代码,记作二进制代码;

22、第二数据获取模块,用于获取运行二进制代码所需要的目标环境配置;

23、运行环境确定模块,用于构建虚拟化容器,在虚拟化容器中加载二进制代码和二进制代码所需要的目标环境配置,得到二进制代码的运行环境;

24、审计结果确定模块,用于在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果;

25、分析模块,用于基于审计结果,对二进制代码的安全脆弱性进行分析,得到二进制代码安全审计报告。

26、第三方面,本发明提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述介绍的二进制代码安全审计方法的步骤。

27、第四方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的二进制代码安全审计方法的步骤。

28、与现有技术相比,本发明具有如下有益效果:

29、本发明提出的二进制代码安全审计方法,一方面构建虚拟化容器,在虚拟化容器中加载二进制代码和二进制代码所需要的目标环境配置,得到二进制代码的运行环境,可见本发明从物理环境层面规避了恶意程序对外攻击、破坏的风险,另一方面而且在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果,可见本发明不仅可以全方位地挖掘二进制代码的安全漏洞,审计覆盖范围更广,而且所有静态分析和动态测试操作均在二进制代码的运行环境中进行,代码动态执行的全过程受到严格管控,有效地规避审计过程中的安全风险。

30、进一步地,本发明公开了综合采用静态反汇编分析技术、动态模糊测试技术和动态污点分析技术,在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果,可见本发明可以全面覆盖二进制代码静态缺陷、动态运行漏洞、数据安全风险等各类安全问题。

1.一种二进制代码安全审计方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的二进制代码安全审计方法,其特征在于,所述获取待审计的二进制代码,记作二进制代码,具体为:

3.根据权利要求1所述的二进制代码安全审计方法,其特征在于,所述待审计的二进制代码包括嵌入式系统固件、工控应用程序或动态链接库文件。

4.根据权利要求1所述的二进制代码安全审计方法,其特征在于,所述目标环境配置包括操作系统类型、版本信息、硬件架构信息和依赖库列表。

5.根据权利要求1所述的二进制代码安全审计方法,其特征在于,所述构建虚拟化容器,具体为:

6.根据权利要求1所述的二进制代码安全审计方法,其特征在于,得到二进制代码的运行环境之后,对二进制代码的运行环境进行检查,确认二进制代码的运行环境中的配置信息是否与运行二进制代码所需要的目标环境配置一致。

7.根据权利要求1所述的二进制代码安全审计方法,其特征在于,所述在二进制代码的运行环境中对二进制代码进行静态分析和动态测试,得到审计结果,具体为:

8.一种二进制代码安全审计系统,其特征在于,包括:

9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的二进制代码安全审计方法的步骤。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的二进制代码安全审计方法的步骤。