PHP程序静态分析系统的设计与实现

被引量 : 0次 | 上传用户:cryingboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网技术的高速发展,网络应用数量保持了快速的增长。与此同时,网络应用中的安全漏洞数量和影响程度也在随之增加。而人工的代码审核有着耗时、易出错以及成本高的缺点,不断变化着的互联网环境对保守的技术方案提出了挑战,自动审核技术的迫切需求已经显现。因此,本文选择对流行的脚本语言PHP进行基于源码的静态分析研究,包括了编译前端,控制流图构建、数据流分析和缺陷函数设计等主要部分。编译前端部分主要是对词法分析和语法分析进行了研究,同时结合PHP语言的实际情况,在已有的开源软件基础上,搭建了高效准确的源码编译模块。作者在此处增加了对PHP语言中类的考虑,扩大了静态分析范围,为后续处理提供了全面的数据基础。在构建控制流图的过程中,定义了相关数据结构,并将抽象语法树作为输入,完成了向控制流图转换的过程,同时对路径分析子模块的算法思想进行了介绍,以上工作为PHP源码静态分析系统的高效运行在技术上提供了可靠的保证。对PHP源码静态分析系统的数据流分析做了详尽的研究。PHP语言具有弱类型的特点,该特点对PHP源码的静态分析可能造成数据类型分析过程复杂、分析性能下降、分析结果准确率降低等问题。目前,国外有关静态分析技术方面采用了格结构、转换函数等概念,其中格结构是用来存贮控制流图节点的数据结构,便于记录节点信息以及节点间的比较,转换函数则是用于对初始的格结构进行统一格式转换。本文还在文本分析、别名分析以及污点分析的研究中,针对不同分析的特点,对格结构和转换函数进行了适应性的优化,对系统分析准确度的提升起到了很大的帮助作用。在缺陷函数的设计方面,对实际应用中的常见漏洞进行了分类,首先从大的类别上明确了整体的解决流程,随后对具体漏洞进行了逐一分析,提供了较好的解决方案,覆盖了当前在线应用中的常见漏洞场景。以上的分析技术均已实现,作者在完成了大量工作的同时创新性的提出了一种对PHP语言中类成员的静态分析方法,在国内PHP源码静态分析领域处于领先地位,这为后续PHP源码静态分析的进一步研究提供了较好的基础,未来的工作重点将会是根据实际场景中遇到的各种漏洞,提出更具针对性的解决方案,进一步提升分析结果的准确度。
其他文献
体细胞重编程是指用特定方法使已分化的细胞重新获得多能性的过程,可通过核移植、细胞融合、多能细胞提取物共培养和诱导性多能干细胞等途径实现。其中,诱导性多能干细胞技术
随着我国经济的飞速发展,非营利事业单位的角色地位进一步凸显,为了使其保持在健康的发展轨道上,需要对非营利事业单位的财政资金绩效审计与财政税收予以足够的重视,并进行相
目前,在涉外物权法律问题中适用得最为广泛、且起着主导作用的冲突法规则是涉外物权关系适用物之所在地法。自20世纪以来,“物之所在地法”的确已成为各国解决包括动产和不动
政治信仰及其体系的建立是国家长治久安的基础,是决定一个国家、民族命运的根本因素之一。改进和加强大学生政治信仰教育,必须提高大学生的政治素质,树立其坚定的科学的政治
王羲之的妻子儿孙考索刘茂辰要全面地、具体地研究书圣王羲之,不可不了解其家人的情况.但是,王羲之的妻子儿女及诸孙,史书记载非常零碎,分散.有些并无直接史料,需要进行深入细致的考
从弗·施莱格尔的文艺理论看德国浪漫派精神本文从诗论、神话论、小说论、文学批评的实践等方面来梳理弗·施莱格尔的文艺理论思想,希图从中见出德国浪漫派的精神,以及对于文
随着我国社会和经济的发展,市场经济对我国高等教育领域的冲击不断加大,尤其是在高等教育从精英化发展到大众化的今天。大学今后的发展方向、大学到底应该发挥什么样的作用、
“不当出生”是学者们对英文"wrongful birth"的直接翻译,同时也有的学者翻译为“错误出生”或者“错误生产”。所谓的不当出生,是指由非计划儿(unplanned children)或者非期
侵权行为归责理论发展到近代,业已形成一套既定的通说,即运用过错责任原则和无过错责任原则的两分法来构建整个侵权法的基本框架。但单纯依靠传统归责理论的划分方式清晰地勾
在经济高速增长、企业运营环境不断变化的今天,企业之间的竞争越来越激烈,如何在日益白热化的竞争中脱颖而出并成为行业中的佼佼者成为企业求生存谋发展亟待解决的难题,实现