基于XML的C/C++软件安全静态检测方法研究:降低误报与定制规则

需积分: 0 0 下载量 190 浏览量 更新于2024-09-05 收藏 580KB PDF 举报
本文主要探讨了"基于XML的软件安全静态检测方法研究",针对C/C++语言在安全关键软件设计中常见的安全隐患,如大量未定义行为和不安全用法。由于C/C++并非安全编程语言,因此研究人员致力于制定安全子集和开发代码静态检测工具来提升软件安全性。 论文首先指出,当前国际上已有如MISRA C/C++这样的安全子集标准,旨在限制不安全的编程行为,应用于航空、医疗等领域。然而,这些工具如ITS4和Split存在误报率高以及规则定制能力不足的问题。国内在嵌入式C语言安全子集研究方面,如《GJB5369-2005航天型号软件C语言安全子集》,虽有所进展,但缺乏相应的代码静态检测工具支持。 本文的核心贡献在于提出了一种新的静态检测方法,它基于XML中间模型。通过将C/C++源代码解析为XML形式,可以更好地利用XML在数据存储和交换中的灵活性。这种方法将安全子集中的每一条规则转化为XML中的缺陷模式,然后使用Xquery查询语言将其转换为查询表达式,从而有效地定位软件中违反安全规则的缺陷。 作者周宽久等人采用XML的优势,不仅提高了检测的准确性,还强调了这种方法的可定制性,允许用户根据特定的安全需求调整和定制检测规则。这种基于XML的检测方法在航天型号软件安全性标准《GJB55369-2005》的应用背景下,展示了其在静态检测领域的潜力和实际价值。 总结来说,本文的研究旨在填补国内在支持特定安全子集的代码静态检测工具上的空白,通过XML技术提供了一种有效且可定制的软件安全检测框架,对于提升软件的安全性和开发过程中的效率具有重要意义。