The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.

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
CUPS Configuración y Uso de Paquetes de Software
Algunos tips en Seguridad ASP.NET 2.0
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.
integridad referencial
Delitos Informáticos.
Servidores Web Capítulo 2.
Web Attacks Mauren Alies Maria Isabel Serrano Sergio Garcia
ADMINISTRACION DE REDES SECUENCIA DE COMANDOS EN SITIOS CRUZADOS(XSS)
OWASP Top 10 – 2010 Los Diez Riesgos más importantes en Aplicaciones Web Miguel Guirao Linux+, GCIH, ITIL OWASP México
Errores comunes al desarrollar websites
OWASP TOP 10 Los diez riesgos más importantes en aplicaciones web
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 4: Seguridad y Aplicaciones Web Ing. A. Lorena Ruhl Universidad Tecnológica.
66.69 Criptografía y Seguridad Informática 1er. Cuatrimestre 2011
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Miembro de OWASP capítulo Aguascalientes
Desarrollo de sitios web con PHP y MySQL Tema 7: Seguridad José Mariano González Romano
San José, Costa Rica Febrero, 2011 Sistema de Formulación Presupuestaria.
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
ADMINISTRACION DE REDES TEMA REDIRECCIONES Y REENVÍOS NO VALIDADOS
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones José Mariano González Romano
TRABAJO DE SISTEMAS R EFERENCIA D IRECTA I NSEGURA A O BJETOS REALIZADO POR : DEISY MOSQUERA KARINA CHAVERRA.
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela.
 Permiten suplantar la información de un usuario determinado.  Se obteniene cuenta de administración para sabotear controles de autorización y registro.
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.
OWASP - A6 Open Web Application Security Project Riesgo por: Configuración Defectuosa de Seguridad Guillermo David Vélez Álvarez C.C. 71' 763,346.
(In)Seguridad en la Web
TRABAJO DE SISTEMAS R EFERENCIA D IRECTA I NSEGURA A O BJETOS REALIZADO POR : DEISY MOSQUERA KARINA CHAVERRA.
Lenguajes de programación Web
Diego Pastor Ralde. Client-side Vulnerabilities  Web Browsers  Office Software  Clients  Media Players.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
Instituto Tecnológico Superior de Nochistlán División Académica Ingeniería en Sistemas Computacionales “Manejo de Seguridad en PHP: Aplicaciones Seguras”
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
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.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
Google Analytics ¿Qué es? ¿Cómo se configura? Algunas funcionalidades Observaciones.
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
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Cristian Fonnegra Marin
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
S EGURIDAD Y A LTA D ISPONIBILIDAD Nombre: Adrián de la Torre López 24/09/ Adrián de la Torre López.
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.
Gabriel Montañés León.  El sistema de nombres de dominio (DNS, Domain Name System) se diseñó originalmente como un protocolo. Antes de considerar qué.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Tema 11 Bases de Datos y el Lenguaje SQL
Análisis de las principales vulnerabilidades de un sistema informático. Gabriel Montañés León.
Secuencia de Comandos en Sitios Cruzados XSS
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
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.
YUBER ANDRÉS LOAIZA OROZCO SERVIDOR PROXY GESTIÓN DE REDES DE DATOS.
Si usted se dirige al siguiente vínculo usted llegará a esta página. Si usted sigue el vínculo desde nuskin.com, usted evitará esta.
OWASP APPSEC RIO DE LA PLATA dcotelo13
Transcripción de la presentación:

The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes

2 ¿Que es la Guía de Desarrollo Seguro? Aplicaciones web y servicios web, orientado a J2EE, ASP.NET, PHP. Desde scripting de sitios cruzados (XSS) e inyección de SQL hasta suplantación de identidad, manipulación de tarjetas de crédito Blanco y negro en seguridad?

Temas 3 Interprete De Inyección Modelado De Riesgo De Amenaza Manejando Pagos En El Comercio Electrónico Phishing Servicios Web Autenticación Autorización Manejo De Sesiones Canonicalización, Locales Y Unicode Manejo De Errores, Auditoria Y Generación De Logs Sistema De Archivos Desbordamientos De Memoria Interfaces Administrativas Cifrado Configuración Mantenimiento Ataques De Denegación De Servicio

Interprete de Inyección Objetivo Garantizar que las aplicaciones sean seguras de ataques de manipulación de parámetros contra intérpretes comunes. Plataformas afectadas Todas

XSS Basados en DOM La Inyección del tipo “Cross-Site Scripting” basada en DOM permite a un atacante utilizar el Modelo de Objetos de Datos (DOM por sus siglas en inglés) para introducir código malicioso del lado del cliente en el JavaScript que se encuentra actualmente incorporado en bastantes páginas.

Aplicación con vulnerabilidad XSS Reflejado 3 2 Atacante establece una trampa – actualizar perfil Atacante ingresa un script malicioso en una pagina Web que almacena los datos en el servidor 1 Victima visualiza la pagina – accede al perfil Script silenciosamente envía la sesión de la victima al atacante Script se ejecuta en el navegador de la victima Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions Ejemplo

Protegiéndose Contra Ataques Reflejados Elimina caracteres sospechosos, preferentemente por medio de estrategias de validación tipo lista blanca. En ASP.NET, se debe añadir la siguiente línea al archivo web.config: en el área.

Protegiéndose Contra Ataques Almacenados ASP.NET: modifique el archivo web.config - asigne “true” al parámetro validateRequest y utilice HTTPUtility.HTMLEncode() para las variables en el cuerpo del código. PHP: utilice htmlentities(), htmlspecialchars(), para mostrar HTML y urlencode() para argumentos recibidos por el método GET. JSP: “Struts”, por ejemplo y similares: Bueno: "/> Malo: out.println(' “ />');

Inyección de SQL La inyección de instrucciones SQL se puede dar en cualquier forma de acceso a la base de datos. Sin embargo, algunos tipos de inyección de SQL son más difíciles de detectar que otros: · Procedimientos almacenados que utilizan parámetros, particularmente aquellos que tienen el tipo bien definido · = declaración preparada · = mapeo objeto-relacional (ORM por sus siglas en ingles) · Consultas dinámicas

Firewall Hardened OS Web Server App Server Firewall Databases Legacy Systems Web Services Directories Human Resrcs Billing Custom Code APPLICATION ATTACK Capa de Red Capa de Aplicación Accounts Finance AdministrationTransactions Communication Knowledge Mgmt E-Commerce Bus. Functions Pedido HTTP  Consulta SQL  Tabla BD   Respuesta HTTP   "SELECT * FROM accounts WHERE acct=‘’ OR 1=1-- ’" 1. Aplicación presenta un formulario Web al atacante 2. Atacante envía un ataque en los datos del formulario 3. Aplicación dirige el ataque a la base de datos en una consulta SQL Account Summary Acct: Acct: Acct: Acct: Base de datos ejecuta el ataque y envía los resultados cifrados nuevamente a la aplicación 5. Aplicación descifra los datos normalmente y envía los resultados al atacante Account: SKU: Account: SKU: Ejemplo

Consideraciones · Todas las sentencias SQL deben asegurarse de que cuando un usuario afecte información, esta información sea seleccionada o actualizada basándose en el registro del usuario. · En el código que haga llamadas a cualquier capa de persistencia, agregar caracteres de escape para evitar inyecciones de SQL en esas capas. · Contar con al menos una prueba automatizada que intente llevar a cabo inyecciones de SQL.

12 Referencias Guía de desarrollo seguro OWASP OWASP Aguascalientes

¿Preguntas?

¡Gracias! Francisco Aldrete