0

在污点分析中,污点源是可能产生不可信或外部输入的程序位置或语句。

我的目标:使用动态分析(最好)识别程序的所有外部用户输入,例如 cmdline-input 、文件读取、环境和网络变量并传播污点。

我阅读了本教程-http ://shell-storm.org/blog/Taint-analysis-and-pattern-matching-with-Pin/,它使用英特尔 PIN 拦截读取系统调用并传播污点。我想扩展它以包括上面提到的各种外部输入。(首先,对于 C-scanf,gets,fopen 等)

是否有任何动态分析工具可以帮助我识别通用外部输入?任何其他具有特定目标的方法也值得赞赏。谢谢

4

1 回答 1

0

我假设您只针对 Linux。

一般来说,程序获取外部输入的方式是通过使用系统调用与操作系统联系。你在谈论 libc 函数。这是更高层次的抽象。我建议在系统调用级别查看输入。

此外,程序的另一个输入是环境变量和命令行参数,它们在程序启动时在堆栈中找到。

还要考虑的另一件事是各种形状和形式的共享内存。

于 2016-03-26T13:05:13.487 回答