CISP0208恶意代码与安全漏洞课件.pptVIP

  • 3
  • 0
  • 约3.69万字
  • 约 130页
  • 2016-09-21 发布于河南
  • 举报
控制流分析的目标是得到程序的一个控制流图(controlflowgraph).控制流图是对程序执行时可能经过的所有路径的图形化表示.通过根据不同语句之间的关系,特别是考虑由“条件转移”、“循环”等引入的分支关系,对过程内的一些语句进行合并,可以得到关于程序结构的一些结果.一个控制流图是一个有向图:图中的结点对应于程序中经过合并的基本语句块,图中的边对应于可能的分支方向,例如条件转移、循环等等,这些都是分析程序行为的重要信息。 * (4)数据流分析(dataflowanalysis).数据流分析试图确定在程序的某一点(语句)关于各个变量的使用或者可能取值情况.数据流分析一般从程序的一个控制流图开始.数据流分析主要有前向分析(forwardanalysis)、后向分析(backwardanalysis) 两种方法.前向分析的一个例子是可达定义(reachingdefinitions).它计算对于程序的每一点,可能到达该点的定义的集合.后向分析的一个例子是活跃变量(livevariables).它计算对于程序的每一点,程序后面的语句可能读取且没有再次修改的变量. 这个结果对于消除死代码(deadcode)很有用:如果一个变量在某个阶段被定义后,后面的语句一直不会用到这个定义,那么这个定义就是死代码,应该从程序中删除.基于格(lattice)与不动点(fixpoint)理论的数据流分析是

文档评论(0)

1亿VIP精品文档

相关文档