学位论文 > 优秀研究生学位论文题录展示

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

相似论文

  1. 日本小学音乐科教材分析研究,G623.71
  2. 某部队公文存储、归档、查询系统的开发与实现,TP311.52
  3. 基于内容管理系统的网络教学平台的设计与实现,TP311.52
  4. 基于DaVinci DM6446处理器的视频监控系统设计与实现,TP277
  5. 基于PHP语言的校园网视频点播系统的设计与实现,TN948.64
  6. 某市笔记本生产基地信息管理系统的设计与实现,TP311.52
  7. 基于Zend框架的企业办公系统设计与实现,TP311.52
  8. 基于PHP语言的敏捷项目管理软件实现,TP311.52
  9. 方滑枕变形处理及补偿的研究,TG548
  10. PC200路缘石滑模机关键技术研究,U415.5
  11. 天线转台轴承齿轮系统有限元建模与分析,TH132.41
  12. 健美操动作分解计算机辅助教学系统的研究与开发,G831.3-4
  13. 精品课程网络平台系统的开发,TP311.52
  14. 适用于中小学的教学辅助系统设计与实现,TP311.52
  15. 基于Web Services的MO~2GO流程助理系统的设计与实现,TP311.52
  16. ARM反编译中的类型分析技术研究,TP368.1
  17. 辽河油田市场管理综合办公系统,F426.22
  18. 购物类网店系统的设计与实现,TP393.092
  19. 网络招投标计划的设计与实现,TP393.09
  20. 恶意代码检测及其行为分析,TP393.08
  21. 基于开源软件的GLOBEC数据在线地图服务的研究,TP393.092

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com