Defensa contra ataques web comunes

Slides:



Advertisements
Presentaciones similares
Presentación – Web Attack
Advertisements

1 | Web Attacks Documentación – Web Attack. 2 | Web Attacks Seguridad en Aplicaciones Web Protocolo HTTP Vulnerabilidad XSS Vulnerabilidad CSRF Path Traversal.
Curso de PHP Tema 5: Sesiones.
1 | Web Attacks Documentación – Web Attack. 2 | Web Attacks Seguridad en Aplicaciones Web Protocolo HTTP Vulnerabilidad XSS Vulnerabilidad CSRF Path Traversal.
Internet y tecnologías web
Diseño de Bases de Datos
Algunos tips en Seguridad ASP.NET 2.0
Desarrollo de aplicaciones seguras con.NET David Carmona División de Desarrolladores y Plataforma Microsoft Ibérica.
Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.
Implementación de procedimientos almacenados
Internet Information Server 6.0 Aplicaciones Web Seguras
Implementación de procedimientos almacenados. Introducción a los procedimientos almacenados Creación, ejecución, modificación y eliminación de procedimientos.
Seguridad en aplicaciones Web con Microsoft ASP.NET
Acceso a datos con Microsoft ADO.NET
Técnicas avanzadas de penetración a sistemas
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
Introducción a servidores
Web Attacks Mauren Alies Maria Isabel Serrano Sergio Garcia
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
ADMINISTRACION DE REDES SECUENCIA DE COMANDOS EN SITIOS CRUZADOS(XSS)
Errores comunes al desarrollar websites
OWASP TOP 10 Los diez riesgos más importantes en aplicaciones web
Diseñar un sistema que permita al usuario desde un teléfono móvil acceder a su computador personal (o servidor) a través de WAP para administrar algunos.
2.5 Seguridad e integridad.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Curso de PHP Tema 6: Seguridad.
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 4: Seguridad y Aplicaciones Web Ing. A. Lorena Ruhl Universidad Tecnológica.
Escritura de código seguro: defensa contra las amenazas
Seguridad y Privacidad
Introducción ADO .Net.
BUFFER OVERFLOW Y EXPLOITS
Desarrollo de sitios web con PHP y MySQL Tema 7: Seguridad José Mariano González Romano
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
SERVIDOR.
Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones José Mariano González Romano
Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
JOSE FERNANDO MORA CARDONA Administración de redes - CTMA SENA 2012 FALLAS DE RESTRICCIÓN DE ACCESO A URL.
Auditoría de Sistemas y Software
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela.
WEB VULNERABLE DVWA Universidad de Almería
The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.
Seguridad en Aplicaciones Web
Curso de Creación aplicaciones dinámicas web con PHP y MySQL Continuamos.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
66.69 Criptografía y Seguridad Informática FIREWALL.
EXPLOITEXPLOIT Equipo 3Equipo 3. Exploit: Es un programa o código que "explota" una vulnerabilidad del sistema o de parte de él para aprovechar esta deficiencia.
Pierre Sergei Zuppa Azúa Diseño. Métodos de desarrollo para web Diseño Keyword.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
ATAQUES POR INYECCION DE CODIGO SQL
UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001: Lucía Castro- Víctor Cabezas- Diana Checa UNIVERSIDAD ECOTEC Ataques Aplicaciones WEB Lucía Castro Víctor.
UD 1: “Adopción de pautas de seguridad informática” Análisis de las principales vulnerabilidades de un sistema informático. Luis Alfonso Sánchez Brazales.
REFERENCIA DIRECTA INSEGURA A OBJETOS
XSS CROSS SITE SCRIPTING Es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte.
Introducción a ataques de tipo inyección: Inyección SQL
S EGURIDAD Y A LTA D ISPONIBILIDAD Nombre: Adrián de la Torre López 24/09/ Adrián de la Torre López.
Manual violento de Navicat
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
Punto 6 – Seguridad en el protocolo HTTP Juan Luis Cano.
Análisis de las principales vulnerabilidades de un sistema informático. Gabriel Montañés León.
SEGURIDAD EN SERVIDORES WEB
Secuencia de Comandos en Sitios Cruzados XSS
Hackear un Sitio Web. Claudio
FIREWALLS, Los cortafuegos
Integrantes: Giomara Delgado Miranda Miguel Villao Figueroa Juan Quiroz Asencio.
A NÁLISIS DE LAS PRINCIPALES VULNERABILIDADES DE UN SISTEMA INFORMÁTICO Luis Villalta Márquez.
Alberto Rivera Tavera Microsoft Student Partner
OWASP APPSEC RIO DE LA PLATA dcotelo13
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Transcripción de la presentación:

