借助现有的软件代码安全检测技术,分析了设备嵌入式软件的漏洞行为和结构,形成了设备嵌入式软件的漏洞特征和系统不安全行为属性规范。通过软件属性规范的逻辑计算,形成了软件安全加固需求。采用基于安全规范属性模板的漏洞加固代码生成方法,提出了软件代码中潜在的安全漏洞加固代码生成技术,对不安全代码进行自动加固和代码补充。代码自动加固技术是解决软件漏洞修复问题的安全需求软件合成技术。
软件合成技术最早可以追溯到1932年。KOLMOGOR-OFF提出,在结构性数学中(constructivemat-ics),可以通过编写小的子程序,然后将其组合形成算法。微软的GULWANI定义了程序集成的三个维度,即用户需求、搜索空间和搜索技术,也是最早将程序集成的方法应用于实际应用的方法。BECKER提出了一个机器学习生成软件程序的系统。该系统使用遗传算法(GA)只能通过较少的人工指导生成软件程序。微软的BALOG等。
神经网络预测要生成的程序的属性,有效地减少了列表生成代码过程中的状态空间,使代码生成。这个过程变得更快、更准确。由于软件合成技术还不成熟,现代软件代码的自动生成主要依靠模板来实现代码生成的自动化。模板技术是一种基于案例分析的类似知识重用技术。ARNOLDUS从数学角度讨论模板,以改进模板的使用。模板技术的核心是设计信息的重用和参数的变化,这本质上是一个占位符的动态替换过程。模板技术需要模板文件、元数据和模板引擎的关键概念,其中模板引擎是核心,主要读取模板文件和元数据,然后根据模板引擎内部规则、变量匹配替换等进行转换,最终形成目标代码。基于现有的软件安全检测技术,进一步利用检测报告和模板技术的思想,提出了软件源代码的自动安全加固方法。