Sei sulla pagina 1di 56

KAMBAN

WEB SERVICES
Ing. Sal Mamani Mamani
Ingeniero Informtico
Seguridad en .NET
WSDL
XML
UDDI
WCF
SOAP
Introduccin
Servicios Web
Arquitectura de los Servicios Web
Creacin de Servicios Web .NET
Tipos de Ataque
Tcnicas Defensivas
Conclusiones
Te has imaginado alguna vez
programar una mtodo en un
lenguaje X, y re utilizarlo desde
cualquier lenguaje de programacin,
en (Aplicacin de
Escritorio, Aplicacin Web, o Aplicacin Mvil),
(Windows,
Linux, etc.)?
Justamente este milagro es lo que nos ofrecen
los Servicios Web
Un Servicio Web (Web Service) es una
aplicacin (conjunto de funciones o
mtodos) que residen en un servidor y que
utiliza estndares, tales como, SOAP, WSDL,
XML, UDDI. Para intercambiar datos e
informacin entre aplicaciones
independientemente del lenguaje de
programacin en el que estn desarrollados
y de la plataforma donde se ejecuten
Los archivos de servicios web tienen extensin .asmx
Aplicacin
Monoltica
Arquitectura Cliente-Servidor en Tres Capas
(MVC)
Arquitectura Orientadas a Servicios (n-capas)
Cmo se comunican los
diferentes componentes?
Cmo interacta con
diferentes plataformas?
Cmo se invocan los
diferentes servicios?
Cmo se comunican
los diferentes
componentes?
SOA
P
- Simple Object Access Protocol
- Evolucin de XML RPC , (Microsoft, IBM)
- Transparencia de Datos, independencia de la
plataforma
- Middleware (RPC, RMI, CORBA, etc)
- Medio de comunicacin entre los diferentes
componentes (HTTP(S) en TCP 80-443,
SMTP)
- Define cmo se establece el intercambio de
informacin (XML)

Servicios Web
RESTFull para
dispositivos
mviles
Cmo se comunican
los diferentes
componentes?
WSD
L

-Web Service Definition Language
-API (Interfaz Pblica) basado en
XML
-Define que mtodos estn disponibles
en un Servicio Web.
-Cmo invocar los diferentes mtodos.
-Qu resultado devuelve un mtodo
dentro un Servicio Web.
Cmo se comunican
los diferentes
componentes?
XML
-eXtensible Markup Language
-Es un lenguaje de etiquetado
cuya funcin principal es la de
generar documentos (Datos e
Informacin).
-Texto plano, cualquier lenguaje
de programacin o sistema
operativo lo puede leer
Cmo se comunican
los diferentes
componentes?
UDDI
-Universal Description Discovery
and Integration
-Permite la publicacin de
Servicios Web
- Cuyo objetivo es ser accedido
por los mensajes SOAP y dar
paso a documentos WSDL
-Integrado en Windows Server
Varitas Mgicas y por lo tanto Misteriosas
Clase: *.cs
Servicio: *.asmx
UDDI:
WSDL:
WSDL - XML:
Consumo del Servicio Web
Consumo del Servicio Web
http://www.gerentedenegocios.com/
whmcs/knowledgebase.php?action=di
splayarticle&id=3
http://www.service-repository.com/
http://www.xmethods.com/ve2/index.po
Aplicacin Local
(Escritorio Mvil)
Cliente
Cliente
Servidor Aplicciones
IIS
Apache
Tomcat, etc
Servidor de Base de Datos
Red
Red
SOAP
WSDL
XML
UDDI
Ataque
Aplicacin
Web
(Web-App)
Cliente
Cliente
Servidor Aplicaciones
IIS
Apache
Tomcat, etc
Servidor de Base de Datos
Red
Red
Servidor Frontal
Red
Movil
SOAP
WSDL
XML
UDDI
Ataque
Ataque
DDoS
FingerPriting
MiMt
SQL Injection
XSS
Xploints
XML Injection
Robo de Sesiones
Footpriting
Recolectar informacin, analizarla y
clasificarla para identificar los
recursos tecnolgicos utilizados por
un objetivo determinado.
https://w3dt.net//tools/httprecon
HTTPRecon
https://www.owasp.org/index.php/Main_Page
http://tools.whois.net/
- Descubrir WSDL.


