手动测试缓冲器溢出的最佳方式

 
   | |

导读:检查程序中的缓冲器溢出有两种方式。首先,应该在编译代码前分析检查源代码。第二种测试缓冲器溢出的方式是查看编译代码。

关键词:缓冲器溢出 缓冲器 溢出 编译代码 源代码 编译代码

 
正在加载数据...

【TechTarget中国原创】问:手动测试缓冲器溢出的最佳方式是什么?

答:检查程序中的缓冲器溢出有两种方式。首先,应该在编译代码前分析检查源代码。执行这一过程可以使用很多工具。我最喜欢的是……

【TechTarget中国原创】问:手动测试缓冲器溢出的最佳方式是什么?

  答:检查程序中的缓冲器溢出有两种方式。首先,应该在编译代码前分析检查源代码。执行这一过程可以使用很多工具。我最喜欢的是Fortify Software Inc.的 Rough Auditing Tools for Security (RATS)和Cigital Inc.的 ITS4。两者都可以免费下载。还可以使用微软Visual C++的‘/analyze’编译器。上面提到的工具的检查都不仅限于缓冲器溢出,而是还可以检查其他的缺陷,例如格式字符串漏洞和堆栈溢出。

  第二种测试缓冲器溢出的方式是查看编译代码。很长时间以来,很到安全专家都相信检查漏洞的唯一方式是测试程序的源代码。这是不正确的。有很多工具都可以检查编译器的低层汇编代码中的漏洞。他们还可以利用fuzzing技术,这种技术可以通过输入大量的大量的任意数据并查看是否存在错误来测试软件。

  为了检测汇编代码中的编译代码图,可以使用Metasploit project中的msfpescan和mfselfscan工具。

  而fuzzing技术中可以查看SPIKE、BreakingPoint Inc.的测试工具和MuDynamic Inc.的分析产品等工具。Spike是免费的,而Breaking Point和Mu的工具是商业的。如果应用安全检查时你工具的延伸,我强烈建议你考虑商业产品。

  很多fuzzing产品把输入的数据分割测试应用崩溃。为了手动执行,可以查找应用中的输入并放入尽可能多的字符。如果崩溃了,需要和开发人员通过检测应用和系统登录讨论哪里出错了。很显然,需要在测试前确保有行为权限。

  最后问题要比单纯地检查缓冲期溢出广泛的多。缓冲器溢出是因为开发人员没有验证应用中的输入数据。对如输入到应用中的每一个数据,都应该对可以接受的数字和字符类型作限制。验证可以接受的数据的输入是不被允许的。例如,对“State”的域请求不需要允许*、$、@或者^。不管缓冲器溢出是否存在,它都应该设置为只允许标准的Aa-zZ字符。

 
查看全文
 
 
 
 
 

应用攻击(缓冲区溢出/跨站脚本)

 
跨站点脚本XSS攻击是当今主要的攻击,它利用Web站点的漏洞并使用浏览器来窃取cookie。本文讲解了跨站点脚本攻击的原理以及保护企业Web应用的方法……
 
问:OSsurance Desktop能够有效防止服务器崩溃吗?因为据说这个产品支持Windows Server 2000和2003。他们声称能够防止缓冲器的溢出。但是这样能够防止服务器崩溃吗?
 
用碰撞时会爆炸的油箱制造汽车可不是一个好主意,所以汽车厂商都不会在他们的产品中使用有这样的部件。软件厂商可以从中汲取教训,并用于解决内部的安全炸弹:缓冲区溢出。
 
缓冲区溢出是黑客们喜欢利用的手段之一。绝大多数微软提供的补丁修复程序并未检查缓冲区问题,而应用程序的内部开发是怎样的呢?
 
缓冲区溢出就像个给软件安全捣蛋的男孩。围绕缓冲区溢出的讨论一直无所不在。缓冲区溢出攻击已进化了多年,产生了一系列攻击手段,新的更强大的缓冲区溢出攻击已经出现……
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录