SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Seguridad Web 
Octubre, 2014 
@camposer - Madrid
Seguridad... 
● “Dicho de un mecanismo: Que asegura algún buen funcionamiento, 
precaviendo que este falle, se frustre o se violente.” Real Academia 
Española 
● “Si usted piensa que la tecnología puede resolver sus problemas de 
seguridad, entonces usted no entiende ni los problemas ni la tecnología” 
Bruce Schneier 
● “La seguridad es una cadena y es tan segura como su eslabón más 
débil” Bruce Schneier 
● “La seguridad es un proceso, no un producto” Bruce Schneier
Conceptos básicos 
A continuación se presentan los conceptos 
básicos relacionados con la seguridad de 
sistemas: 
● Agente de amenaza (atacante). 
● Vulnerabilidad. 
● Ataque. 
● Contramedida.
Aplicaciones Web 
Es una aplicación que se accede a través de un 
Navegador Web sobre una red (Ej. Internet). 
Los Navegadores Web interpretan etiquetas 
HTML y lenguajes de script (Ej. Javascript) 
permitiendo a sus usuarios visualizar documentos 
de texto, posiblemente con recursos multimedia 
incrustados.
Características de las 
Aplicaciones Web 
Las Aplicaciones Web son alojadas en Servidores Web 
que son accedidos por Navegadores Web a través de 
peticiones HTTP. 
HTTP es un protocolo de ráfaga que no conserva el 
estado conversacional. 
Aplicación 
Web 
Servidor Web 
Cliente 
Petición 
Respuesta 
Red
Riesgos de Seguridad en 
Aplicaciones - Top 10 OWASP* 
1.Inyección 
2.Pérdida de autenticación y gestión de sesiones 
3.Secuencia de comandos en sitios cruzados (XSS) 
4.Referencia directa insegura a objetos 
5.Configuración de seguridad incorrecta 
6.Exposición de datos sensibles 
7.Ausencia de control de acceso a funciones 
8.Falsificación de peticiones en sitios cruzados (CSRF) 
9.Utilización de componentes con vulnerabilidades conocidas 
10.Redirecciones y reenvíos no validados 
* OWASP Top 10 2013
1. Inyección 
La inyección de faltas permite a un atacante 
ejecutar sentencias SQL, LDAP, entre otras, del 
lado del servidor engañando a sus intérpretes 
(motores). Por ejemplo: a través de la inyección 
de sentencias SQL, utilizando campos de un 
formulario sin validaciones, se podría modificar 
información contenida en una Base de Datos.
2. Pérdida de autenticación y 
gestión de sesiones 
Las funciones de la aplicación relacionadas a 
autenticación y gestión de sesiones son 
frecuentemente implementadas de forma 
incorrecta, permitiendo a los atacantes 
comprometer contraseñas, claves, token de 
sesiones, o explotar otras fallas de 
implementación para asumir la identidad de 
otros usuarios.
3. Cross Site Scripting (XSS) 
Las fallas XSS ocurren cada vez que una 
aplicación toma datos no confiables y los 
envía al navegador web sin una validación y 
codificación apropiada. XSS permite a los 
atacantes ejecutar secuencia de comandos en 
el navegador de la victima los cuales pueden 
secuestrar las sesiones de usuario, destruir 
sitios web, o dirigir al usuario hacia un sitio 
malicioso.
4. Referencia directa insegura a 
objetos 
Una referencia directa a objetos ocurre 
cuando un desarrollador expone una referencia 
a un objeto de implementación interno, tal 
como un fichero, directorio, o base de datos. 
Sin un chequeo de control de acceso u otra 
protección, los atacantes pueden manipular 
estas referencias para acceder datos no 
autorizados.
5. Configuración de seguridad 
incorrecta 
Una buena seguridad requiere tener definida e 
implementada una configuración segura para la 
aplicación, marcos de trabajo, servidor de 
aplicación, servidor web, base de datos, y 
plataforma. Todas estas configuraciones deben 
ser definidas, implementadas, y mantenidas ya 
que por lo general no son seguras por defecto. 
Esto incluye mantener todo el software 
actualizado, incluidas las librerías de código 
utilizadas por la aplicación.
6. Exposición de datos sensibles 
Muchas aplicaciones web no protegen 
adecuadamente datos sensibles tales como 
números de tarjetas de crédito o credenciales de 
autenticación. Los atacantes pueden robar o 
modificar tales datos para llevar a cabo fraudes, 
robos de identidad u otros delitos. Los datos 
sensibles requieren de métodos de protección 
adicionales tales como el cifrado de datos, así 
como también de precauciones especiales en un 
intercambio de datos con el navegador.
7. Ausencia de control de acceso 
a funciones 
La mayoría de aplicaciones web verifican los 
derechos de acceso a nivel de función antes 
de hacer visible en la misma interfaz de 
usuario. A pesar de esto, las aplicaciones 
necesitan verificar el control de acceso en el 
servidor cuando se accede a cada función. Si 
las solicitudes de acceso no se verifican, los 
atacantes podrán realizar peticiones sin la 
autorización apropiada.
8. Cross Site Request Forgery 
(CSRF) 
Un ataque CSRF podría obligar a una víctima a 
realizar peticiones a aplicaciones Web donde 
previamente ha iniciado sesión. Por ejemplo: al 
mantener varias sesiones abiertas con diferentes 
sitios, se podría acceder a un sitio malicioso, que 
incluya elementos dentro de sus páginas, que 
realicen peticiones a otros sitios donde el usuario 
mantiene una sesión abierta.
9. Utilización de componentes 
con vulnerabilidades conocidas 
Algunos componentes tales como las librerías, 
los frameworks y otros módulos de software casi 
siempre funcionan con todos los privilegios. Si 
se ataca un componente vulnerable esto podría 
facilitar la intrusión en el servidor o una perdida 
seria de datos. Las aplicaciones que utilicen 
componentes con vulnerabilidades conocidas 
debilitan las defensas de la aplicación y 
permiten ampliar el rango de posibles ataques e 
impactos.
10. Redirecciones y reenvíos no 
validados 
Las aplicaciones web frecuentemente redirigen 
y reenvían a los usuarios hacia otras páginas 
o sitios web, y utilizan datos no confiables 
para determinar la página de destino. Sin una 
validación apropiada, los atacantes pueden 
redirigir a las víctimas hacia sitios de phishing 
o malware, o utilizar reenvíos para acceder 
páginas no autorizadas.
Detección de vulnerabilidades 
Las vulnerabilidades de una Aplicación Web 
pueden ser detectadas utilizando los siguientes 
métodos: 
1.Escaneo de vulnerabilidades. 
2.Revisión de código. 
3.Pruebas de penetración. 
4.Análisis estático.
1. Escaneo de vulnerabilidades 
A continuación se presentan algunos enlaces donde 
podrá conseguir herramientas para el escaneo de 
vulnerabilidades: 
● Los 10 mejores Escaners de Vulnerabilidades Web . 
● Centro de descarga de OWASP (Open Web 
Application Security Project). 
Se sugiere la descarga de Nikto2.
2. Revisión de código 
A continuación se presentan algunos enlaces 
donde podrá conseguir herramientas para la 
revisión de código: 
● Guía para la revisión de código de OWASP. 
● CodeCrawler. Herramienta de revisión de 
código automática.
3. Pruebas de penetración 
Un Penetration Testing o Test de Penetración, es 
un procedimiento metodológico y sistemático en el 
que se simula un ataque real a una red o sistema, 
con el fin de descubrir y reparar sus problemas de 
seguridad, a continuación veremos la 
documentación mas recomendada para aprender a 
realizar correctamente un test de penetración. 
* ¿Cómo se realiza un Pentest?
4. Análisis estático 
Ver todas las técnicas de verificación: 
● Pair programming 
● Code review 
● Peer review 
● Expert review 
● Checklists
Contramedidas 
Las contramedidas son acciones a ejecutar tras la detección de alguna vulnerabilidad. 
Luego, existen algunos principios importantes a considerar en todo momento: 
● Aplicar defensa profunda (en varias capas). 
● Utilizar un modelo de seguridad positiva. 
● Manejar de forma adecuada los errores. 
● Correr aplicaciones con permisería restringida. 
● Evitar la seguridad a través de la oscuridad. 
● Mantener la seguridad simple. 
● Detectar intrusiones. 
● No confiar en la infraestructura. 
● No confiar en los servicios. 
● Establecer seguridad por omisión.
Contramedidas inmediatas 
Hay algunas contramedidas que puede implementar 
de forma inmediata para asegurar sus aplicaciones: 
● Documentar y probar todos sus Sistemas. 
¿Integración Continua? 
● Utilizar entornos de desarrollo y de trabajo 
estándares (Ej. Symfony, Spring, Rails). 
● Utilizar firewalls para aplicaciones Web (Ej. 
ModSecurity2).
¡Muchas gracias por su atención!