Descripcin, Ubicacin y forma de Autenticacin de un WS. <service >

- Los Mensajes de Error, siempre muestran informacin
vulnerable

.wsdl
wsScanner
http://www.blueinfy.com/tools.html
Anubis
http://www.flu-project.com/p/anubis.html
Cmo nos protegemos?
Utilizar el fichero robots.txt
Para que ningn buscador indexe donde se encuentren los
ficheros wsdl, *.asmx
Deshabilitar la documentacin del WSDL
Dentro del archivo Web.config en .NET
Mostrar Mensajes de Error Genricos
Maneje excepciones a la hora de programar sus Servicios Web
Utilizar Autenticacin
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
legtimos.
Solicitar Recursos Muy
Pesados (Tamao y peso)
mediante URL.
Buscar deficiencias en la
programacin que induzcan a
errores no controlados
(Exploits)
El cliente enva varias Flags SYN en la cabecera, con
la direccin de origen falsificada. Al ser el cliente o la
IP falsa, nunca llega la respuesta ACK. (consumen recursos
del servidor)
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)
Amplifica considerablemente los efectos de un ataque ICMP
VICTIMA
INTERMEDIARIO -
VICTIMA
ATACANTE
Ataque de
Negacin de
Servicios
Distribuido,
utilizando una
BotNet (Robot
Net). Muy
difcil de
rastrear al
atacante.
Ping de la muerte:
LOIC (Low Orbit Ion Cannon):
http://anonopsibero.blogspot.com/p/loic-y-otro-
software.html#.U2P60IF5Oa8
Hping3 (Linux):
hping3 -q -n -S -i u4000 -p www.infocaloruro.org
Cmo nos protegemos?
Del lado del Servidor:
- Mantener actualizado el servidor, y los Firewalls con las ltimas
revisiones de seguridad
http://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
Del lado da la Aplicacin:
- Mantener actualizado los navegadores para evitar
instalar componentes no deseados que convierta nuestra
pgina en un zombi.
- Limpiar las entradas de datos de las Aplicaciones Web
(Validacin de datos)
- Utilice Cdigos de Seguridad en Formularios de entrada
de datos (CAPCHA), para evitar exploit.
Xpath es un lenguaje que
permite recuperar informacin
de un documento XML.
Un atacante podra descubrir la
estructura del documento
XML, e incluso acceder a los
datos.
Xpath fue creada para su uso con el estndar
XSTL
Por ejemplo, podramos usar una sentencia OR.
Por ejemplo, podramos usar una sentencia OR.
Por ejemplo, podramos usar una sentencia OR.
Xpath Blind Explorer.
https://code.google.com/p/xpath-blind-explorer/downloads/list
Cmo nos protegemos?
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Validacin
Valide los datos, tanto en el Cliente como en el
Servidor
Los componentes de validacin de Visual Studio, validan los
datos en el cliente (Java Script) y en el Servidor (C#, VB)
Limpie los datos de entrada, en el servidor
Vlido tambin para SQL Injection, XSS, XML Injection, entre
otros.
Elimine posibles ataques con una Expresin
Regular
- Utilice Ajax para enviar datos de formularios




- Evtese e enviar datos por la URL (Mtodo
GET)
- No confe en los datos ingresado por el cliente
(Pruebas de Software Caja Negra). Vlido tambin para SQL Injection, XSS, XML Injection, entre
otros.
La nueva plataforma que utiliza .NET Framework
(Windows Comunication Fundation) *.svc
- Entendamos como funcionan los Servicios Web
- Conocer que tipo de ataques se pueden realizar
- Para saber cmo defendernos
- Mantener actualizados nuestros sistemas
- Adoptar buenas polticas de programacin
- Buscar las herramientas necesarias para poner a
prueba nuestros sistemas
GRACIAS
KAMBAN
Ing. Sal Mamani Mamani
Ingeniero Informtico
@kanito777
Luas0_1@yahoo.es
WSDL
XML
UDDI
WCF
SOAP
DAS

Potrebbero piacerti anche