论文摘要
嵌入式应用软件广泛使用的C语言并不是一种安全编程语言,一个重要原因是其标准中存在大量未定义行为和不安全的用法,而对于未定义行为,不同编译器给出不同的解释,从而产生大量安全隐患。当前,避免这些安全隐患的通常做法是制定针对嵌入式C语言的安全子集以及支持安全子集的代码审核系统,在编写代码阶段加以限制和规范,从而很大程度上预防和去除大量的软件缺陷。本文针对《GJB 5369-2005》进行了深入研究,参考编译系统的设计理念,提出了一个基于XML中间模型以及缺陷模式匹配的软件静态检测模型和代码审核系统设计方法。通过对源代码进行语法制导的解析,提取源代码文件中所有安全属性信息,利用XML(extensible Markup Language)在数据存储和数据交换中的优势,将提取出的源代码安全属性信息存储在XML中间模型中。为实现基于安全编程规范的检测,提出了将安全子集的每一条规则抽象为缺陷模式的检测方法,并使用Xquery查询语言将缺陷模式转换成Xquery表达式,利用Xquery表达式查询和定位XML中间模型中与缺陷模式匹配的节点。通过在系统外围建立独立的安全知识库,并提供对安全编程规范的配置接口,支持代码检测人员根据软件型号或应用背景调节安全知识库中规则的安全等级和启动条件,实现了对规则的灵活配置。随后,通过缺陷重定向机制完成缺陷从XML中间模型到源文件中的精确定位。最后利用Visual Studio2008开发工具实现一个运行于Windows环境下的代码自动审核系统C Detector。该系统在对代码安全性审核完全自动的基础上,也为检测人员提供了对安全编程规则的灵活配置。通过对系统的测试分析,验证了系统在检测软件安全隐患和提高软件安全等级上的实用价值。
论文目录
相关论文文献
- [1].利用代码重构改善软件设计[J]. 信息记录材料 2020(09)
- [2].代码对比与动态规划[J]. 电脑编程技巧与维护 2017(03)
- [3].什么样的代码才是好代码[J]. 计算机与网络 2017(06)
- [4].安全通论(14)——病毒式恶意代码的宏观行为分析[J]. 成都信息工程大学学报 2017(01)
- [5].恶意代码同源判定技术综述[J]. 通信技术 2017(07)
- [6].基于方法的克隆代码检测[J]. 信息与电脑(理论版) 2017(13)
- [7].市代码[J]. 山西教育(招考) 2020(03)
- [8].有关信息代码[J]. 山西教育(招考) 2019(02)
- [9].关于机场的冷知识[J]. 意林 2019(22)
- [10].市代码[J]. 山西教育(招考) 2016(08)
- [11].代码自动生成及代码上下文分析研究综述[J]. 数据通信 2020(02)
- [12].智能代码补全研究综述[J]. 软件学报 2020(05)
- [13].基于文本分类技术的恶意代码检测工具应用[J]. 科技经济导刊 2020(27)
- [14].克隆代码映射的方法与应用[J]. 计算机工程与应用 2017(06)
- [15].基于增强描述的代码搜索方法[J]. 软件学报 2017(06)
- [16].银行代码安全审计工作探索与实践[J]. 网络安全技术与应用 2017(08)
- [17].重视统一信用代码的应用[J]. 浙江经济 2017(19)
- [18].代码依恋检测与重构研究[J]. 电子科技 2016(11)
- [19].基于相识度的恶意代码检测[J]. 计算机科学 2015(01)
- [20].有关信息代码[J]. 山西教育(招考) 2018(03)
- [21].有关信息代码[J]. 山西教育(招考) 2016(Z1)
- [22].有关信息代码[J]. 山西教育(招考) 2011(08)
- [23].基于模糊识别恶意代码检测技术的研究[J]. 微电子学与计算机 2014(06)
- [24].恶意代码加壳脱壳技术[J]. 辽宁警专学报 2014(05)
- [25].代码复查的要点探讨[J]. 技术与市场 2013(06)
- [26].代码规制:构建安全文明网络的必由之路[J]. 保密科学技术 2013(07)
- [27].消除隔阂,提升效率——MATHWORKS推出基于MATLAB生成HDL代码的产品[J]. 世界电子元器件 2012(05)
- [28].C~#托管代码调用非托管代码参数传递的实现方法[J]. 软件导刊 2011(01)
- [29].恶意代码与信息安全[J]. 硅谷 2011(18)
- [30].代码证书遗失声明[J]. 大众标准化 2010(12)