我想知道理论上是否可能存在Web服务缓冲区溢出攻击,无论用于编写服务的编程语言是什么?
非常感谢
答案 0 :(得分:1)
如果您的编程语言在运行时检查过所有缓冲区访问都是有效的,那么如何才能获得缓冲区溢出?有很多像这样的语言(例如,Java)。
更实际的问题是,是否存在完全(从下到上)以这种方式实施的任何Web服务?我对此表示怀疑;大多数是建立在操作系统之上,通常用C语言编写,而且存在弱点。你没有实际的保证,你的操作系统(或你的Java运行时)的机器没有隐藏的缓冲区溢出。
您可以做的一件事就是将“无缓冲区访问检查”编程语言转换为“已检查”的编程语言,在不报告的情况下不会出错。请参阅我们的CheckPointer以获取针对C编程语言执行此操作的工具。目前,这个工具在生产环境中使用是不实际的,因为它增加了很多开销。然而,有希望;有些研究项目产生的程序无法访问自己的内存,但是交易功能正确/准确的性能报告,这些项目的开销很低。最终,这些方法很可能会用在那些较低层的软件中,以确保它们不会引起问题。