AOH :: ISNQ4492.HTM

ITL Bulletin for August 2007




ITL Bulletin for August 2007
ITL Bulletin for August 2007



Forwarded from: Elizabeth Lennon 

ITL BULLETIN FOR AUGUST 2007

SECURE WEB SERVICES

Shirley Radack, Editor
Computer Security Division
Information Technology Laboratory
National Institute of Standards and Technology
U.S. Department of Commerce

Web services technologies help organizations use their computer systems 
and networks more efficiently and serve their customers more 
effectively. Web services provide a flexible way for organizations to 
connect applications and services so that they can communicate with each 
other and support each other over networks. This connectivity allows for 
better communication with customers, improved sharing of resources and 
data, and more efficient links of organizational processes across 
different systems and operating environments. In applying Web services, 
organizations can utilize different computer systems without changing 
their existing technologies and software design approaches, and without 
making major modifications to their legacy applications and databases.

Web services are implemented by means of a service-oriented architecture 
(SOA) that allows for interoperability, connectivity, and resource 
sharing. The SOA, which is based on open standards, is a collection of 
software services that can communicate with each other by passing data 
or by coordinating internal or external computer activities. This allows 
for the development of applications that use services and that are 
available as services for other applications to use. Examples of Web 
service applications are a financial institution's business-to-business 
service that allows transactions to be sent by third parties such as 
customers and business partners, and a healthcare provider's application 
that binds the healthcare provider networks with a hospital's Web 
services.

The many features that make Web services appealing also present security 
challenges to the implementation of the Web services approach. The 
improved accessibility of data, dynamic application-to-application 
connections, and reduced need for human intervention in providing Web 
services are capabilities that are not easily protected using 
traditional security models and controls.


Guide to Secure Web Services

The Information Technology Laboratory of the National Institute of 
Standards and Technology (NIST) recently issued NIST Special Publication 
(SP) 800-95, Guide to Secure Web Services: Recommendations of the 
National Institute of Standards and Technology, written by Anoop Singhal 
of NIST, Theodore Winograd of Booz Allen Hamilton, and Karen Scarfone of 
NIST. This publication helps organizations understand Web services and 
the challenges of integrating information security practices into SOA 
design and development to assure secure Web services.

The guide explains current and emerging standards that have been 
developed for Web services and provides background information on the 
most common security threats to SOAs. The information presented can be 
applied to many different hardware platforms, operating systems, and 
applications. Other topics discussed in the guide include Web portals, 
the human user's entry point into the SOA based on Web services; the 
challenges associated with making legacy applications secure; and secure 
implementation tools and technologies.

Important supplemental information is included in the appendices to the 
guide: a discussion of attacks that have been initiated against Web 
services and SOAs; an overview of Electronic Business eXtensible Markup 
Language (ebXML), a Web services protocol suite developed by the United 
Nations Centre for Trade Facilitation and Electronic Business 
(UN/CEFACT); a glossary of terms related to Web services; an acronym 
list; and a list of in-print resources and online tools and resources 
that will help the reader understand Web services and SOAs, security 
concepts and methodologies, and the general relationship between them.

The secure Web services guide is available from NIST's Web page: 
http://csrc.nist.gov/publications/nistpubs/index.html 


Security Issues

Standards are essential to the successful use of service-oriented 
computing. The SOA can be implemented using open standards and standard 
protocols such as SOAP, an eXtensible Markup Language (XML)-based 
protocol for exchanging structured information in a decentralized, 
distributed environment.

Voluntary standards organizations have been addressing the need for 
standards that form the foundation for Web services, and for standards 
and techniques that protect Web services. These organizations include 
the World Wide Web Consortium (W3C), the Organization for the 
Advancement of Structured Information Standards (OASIS), the Internet 
Engineering Task Force (IETF), and the Liberty Alliance.

Many of the standards and techniques that have been developed complement 
or extend one another, but there are many problems to be solved, such as 
service description, automatic service discovery, and quality of service 
(QoS) methods. The standards developed for Web service security do not 
provide all of the techniques that are needed to develop robust, secure, 
and reliable Web services.

