传统安全措施不适合SOA的原因和对策

 许多机构正在把SOA当作提高应用程序灵活性的一种方法,使集成更容易管理,降低部署成本和使技术系统更适合业务的需求。SOA的吸引力就在于它把一个机构的IT基础设施分为许多服务,每一个服务执行一项用户使用的商务流程和服务。

  例如,一项服务也许会提供向雇主的工资单和福利系统增加一名新的员工的功能。要让这些服务在多种环境中可以使用,以便降低成本和提高流程的一致性,每一个服务都提供一个合同,说明它如何使用和它包含什么功能。

  但是,SOA的方法目前在企业中的应用已经超过了传统的安全方法。SOA服务的混合搭配的性质和使用信息作为SOA的组合应用程序的编排机制,消除了围绕企业应用程序建立明显的边界(安全屏障)的能力。为SOA提供灵活性的东西也增加了它的风险。

  服务合同暴露你的财富

   考虑一个典型的服务如何在一个典型的SOA基础设施中运行:用户和服务在企业服务总线上通过相互传送信息进行沟通。企业服务总线充当机构的信息通道,理 解可用的服务、这些服务的意义以及如何把一些应用消息从一点传送到另一点。企业服务总线上的每一个服务必须使用企业服务总线的标准信息传输协议(通常是 SOAP协议)解决。

  要使服务更容易使用,每一个服务还必须有一种方法来解释自己和这项服务如何使用。这种解释称作服务合同,通常是通 过WSDL(Web服务描述语言)解释的。几乎没有开发方法像SOA这样严密地采用互操作合同的原则。为了使搜集和发现新的合同更加方便,许多SOA架构 中的每一个服务都有一种方法让用户查询和提取合同。这种提取合同的方法通常是标准化的,不是应用程序框架厂商的标准,就是SOA实施者自己的标准。

  标准化的合同和合同提取方式使SOA系统更容易发现,从而出现了一个新的SOA的风险。

   这种免费提供的合同对于开发人员是非常有用的,因为开发人员要建立新的服务和再利用整个企业中现有的服务。遗憾的是,对开发人员有用的东西对于希望了解 企业及其服务的攻击者是同样有用的。攻击者能够搜集这些合同并且利用这些合同轻松地创建一个机构的内部财富地图。为了找到高价值的目标,攻击者使用这个地 图并且评估服务合同中有身份识别弱点的服务或者负责安全管理等高价值的服务。

  SOA从业者要设法让攻击者难以建立这样的地图,关闭匿名 暴露的支持身份识别的服务合同或者离线发布的服务合同。虽然这是一个强大的安全决策,但是,这种方法不适合所有的服务和所有的机构。这是因为通过限制合同 的发布,合法的用户也很难发现这些服务,开发工具也许不能无缝地移植合同。

  消息层安全帮助攻击者找到突破途径

   具有讽刺意味的是,使用消息层安全是另一个相关的SOA安全漏洞。消息层安全让开发人员选择这个消息的一些部分进行签名或者加密。为了支持企业服务总线 上的地址和路由,一个消息的目标信息通常不在这个消息的加密部分中。这种选择的加密/签名方法在每一个点和传输层安全协议(如保护整个连接的SSL协议) 方面都是不一致的。

  利用消息层安全措施,被动监视这个网络的攻击者能够获得有关发送者和接收者之间传送应用层消息的深层信息。有选择的应用安全措施增加了复杂性,开发人员或者管理员不能对指定消息的一些部分采用重要的安全保护措施。

   服务信息的暴露在某些环境中不是一种高风险,但是,这个问题不容忽视。攻击者了解的情况越多,攻击的目标就越准确。在SOA之前,有许多方法利用广泛的 协议把系统隐藏起来。攻击者很难发现和理解一个环境中的全部系统。SOA消除了这些障碍,极大地提高了攻击者进行全面侦查的能力。

  利用消息媒介增加潜在的攻击目标

   SOA使软件从单独的软件过渡到能够根据需要组装和编排的完备的可重新配置的组件,使系统更有动态性。要管理这些组件的编排,SOA鼓励使用消息路由器 和服务注册对在企业服务总线上传送的消息进行操作。消息路由器要对一个消息进行操作,消息的那个部分必须要解密或者消息路由器必须能够访问加密那个信息的 密钥。这种方法意味着你不能在服务提供商和服务消费者之间使用传输层安全措施。攻击者能够利用这些消息管理和编排的媒介攻破端点的活动。

   在许多应用中,这些服务注册是由管理员或者提供商自己动态更新的。这为SOA提供了方便地重新设置的好处。但是,这种设置控制使服务注册变成了攻击者诱 人的目标。例如,攻击者能够操作这个注册返回指向攻击者托管的服务的地址。如果攻击者把目标对准安全服务等正确的服务,攻击者就能够为使用这个安全服务的 客户创建一个客户化的回应。例如,在一个客户应用的实例中,安全人员劫持了这个安全服务并且向所有的接入请求发出了批准的指令。

  要使用安全和动态的SOA,开发人员和设计师必须要考虑系统的哪一部分是动态的,哪一部分要保持静态。实现重新设置功能的SOA设置要素必须要进行安全评估,防止攻击者利用这个环境。

  企业服务总线之中和之间的通讯为攻击者提供了新的进入点任何重要的SOA部署的核心是处理消息路由和提供必要的基本服务的企业服务总线。机构通常有通过桥接连接的几个企业服务总线。

   无论你有一个企业服务总线,还是有几个企业服务总线,企业服务总线的应用都要消除传统的“软”防火墙,使企业服务总线成为一个攻击目标,特别是因为它托 管了登录和身份识别等重要的服务。“软”防火墙是在连接的各方使用不同的协议时对通讯进行的人为限制。因此,即使攻击者进入了一个系统,缺少协议的兼容性 将限制这个攻击的范围。

  企业服务总线旨在消除通讯障碍。这就意味着攻击者可能利用在一个SOA部署中的Web服务器接触到大型计算机。 实现SOA方法的相同的连接最终将帮助攻击者。因此,企业服务总线的高连接能力提高了拥有用于内部、外部和企业服务总线的强大的应用程序安全措施的重要 性。在把大型计算机等传统上保护措施薄弱的系统连接到企业服务总线之前,要评估它们的安全属性,以保证这个系统能够在敌对环境中运行。要从攻击者的角度考 虑在你的SOA中实施的新的通讯环境,建立一个攻击从被攻破的服务器向外扩散的模型。然后,建立一个控制和阻止攻击扩散的缓解危机的计划。

  建立一个像SOA那样的灵活的系统是一个真正的安全挑战。但是,如果你从一开始就选择正确的步骤,这并不是不可能的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值