seguridad en aplicaciones web

37
HACKEO Y DEFENSA PARA APLICACIONES WEB PRESENTADO POR: ABEL ESTRELLA HUANCAYO

Upload: guest80e1be

Post on 26-May-2015

3.570 views

Category:

Education


1 download

DESCRIPTION

Desarrollo de Seguridad en las aplicaciones web

TRANSCRIPT

Page 1: Seguridad en Aplicaciones Web

HACKEO Y DEFENSA PARA APLICACIONES WEB

PRESENTADO POR: ABEL ESTRELLA HUANCAYO

Page 2: Seguridad en Aplicaciones Web
Page 3: Seguridad en Aplicaciones Web

Configuración de la aplicación Web

  Aplicación Web Hacking

Amenazas de Aplicaciones Web

Desarrollo de un Ataque

Medidas de Defensa

Herramientas de Hacking de Aplicaciones Web

DESARROLLO

Page 4: Seguridad en Aplicaciones Web

CONFIGURACIÓN DE LA APLICACIÓN WEB

Page 5: Seguridad en Aplicaciones Web
Page 6: Seguridad en Aplicaciones Web

APLICACIONES WEB HACKING

Clonación de sitios web Robo de tarjeta de crédito información Aprovechamiento del lado del servidor

scripting La explotación de desbordamientos de búfer Ataques al Servidor de Nombres de Dominio

(DNS). Empleo de códigos maliciosos Denegación de Servicio Destrucción de datos

Page 7: Seguridad en Aplicaciones Web

DESARROLLO DE UN ATAQUE

ESCANEO

RECOPILACION DE INFORMACIÓN

REALIZAR PRUEBAS O TESTEO

PLANIFICACIÓN DE ATAQUE

INICIO DEL ATAQUE

Page 8: Seguridad en Aplicaciones Web

Interoperatividad entre Lenguajes .

Cualquier Lenguaje o protocolo puede ser victima.

La forma semántica de las funciones, programación.

Los meta caracteres

Page 9: Seguridad en Aplicaciones Web

AMENAZAS EN APLICACIONES WEB

Page 10: Seguridad en Aplicaciones Web
Page 11: Seguridad en Aplicaciones Web

Cross-site scripting

Page 12: Seguridad en Aplicaciones Web
Page 13: Seguridad en Aplicaciones Web
Page 14: Seguridad en Aplicaciones Web
Page 15: Seguridad en Aplicaciones Web

Medidas Validar todas las cabeceras, las cookies, las

cadenas de consulta, los campos del formulario, y campos ocultos (es decir, todos los parámetros) en contra de un riguroso especificación.

Adoptar una estricta política de seguridad Filtrado de salida la secuencia de comandos

también para afrontar a las vulnerabilidades de XSS evitando que se transmiten a los usuarios.

Eliminando Html_tags Codificando los html tags Validando http_referer

Page 16: Seguridad en Aplicaciones Web

Injection

Las aplicaciones web necesitan guardar datos

RDBMS (MySQL, MS-SQL, PostgreSQL, Oracle...)LDAP…XML

Un ataque típico es la inyección: variar significado sentencia (en nuestro beneficio)

SQL Injection

LDAP Injection

XPath Injection

Page 17: Seguridad en Aplicaciones Web
Page 18: Seguridad en Aplicaciones Web

SLQ INJECTION

Page 19: Seguridad en Aplicaciones Web
Page 20: Seguridad en Aplicaciones Web
Page 21: Seguridad en Aplicaciones Web

Medidas El primer paso para prevenir los ataques

basados en SQL injection es ser consciente de que un usuario no siempre va a proporcionarte la entrada que tu piensas.

El segundo paso es realizar algo que es básico en seguridad: validación de datos. Para cada dato sea cual sea, proveniente de un usuario de la aplicación debemos asegurarnos de que sea válido y del tipo adecuado.

Page 22: Seguridad en Aplicaciones Web

Cookie/session poisoning

Page 23: Seguridad en Aplicaciones Web

Atributo

Valor Sintaxis Descripción

NOMBRE _DE_COOKIE

VALOR

El nombre y el valor no pueden contener los siguientes caracteres: punto y coma (;), coma (,) o espacio ( ). Dichos valores sólo se pueden agregar utilizando una codificación URL.

Este es el único atributo obligatorio.

expires FECHADía, DD-MM-AAAA HH:MM:SS GMT

El atributo de expires se usa para definir la fecha en la que la cookie ya no debe almacenarse en el disco rígido ni ser admitida por el servidor.

domain nombre_de_dominio xxx.xxx.xxx

