"Seguridad en Servicios Web" exposición del Ing. Saul Mamani Mamani, desarrollada en el III Congreso Internacional de Informática Forense y Hacking Ético, desarrollado en la ciudad de Tarija en Bolivia el Sábado 03 de Mayo del 2014
3. ¿Te has imaginado alguna vez
programar una método en un
lenguaje X, y re utilizarlo
desde cualquier lenguaje de
programación, en
(Aplicación de Escritorio,
Aplicación Web, o Aplicación Móvil),
5. Un Servicio Web (Web Service) es
una aplicación (conjunto de
funciones o métodos) que residen en
un servidor y que utiliza estándares,
tales como, SOAP, WSDL, XML,
UDDI. Para intercambiar datos e
información entre aplicaciones
independientemente del lenguaje de
programación en el que estén
desarrollados y de la plataformaLos archivos de servicios web tienen extensión .asmx
9. ¿Cómo se comunican
los diferentes
componentes?
¿Cómo interactúa
con diferentes
plataformas?
¿Cómo se invocan
los diferentes
10. ¿Cómo se
comunican los
diferentes
componentes?
SOA
P
-Simple Object Access Protocol
-Evolución de XML – RPC , (Microsoft,
IBM)
-Transparencia de Datos,
independencia de la plataforma
-Middleware (RPC, RMI, CORBA, etc)
-Medio de comunicación entre los
diferentes componentes (HTTP(S) en
TCP 80-443, SMTP)
-Define cómo se establece el
ServiciosWeb
RESTFull para
dispositivos
móviles
11. ¿Cómo se
comunican los
diferentes
componentes?
WSD
L
-Web Service Definition
Language
-API (Interfaz Pública) basado
en XML
-Define que métodos están
disponibles en un Servicio Web.
-Cómo invocar los diferentes
métodos.
-Qué resultado devuelve un
12. ¿Cómo se
comunican los
diferentes
componentes?
XML
-eXtensible Markup
Language
-Es un lenguaje de
etiquetado cuya función
principal es la de generar
documentos (Datos e
Información).
-Texto plano, cualquier
lenguaje de programación o
sistema operativo lo puede
24. Aplicación Local
(Escritorio – Móvil)
Cliente Cliente
Servidor Aplicciones
IIS
Apache
Tomcat, etc
Servidor de Base de Datos
Red
Red
SOAP
WSDL
XML
UDDI
Ataque
27. Recolectar información,
analizarla y clasificarla para
identificar los recursos
tecnológicos utilizados por un
objetivo determinado.
https://w3dt.net//tools/httpreconHTTPRecon
https://www.owasp.org/index.php/Main_Page
http://tools.whois.net/
28. - Descubrir WSDL.
Descripción, Ubicación y forma de Autenticación de un WS.
<service >
- Los Mensajes de Error, siempre muestran
información vulnerable
.wsdl
35. Solicitar un recurso al
servidor web una gran
cantidad de veces, de tal
forma que, el servidor no
pueda atender las
solicitudes de los clientes
legítimos.Solicitar Recursos
Muy Pesados
(Tamaño y peso)
Buscar deficiencias en la
programación que
induzcan a errores no
36. El cliente envía varias Flags SYN en la
cabecera, con la dirección de origen
falsificada. Al ser el cliente o la IP falsa,
nunca llega la respuesta ACK. (consumen
recursos del servidor)
37. Envió masivo de paquetes (ping), que
implican una respuesta por parte de la
victima (pong) con el mismo contenido que
el paquete de origen. (consumen el ancho de
banda de la victima)
42. Del lado del Servidor:
- Mantener actualizado el servidor, y los Firewalls con
las últimas revisiones de seguridadhttp://www.microsoft.com/es-es/security
- Balanceo de Carga en Servidores (Windows server ->
NLBMgr.exe)
- Proteja la pila del protocolo TCP/IP en su servidor
Windows Server
43. Del lado da la Aplicación:
- Mantener actualizado los navegadores para
evitar instalar componentes no deseados que
convierta nuestra página en un zombi.
- Limpiar las entradas de datos de las
Aplicaciones Web (Validación de datos)
- Utilice Códigos de Seguridad en Formularios
de entrada de datos (CAPCHA), para evitar
exploit.
44. Xpath es un lenguaje
que permite recuperar
información de un
documento XML.
Un atacante podría
descubrir la estructura del
documento XML, e
incluso acceder a los
Xpath fue creada para su uso con el
estándar XSTL
51. Valide los datos, tanto en el Cliente como
en el Servidor
Los componentes de validación de Visual Studio,
validan los datos en el cliente (Java Script) y en el
52. Limpie los datos de entrada, en el servidor
Válido también para SQL Injection, XSS, XML
Elimine posibles ataques con una
Expresión Regular
53. - Utilice Ajax para enviar datos de
formularios
- Evítese e enviar datos por la URL
(Método GET)
- No confíe en los datos ingresado porVálido también para SQL Injection, XSS, XML
54. La nueva plataforma que utiliza .NET
Framework
(Windows Comunication Fundation)
*.svc
55. - Entendamos como funcionan los Servicios
Web
- Conocer que tipo de ataques se pueden
realizar
- Para saber cómo defendernos
- Mantener actualizados nuestros sistemas
- Adoptar buenas políticas de programación