Defensa contra ataques web comunes MGB 2003 Defensa contra ataques web comunes Isabel Gomez Isabelg@microsoft.com Miguel Jimenez miguel@ilitia.com http://blogs.clearscreen.com/migs © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Defensa Contra Ataques MGB 2003 Defensa Contra Ataques Securizar una Aplicación: Validación de Datos de Entrada Buffer Overrun Inyección SQL Cross-Site Scripting Robo de Sesión © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Holística de la seguridad MGB 2003 Holística de la seguridad Aplicación Validación de INput Autenticación Autorización Gestión de Configuración Datos Sensibles Gestión de Sesiones Criptografía Manipulación de Parámetros Gestión de Excepciones Auditoría y Logging Red Servidor Web Servidor de Aplicaciones Servidor de BD Firewall Router Firewall Switch Servidor Parches Servicios Protocolos Cuentas Ficheros y Directorios Shares Puertos Registro Auditoría y Logging © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Securizar la Aplicación MGB 2003 Securizar la Aplicación Validación de Datos de Entrada Autentificación Autorización Gestión de Configuración Datos Sensibles Gestión de Sesiones Criptografía Manipulación de Parámetros Gestión de Excepciones Auditoría y Logging © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Securizar la Aplicación Validación de Datos de Entrada MGB 2003 Securizar la Aplicación Validación de Datos de Entrada Ataques posibles: Desbordamiento de buffer Inyección de código Inyección SQL Cross-Site Scripting (xss) Entrada de datos: Cookies, cabeceras, campos html, controles Viewstate,QueryString Servicios Web/Remoting/DCOM Datos de base de datos, ficheros o fuentes remotas Siempre dudar de su contenido!! Validación de datos en servidor © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Buffer overruns MGB 2003 Validación de la entrada Buffer overruns Stack void UnSafe (const char* datoSinValidar) { 0x01010101 char[4] char variableLocal[4]; 0x01010101 int int otraVariableLocal; strcpy (variableLocal, datoSinValidar); 0x0A3BA429 Return address } 0x01 0x01 0x01 0x01 0x0A 0x3B 0xA4 0x29 0x00 0x14 0x5B 0xB1 0xDA 0xC1 0x42 ... datoSinValidar PUSH 0x00001234 PUSH [0x0A2EF4D9] CALL 0x0A3BA78C © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Buffer overruns MGB 2003 Validación de la entrada Buffer overruns Causas más comunes Copia de cadenas Arrays Reserva de memoria insuficiente Defensas Utilizar código manejado Vigilar P/Invoke, código unsafe Usar con cuidado strcpy, memcpy Mejor equivalentes en strsafe.h Opción compilador C++: /GS © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Inyección SQL MGB 2003 Validación de la entrada Inyección SQL Qué es? SqlConnection conn= new SqlConnection( “server=localhost;Database=Northwind” + “user id=sa;password=pass*word;"); string sqlString="SELECT * FROM Orders WHERE “ + “CustomerID='" + idCliente + "'"; SqlCommand cmd = new SqlCommand(sqlString, conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); // ... © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Inyección SQL MGB 2003 Validación de la entrada Inyección SQL La gente buena introduce VINET SELECT * FROM Orders WHERE CustomerID=‘VINET' SELECT * FROM Orders WHERE CustomerID=‘VINET‘OR 1=1 --’ Los malos VINET’ OR 1=1 -- SELECT * FROM Orders WHERE CustomerID=‘VINET‘; DROP TABLE ORDERS --’ Los malísimos VINET’; DROP TABLE ORDERS -- SELECT * FROM Orders WHERE CustomerID= ‘VINET‘;exec xp_cmdshell ‘format C:’ Los @*^# VINET’;exec xp_cmdshell ‘format C: © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Inyección SQL MGB 2003 Validación de la entrada Inyección SQL Utilizar comandos parametrizables Al menos minimizarlo Validar entrada en servidor Usar cuentas SQL restringidas No volcar mensajes de error string sqlString="SELECT * FROM Orders WHERE CustomerID=@custID"; SqlCommand cmd = new SqlCommand(sqlString, conn); cmd.Parameters.Add("@custID", idCliente); © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

