一种基于流分析的源码检测工具

来源 :吉林大学 | 被引量 : 0次 | 上传用户:maming821023
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息化的高速发展,软件技术的发展也越来越快,如今已经成为人们生活中必不可的一部分,在日常生活当中的地位和作用也日显突出。如今,软件的规模日益庞大,软件中存在的缺陷和错误也越来越难以发现,传统手动检测软件缺陷的方法已经很难适应软件发展的步伐,开发软件自动检测工具成为一种必然。软件存在缺陷,发现的越早,损失才会越小,对软件可靠性的影响也会越小;在开发阶段尽可能的排除软件缺陷,从根源上减少软件存在的隐患。软件检测技术主要分为静态检测和动态检测两种,动态检测工具在程序运行的时候对系统进行检测,但是如果程序本身存在缺陷,动态检测工具无法检测;静态检测不需要代码的实际运行,通过分析源代码和中间代码进行检测。目前,国内能进行源代码静态分析工具很少,现有的研究成果对源代码中的脆弱性进行测评的能力也很弱。所以,能够提高在软件的安全性方面的漏洞分析能力,建立系统的、实用化的源代码漏洞分析系统,对国内软件检测工作有很大的意义。本文以静态分析技术为基础进行缺陷检测的研究,主要完成Python程序中存在死代码、未定义变量、定义变量和函数未使用等缺陷检测工作,缺陷检测将覆盖常见的Python缺陷类别,包括命令注入、Eval注入缺陷类型等。此外,通过文献的阅读和对比现有检测工具的不足,本文为用户提供XML格式的检测规则扩展接口,方便用户定义添加自定义检测规则;检测结果输出支持XML、HTML等多种格式,将输出完整的触发路径、数据传播途径、缺陷位置、缺陷类型、缺陷描述、可能的修补手段及危险级别等重要信息;在Linux开发环境下,本文的设计将支持Python程序进行控制流分析和数据流分析;能够正确对Python源文件进行词法和语法分析;能够正确的将表达式转化成为抽象语法树;能够提供过程内、过程间等各种层次的分析,全面深入的进行缺陷检测;解析过的Python程序转化为一种适宜分析的三地址码形式,系统能构建分析所需要的控制流、数据流等辅助信息;此外,在分析过程中,系统能够记录足够丰富的缺陷上下文,采用路径敏感遍历算法和文件间分析算法,提高了检测结果的精确度,有效减少了漏报率,准确定位和提供漏洞的详细信息。通过污点传播的净化处理,提高了检测的报警精度,降低了误报率。
其他文献
近年来,我国城镇化和机动化不断推进,城市交通问题日益严重。相比于个体小汽车出行,公共交通具有集约高效、节能环保等优点,优先发展公共交通已经成为社会共识。公交企业是城
乌梅丸为仲景《伤寒论》所载之经方。其方为治蛔厥和下利所设,组方严谨,配伍得当,具有止痛安蛔之功。通过历代医家的不断实践,其现代临床应用范围大为拓宽。该方的运用,是祖
<正>近年来,四川省川陕革命老区发展取得巨大进步,但仍滞后于全国、全省发展水平,与其他革命老区相比存在较大差距。尤其原川陕苏区所在巴中、广元、达州等区域发展严重滞后,
目的探讨血管平滑肌细胞发生表型转化在高盐饮食诱导的Wistar大鼠颈动脉重构中的作用以及替米沙坦的干预效应。方法雄性Wistar大鼠随机分为对照组(0.5%Na Cl饲料饲养)、高盐模
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
针对重庆市地理空间信息目录发布社会化应用服务和测绘档案信息化管理面临的问题,满足社会各行业了解基础地理空间信息成果资料的普遍需求,重庆市地理信息中心完成了重庆市地
随着我国煤化工产业的不断发展,环境污染问题逐渐凸显,如何确保新型煤化工产业充分贯彻环保理念成为公众关注的一个主要问题。基于此,文章从新型煤化工技术的发展现状入手,阐
陶鼎是新石器时期常见陶器类型之一,分布范围广泛,各地区陶鼎发展情况不一。两湖地区是陶鼎分布的重要区域,但对其专门性研究尚显不足。文章基于20世纪以来考古工作的开拓和
1946年5月,在二战后日本东京的一片废 墟中,技术天才井深大和盛田昭夫联袂创建 了东京通信工业株式会社(1958年更名为索 尼公司)。创立之初,公司仅有19万日元资本 金,22名员工,雄心勃勃的创业者把