Más contenido relacionado

La actualidad más candente

La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power point
linda gonzalez
 

La actualidad más candente (20)

Application Security
Application SecurityApplication Security
Application Security
 
DTS Solution - Building a SOC (Security Operations Center)
DTS Solution - Building a SOC (Security Operations Center)DTS Solution - Building a SOC (Security Operations Center)
DTS Solution - Building a SOC (Security Operations Center)
 
Vulnerability assessment and penetration testing
Vulnerability assessment and penetration testingVulnerability assessment and penetration testing
Vulnerability assessment and penetration testing
 
Cyber Security roadmap.pptx
Cyber Security roadmap.pptxCyber Security roadmap.pptx
Cyber Security roadmap.pptx
 
Cybercrime and Security
Cybercrime and SecurityCybercrime and Security
Cybercrime and Security
 
Penetration Testing Basics
Penetration Testing BasicsPenetration Testing Basics
Penetration Testing Basics
 
information security
information securityinformation security
information security
 
Cybersecurity Basics - Aravindr.com
Cybersecurity Basics - Aravindr.comCybersecurity Basics - Aravindr.com
Cybersecurity Basics - Aravindr.com
 
Ciberseguridad
CiberseguridadCiberseguridad
Ciberseguridad
 
Cyber Security
Cyber SecurityCyber Security
Cyber Security
 