MGB 2003 Inyección SQL © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Cross-site scripting MGB 2003 Validación de la entrada Cross-site scripting ¿Que es XSS? Un agujero de seguridad que permite al hacker ejecutar código script en un cliente web Dos entradas principales Contempladas (foros, emails, librerías…) Ocultas (querystring, campos HTML…) Efectos habituales Modificación del contenido Envío de información Robo de sesión © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Anatomía de una ataque XSS MGB 2003 Validación de la entrada Anatomía de una ataque XSS Hacker Victima Envia correo al usuario con link a un sitio inocente 3. En el contexto del usuario, el sitio envia datos a traves de un post malformado 2. El usuario visita el sitio web Sitio Web © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Tipos de Cross-site scripting MGB 2003 Validación de la entrada Tipos de Cross-site scripting Tipo 0 – Local ó DOM-based Un script local accede a parametros request de la URL y los utiliza para construir código script. Tipo 1 – No Persistente ó Reflejada Se utilizan l os datos de entrada de formularios para construir scripts, permitiendo la inyección de código. Tipo 2 – Persistente ó Segundo Orden Es la más poderosa. Los datos se almacenan en una bbdd y posteriormente se muestran a los usuarios, inyectando el código continuamente. © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Cross-site scripting MGB 2003 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Validación de la entrada Protección contra Cross-site scripting MGB 2003 Validación de la entrada Protección contra Cross-site scripting Validar y limpiar cualquier entrada Vigilar <script>, <object>… Especialmente la que es mostrada después Utilizar HttpOnly en IE6.1 Aprovechar ASP.NET HTMLEncode para limpiar ValidateRequest para validar todas las entradas © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Autenticación falseable Robos de passwords MGB 2003 Autenticación falseable Robos de passwords Nunca enviar por canales inseguros Cuidado con RPC, Remoting Proteger su almacenamiento Establecer políticas Utilizar hash con salt Password Salt SHA1CryptoServiceProvider.ComputeHash Hash © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Autenticación falseable Modificación de ticket MGB 2003 Autenticación falseable Modificación de ticket ASP.NET utiliza tickets en forma de URL o cookie Robo de cookie Cuidado con XSS Usar RequireSSL y !Persistent Modificación de cookie Si contiene información del usuario Utilizar MAC © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

MGB 2003 Cookie Tampering © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

MGB 2003 Sumario La gran mayoría de las aplicaciones tienen agujeros de seguridad Reglas de protección Validación de entrada Evitar SQL dinámico Aplicar Encoding a toda la salida Ejecutar con los mínimos privilegios Cifrar los secretos (connstr, pass’s, etc.) Minimizar la superficie de exposición Y si fallamos, hacerlo de modo privado © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Próximas acciones 8 Junio Evento Windows Workflow Mad.nug MGB 2003 Próximas acciones 8 Junio Evento Windows Workflow Mad.nug 13 Junio. Seguridad Práctica para Empresas Hacking Web Sites http://www.microsoft.com/spain/technet © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Isabel Gomez - Microsoft isabelg@microsoft.com MGB 2003 Isabel Gomez - Microsoft isabelg@microsoft.com Miguel Jiménez – Ilitia / MAD.NUG miguel@ilitia.com © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.