Seguridad en Aplicaciones Web

Preview:

DESCRIPTION

Desarrollo de Seguridad en las aplicaciones web

Citation preview

HACKEO Y DEFENSA PARA APLICACIONES WEB

PRESENTADO POR: ABEL ESTRELLA HUANCAYO

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

CONFIGURACIÓN DE LA APLICACIÓN 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

DESARROLLO DE UN ATAQUE

ESCANEO

RECOPILACION DE INFORMACIÓN

REALIZAR PRUEBAS O TESTEO

PLANIFICACIÓN DE ATAQUE

INICIO DEL ATAQUE

Interoperatividad entre Lenguajes .

Cualquier Lenguaje o protocolo puede ser victima.

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

Los meta caracteres

AMENAZAS EN APLICACIONES WEB

Cross-site scripting

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

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

SLQ INJECTION

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.

Cookie/session poisoning

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).

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.

Buffer Overflow

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.

Herramientas de HackingInstant Source

Wget

WebSleuth

BlackWidow

WindowBomb

Burp

cURL

Instant Source

WGET

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:password@ftp.example.net/somedir/somefile  El mismo archive con password adicional: 

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

WebSleuth - Screenshot

Blackwidow

SiteScope Tool

NORMAS DE SEGURIDAD DE 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.

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.

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).

Recommended