CIO IN

SOA: Watching the In-Between Spaces

Added 1st Dec 2008
Chris Clark

Article Highlights

  • 25 percent of companies, according to a Gartner survey, plan to adopt SOA in 2008
  • Many SOA architectures each service possesses a method for clients to query and retrieve the contract
  • Service information disclosure may not be a high risk in some environments, but it is not to be taken lightly
  • SOA intermediaries are typically more invasive and often modify the message itself without invalidating signatures

Many organizations are embracing service oriented architecture (SOA) as a way to increase application flexibility, make integration more manageable, lower development costs, and better align technology systems to business processes. The appeal of SOA is that it divides an organization's IT infrastructure into services, each of which implements a business process consumable by users and services. For example, a service may expose the functionality to add a new employee to the employer's payroll and benefits system. To make services usable in multiple contexts - for both lowered cost and increased process consistency - each service provides a contract describing how it may be used and what functionality it contains.

“Engineering flexible systems such as SOA is a real security challenge — but it's not an impossible one if you take the right steps from the beginning.”

But the SOA approach turns on its head the traditional security approach used by many enterprises today. The mix-and-match nature of SOA services, and the use of messaging as the orchestration mechanism for SOA's composite applications, eliminates the ability to build clear boundaries around - and security barriers for - enterprise applications. The very thing that gives SOA its flexibility also increases its security risk.

Service Contracts Expose Your Treasures

Consider how a typical service executes on a typical SOA infrastructure: users and services communicate by passing messages between each other across the ESB (enterprise service bus). The ESB acts as a message conduit for the organization and understands the available services, their semantics, and how to get an application message from one point to another. Each service on the ESB must be addressable using the ESB's standard message-passing protocol (usually SOAP). To make services easier to consume, each service must also have a way of describing itself and how the service is to be used. This description is called a service contract and is most commonly described via WSDL (Web Service Description Language).

 

Few development methodologies have embraced the principle of interoperable contracts as tightly as SOA. To ease collection and the discovery of new contracts, in many SOA architectures each service possesses a method for clients to query and retrieve the contract. This method for retrieving contracts is often standardized, if not by the application framework vendor, then by SOA practitioners themselves. Standardized contracts and contract retrieval methods make SOA systems more discoverable. And therein lies one of the new security risks of SOA. Such freely available contracts are very helpful for developers as they build new services and reuse existing services across the enterprise. Unfortunately, what works for the developer is equally helpful for attackers looking to understand the enterprise and its services. Attackers can collect these contracts and use them to easily create an internal treasure map of an organization.

 

To identify high-value targets, the attacker uses the map and reviews the contracts for services that have weak authentication or are responsible for high-value services such as security management. SOA practitioners might try to make it harder for attackers to build such a map by disabling anonymous exposure of service contracts in favor of authenticated or offline distribution. Although this is a solid security decision, it does not work for all services and all organizations. That's because, by restricting the distribution of contracts, it becomes more difficult for legitimate users to discover services and becomes less likely that development tools can seamlessly import contracts.

 

  • Page 1 : SOA: Watching the In-Between Spaces
  • Page 2 : The Message Layer Security
  • Page 3 : ESBs Communication Opens New Entry Points

Related Articles

Latest Articles