Organizations should apply risk management procedures, use secure 
software development techniques, test their systems, and select 
effective security controls to provide robustness and reliability. 
Organizations should be concerned about providing protection for:

- Confidentiality and integrity of data that is transmitted via Web 
  services protocols in service-to-service transactions, including data 
  that traverses intermediary services;

- Functional integrity of the Web services requiring the establishment 
  of trust between services on a transaction-by-transaction basis; and

- Availability of systems when denial of service attacks exploit 
  vulnerabilities unique to Web service technologies and target core 
  services, such as the discovery service, on which other services rely.

Frequently used perimeter-based network security technologies, such as 
firewalls, do not provide adequate protection for SOAs, which are 
dynamic and can seldom be fully constrained to the physical boundaries 
of a single network. In addition, SOAP is transmitted over HyperText 
Transfer Protocol (HTTP), which is allowed without restriction through 
most firewalls.

Transport Layer Security (TLS), which is used to authenticate and 
encrypt Web-based messages, is inadequate for protecting SOAP messages 
because TLS is designed to operate between two endpoints. Also, TLS does 
not provide protection for messages which are forwarded to other Web 
services when these messages are not forwarded simultaneously by Web 
services applications.

In the Web service processing model, SOAP messages and XML documents 
must be secured as they are forwarded along potentially long and complex 
chains of consumer, provider, and intermediary services. However, Web 
services processing makes those services subject to unique attacks, as 
well as to variations on familiar attacks targeting Web servers.


Security Techniques for Web Services

Ensuring the security of Web services involves augmenting traditional 
security mechanisms with security frameworks based on use of 
authentication, authorization, confidentiality, and integrity 
mechanisms. NIST SP 800-95 describes how to implement those security 
mechanisms in Web services and how to make Web services and portal 
applications robust against expected attacks. Available specifications 
that address specific security issues include:

- Confidentiality of Web service messages. XML Encryption, a 
  specification that is available from the World Wide Web Consortium 
  (W3C), provides a mechanism to encrypt XML documents.

- Integrity of Web service messages. XML Signature, a specification 
  produced jointly by the W3C and the Internet Engineering Task Force 
  (IETF), allows for selectively signing XML data.

- Web service authentication and authorization. XML Signature, Security 
  Assertion Markup Language (SAML) and eXtensible Access Control Markup 
  Language (XACML), as proposed by the Organization for the Advancement 
  of Structured Information Standards (OASIS) group, provide mechanisms 
  for authentication and authorization in a Web services environment.

- Message integrity and confidentiality. Web Services (WS)-Security, a 
  specification produced by OASIS, defines a set of SOAP header 
  extensions for end-to-end SOAP messaging security and allows 
  communicating partners to exchange signed encrypted messages in a Web 
  services environment.

- Authentication. Security for Universal Description, Discovery and 
  Integration (UDDI), developed by OASIS, enables Web services to be 
  easily located and subsequently invoked. Security for UDDI enables 
  publishers, inquirers, and subscribers to authenticate themselves and 
  authorize the information published in the directory.

See Appendix G of NIST SP 800-95 for references to these and other open 
standards that have been developed for secure Web services.


Challenges

While current standards deal with many security issues, there are still 
many issues to be addressed: repudiation of transactions; secure 
issuance of credentials; exploitation of covert channels; compromised 
services; spread of malware, such as viruses and Trojan horses, via SOAP 
messages; denial of service attacks; and incorrect service 
implementations. The following provides additional information on some 
of these challenges.

       Discovery. In Web services discovery, participants identify and 
compose Web Services Description Language (WSDL)-specific services based 
on definitions in a UDDI registry. Discovery involves matching a set of 
functional and other criteria with a set of resource descriptions. The 
goal is to find appropriate Web service-related resources.  Because of 
the potentially large number of service candidates in the registry, 
performance rankings for algorithms used to search, match, and compose 
services can vary from case to case.

