ajax|安全|问题
XML安全厂商Forum Systems公司上月在安全问题上提出了一个警告,他认为,随着越来越多的Ajax风格的应用出现,很多组织需要考虑潜在的安全缺陷以及性能问题。
位于盐湖城的Forum Systems公司的市场副总裁Walid Negm说:“我们并非在制造警告。我们只是感到需要让人们考虑安全和可扩展性需求。我们始终在关注使用XML的技术。这是我们份内的事。”
Ajax是Asynchronous JavaScript and XML的缩写。它通过创建富网络应用来加强用户体验。根据Forum的看法,通过使用与Web服务互操作的更具有交互性的页面,Ajax增加了XML、文本和HTML的网络通信量。但这家公司认为由于依赖XML作为请求/相应的内容类型,负载成为了Web服务的弱点。该公司还指出,通过把用户的Web浏览器转换成Web服务门户,Ajax通信模型增加了浏览器处理的可靠性。
Forum公司尝试对XML内容过滤、Web服务安全以及XML提速功能进行改进。
Negm指出了一些潜在的问题。他说,首先是恶意的用户可能会发送脏数据,尤其是创建攻击性的客户端。另一个问题就是未授权的用户访问。在Ajax应用程序中,如果没有服务器端保护的话,一个为授权的用户可以迅速提高自己的级别。
最大的威胁是不良形式的数据。他说:“由于使用了异步代码。拒绝服务很容易发生。一种潜在的结果就是服务器资源耗尽,或者因为拒绝服务而引起服务器宕机。”
Negm说:“Ajax具有一些Web应用的安全问题,除非你在服务器端安装应用防火墙,才能得到保护。”
他说:“尽管性能是一个大问题,但你还需要考虑数据如何影响性能的。Ajax使你能够更好的验证数据,但你不得不要处理附加的验证需求,而这也是让服务器头疼的事。”
被问到提出警告是不是有点自私时, Negm回答道:“是存在这个问题,但不提出的话风险更大。我们对我们的安全纪录很满意。在警告背后的细节很有必要值得探讨。尽管不是很急,但我们正在让开发人员对此进行研究。”
位于马萨诸塞州Waltham的ZapThink公司的高级分析师Jason Bloomberg说:“ Ajax带来的安全问题是简单的网页无法面对的,让人们明白这一点非常有必要。Forum公司已经开始关注这个威胁,所以发出警告是很自然的。”
Adaptive Path公司是旧金山一家有用户体验的咨询公司。负责用户体验战略的主管Jesse James Garrett说:“某种程度上,Ajax应用把业务逻辑从服务器端搬到了客户端,于是业务逻辑就被暴露出来。根据应用的不同,这种做法增加了潜在的安全风险。”
Garrett说:“下一个问题是数据安全。Ajax应用能依靠Web底层的加密层来加密那些进行数据通信的XML文档。”
Garrett说:“此外,Ajax还有一个问题。我们做的就是降低服务器通讯中的用户交互。现在,服务器通讯对于用户已经完全不可见,因此,你可以在用户不差觉得情况下传送数据。这是一个很大的风险。”
Dion Almaer是Ajax社区Ajaxian.com的创始人之一,他认为Ajax中没有什么是不安全的,但还是有一些问题。
他说:“开发人员必须想清楚他们在做什么。你可以开发一个非常丰富的Ajax应用程序,这需要从浏览器向客户端传送数据。你需要让对服务器的访问变得安全,就和使用桌面技术时一样。举个例子,你不想让你的Ajax应用能发送任何SQL到后台的服务器并运行它。黑客能利用它并手动发送有害的请求。另外,不要对任何东西都进行eval()操作,还要对XSS探测保持警惕。”
Almaer说:“底线是让你的服务器端尽可能安全。这样对你才有好处。”
Garrett对此回应到:“开发和部署任何应用最重要的是优秀的规划。开发Ajax有一定的复杂性,这也让开发团队在做选择时要多考虑一些。”