在污染分析中,污染源是可能产生不受信任或外部输入的程序位置或语句。
我的目标是:使用动态分析(最好)识别程序的所有外部用户输入,如cmdline输入、文件读取、环境和网络变量,并传播污染信息。
我读过本教程- http://shell-storm.org/blog/Taint-analysis-and-pattern-matching-with-Pin/,它使用Intel拦截读取系统并传播污染。我希望扩展相同的内容,以包括上面提到的各种外部输入。(首先,对于C,get,fopen,等等)
是否有任何动态分析工具可以帮助我识别一般的外部输入?任何其他有具体目标的方法也会受到赞赏。谢谢
发布于 2016-03-26 13:05:13
我假设您只针对Linux。
一般来说,程序获取外部输入的方法是通过与操作系统的联系,使用系统调用。你说的是libc函数。这是一个更高层次的抽象。我建议在系统调用级别查看输入。
另外,程序的另一个输入是环境变量和命令行参数,它们在程序启动时在堆栈中找到。
还有一件事要考虑的是共享内存的所有形状和形式。
https://stackoverflow.com/questions/36035511
复制相似问题