我正在为软件应用程序做一个关于检测Windows 7/8漏洞的项目。其中有些有可用的源代码,有些则没有。
请建议一些可以帮助我在编译时或运行时检测漏洞的技术。
是否有任何新的方法可用于查找缓冲区溢出漏洞?
发布于 2013-02-21 11:54:33
发布于 2013-02-21 12:22:22
我通常使用模糊来识别软件中有或没有源代码的漏洞。模糊化技术包括以半自动的方式操作应用程序的输入,以产生错误,您以后必须使用调试器或检查源代码来研究这些错误。
例如,您可以为PDF格式编写一个fuzzer,并使用它生成格式错误的PDF文件,并使用您的软件打开它们,当读取格式错误的PDF时,该软件应该会失败。
使用一个模糊程序,您可以测试数千种不同的输入组合,涵盖了很多情况,但是它并不能保证没有but。
您可以使用桃毛绒平台,这是一个很好的框架来实现模糊程序,并包括打开调试器的工具,并在发现bug时自动记录输入。
发布于 2013-02-21 11:52:55
您总是可以尝试反编译程序,但是结果可能会大不相同,所以如果这个工具至少是半自动的,我想您要求的是毛茸茸,至少对于已经编译过的代码,这是一种方法。
我不知道为什么要尝试进行动态分析,但是如果您有代码,我建议您查看一下静态分析。
编辑:想到,也是硬科学,查阅文章到计算机支持的建模和推理.证明您的代码是正确的,而不是找到错误,这可能是值得您研究的东西。
https://security.stackexchange.com/questions/31247
复制相似问题