As the set of available Web services expands, advanced tools will be 
needed to help identify services that match a customer's functional and 
security requirements. It is important for service providers to describe 
their service capabilities and for service requesters to describe their 
requirements in an unambiguous and semantic way.  Techniques that take 
advantage of Semantic Web technologies can improve discovery 
capabilities. An existing standard for Ontology Web Language for 
Services (OWL-S) is an example, but more work needs to be done to 
integrate such technologies into Web service registries. In OWL-S, the 
service requester can describe the service requirements using terms from 
a semantic model. Reasoning techniques are then used to find the 
semantic similarity between the service description and the request to 
find a set of matching services automatically. Both UDDI and OWL-S can 
be used to specify the security properties of a Web service, but this 
security support is not available for the discovery process. However, 
W3C's Semantic Annotations for WSDL is a step in the direction of 
merging Web services discovery technology with semantic Web technology.  
Even with semantic Web services discovery, true automation will require 
that the requester be able to determine explicitly the security 
requirements of the provider in addition to its functionality.

       End-to-End Quality of Service and Protection. Most Web services 
deployed do not provide guarantees for Quality of Service (QoS) or 
Quality of Protection (QoP) under the scenario of attacks. QoS is 
important in defining the expected level of performance a particular Web 
service will have. By prioritizing traffic, overall performance of the 
system can be improved. Standards have been developed for WS-Reliability 
and WS-ReliableMessaging to provide some level of QoS. Both standards 
support guaranteed message delivery and message ordering. Other QoS 
parameters, such as rate of failure or average latency, are usually 
dealt with by lower-layer protocols. For Web services to truly support 
QoS, existing QoS support must be extended so that the packets 
corresponding to individual Web service messages can be routed 
accordingly to achieve predictable performance.

       Overlap between OASIS and W3C Standards. Similar and overlapping 
Web services security standards that are being developed by different 
standards bodies are a source of confusion to system developers. These 
standards are often updated, resulting in interoperability problems and 
a need for more formal specification and testing of standards.

       Methodologies for Web Services Security. The main emphasis of Web 
services security today is on basic infrastructure (e.g., protocols and 
languages). As technology matures and Web services become widely 
adopted, there will be a need for methodologies and recommended 
practices for security to help developers identify assets to be 
protected, analyze possible attacks, and decide protection levels and 
trade-offs.

       Availability and Protection from Denial of Service Attacks. 
Availability enables a Web services application to detect a denial of 
service (DoS) attack, to continue operation as long as possible, and 
then to gracefully recover and resume operations after the attack. 
Techniques are needed to replicate data and services and ensure 
continuity of operations in the event of a fault. Also needed are 
management and monitoring solutions to provide service performance and 
availability monitoring to meet certain service-level objectives.

NIST's Recommendations for Secure Web Services

NIST recommends the following actions to protect Web services. 
Organizations should consider these actions as part of their risk 
management processes to balance the economic and operational costs of 
protective measures and achieve gains in mission capability by 
protecting systems and data.

- Replicate Data and Services to Improve Availability. Since Web 
  services are susceptible to DoS attacks, it is important to replicate 
  data and applications in a robust manner. Replication and redundancy 
  can ensure access to critical data in the event of a fault. This 
  protective measure will also enable the system to react in a 
  coordinated way in dealing with disruptions.

- Use Logging of Transactions to Improve Non-Repudiation and 
  Accountability. Non-repudiation and accountability require logging 
  mechanisms involved in the entire Web service transaction. As of 
  mid-2007, there were few implemented logging standards that can be 
  used across an entire SOA. In particular, the level of logging 
  provided by various UDDI registries, identity providers, and 
  individual Web services varies greatly. Where the provided information 
  is not sufficient to maintain accountability and non-repudiation, it 
  may be necessary to introduce additional software or services into the 
  SOA to support these security requirements.