El nombre del dominio generalmente se deja vacío ya que el nombre del servidor se asigna por defecto (generalmente es lo que se quiere aquí). Donde se indique, el nombre del dominio debe contener al menos dos puntos (es decir: www.commentcamarche.net). Un equipo proveniente de un dominio específico sólo puede especificar un nombre de sub-dominio o su propio nombre de dominio

path /directorio /ruta/El valor path se utiliza para definir una carpeta o archivo en el servidor dentro del cual la cookie es válida, para reducir el campo de acción.

secure ninguno  El valor secure es opcional. Se utiliza para especificar que la cookie será enviada sólo si la conexión es segura (utilizando SSL o HTTPS).

Page 24: Seguridad en Aplicaciones Web

Medidas

No guarde en texto plano o contraseña cifrada débil en un cookie.

Implementar eliminación de cookies por tiempo.

Las cookies de autenticación de credenciales debería estar asociada con una dirección IP.

Hacer salir funciones disponibles.

Page 25: Seguridad en Aplicaciones Web

Buffer Overflow

Page 26: Seguridad en Aplicaciones Web

Medidas

Validar formularios de entrada de longitud.

Comprobar los límites y mantener un cuidado especial cuando se utiliza a los bucles al momento de realizar copiado de los datos.

StackGuard y StackShield para Linux son herramientas para la defensa de programas y sistemas.

Page 27: Seguridad en Aplicaciones Web

Herramientas de HackingInstant Source

Wget

WebSleuth

BlackWidow

WindowBomb

Burp

cURL

Page 28: Seguridad en Aplicaciones Web

Instant Source

Page 29: Seguridad en Aplicaciones Web

WGET

Page 30: Seguridad en Aplicaciones Web

Ejemplos Bajar un archivo:  

wget http://www.inti.gov.ar/index.html  Bajar un archivo del cual ya bajamos una parte con otro programa:  

wget -c http://www.inti.gov.ar/index.html  Bajar el directorio completo de

http://www.debian.org/~jules/gnome-stage-2/dists/unstable/main/binary-i386/ donde estan unos .deb que queremos bajarnos: Wget -r -A=.html,.deb -nc -np http://www.debian.org/~jules/gnome-stage-2/dists/unstable/main/binary-i386/

  Bajar un archive de Ftp: 

wget ftp://username:[email protected]/somedir/somefile  El mismo archive con password adicional: 

Wget ftp://ftp.example.net/somefile --ftp-user=username --ftp-password= ”password”

Page 31: Seguridad en Aplicaciones Web

WebSleuth - Screenshot

Page 32: Seguridad en Aplicaciones Web

Blackwidow

Page 33: Seguridad en Aplicaciones Web

SiteScope Tool

Page 34: Seguridad en Aplicaciones Web

NORMAS DE SEGURIDAD DE APLICACIONES WEB

Page 35: Seguridad en Aplicaciones Web

OWASP” (Open Web Application Security Project Validación de la

entrada y salida de información .

Diseños simples . Utilización y

reutilización de componentes de confianza

Defensa en profundidad

Tan seguros como el eslabón más débil

La "seguridad gracias al desconocimiento" no funciona.

Verificación de privilegios Ofrecer la mínima

información consideraciones de

arquitectura, mecanismos de autenticación, gestión de sesiones de usuario, control de acceso, registro de actividad, prevención de problemas comunes, consideraciones de privacidad y criptografía.

Page 36: Seguridad en Aplicaciones Web

CONCLUSIONES Ningún Lenguaje de programación puede prever código

inseguro, aunque dentro de sus características permita el bloqueo de información confidencial y relevante.

  El no uso de herramientas lógicas, ya sea firewall,

verificaciones de las aplicaciones web, depuraciones, permitirán la mayor vulnerabilidad de estas.

  El mayor uso plataformas web, por la diversidad de

empresas y para todo tipo de servicios, donde las aplicaciones web tienen el papel más importante, convirtiéndolo en la interfaz de comunicación entre empresas y clientes, por ello de su implementación con estándares de seguridad.

  A la par que avanzan las aplicaciones web, el avance

del hackeo va en paralelo.

Page 37: Seguridad en Aplicaciones Web

RECOMENDACIONES Tener Buenas prácticas para el uso de internet es

decir:

usar contraseña en el equipo (router) de conexión a internet

Establecer mejores prácticas de uso de internet tales como navegar en sitios conocidos/seguros, evitar dar click a links enviados por otros usuarios, evitar abrir correos electrónicos de fuentes desconocidas

Utilizar una herramienta Antivirus con Firewall personal, detector de intrusos y soluciones Anti-Spam y Anti-Phishing

Es importantísimo crear aplicaciones web con, por lo menos, un nivel mediano y alto de seguridad.

Seguir el desarrollo de proyectos y normas para Aplicaciones Web Abiertas como el caso de Guía OWASP” (Open Web Application Security Project).