论文部分内容阅读
本文针对一个C/C++程序静态安全检查工具,设计并实现了基于自动机的安全检查机制,该机制可以使工具的使用者在外部自定义安全规则,动态地解析安全规则来检查源代码中存在的安全漏洞。论文中首先阐述了与安全漏洞相关的基础理论,在此基础上,讨论了基于自动机的安全检查机制并针对安全检查机制设计了以模式和语义结构为主的自动机描述语言文法。为了提高分析的准确性,设计并实现了模式匹配、指针语义、跨过程分析机制。模式匹配采用了抽象语法树同构判断算法;指针语义则是通过语义约束来确定程序唯一语义以达到检查安全漏洞的目的;跨过程分析采用基于总结的上下文敏感分析方法。最后,通过实例验证了基于自动机的安全检查机制可以有效检查出源代码中的安全漏洞。