IEEE 5º Congreso Internacional en Innovación y Desarrollo
Tecnológico, 10 al 12 de octubre de 2007, Cuernavaca, Morelos,
México
MORELOS
Estado de la seguridad en Web Services
H. F. González Robledo
Universidad Politécnica de San Luis Potosí
San Luis Potosí, SLP, 78000 México
Resumen: En este trabajo se hace una revisión del Introducción
estado de los estándares relacionados con la seguridad
en servicios web, enumerando los más importantes Servicios Web
hasta ahora y su fecha de aceptación por los diferentes
organismos. También se mencionan algunos
documentos que aún están en revisión aunque ya se Un Servicio Web es un sistema de software diseñado
esten implementando y que si son aprobados se para soportar la interoperabilidad e interacción de
convertirán en estándares también. Se visualiza que los máquina a máquina sobre una red. Tiene una interfase
estándares se concentran en las capas de transporte, descrita en un formato procesable por la máquina
mensaje y descripción, y solo un poco en (específicamente WSDL). Otros sistemas interactúan
procesamiento, pero aún quedan muchas amenazas y con el Servicio Web de una manera pre especificada
quedan también más estándares por desarrollar. Se por su descripción usando mensajes SOAP,
propone al final cuatro formas de verificar la seguridad generalmente transportados por HTTP con una
a los servicios web existentes o a los que están por serialización de XML, en conjunto con otros estándares
desarrollarse. Estas verificaciones son viables y algunas web. [1]
ya se han implementado en proteger aplicaciones web o El funcionamiento de los servicios web se puede
aplicaciones tradicionales. explicar con la siguiente figura:
Palabras clave: seguridad web, servicios web.
Abstract: In this work a revision is made of the state of
the standars for security in web services, enumerating
the most important of them until now and their date of
acceptance by the different organisms. Also some
documents are mentioned that still are under revision
and that if they are approved also become in standards.
One visualizes that the standards are concentrated in the
layers of transport, message and description, and a little
in processing, but still is left many threats, and there is
also more standards to develop. Finally sets out four
forms to check the security to the existing web services
or to which they are about to be developed. This cheks
are viable and some or them have been implemented in
web or traditional applications protection.
Fig. 1 Funcionamiento de los Servicios Web
Keywords: web security, web services.
246 Pag. 1
5º Congreso Internacional en Innovación y Desarrollo Tecnológico,
10 al 12 de octubre de 2007, Cuernavaca, Morelos., México
Existen múltiples herramientas para el desarrollo ·No repudio: Si soy un usuario autorizado, debo de
de Servicios Web y grandes compañías detrás de estas poder tener acceso a la información.
herramientas, así como también existen múltiples
·Privacidad: Mis datos, registros, acciones no
estándares y propuestas para mejorar o implementar la
deben ser expuestos.
seguridad en ellos. Los organismos involucrados en
estandarizar esta tecnología son principalmente World Estos conceptos se convierten en pilar de la
Wide Web Consortium (W3C)[2] , Organization for the seguridad de la información, junto con buenas
Advancement of Stuctured Information Standars prácticas, listas de verificación, patrones y
OASIS[3] y Web Services Interoperability recomendaciones, como lo muestra [8]. También se
Organization WS-I[4] , que forman grupos de trabajo establece que la seguridad en el Software es un proceso
para tareas específicas y que pueden tomar las que incluye todas las etapas de desarrollo, la
propuestas de la industria y luego de analizarlas implementación e incluso el seguimiento durante la
deciden si se consideran estándares o no. vida del software.
La importancia de los servicios web, radica en la En este trabajo se citan las estándares,
gran utilización que la industria les ha dado, en el recomendaciones, buenas prácticas, listas de
apoyo de grandes compañías y en la funcionalidad que verificación y patrones que son relativos a la seguridad
estos proveen, sin embargo, algunos consideran que en Servicios Web y se plantea una visión a futuro de lo
estos no serán completamente funcionales hasta que que serán. Como se menciona en [9]: "Los estándares
sean "seguros".[5] de seguridad para Servicios Web no son suficientes",
además se hace alusión a otros comentarios: "Los
Conceptos de Seguridad Informática
estándares no tratan en como prevenir ataques que
La seguridad informática no es algo estático, es vienen", dice Tony Baer, director de onStregies. "Los
algo que esta en constante evolución, es un estado estándares son sobre como definir políticas. Son sobre
momentáneo. el intercambio de información"
Los conceptos básicos sobre seguridad tratados en
[6] y [7] son :
Arquitectura de servicios web y estándares de
Identificación, Autenticación, Autorización, seguridad relacionados
Auditoria, Integridad, Confidencialidad, No repudio,
Privacidad. También se incluye el DRM (Digital Right La arquitectura propuesta de los servicios web en el
Management en inglés) que no trataremos en este último informe técnico del grupo de arquitectura de
trabajo, por no tener demasiada relación hasta la fecha. servicios web de W3C es la siguiente:
·Identificación: Decir quien soy. Decir mi nombre.
·Autenticación: Probar que soy quien digo. Mostrar
una identificación.
·Autorización: Verificar que tengo permisos para
entrar o hacer algo.
·Auditoría: Es importante saber que ha estado
pasando, debe haber registro de quien entre y quien sale
y que hace.
·Integridad: Los datos no sean modificados por
usuarios no autorizados.
·Confidencialidad: Los datos solo son mostrados al
Fig. 2 Arquitectura de los Servicios Web
usuario que tiene autorización.
Pag. 2
5º Congreso Internacional en Innovación y Desarrollo Tecnológico,
10 al 12 de octubre de 2007, Cuernavaca, Morelos., México
Se destacan varias capas, como la de · Ataques a la aplicación (middleware)
comunicación, mensaje, descripción y proceso. Y en
esta versión la seguridad y el manejo se contemplan en Ataques a nivel de aplicación o implementación
cada una de las capas. final, como
Es importante mencionar que existen estándares Alteración de parámetros
para el web que pueden ser utilizados para la seguridad Inyección Xpath
en servicios web, pero en algunos casos, como se
menciona en [9] SSL no es suficiente porque se refiere Inyección de SQL
a seguridad entre puntos de comunicación, no entre Condiciones de carrera
aplicaciones, además de que no se puede almacenar los
mensajes para demostrar su veracidad, no se puede dar Ataques de fuerza bruta
la auditoria, sobre todo porque las llaves utilizadas para Inyección de código
el intercambio de información son temporales y
efímeras.
Se han detectado ataques a diferentes capas, entre Los servicios web requieren mucha granularidad
los más comunes están: para ofrecer seguridad [10]. Necesitan mantener el
contexto seguro y controlado de acuerdo a sus políticas
de seguridad. Algunos puntos a tomarse en cuenta son:
Capa de comunicaciones: Diferencias entre comunicación entre extremos es
diferente a comunicación entre puntos, las capacidades
· Ataques al protocolo encargado del transporte de negociación entre los extremos no pueden ser
de mensajes. definidas hasta que estos interactúen, debe estar
Capa de mensaje: orientado fuertemente a infraestructura de llave pública,
el manejo de la seguridad deberá ser más robusto para
· Alteración de mensajes escalar el cómputo distribuido y que los intermediarios
hacen que la protección completa sea más difícil.
· Confidencialidad
Dentro de la granularidad, se han desarrollado
· Descubrimiento de información estándares relacionados con las capas iniciales, de los
· Ataque de hombre en medio cuales se comentan a continuación los que considero
más importantes:
· Spoofing
· Denegación de servicio
WS-I Basic Security Profile 1.0. Entrega final el 30
· Ataques de repetición de partes de Marzo de 2007.
· Suplantación W3C WS-Policy 1.5 Framework. Candidato a
recomendación el 30 de Marzo de 2007.
Capa de descripción:
W3C WS-Policy 1.5 Attachment. Candidato a
· Enumeración de servicios recomendación el 30 de Marzo de 2007.
· Denegación de Servicio Liberty ID-WSF Security Mechanisms Core
· Suplantación Version v2.0-18. Proposal.
Capa de procesamiento OASIS WS-Security 1.0: Aprobado como estándar
de OASIS en abril de 2004.
· Ataques al Parser de XML
OASIS WS-Security 1.1: Aprobado como estándar
· Parameter overflow de OASIS el 21 de Febrero de 2006.
Pag. 3
5º Congreso Internacional en Innovación y Desarrollo Tecnológico,
10 al 12 de octubre de 2007, Cuernavaca, Morelos., México
OASIS SAML v 1.0: Aprobado como estándar Incluso empresas como Sun o Microsoft han liberado
OASIS en Noviembre 2002. herramientas para verificar la codificación del servicio
web desarrollado con su tecnología y asegurar cierto
OASIS XACML v 2.0: Aprobado como estándar
grado de seguridad[17]
OASIS en Febrero 2005.
WS-I Reliable Secure Profile Usage Scenarios Discusión
version 1.0. Propuesta 6 Noviembre de 2006.
Una búsqueda en google con la opción: filetype: wsdl,
W3C Usando XKMS con PGP. Nota del grupo el para buscar archivos publicados en Internet de
19 de Diciembre de 2005. definición de servicios web, arrojó 37,100 archivos.
W3C Descripción WSDL de XKMS. Nota del Esto es una muestra de que existe aceptación y uso de
grupo el 18 de Noviembre de 2005. los mismos. Lo grave es que no todos cuentan con la
seguridad necesaria.
W3C XKMS 2.0. Recomendación el 28 de Junio
de 2005. Dentro de los estándares aceptados hasta ahora, el
esfuerzo se ha enfocado en asegurar la comunicación,
W3C XML-Siganture XPath Filter 2.0. los mensajes, la descripción y parte del procesamiento.
Recomendación 8 de Noviembre 2002. Aunque muchos de los ataques más críticos se ven en el
W3C XML-Signature Syntax and Processing. software de soporte o en la aplicación y ocurren por
Recomendación el 12 de Febrero de 2002. descuido o desconocimiento de los desarrolladores.
Siguen existiendo amenazas que son atacadas en
diversas formas, desde firewalls y proxies hasta
Los siguientes son propuestas que todavía están en políticas de codificación. Las siguientes son cuatro
revisión y que están relacionadas con algunas verificaciones para aventajar en la seguridad de los
anteriores: servicios web.
1. Asegurar los servicios web de manera general
WS-Trust contra las principales amenazas, a manera de
un firewall XML, un firewall de aplicación al
WS-Privacy estilo mod_Security o un proxy de
aplicaciones que limpien la información que
WS-Secure Conversations
va a recibir el servicio web. Protegiendo en el
WS-Federation nivel superior al servicio.
Este es un intermediario que protege de forma
WS-Authorization
genérica y a manera de filtro los servicios web,
WS-Services Security Policy pudiendo ser aplicado para remediar los
servicios que ya existen.
WS-Realiability
2. Extender el software de soporte para servicios
WS-Security Infraestructure
web añadiendo protecciones y validaciones
WS-Security Patterns implícitas, añadiendo una capa de seguridad
desde el interior de la aplicación.
Los organismos han estado muy activos trabajando Esta es una forma de proteger servicios web
en estandarizar las propuestas de seguridad, y aunque existentes, además de facilitar el desarrollo
ya existen las especificaciones e incluso algunas futuro de más servicios. También ataca las
implementaciones en diferentes herramietas de las amenazas más comunes, protegiendo a nivel
últimas mencionadas, todavía no son consideradas superior.
estándares.
3. Asegurar el servicio web en específico.
Realizando auditorias de código, auditorias de
Pag. 4
5º Congreso Internacional en Innovación y Desarrollo Tecnológico,
10 al 12 de octubre de 2007, Cuernavaca, Morelos., México
arquitectura, atacando el servicio en busca de [11] History-making components: Tracing the roots of components
from OOP through WS. James Durham. Disponible en línea:
vulnerabilidades. Realizar los procesos http://www-
recomendables para el desarrollo de 128.ibm.com/developerworks/webservices/library/co-tmline/,
aplicaciones web y servicios web seguros. Esa citado el 19 de Abril de 2007.
forma funciona para cada servicio web [12] Attacinkg and Defending Web Services: A Spire research
desarrollado, y para los futuros, es costosa report. Lindstrom, Peter. Enero 2004.
pero mantiene la independencia de los
[13] Securing Web Services. M. Hondo, N. Nagaratnam & A.
servicios. Se puede aplicar desde el desarrollo Nadalín. IBM Systems Journal No. 2, 2002.
del servicio.
[14] Web Services Security: Scenarios, Patterns and Implementation.
4. Desarrollar políticas, recomendaciones y Guidance for Web Service Enhancementes. Microsoft 2005.
buenas prácticas internas, o adaptar las [15] Attacking Web Services. The next generation of vulnerable
existentes a las necesidades propias, para Enterprice Applications. Alex Stamos, Scott Stender. Presentada
desarrollar servicios web seguros, aparte de en Defcon XIII en las vegas 2006.
utilizar los estándares existentes. Estas [16] Web Services Security: Mark O'Neill et al. Ed.
prácticas deben ser utilizadas por todos los McGrawHill/Osborne.
desarrolladores. [17] Secure Sessions for Web Services. Karthikeyan Bhargavan et al.
Esta forma aplica para futuros desarrollos de ACM Transactios on Information and System Security, Vol. 10,
servicios web, y no es excluyente de las No 2, Articulo 8, Fecha de publicación: Mayo 2007.
anteriores, puede servir de complemento a
futuro.
Hugo Francisco González Robledo
Referencias Ingeniero en Sistemas Computacionales egresado del
[1] Web servies Architecture, W3C Febrary 2004, Disponible en Instituto Tecnológico de San Luis Potosí en 2000.
línea: http://www.w3.org/TR/ws-arch/ citado el 27 de febrero de Obtuvo el grado de Maestría en Ciencias en Ciencias de
2007. la Computación en 2005 por el mismo instituto.
[2] Sitio web de W3C. http://www.w3c.org Miembro fundador del Mexican Honeynet Project.
Miembro profesional de la ACM. Durante unos años
[3] Sitio web de OASIS. http://www.oasis-open.org
fue el contacto para RENASEC (Red Nacional de
[4] Sitio web de WS-I. http://www.ws-i.org Seguridad en Cómputo) región noreste en el ITSLP.
[5] Securing Web Services. Salz, Rich. Disponible en línea: Con certificación LPI nivel 1. Su experiencia gira en
http://www.xml.com/pub/a/ws/2003/01/15/ends.html, citado el torno al Software Libre y Seguridad Informática. Ha
19 de Abril de 2007. sido ponente en diversos foros internacionales.
[6] Programming Web Services with Perl. Pavel Kulchenko & Actualmente es asesor académico de la Universidad
Randy J. Ray. Ed. O'reilly 2002. Politécnica de San Luis Potosí.
[7] Cerified Information Systems Security Professional, Study
Guide. Ed Tittel, Miek Chapple & James Michael Stewart.
Sybex 2003. Dirección del autor: Iturbide 140, Col Centro
[8] Core Security Patterns: Best practice and strategies for J2EE, Histórico, San Luis Potosí, S.L.P., cp 78000, México.
Web Services identity Management. Christoper Steel, Ramesk
Nagappm and Ray Lan. Prentice Hall PTR/Sun Microsystems email: hugo.gonzalez@upslp.edu.mx
2005.
hugo@honeynet.org.mx
[9] Web services security standars aren't enough. Dan Goodin.
Revista Infoworl Noviembre 24 del 2006. Disponible en línea :
http://www.infoworld.com/article/06/11/24/48FEwssecstand_1.
html citado el 10 de Abril de 2007.
[10] Securing Web Services Concepts, Standars, and
Requirements, SUN White Paper, Octubre 2003. Shivaram
Mysore.
Pag. 5