What is network security and Types
What is network security and TypesWhat is network security and Types
What is network security and Types
 
La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power point
 
Cyber security investments 2021
Cyber security investments 2021Cyber security investments 2021
Cyber security investments 2021
 
Malware Presentacion.pptx
Malware Presentacion.pptxMalware Presentacion.pptx
Malware Presentacion.pptx
 
Csslp
CsslpCsslp
Csslp
 
Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad Informática
 
Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5
 
Security in cloud computing
Security in cloud computingSecurity in cloud computing
Security in cloud computing
 
Seguridad De la Informacion
Seguridad De la InformacionSeguridad De la Informacion
Seguridad De la Informacion
 
Cyber security
Cyber securityCyber security
Cyber security
 

Destacado

Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)
Miguel de la Cruz
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
Maxwell Kenshin
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
fredycollaguazo
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de software
Angel Reyes
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Blace57
 

Destacado (20)

Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
 
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
 
09 Global Knowledge II Avanza 2009
09 Global Knowledge II Avanza 200909 Global Knowledge II Avanza 2009
09 Global Knowledge II Avanza 2009
 
Gestion calidad cambio
Gestion calidad cambioGestion calidad cambio
Gestion calidad cambio
 
SAT - SISTEMA DE ALERTA TEMPRANA - REGIÓN CALLAO
SAT - SISTEMA DE ALERTA TEMPRANA - REGIÓN CALLAOSAT - SISTEMA DE ALERTA TEMPRANA - REGIÓN CALLAO
SAT - SISTEMA DE ALERTA TEMPRANA - REGIÓN CALLAO
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
 
04 ingsoft jdchc
04 ingsoft jdchc04 ingsoft jdchc
04 ingsoft jdchc
 
análisis y gestión del riesgo
análisis y gestión del riesgoanálisis y gestión del riesgo
análisis y gestión del riesgo
 
Las diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosLas diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datos
 
Administración de riesgos en un proyecto software
Administración de riesgos en un proyecto softwareAdministración de riesgos en un proyecto software
Administración de riesgos en un proyecto software
 
Memorias webCast Introduccion al analisis y gestión de riesgos
Memorias webCast Introduccion al analisis y gestión de riesgosMemorias webCast Introduccion al analisis y gestión de riesgos
Memorias webCast Introduccion al analisis y gestión de riesgos
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de software
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
 
Gestion De Riesgos
Gestion  De RiesgosGestion  De Riesgos
Gestion De Riesgos
 
Gestión de riesgos en proyectos
Gestión de riesgos en proyectosGestión de riesgos en proyectos
Gestión de riesgos en proyectos
 
Guia tecnica para evaluación de software
Guia tecnica para evaluación de softwareGuia tecnica para evaluación de software
Guia tecnica para evaluación de software
 
Gestion Riesgos
Gestion RiesgosGestion Riesgos
Gestion Riesgos
 
Riesgos del proyecto
Riesgos del proyectoRiesgos del proyecto
Riesgos del proyecto
 
El Balance Scorecard ó BSC
El Balance Scorecard ó BSCEl Balance Scorecard ó BSC
El Balance Scorecard ó BSC
 

Similar a Seguridad web

01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx
ssusercb51cd
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
Jorge García
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
Alonso Caballero
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Alonso Caballero
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
Carlos Soriano
 
