嵌入式软件安全性分析和测试方法研究

/ 2

嵌入式软件安全性分析和测试方法研究

王亮,郑智健,董浩,尚二雷 段嗣宗

北方自动控制技术研究所 030006

摘要:

嵌入式软件的广泛应用使得其安全性问题备受关注,本文对嵌入式软件安全性和测试方法进行了分析和研究。首先阐述了嵌入式软件的发展现状与安全性能分析,然后详细介绍了嵌入式软件安全测试的主要方法与技术,最后分析了嵌入式软件的安全测试类别与测试过程。

关键词:嵌入式软件;安全性分析;安全测试方法

引言:

随着大数据时代的来临,计算机软件被广泛应用于各个领域,计算机软件开发技术得到迅猛发展。计算机软件数量的骤增对安全问题带来了不小的挑战,在这样的背景下,嵌入式软件开始逐渐被人们熟知。嵌入式软件可以实现对计算机软件的安全性能检测,不仅可以对软件存在的漏洞进行筛查,还能有效预防不安全因素,极大程度的保护了用户的信息财产安全。所以对嵌入式软件安全性缝隙和测试方法研究有利于促进计算机软件朝着更安全的方向发展[1]

  1. 嵌入式软件现状和安全性能分析

    1. 嵌入式软件发展现状

嵌入式软件作为计算机中一种重要的软件,其与其他软件相同均是由程序和文件构成。嵌入式软件具有较强的实用性和灵活性,是其被广泛应用的主要原因。嵌入式软件的实用性体现在其服务于嵌入式系统,这就导致了嵌入式软件与硬件之间存在联系。嵌入式软件的开发均已应用为目的,根据客户的不同需求进行设计,因此每款嵌入式软件都具备特定的应用价值。嵌入式软件的灵活性体现在嵌入式模块体积小、能耗低、可靠性高,其可以灵活的应用在各中软件系统中发挥作用,而且不会影响原系统功能的运行。嵌入式软件中最为主要的分类为系统、支撑、应用三大类,在我国的各行各业中均有一定的应用价值,基于我国电子设备用户数量巨大的基本国情,目前嵌入式软件在电子产品中的应用规模最为庞大[2]

    1. 嵌入式软件的安全性分析

嵌入式软件主要服务于嵌入式系统,软件安全一旦出现问题,系统的运行得不到保障,进而造成不可挽回的损失。嵌入式软件的安全性是指嵌入式软件在运行过程中不会发生任何安全事故,而且不会对操作人员、财产安全和环境安全产生任何影响[3]。嵌入式软件的安全性主要体现在系统的安全性,这是因为嵌入式软件类型各异且一般规模较大,这就造成了软件各个部分之间的交叉和耦合较多。提高嵌入式软件的安全性是有效解决上述安全性问题的关键,因此有关部门将嵌入式软件开发进行了标准化并在开发过程中制定了严格的评审和测试过程,运用科学的手段保障嵌入式软件的安全性,从而达到防患于未然的目的。

  1. 嵌入式软件的安全测试技术

    1. 主要测试方法

当前嵌入式软件安全测试方法是结构化检测方法,是指对将嵌入式软件进行组织架构的分割,然后逐个全面的进行测试[4]。嵌入式软件的安全测试必须遵循科学性原则和全面性原则,对嵌入式软件进行定期的安全性测试是一项重要的测试任务。结构化检测方法主要通过两个方面的检测,一是基础信息检测,主要针对的是嵌入式软件的基础设施、基本技术进行检测;二是特定部位的针对性检测,主要针对嵌入式软件中程序软件的检测。这两部分的检测结合在一起大大提高了嵌入式软件整体的检测科学性和全面性,进而提高了嵌入式软件的安全性能。

    1. 交叉检测技术

嵌入式软件的安全测试依赖于嵌入式软件检测技术,在实际的检测任务中交叉检测技术被运用的最为广泛[5]。由于大面积的应用,交叉检测技术已经较为成熟,其检测方法如下:首先分析嵌入式软件的工作环节,保障工作环境的稳定性。其次编写并构件检测运行脚本,制定成为检测指令后,将指令下达至需要检测的系统。然后将检测代理结合,促使需要检测的系统可以有效运行检测指令。因为嵌入式软件系统通常资源较少,所以需要将测量数据传输至原系统。系统将数据收集并进行相关处理,最终汇总到原系统的主机上。

  1. 嵌入式软件的安全测试类别与测试过程

  1. 软件功能的测试

实用性强是嵌入式软件的主要特点,而功能则是体现软件实用性的重要指标,所以在对嵌入式软件进行测试时需要对软件的功能进行重点的安全测试。嵌入式软件在进行开发设计时开发人员为了保障软件的安全性通常会根据安全需求进行安全设施的增设,常见的安全措施包含数据加密、权限管理等,因此安全测试要根据安全设施进行设计,针对嵌入式软件的安全性能进行测试。嵌入式软件安全测试中最常见的方法是黑盒测试,其检测原理为:将系统软件程序看作一个整体的黑匣子,在接口处进行测试,检查程序功能是否正常运行,若可以正常使用则表明软件程序正常,反之则表明软件程序存在安全问题。

  1. 软件漏洞的测试

对于包括嵌入式软件在内的所有软件而言,软件漏洞问题是不可忽视的一点。软件漏洞是导致黑客入侵的根本因素,所以嵌入式软件漏洞的安全性检测是保障数据信息和系统安全运行的关键。在软件漏洞的安全测试时,测试人员应站在黑客入侵的角度进行考虑,这样才能最大程度上找出软件中存在的漏洞。嵌入式软件由于其复杂性高,所以漏洞形成的方式也是千变万化,这导致了目前对嵌入式软件漏洞还未形成标准化的检测方式,相关研究表明DREAR模型在嵌入式软件漏洞检测中应用效果较好。

  1. 安全测试过程

嵌入式软件安全测试的最终目的是测试出软件是否存在缺陷与漏洞,C++代码的运用可以对软件漏洞进行挖掘,静态分析是一种挖掘嵌入式软件漏洞的实用方法,即使此方法还不能保障结果的百分百正确,但是其应用效果较好。静态分析使用静态分析工具对待测的嵌入式软件进行挖掘,同时能分析出漏洞产生的危害,为如何解决漏洞问题提供方案指导。

结语:

综上所诉,嵌入式软件的安全测试是保障嵌入式软件稳定运行的一项重要工作,因此在软件开发设计时工作人员应针对软件安全问题进行针对性测试,结构化检测方法和交叉检测技术可以有效为软件安全测试提供有力的方法与技术。另外测试人员应注重软件功能和可能存在的漏洞进行专项测试,保证嵌入式系统的稳定运行。

参考文献:

  1. 董丽,赵琪,周健.嵌入式软件安全性分析和测试方法研究[J].信息系统工程,2021(05):70-71.

  2. 张宝斌.面向安全性分析的嵌入式软件测试方法研究[J].电子测试,2020(11):117-118.

  3. 吴冬梅.基于安全性分析的嵌入式软件测试[J].电子技术与软件工程,2019(21):30-31.

  4. 周光海.面向安全性分析的嵌入式软件测试方法研究[J].电子世界,2019(05):84-85.

  5. 郭福洲.面向安全性分析的嵌入式软件测试方法研究[J].电子世界,2019(01):48+50.