如何应对SOA加重企业的安全风险?

面向服务架构(Service-Oriented Architecture,SOA)向第三方团体敞开了你的系统的大门,因此增加了你要面对的系统漏洞。但是分析家称SOA并没有引入多少新的安全风险,而只是加重了已有的安全风险。

由于引入了对第三方应用程序开发和运作的更大的信任,人们认为面向服务的体系架构(SOA)改变了企业的安全平衡。但是根据Gartner公司负责信息安全和隐私的管理副总裁Ray Wagner表示,这只是一个程度的问题,而不是带来了一个全新的安全问题。

一、外部服务安全问题

举个例子来说,一个SOA应用程序可能会依靠一个基于Web的第三方服务来提供重要的功能和服务,这具有非常明显的安全问题。但是这种问题在企业用户激活了微软的自动更新时就已经存在了。

从根本上说,这是一个信任的问题,你决定是否信任微软来发送给你好的程序。然后你的计算机通过使用像哈希和数字签名之类的加密操作,来确认它已经收到微软发送的内容。

SOA可能会大大增加使用外部服务的次数。一个小时进行数百次这样的交互,可能意味着会影响你的计算机的运算负载,但是它真的只是一个度的改变,而不是性质上的改变。

正常的值得信赖的合作伙伴可能偶尔也会意外的发送坏的代码或一个坏的身份验证。但是,总体上来说,更多的可能是,因为某些恶意的站点假装提供某种功能或服务,而欺骗某些人决定信任它。恶意软件通常伪装成有用代码,而且有时候也会提供一些它承诺的功能,但是同时又在悄悄的进行用户不希望的事情。

这是SOA可能会给企业带来的的三个主要安全影响之一,当员工从他们的工作计算机上访问了错误的站点,意外地把恶意软件引入到企业中,企业已经经历过这个问题。反击恶意软件需要有个综合技术和教育的战略,无论它是与SOA相关的行为,还是企业中某个人从一个文件共享站点上下载"免费"音乐,这些行为都要受到约束。

在恶意软件感染企业网络之前,这个安全技术能够成功阻挡它们。但是最佳解决方案是教育用户具有安全风险意识,让他们知道未知站点的危险性,从而在第一位置将风险最小化。

二、XML文件携带攻击代码

第二个主要缺陷发生在企业对XML文件的使用中,它更具有技术性,而且难于被截获。从根本上来说,XML可以包含任何类型的数据或可执行程序,其中包含那些故意搞破坏的东西。今天的大多数企业已经在使用XML编码的文件,因此它们已经被处于无防护的状态下。

但是,SOA肯定会以数量级来增加传输的XML数量,这也就意味着安全缺陷的增加。而SOA架构中大量的这类传输也让IT人员难于截获偶尔出现的恶意软件。而且恶意软件日益复杂的技术已经非常清晰的告诉我们,攻击者可以让XML为它们所用。

在解决这种安全风险的时候,教育已经效果不大,因为它更有可能被注入到一个合法的数据包中来进入企业网络,甚至可能将自己分为好几部分,混在不同的合法通信中。用户可能没有进行任何错误的操作。这类有针对性的攻击正在变的越来越多。

但是,能够解决这个问题的产品已经出现,Crossbeam系统公司和Forum系统公司已经结成联盟,组合Crossbeam的X系列安全服务交换机、Forum的Xwall Web服务防火墙和Forum Sentry Web服务网关,推出一个单项最佳解决方案,来截获在XML和其他进入企业的数据流中截获恶意软件。

三、身份验证问题

第三个忧虑是企业身份管理的会话模式可能不满足SOA的更复杂要求。在一个简单的交易中,在会话开始的时候进行用户身份认证,然后这个认证就会应用在整个会话中。

但是,在SOA模型中,用户可能最初发动一个交易后然后从服务器断开,而交易可能会经过一组后端服务,因此用户没有与最终的交易没有直接的联系。不仅要识别是谁发起了交易,还要识别是谁(或则在自动过程中是什么东西)批准和处理了这个交易。需要认证所有这些单个的进程在这个交易中使用的信息,而不是在一个交互的会话中询问它们的信息。这是一个到现在都没完全解决的问题。

最好的解决这种问题的办法是使用Security Assertion Markup Language来创建一个可以附加到交易中的代表性的身份。这个问题目前已经存在,但是SOA架构的使用被互联网访问的组件增加了这种安全缺陷的程度。

现在的担心是,人们不会去等候解决方案,或者不会尝试的去正确的使用它,从而增加了安全暴露,就会带来安全缺陷。因为SOA非常强大,而且可以被用来轻松的利用外部程序和其他外部可信任伙伴的程序,这种缺陷可能会变得非常大。企业需要谨慎的制定安全策略,加上对用户的安全意识和培训,再辅以合适的技术,来将所面临的危险降到最小。