源码审核技术中的词法分析-中国科学院大学学报.pdf

源码审核技术中的词法分析-中国科学院大学学报.pdf

第 卷第 期 中国科学院研究生院学报 26 3 Vol.26 No.3 年 月 2009 5 JournaloftheGraduateSchooloftheChineseAcademyofSciences May 2009  文章编号: ( ) 10021175200903040807 源码审核技术中的词法分析 , 肖 锋12 张玉清2 (西安电子科技大学计算机网络与信息安全教育部重点实验室,西安 ; 1 710071 2中国科学院研究生院国家计算机网络入侵防范中心,北京 100049) ( 年 月 日收稿; 年 月 日收修改稿) 2008 6 28 2008 11 6 , XIAOFZHANGYQ.Lexicalanalysisinsourcecodeanalysis.JournaloftheGraduateSchooloftheChineseAcademyof , , (): Sciences2009263 408~414 摘 要 源代码审核是指在编码阶段发现和修正软件源代码中存在的安全漏洞,词法分析是 源代码审核中的一项重要技术 详细分析了词法分析的实现过程,完善了危险函数数据库,优 . 化了特征分析方法,特别是将贝叶斯理论成功运用于词法分析,并成功开发出一个词法分析工 具 测试结果表明, 比主流词法分析软件 和 具有更高的完整性和 SSCAN. SSCAN Flawfinder Rats 准确性. 关键词 源代码审核,词法分析,特征分析,贝叶斯决策 中图分类号 TP309 1 引言 从互联网的兴起之后,利用漏洞攻击的网络安全事件不断,并且呈日趋严重的态势发展,利用漏洞 [,] 12 的攻击已经成为危害互联网的主要因素之一 ,因此网络安全人员主动发现系统安全漏洞,对网络攻 防战具有重要的意义. 安全漏洞挖掘最直接、有效的方法是在“编码”阶段与开发者进行沟通,及时发现和修正安全漏洞. 源代码审核就是这样一种技术,通过对软件代码进行分析,然后从特征数据库里抽取感兴趣的内容进行 上下文分析,并对可能存在危险的代码位置进行报警 源代码审核技术包括词法分析、数据流分析与控 . 制流分析 词法分析( )能够完成自动化的检测,检测速度快,在源代码开发阶段能够及时 . lexicalanalysis 提醒程序员编写安全的代码,在源代码审核技术中占有很重要的地位. 本文在对现有的几款开源词法分析工具深入分析的基础之上,讨论了每种工具的优缺点,完善危险 函数数据库,探讨改进词法分析方法,并将贝叶斯理论应用于词法分析,利用Python语言设计出性能优 越的针对 和 语言程序的词法分析工具 ( ),并对其准确性与完整性进行了精确 C C++ SSCANsecurityscan 的测试. 2 词法分析概况 语言中许多库函数存在安全漏洞,如

文档评论(0)

1亿VIP精品文档

相关文档