Académique Documents
Professionnel Documents
Culture Documents
[6.4] Referencias
TEMA
Test de la seguridad y protección online de los servicios web
Esquema
TEMA 6 – Esquema
TEST DE LA SEGURIDAD Y
PROTECCIÓN ONLINE DE LOS
SERVICIOS WEB
Ideas clave
Para estudiar este tema lee las Ideas clave que encontrarás a continuación.
Las características de los servicios web hacen las pruebas de seguridad más difíciles
que para las aplicaciones más tradicionales. El modelo de servicios web proporciona un
mecanismo totalmente independiente de la implementación a través del cual las
aplicaciones pueden interactuar. El probador puede hacer suposiciones precisas acerca
de cómo se construye ese software de aplicación. Los evaluadores dependen en gran
medida de su comprensión del software en su interfaz y de las especificaciones del
sistema.
Idealmente, el probador trazaría todos los caminos a través del código y todas las
interfaces internas entre los componentes dentro del servicio y todas las interfaces
externas entre el servicio y otros servicios y probar cada posible entrada para
asegurarse de que no causó una violación de seguridad inesperada.
» Una la más deseable sería analizar la seguridad durante el ciclo de vida de desarrollo
de software, que sería la más deseable.
» La otra analizar la seguridad de los servicios web ya en una instalación en producción
a modo de auditoría.
Los casos de abuso son lo contrario de los casos de uso dentro del modelado
unificado de datos UML, como su propio nombre indica. Los casos de abuso son
casos en los que se puede comprometer alguna funcionalidad de los SW.
o ¿En qué consiste? Esta actividad consiste en realizar un estudio de los requisitos
de seguridad que son necesarios para implementar la seguridad de la
comunicación y del almacenamiento de información entre los servicios web que
intervienen ya sean consumidores o proveedores del servicio. Como resultado se
obtiene una lista de funciones y mecanismos de seguridad necesarios para
conseguir los elementos de seguridad: Confidencialidad, autenticación,
autorización, integridad, no repudio, trazabilidad, rendimiento y disponibilidad.
o ¿En qué consiste? En un análisis de riesgos se modelan todos activos del sistema
en su ubicación real teniendo en cuenta el modelo de amenazas y casos de abuso
(nivel de riesgo) para obtener el impacto que la materialización de las amenazas
aprovechando las vulnerabilidades de seguridad puede tener en los activos.
Elementos que intervienen en el análisis de riesgos:
- Activo. Los objetos de los esfuerzos de protección. Pueden ser componentes del
sistema, datos o el sistema en su totalidad.
- Impacto. Degradación causada por una amenaza concreta en un activo.
- Riesgo. Cuando las amenazas pueden ocurrir con una cierta probabilidad sobre
un activo ocasionan un riesgo en el funcionamiento del activo y por tanto en el
sistema.
- Amenaza. Es el actor o el agente que es la fuente de peligro por diferentes
motivaciones como factores económicos, de prestigio u otros. Estas amenazas
pueden ser ataques como por ejemplo: inyección de SQL, ataques TCP/IP SYN,
desbordamientos de buffer, denegación de servicio, etc.
- Salvaguarda. Controles técnicos, operacionales y de gestión que se aplican a
un sistema y que conjuntamente lo protegen de la acción de las amenazas.
- Magerit.
- ASSET (Automated security self-evaluation tool). National institute on
standards and technology (NIST).
- Octave (Operationally critical threat, asset, and vulnerability evaluation). SEI
de la Universidad Carnegie Mellon.
- Cobit (Control Objectives for Information and Related Technology) from
information systems audit and control association (ISACA).
o ¿En qué consisten? Hay varias formas de llevarlas a cabo: con herramientas de
caja negra o con herramientas de caja blanca. Los scanners de vulnerabilidades de
aplicaciones web son herramientas de análisis dinámico de caja negra (DAST) que
intentan inyectar cadenas de datos malignas en los campos de entrada (interfaces)
de la aplicación que son accesibles externamente para tratar de descubrir
vulnerabilidades.
o ¿En qué consisten? Son todas aquellas actividades que tienen que ver con:
» Herramientas IAST:
» Herramientas DAST:
o Codenomicon.
o IBM.
o HP.
o Parasoft.
o Cenciz.
o Qualys.
o Netsparker.
» Herramientas SAST:
o Herramientas comerciales:
- Checkmarx.
- CodeSecure Armorize.
- CodeSonar gammatech.
- CoveritySave coverity.
- HP fortify source code analyzer.
- IBM rational appscan source edition.
- Klocwork insight.
- Development testing platform parasoft.
- bugScout buguroo.
- Eclair bugseng.
o Software-as-a-service:
- FindBugs.
- FxCop.
- Lint.
- OWASP O2 Platform.
- PMD.
- PreFast.
- RATS – Rough auditing tool for security.
- Yasca.
- VisualCoeGrepper.
» Herramientas híbridas:
o Soapsonar.
o SoapUI.
o wsScanner: herramientas para explorar y detectar vulnerabilidades WS en .NET.
o Wsfuzzer.
o WsBang.
o Wsdigger.
o Soapbox.
Figura 7. Soap UI
Fuente: http://resources.infosecinstitute.com/web-services-penetration-testing-part-2-automated-
approach-soapui-pro/
Figura 8. Soap UI
Fuente: http://resources.infosecinstitute.com/web-services-penetration-testing-part-2-automated-
approach-soapui-pro/
El protocolo SOAP se soporta a través de http que se deja tradicionalmente abierto para
el tráfico web en los servidores de seguridad perimetrales. Además, con la llegada
de Liberty y SAML v2.0, los mensajes SOAP pueden pasar a través de gateways que
limitan el tráfico http entrante pero permiten el tráfico http saliente.
Para este fin se han desarrollado gateways XML para ofrecer la funcionalidad de
cortafuegos a nivel de aplicación específicamente para los servicios web. Los firewalls
de aplicaciones con conciencia no son nada nuevo sino que han existido en la forma de
proxies http para el tráfico basado en http y permitir a las organizaciones limitar lo que
un protocolo de capa de aplicación puede y no puede hacer.
Básicamente una pasarela XML actúa como el servicio web y transmite toda la
comunicación con el servicio web interno que actúa como intermediario entre los
servicios que no son de confianza y el servicio web interno. Los gateways XML
pueden proporcionar servicios como:
» Autenticación.
» Autorización.
» Confidencialidad de todo o de partes del mensaje XML.
» Integridad y no repudio mediante implementación de firma digital.
» Monitorización.
» Firewall de protección ante ataques, SQLi, XMLi, XSS, etc.
Varias pasarelas XML pueden utilizarse de forma conjunta para implementar un sistema
de gestión de identidades distribuido. En la actividad correspondiente al tema se
establece una comunicación entre servicios web implementando la seguridad mediante
pasarelas XML, conformado un sistema de gestión de identidades distribuido a la vez
que implementa la función de firewall XML (ver figura anterior).
Este es un ejemplo de cifrado de una parte del mensaje para proporcionar seguridad de
extremo a extremo que no puede proporcionar la seguridad a nivel de transporte
mediante protocolos como SSL o TLS.
Los firewalls XML: pueden restringir el acceso en función del origen, destino o de
tokens de autenticación WS-Security. También admiten la validación del esquema y
algunas ofrecen apoyo para la prevención de intrusiones de SOAP contra los siguientes
ataques y otros que aprovechan las vulnerabilidades nativas de XML y servicios basados
en XML:
» Escaneo WSDL. Intenta recuperar el WSDL de los servicios web para obtener
información que puede ser útil para un ataque.
» Manipulación de parámetros. Modificación de los parámetros de un servicio web
espera recibir en un intento de eludir la validación de entrada y obtener acceso no
autorizado a algunas funciones.
» Ataques de repetición. Los intentos para reenviar solicitudes SOAP a repetir las
transacciones sensibles.
» Ataques recursivos con payloads. Los intentos de realizar una denegación de
servicio contra el servicio web mediante el envío de mensajes diseñados para
sobrecargar el analizador XML.
» Ataques de referencia externa. Los intentos de eludir la protección mediante la
inclusión de referencias externas que se descargarán después del XML ha sido
validado pero antes de su procesado por la aplicación.
» Envenenamiento de esquema. El suministro de un esquema con el documento
XML de tal manera que el validador XML utilizará el esquema que se suministra, lo
que permite un documento XML malicioso para ser validado sin errores.
» SQL inyección. Proporcionar parámetros especialmente diseñados que se
combinarán en el servicio web para generar una consulta SQL definida por el
atacante.
6.3. Referencias
McGraw, G. (2006). Software security: building security in. San Francisco: Addison
Wesley.
Lo + recomendado
Lecciones magistrales
Gateways XML
Los Gateways XML constituyen un medio online de protección del tráfico XML que los
servicios web emplean y de protección ante las amenazas más comunes que pueden sufrir
como SQLI, XSS y otras.
No dejes de leer…
Este artículo es una comparativa sobre las prestaciones en cuanto a Servicios Web y
arquitecturas SOA ofrecidas por las compañías más importantes, estableciendo un
ranking entre ellas en base a varios criterios incluida la seguridad de los mismos.
+ Información
A fondo
XML technology
Aplicación de la tecnología XML que incluye: XML namespace, XML schema, XSLT,
efficient XML interchange (EXI).
En esta página web se puede consultar una guía que puede servir de checklist para cubrir
todos los aspectos y funciones de seguridad de los servicios web para su protección.
Criterios para la evaluación de cortafuegos de las aplicaciones web del consorcio para la
seguridad de las aplicaciones web WASC.
Enlaces relacionados
OWASP
Página web del proyecto abierto para seguridad de las aplicaciones web.
W3C
The world wide web consortium (W3C) es una comunidad internacional que desarrolla
open standards para asegurar el crecimiento de la web.
Cgisecurity
Cgisecurity proporciona información sobre seguridad web. Este sitio cubre aspectos de
seguridad de bases de datos, servidores web, web application security, http, web
services security y más.
Test