
| 出版日期:2005-02-21 总期号:1388 本年期号:11 |
|
应用程序的安全测试工具是否物有所值?
应用程序的安全测试工具可检测软件的安全问题,例如它可以诊断、描述和论证安全问题,但目前还不能解决这些安全问题。 如今的应用程序安全测试工具将软件应用看作“黑匣子”,它主要针对可疑操作并探测应用程序的安全漏洞。不过,这种方法还是过于简单。软件测试基于软件需求和代码的体系结构,一旦代码完成,就不能进行修改了。 不过,通过输入畸变流量来模拟黑客行为的测试并不可靠。真正的黑客并不会简单地在输入端寻找漏洞,他们剖析软件,判断它如何工作,然后进行一些用户不会产生怀疑的动作。黑匣子测试只抓住了软件的表层而没有深入到软件内部的安全。 虽然多数体系结构和代码的漏洞都超过了简单测试的能力范围,但是这些工具能够告知用户有关安全的问题。如果软件不能通过测试,则说明其体系存在严重的安全问题。即使软件成功地通过了所有的测试,也不能说明不存在安全问题。 应用程序安全测试工具的其它缺点主要是它只关注80端口的应用。它只依赖于通信协议来理解和测试一个复杂的程序,因而只能提供一种肤浅的分析。虽然多数攻击是通过HTTP进行的,但这只是其进攻的一条途径。它还应当考虑SSL、环境变量、外部链接库和分布式组件,它们可以利用其它协议进行通信。除了程序的输入之外,软件安全也必须考虑稳定性、数据安全、存取控制、软件环境等其它方面,这些都依赖于软件本身。 事实上,没有可以探测每种应用漏洞的预制测试。应用程序安全工具的唯一好处是测试非定制的商业软件,它可以对其进行简单的动态检测,如果软件不能通过这些测试,用户就可以拒绝使用或者对安全漏洞进行管理。 总的来说,应用程序安全测试工具在安全检测方面只具有部分作用。已经开始考虑软件安全问题的用户可以利用它们来判断软件是否存在安全漏洞,其结果可以提醒用户问题的存在,因而采取改进措施,但利用这些工具不能得到根本的解决,因此用户的投资最好是用在开发更好的软件上。 (杨阿昭) |
|||||||||||||||||||