发布网友
共2个回答
热心网友
对程序进行安全审计时,能够获得源代码当然是最好的。但很多情况下,程序的源代码是无法获取的,这时就需要对二进制代码进行分析研究。通常的方法是通过逆向工具反汇编二进制代码得到汇编代码,再在汇编代码的基础上进行分析。优秀的逆向工具还可以得到程序的控制流图,控制流图能显示程序有哪些分支、哪些路径,有了控制流图就可以理解程序的内部结构。然而控制流并不能提供程序的输入和程序执行路径的关系。输入和路径的关系对于理解二进制程序十分重要,得到这种关系,就能知道程序在什么样的输入下会执行什么样的路径。这样的信息无论对于路径覆盖测试还是对于漏洞挖掘都是至关重要的。在基于源代码的安全检测中,常采用符号执行技术。符号执行通过符号表达式来模拟程序的执行。程序的输出被表示成包含这些符号的逻辑或数学表达式。由于不需要真正的执行程序,应用该技术的成本小、效率高。EXE[1]和KLEE[2]都采用了这种方式并取得了良好的效果,然而应用于汇编代码(二进制代码反汇编得到)分析却会遇到如下一些难题:1)识别变量。
热心网友
推荐你下载领测国际官网的整套视频,学习软件测试从入门到精通,很齐全。可以看看