在进行模糊测试时,很容易产生许多错误(许多崩溃)。因此,重要的是要有一种方法来对检测到的每个bug进行分类,这样我们就可以对它们进行排序,并将精力集中在那些最有可能表示可利用安全漏洞的漏洞上。
是否有任何工具可以使分阶段过程自动化?我最感兴趣的是Linux工具。
在Windows上,我们有一个好了!可利用分析器,它分析一个崩溃的程序执行,以确定它是否代表一个可能是可利用的、可能不可利用的错误,等等。
发布于 2012-04-25 18:02:04
CERT的开源Linux分类工具可以用来对通过模糊处理发现的bug进行分类。这些工具包括一个GDB扩展,它类似于MSEC的可利用性,但适用于Linux。
http://www.cert.org/blogs/certcc/2012/04/cert_分流_工具_10.html
发布于 2011-09-09 02:42:31
这是我所知道的最好的启发。在瓦兰模校核下运行该程序,然后查看Valgrind输出的警告。我们可以把它们分为几个类别:
这是我所知道的最好的启发式方法。我不知道有什么工具可以为您实现它,但是自己编写脚本并不太困难。有没有人知道Linux/Unix系统有更好的分阶段、启发式或工具?
发布于 2011-09-09 19:22:56
我喜欢使用桃毛绒平台。这包括一个测试工具,它将记录来自崩溃的内存,并将它们链接到模糊测试用例。当流程崩溃时,测试工具将重新启动并继续运行,直到测试完成为止。
据我所知,可利用性是很独特的。瓦兰在判断诸如悬挂指针这样的缺陷时很有用。判断崩溃是否可被利用的老式方法是通过查看EIP,0x41414141总是一个受欢迎的景象。但是,应用程序可能会在函数返回之前崩溃,因为您已经覆盖了堆栈上的指针。因此,即使是像EBX0x41414141这样的通用寄存器的读/写崩溃也可能是可利用的,而且该进程在返回之前就崩溃了。请确保查看调用堆栈,以查看它是否已损坏。
https://security.stackexchange.com/questions/6998
复制相似问题