学位论文 > 优秀研究生学位论文题录展示
PHP程序静态分析系统的设计与实现
作 者: 聂世超
导 师: 赵东范
学 校: 吉林大学
专 业: 计算机软件与理论
关键词: PHP 静态分析 数据流分析 别名分析
分类号: TP311.52
类 型: 硕士论文
年 份: 2011年
下 载: 78次
引 用: 0次
阅 读: 论文下载
内容摘要
随着互联网技术的高速发展,网络应用数量保持了快速的增长。与此同时,网络应用中的安全漏洞数量和影响程度也在随之增加。而人工的代码审核有着耗时、易出错以及成本高的缺点,不断变化着的互联网环境对保守的技术方案提出了挑战,自动审核技术的迫切需求已经显现。因此,本文选择对流行的脚本语言PHP进行基于源码的静态分析研究,包括了编译前端,控制流图构建、数据流分析和缺陷函数设计等主要部分。编译前端部分主要是对词法分析和语法分析进行了研究,同时结合PHP语言的实际情况,在已有的开源软件基础上,搭建了高效准确的源码编译模块。作者在此处增加了对PHP语言中类的考虑,扩大了静态分析范围,为后续处理提供了全面的数据基础。在构建控制流图的过程中,定义了相关数据结构,并将抽象语法树作为输入,完成了向控制流图转换的过程,同时对路径分析子模块的算法思想进行了介绍,以上工作为PHP源码静态分析系统的高效运行在技术上提供了可靠的保证。对PHP源码静态分析系统的数据流分析做了详尽的研究。PHP语言具有弱类型的特点,该特点对PHP源码的静态分析可能造成数据类型分析过程复杂、分析性能下降、分析结果准确率降低等问题。目前,国外有关静态分析技术方面采用了格结构、转换函数等概念,其中格结构是用来存贮控制流图节点的数据结构,便于记录节点信息以及节点间的比较,转换函数则是用于对初始的格结构进行统一格式转换。本文还在文本分析、别名分析以及污点分析的研究中,针对不同分析的特点,对格结构和转换函数进行了适应性的优化,对系统分析准确度的提升起到了很大的帮助作用。在缺陷函数的设计方面,对实际应用中的常见漏洞进行了分类,首先从大的类别上明确了整体的解决流程,随后对具体漏洞进行了逐一分析,提供了较好的解决方案,覆盖了当前在线应用中的常见漏洞场景。以上的分析技术均已实现,作者在完成了大量工作的同时创新性的提出了一种对PHP语言中类成员的静态分析方法,在国内PHP源码静态分析领域处于领先地位,这为后续PHP源码静态分析的进一步研究提供了较好的基础,未来的工作重点将会是根据实际场景中遇到的各种漏洞,提出更具针对性的解决方案,进一步提升分析结果的准确度。
|
全文目录
摘要 4-5 Abstract 5-8 第1章 绪论 8-12 1.1 选题意义 8-9 1.2 国内外研究现状 9-10 1.3 主要研究内容和作者主要工作 10-11 1.3.1 主要研究内容及作者主要工作 10 1.3.2 本文章节安排 10-11 1.4 本章小结 11-12 第2章 静态分析技术概述 12-18 2.1 静态分析特点 12 2.2 静态分析主要方法 12-15 2.2.1 类型推断 12-13 2.2.2 数据流分析 13-14 2.2.3 约束分析 14-15 2.2.4 方法小结 15 2.3 PHP脚本语言概述 15-16 2.3.1 PHP特点简介 15-16 2.3.2 PHP源码主要缺陷概述 16 2.4 本章小结 16-18 第3章 PHP程序静态分析系统设计 18-31 3.1 总体设计 18-19 3.2 源码编译模块 19-22 3.2.1 模块概述 19 3.2.2 词法分析 19-21 3.2.3 语法分析 21-22 3.3 控制流图构建模块 22-26 3.3.1 数据结构 22-23 3.3.2 控制流图生成算法 23-25 3.3.3 路径分析算法 25-26 3.4 数据流分析模块 26-27 3.5 缺陷分析模块 27-30 3.5.1 基于语义的缺陷分析 28-30 3.5.2 基于数据流的缺陷分析 30 3.6 本章小结 30-31 第4章 数据流分析模块的实现 31-46 4.1 数据流分析 31-33 4.2 文本分析 33-38 4.2.1 格定义 33-34 4.2.2 转换函数定义 34-37 4.2.3 对别名分析的依赖 37-38 4.3 别名分析 38-42 4.3.1 别名概述 38 4.3.2 格定义 38-40 4.3.3 转换函数定义 40-42 4.4 污点分析 42-44 4.4.1 污点分析概述 42 4.4.2 格定义 42-43 4.4.3 转换函数定义 43-44 4.5 本章小结 44-46 第5章 实验数据和结论 46-47 第6章 总结和展望 47-48 参考文献 48-50 作者简介 50-51 致谢 51
|
相似论文
- 日本小学音乐科教材分析研究,G623.71
- 某部队公文存储、归档、查询系统的开发与实现,TP311.52
- 基于内容管理系统的网络教学平台的设计与实现,TP311.52
- 基于DaVinci DM6446处理器的视频监控系统设计与实现,TP277
- 基于PHP语言的校园网视频点播系统的设计与实现,TN948.64
- 某市笔记本生产基地信息管理系统的设计与实现,TP311.52
- 基于Zend框架的企业办公系统设计与实现,TP311.52
- 基于PHP语言的敏捷项目管理软件实现,TP311.52
- 方滑枕变形处理及补偿的研究,TG548
- PC200路缘石滑模机关键技术研究,U415.5
- 天线转台轴承齿轮系统有限元建模与分析,TH132.41
- 健美操动作分解计算机辅助教学系统的研究与开发,G831.3-4
- 精品课程网络平台系统的开发,TP311.52
- 适用于中小学的教学辅助系统设计与实现,TP311.52
- 基于Web Services的MO~2GO流程助理系统的设计与实现,TP311.52
- ARM反编译中的类型分析技术研究,TP368.1
- 辽河油田市场管理综合办公系统,F426.22
- 购物类网店系统的设计与实现,TP393.092
- 网络招投标计划的设计与实现,TP393.09
- 恶意代码检测及其行为分析,TP393.08
- 基于开源软件的GLOBEC数据在线地图服务的研究,TP393.092
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com
|