- Use Threat Modeling and Secure Software Design Techniques to Protect 
  from Attacks. Secure software design techniques facilitate the design 
  and implementation of Web services software without defects that can 
  be exploited. Threat modeling and risk analysis techniques should be 
  used to protect the Web services application from attacks. Used 
  effectively, threat modeling can find security strengths and 
  weaknesses, discover vulnerabilities, and provide feedback into the 
  security life cycle of the application. Software security testing 
  should include security-oriented code reviews and penetration testing.  
  When threat modeling and secure software design techniques are used, 
  Web services can be implemented to withstand a variety of attacks.

- Use Performance Analysis and Simulation Techniques for End-to-End 
  Quality of Service and Quality of Protection. Queuing networks and 
  simulation techniques are important tools in designing, developing, 
  and managing complex information systems. Similar techniques can be 
  used for quality-assured and highly available Web services. In 
  addition to the QoS of a single service, end-to-end QoS is critical 
  for most composite services. For example, enterprise systems with 
  several business partners must complete business processes in a timely 
  manner to meet real-time market conditions. The dynamic and 
  compositional nature of Web services makes end-to-end QoS management a 
  major challenge for service-oriented distributed systems.

- Digitally Sign UDDI Entries to Verify the Author of Registered 
  Entries.  UDDI registries openly provide details about the purpose of 
  a Web service as well as how to access it. Web services use UDDI 
  registries to discover and dynamically bind to Web services at run 
  time. Should an attacker compromise a UDDI entry, it would be possible 
  for requesters to bind to a malicious provider. Therefore, it is 
  important to digitally sign UDDI entries so as to verify the publisher 
  of these entries.

- Enhance Existing Security Mechanisms and Infrastructure. Web services 
  rely on many existing Internet protocols and often coexist with other 
  network applications on an organization's network. Many Web service 
  security standards, tools, and techniques require that traditional 
  security mechanisms, such as firewalls, intrusion detection systems 
  (IDSs), and secured operating systems, are in effect before 
  implementation or deployment of Web services applications.


More Information

NIST publications assist organizations in planning and implementing a 
comprehensive approach to information security. Publications dealing 
with some of the issues discussed in NIST SP 800-95 include:

NIST SP 800-21-1, Guideline for Implementing Cryptography in the Federal 
Government, provides guidance to federal agencies on how to select 
cryptographic controls.

NIST SP 800-30, Risk Management Guide for Information Technology 
Systems, provides guidance to organizations in identifying the risks to 
their missions as a result of using information technology, in assessing 
the risks, and in taking steps to reduce the risks to an acceptable 
level.

NIST SP 800-32, Introduction to Public Key Technology and the Federal 
PKI Infrastructure, discusses PKI functions and their applications, and 
the implementation of PKI techniques by federal agencies.

NIST SP 800-44, Guidelines on Securing Public Web Servers, helps 
organizations develop, configure, and maintain secure Web servers.

NIST SP 800-92, Guide to Computer Security Log Management, provides 
advice on developing, implementing, and maintaining effective log 
management practices throughout an organization.

These publications and other security-related publications are available 
from NIST's Web site: 
http://csrc.nist.gov/publications/nistpubs/index.html 

Disclaimer Any mention of commercial products or reference to commercial 
organizations is for information only; it does not imply recommendation 
or endorsement by NIST, nor does it imply that the products mentioned 
are necessarily the best available for the purpose.


Elizabeth B. Lennon
Writer/Editor
Information Technology Laboratory
National Institute of Standards and Technology
100 Bureau Drive, Stop 8900
Gaithersburg, MD 20899-8900
Telephone (301) 975-2832
Fax (301) 975-2378


____________________________________
Attend HITBSecConf2007 - Malaysia 
Taking place September 3-6 2007 featuring seven tracks of technical 
training and a dual-track security conference with keynote speakers 
Lance Spitzner and Mikko Hypponen!  -  Book your seats today! 
http://conference.hitb.org/hitbsecconf2007kl/ 

Site design & layout copyright © 1986-2014 CodeGods