Ataques client side exploitation
Ataques client side exploitationAtaques client side exploitation
Ataques client side exploitation
jack_corvil
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
William Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
guestb40a1b0
 

Similar a Seguridad web (20)

Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Clase 6 Practica.pptx
Clase 6 Practica.pptxClase 6 Practica.pptx
Clase 6 Practica.pptx
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
 
Owasp top ten 2019
Owasp top ten 2019Owasp top ten 2019
Owasp top ten 2019
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
 
Ataques client side exploitation
Ataques client side exploitationAtaques client side exploitation
Ataques client side exploitation
 
Seguridad app web
Seguridad app webSeguridad app web
Seguridad app web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 

Más de camposer

Linear Regression Parameters
Linear Regression ParametersLinear Regression Parameters
Linear Regression Parameters
camposer
 

Más de camposer (10)

Curso de Ajax
Curso de AjaxCurso de Ajax
Curso de Ajax
 
Hadoop
HadoopHadoop
Hadoop
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Fundamentos de SQL
Fundamentos de SQLFundamentos de SQL
Fundamentos de SQL
 
MongoDB
MongoDBMongoDB
MongoDB
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
 
Linear Regression Parameters
Linear Regression ParametersLinear Regression Parameters
Linear Regression Parameters
 
Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Extracción de Requerimientos
Extracción de RequerimientosExtracción de Requerimientos
Extracción de Requerimientos
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Seguridad web

  • 1. Seguridad Web Octubre, 2014 @camposer - Madrid
  • 2. Seguridad... ● “Dicho de un mecanismo: Que asegura algún buen funcionamiento, precaviendo que este falle, se frustre o se violente.” Real Academia Española ● “Si usted piensa que la tecnología puede resolver sus problemas de seguridad, entonces usted no entiende ni los problemas ni la tecnología” Bruce Schneier ● “La seguridad es una cadena y es tan segura como su eslabón más débil” Bruce Schneier ● “La seguridad es un proceso, no un producto” Bruce Schneier
  • 3. Conceptos básicos A continuación se presentan los conceptos básicos relacionados con la seguridad de sistemas: ● Agente de amenaza (atacante). ● Vulnerabilidad. ● Ataque. ● Contramedida.
  • 4. Aplicaciones Web Es una aplicación que se accede a través de un Navegador Web sobre una red (Ej. Internet). Los Navegadores Web interpretan etiquetas HTML y lenguajes de script (Ej. Javascript) permitiendo a sus usuarios visualizar documentos de texto, posiblemente con recursos multimedia incrustados.
  • 5. Características de las Aplicaciones Web Las Aplicaciones Web son alojadas en Servidores Web que son accedidos por Navegadores Web a través de peticiones HTTP. HTTP es un protocolo de ráfaga que no conserva el estado conversacional. Aplicación Web Servidor Web Cliente Petición Respuesta Red
  • 6. Riesgos de Seguridad en Aplicaciones - Top 10 OWASP* 1.Inyección 2.Pérdida de autenticación y gestión de sesiones 3.Secuencia de comandos en sitios cruzados (XSS) 4.Referencia directa insegura a objetos 5.Configuración de seguridad incorrecta 6.Exposición de datos sensibles 7.Ausencia de control de acceso a funciones 8.Falsificación de peticiones en sitios cruzados (CSRF) 9.Utilización de componentes con vulnerabilidades conocidas 10.Redirecciones y reenvíos no validados * OWASP Top 10 2013
  • 7. 1. Inyección La inyección de faltas permite a un atacante ejecutar sentencias SQL, LDAP, entre otras, del lado del servidor engañando a sus intérpretes (motores). Por ejemplo: a través de la inyección de sentencias SQL, utilizando campos de un formulario sin validaciones, se podría modificar información contenida en una Base de Datos.
  • 8. 2. Pérdida de autenticación y gestión de sesiones Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son frecuentemente implementadas de forma incorrecta, permitiendo a los atacantes comprometer contraseñas, claves, token de sesiones, o explotar otras fallas de implementación para asumir la identidad de otros usuarios.
  • 9. 3. Cross Site Scripting (XSS) Las fallas XSS ocurren cada vez que una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada. XSS permite a los atacantes ejecutar secuencia de comandos en el navegador de la victima los cuales pueden secuestrar las sesiones de usuario, destruir sitios web, o dirigir al usuario hacia un sitio malicioso.
  • 10. 4. Referencia directa insegura a objetos Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, tal como un fichero, directorio, o base de datos. Sin un chequeo de control de acceso u otra protección, los atacantes pueden manipular estas referencias para acceder datos no autorizados.
  • 11. 5. Configuración de seguridad incorrecta Una buena seguridad requiere tener definida e implementada una configuración segura para la aplicación, marcos de trabajo, servidor de aplicación, servidor web, base de datos, y plataforma. Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo general no son seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las librerías de código utilizadas por la aplicación.
  • 12. 6. Exposición de datos sensibles Muchas aplicaciones web no protegen adecuadamente datos sensibles tales como números de tarjetas de crédito o credenciales de autenticación. Los atacantes pueden robar o modificar tales datos para llevar a cabo fraudes, robos de identidad u otros delitos. Los datos sensibles requieren de métodos de protección adicionales tales como el cifrado de datos, así como también de precauciones especiales en un intercambio de datos con el navegador.
  • 13. 7. Ausencia de control de acceso a funciones La mayoría de aplicaciones web verifican los derechos de acceso a nivel de función antes de hacer visible en la misma interfaz de usuario. A pesar de esto, las aplicaciones necesitan verificar el control de acceso en el servidor cuando se accede a cada función. Si las solicitudes de acceso no se verifican, los atacantes podrán realizar peticiones sin la autorización apropiada.
  • 14. 8. Cross Site Request Forgery (CSRF) Un ataque CSRF podría obligar a una víctima a realizar peticiones a aplicaciones Web donde previamente ha iniciado sesión. Por ejemplo: al mantener varias sesiones abiertas con diferentes sitios, se podría acceder a un sitio malicioso, que incluya elementos dentro de sus páginas, que realicen peticiones a otros sitios donde el usuario mantiene una sesión abierta.
  • 15. 9. Utilización de componentes con vulnerabilidades conocidas Algunos componentes tales como las librerías, los frameworks y otros módulos de software casi siempre funcionan con todos los privilegios. Si se ataca un componente vulnerable esto podría facilitar la intrusión en el servidor o una perdida seria de datos. Las aplicaciones que utilicen componentes con vulnerabilidades conocidas debilitan las defensas de la aplicación y permiten ampliar el rango de posibles ataques e impactos.
  • 16. 10. Redirecciones y reenvíos no validados Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder páginas no autorizadas.
  • 17. Detección de vulnerabilidades Las vulnerabilidades de una Aplicación Web pueden ser detectadas utilizando los siguientes métodos: 1.Escaneo de vulnerabilidades. 2.Revisión de código. 3.Pruebas de penetración. 4.Análisis estático.
  • 18. 1. Escaneo de vulnerabilidades A continuación se presentan algunos enlaces donde podrá conseguir herramientas para el escaneo de vulnerabilidades: ● Los 10 mejores Escaners de Vulnerabilidades Web . ● Centro de descarga de OWASP (Open Web Application Security Project). Se sugiere la descarga de Nikto2.
  • 19. 2. Revisión de código A continuación se presentan algunos enlaces donde podrá conseguir herramientas para la revisión de código: ● Guía para la revisión de código de OWASP. ● CodeCrawler. Herramienta de revisión de código automática.
  • 20. 3. Pruebas de penetración Un Penetration Testing o Test de Penetración, es un procedimiento metodológico y sistemático en el que se simula un ataque real a una red o sistema, con el fin de descubrir y reparar sus problemas de seguridad, a continuación veremos la documentación mas recomendada para aprender a realizar correctamente un test de penetración. * ¿Cómo se realiza un Pentest?
  • 21. 4. Análisis estático Ver todas las técnicas de verificación: ● Pair programming ● Code review ● Peer review ● Expert review ● Checklists
  • 22. Contramedidas Las contramedidas son acciones a ejecutar tras la detección de alguna vulnerabilidad. Luego, existen algunos principios importantes a considerar en todo momento: ● Aplicar defensa profunda (en varias capas). ● Utilizar un modelo de seguridad positiva. ● Manejar de forma adecuada los errores. ● Correr aplicaciones con permisería restringida. ● Evitar la seguridad a través de la oscuridad. ● Mantener la seguridad simple. ● Detectar intrusiones. ● No confiar en la infraestructura. ● No confiar en los servicios. ● Establecer seguridad por omisión.
  • 23. Contramedidas inmediatas Hay algunas contramedidas que puede implementar de forma inmediata para asegurar sus aplicaciones: ● Documentar y probar todos sus Sistemas. ¿Integración Continua? ● Utilizar entornos de desarrollo y de trabajo estándares (Ej. Symfony, Spring, Rails). ● Utilizar firewalls para aplicaciones Web (Ej. ModSecurity2).
  • 24. ¡Muchas gracias por su atención!