SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Protection and Verification
of Business Logic Flaws
XI OWASP Spain Chapter Meeting
Roberto Velasco
Seguridad Software
desde 2001
Arquitectura Software
desde 2004
Fundador Proyecto
Open-Source Hdiv
CEO
en Hdiv Security
Sobre mí
Índice
1. Security Bugs & Business Logic Flaws
2. Explotación - Business Logic Flaws
3. Protección - Business Logic Flaws
4. Limitaciones en la automatización de la protección
5. Verificación – Business Logic Flaws
6. Recomendaciones
Security Bugs &
Business Logic Flaws
XI OWASP Spain Chapter Meeting
Security bugs
• Errores de seguridad que siguen un patrón concreto,
común en todas las aplicaciones
Ejemplos: SQL Injection,XSS, etc.
• Pueden ser detectados por herramientas AST
(Application Security Testing)
• El ataque para explotar estos problemas sigue
habitualmente patrones conocidos
Business Logic Flaws o Design Flaws
• No siguen un patrón común y dependen de cada
dominio o negocio
Ejemplos: Control de acceso, Binding, Alteración de workflow,
etc.
• No detectables por herramientas AST
• Los ataques para explotar estos problemas no
tienen forma de ataque
• Unauthenticated Web Service
• Encryption key stored next to
data
• Step N of workflow can be
skipped
• Race condition
• Fail-open logic
• User X can edit thing Y
50%
• SQL Injection
• Cross Site Scripting
• XML Attacks
• Directory Traversal
• Weak Crypto Algorithm
• Java Object Deserialization
• Other use of known bad API
50%
Security bugs vs. Business Logic Flaws
Business Logic FlawsSecurity Bugs
• Soluciones AST adecuadas para
la detección
• La industria en ciberseguridad
se ha centrado en la protección
de este tipo de riesgos (WAF y
ahora RASP)
Seguridad – Estado del Arte
• No se pueden detectar por AST
• Los WAFs más avanzados están
basados en procesos de
aprendizaje.
• Problemas:
• Costo de implantación
• Falsos positivos
• No todo se puede aprender, existen
cambios en tiempo real
Business Logic FlawsSecurity Bugs
Estado del Arte - Gartner
All of the AST tools share significant
weakness in the area of detecting
business logic flaws as well as more
deliberate, malicious flaws like logic
bombs and back doors.
Reliance on positive security models
(whitelists or policies derived from
automatic web application behavior
learning engines) in prevention mode
and automatic deployment of virtual
patches are rare.Gartner, A Guidance Framework for Establishing and
Maturing an Application Security Program, 23 December
2016. Gartner Foundational
AST WAF
Cómo Explotar los
Business Logic Flaws
XI OWASP Spain Chapter Meeting
Cómo explotar los Business Logic Flaws
• Modificar los valores de los parámetros
• Eliminar/Añadir parámetros
• Intentar consumir nuevas URLs
• Manipular el tiempo y el estado
• Actualizar cookies
• Añadir nuevas cabeceras
• etc.
Veamos algunos ejemplos reales…
Casos reales basados en modificación del contrato
Ejemplo Técnica de ataque Descripción
CSRF
OWASP A8 2013
Usuarios de ebay realizaban pujas
inconscientemente
Insecure Direct Object Reference
OWASP A4 2013
Tampering del identificador de usuario
en servicio web, pudiendo acceder a la
cuenta de otro usuario
Binding
OWASP ASVS
V5 Malicious input handling
Cabecera adicional añadida a la petición
con valor “localhost”, consiguiendo
acceder como Administrador
Binding
OWASP ASVS
V5 Malicious input handling
Parámetro extra añadido a un formulario
que permitía suplantar la identidad de
otra persona
Broken Access Control
OWASP A5 2017
Exposición involuntaria de los métodos
HTTP
JMX Console
Demo
Manipulación de parámetros:
el usuario X accede a Y
Binding
URL Tampering
1
2
3
https://hdivsecurity.com/videos/owasp-spain-demo
Cómo protegerse de los
Business Logic Flaws
XI OWASP Spain Chapter Meeting
• Librerías de Seguridad: Spring Security, Java EE, etc.
• Código propietario
Cómo protegerse de los Business Logic Flaws
mediante enfoques tradicionales
• Problemas particularmente complejos para resolver
con soluciones tradicionales:
• Domain ACL o seguridad a nivel registro
• Binding (añadir o eliminar parámetros)
• Problemas de workflow: rompiendo el flujo normal de
navegación
Cómo protegerse de los Business Logic Flaws
mediante enfoques tradicionales
¡ No funciona en la práctica !
• Las estadísticas de seguridad muestran que casi todas las
aplicaciones tienen al menos una vulnerabilidad
crítica
• Incluso las grandes empresas tienen estos problemas
(Apple, Github, Stack Overflow, etc.)
• Los pen-testers lo confirman
Origen del problema
• Todo está abierto por defecto
• Debemos proteger la aplicación manualmente
haciendo uso de librerías o código propietario
• La seguridad depende de las personas
Debemos automatizar la protección
No podemos automatizar la protección para el 100%
de los business logic flaws, pero podemos automatizar
al menos una parte significativa de ellos.
• Ataques de manipulación de contrato
• El cliente modifica, añade o elimina algún tipo de dato en
la petición (request)
• Ataques de abuso del contrato
• El ataque respeta el contrato
• El cliente hace un uso malicioso o abusivo del
contrato
Tipos de ataques – Business Logic Flaws
Datos No Editables
Datos Editables
View: OR
Showing 1  – 15  of  24  items
Title Author
Amazon  Elastic Compute  Cloud  (EC2)  Getting
Started Guide
Amazon  Web  Services
Purchased: May 11,  2017:
Price: $0.00
Order Details
View  Product Page
GO
Petición
Respuesta
Petición rechazada
Filtro
Extensión de Frameworks
Web y Librerías de APIs
Petición
válida
Lógica de
Negocio
1
2
Demo
Manipulación de parámetros:
el usuario X accede a Y
1
2
3 Binding
URL Tampering4
Instalación de Hdiv
https://hdivsecurity.com/videos/libraries-installation
https://hdivsecurity.com/videos/owasp-spain-demo-protected-by-hdiv
Casos reales basados en modificación del contrato
Ejemplo Técnica de ataque Protegido Cómo ha sido protegido
CSRF
OWASP A8 2013
Sí
Añadimos un token aleatorio a cada URL. El
atacante no conoce el valor de este
parámetro
Insecure Direct Object
Reference
OWASP A4 2013
SÍ
El servidor detecta ataques de integridad
contra datos en servidor
Binding
OWASP ASVS
V5 Malicious input handling
NO
Se trata de una header que proviene de
client-side
Binding
OWASP ASVS
V5 Malicious input handling
SÍ
El servidor controla los parámetros válidos
durante el binding
Broken Access Control
OWASP A5 2017
SÍ
El servidor define qué está permitido,
rechazando el resto. Por defecto todo es
GET
JMX Console
Limitaciones de la
proteccion frente a
Business Logic Flaws
XI OWASP Spain Chapter Meeting
Limitaciones de este método
• Las cajas de texto permiten texto libre
• Ataques de abuso del contrato
• 1000 peticiones por segundo a una operación con acceso
• Ataques relacionados con estado y tiempo
• Ejemplo:
1. Disponemos de un carrito en un e-commerce
2. Pasamos a pagar el pedido en PayPal
3. Actualizamosel carrito con productosmás caros
4. Pagamos, obteniendo un pedido con más productos al precio anterior
Verification
(Burp Suite Extension)
https://hdivsecurity.com/videos/verification
Recomendaciones
XI OWASP Spain Chapter Meeting
Recomendaciones
1. Hacer uso de soluciones AST para la detección de
security bugs (SQL Injection, XSS, etc.)
2. Integrar la protección frente a los Business Logic Flaws
en la Arquitectura (SDLC)
3. Realizar un pen-testing manual para la detección de
posibles problemas pendientes
Ruegos & Preguntas
XI OWASP Spain Chapter Meeting
Roberto Velasco
roberto@hdivsecurity.com

Más contenido relacionado

Similar a OWASP Spain: Protection and Verification of Business Logic Flaws

Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10tabai
 
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...Websec México, S.C.
 
Webinar Gratuito: Guía de Pruebas de OWASP
Webinar Gratuito: Guía de Pruebas de OWASPWebinar Gratuito: Guía de Pruebas de OWASP
Webinar Gratuito: Guía de Pruebas de OWASPAlonso Caballero
 
El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020HelpSystems
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoLuciano Moreira da Cruz
 
Seguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaSeguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaGeneXus
 
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic Consultoría Tecnológica
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Fernando Redondo Ramírez
 
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic Consultoría Tecnológica
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Raúl Requero García
 
TOP10 - Owasp 2017
TOP10  - Owasp 2017TOP10  - Owasp 2017
TOP10 - Owasp 2017Luis Toscano
 
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]AngelGomezRomero
 
Seguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del softwareSeguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del softwareAnel Sosa
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datosguestb40a1b0
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...Optimyth Software
 

Similar a OWASP Spain: Protection and Verification of Business Logic Flaws (20)

Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
 
Webinar Gratuito: Guía de Pruebas de OWASP
Webinar Gratuito: Guía de Pruebas de OWASPWebinar Gratuito: Guía de Pruebas de OWASP
Webinar Gratuito: Guía de Pruebas de OWASP
 
El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP 10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP
 
Seguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaSeguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistema
 
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
avanttic - webinar: Oracle Seguridad-Gobierno de la Seguridad (25-06-2015)
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
 
TOP10 - Owasp 2017
TOP10  - Owasp 2017TOP10  - Owasp 2017
TOP10 - Owasp 2017
 
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
 
Seguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del softwareSeguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del software
 
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
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
OWASP Top 10 101 en Java EE
OWASP Top 10 101 en Java EEOWASP Top 10 101 en Java EE
OWASP Top 10 101 en Java EE
 
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...
Hacia la seguridad del software: Enfoque preventivo del análisis de código. -...
 

Último

NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 

Último (9)

NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 

OWASP Spain: Protection and Verification of Business Logic Flaws

  • 1. Protection and Verification of Business Logic Flaws XI OWASP Spain Chapter Meeting
  • 2. Roberto Velasco Seguridad Software desde 2001 Arquitectura Software desde 2004 Fundador Proyecto Open-Source Hdiv CEO en Hdiv Security Sobre mí
  • 3. Índice 1. Security Bugs & Business Logic Flaws 2. Explotación - Business Logic Flaws 3. Protección - Business Logic Flaws 4. Limitaciones en la automatización de la protección 5. Verificación – Business Logic Flaws 6. Recomendaciones
  • 4. Security Bugs & Business Logic Flaws XI OWASP Spain Chapter Meeting
  • 5. Security bugs • Errores de seguridad que siguen un patrón concreto, común en todas las aplicaciones Ejemplos: SQL Injection,XSS, etc. • Pueden ser detectados por herramientas AST (Application Security Testing) • El ataque para explotar estos problemas sigue habitualmente patrones conocidos
  • 6. Business Logic Flaws o Design Flaws • No siguen un patrón común y dependen de cada dominio o negocio Ejemplos: Control de acceso, Binding, Alteración de workflow, etc. • No detectables por herramientas AST • Los ataques para explotar estos problemas no tienen forma de ataque
  • 7. • Unauthenticated Web Service • Encryption key stored next to data • Step N of workflow can be skipped • Race condition • Fail-open logic • User X can edit thing Y 50% • SQL Injection • Cross Site Scripting • XML Attacks • Directory Traversal • Weak Crypto Algorithm • Java Object Deserialization • Other use of known bad API 50% Security bugs vs. Business Logic Flaws Business Logic FlawsSecurity Bugs
  • 8. • Soluciones AST adecuadas para la detección • La industria en ciberseguridad se ha centrado en la protección de este tipo de riesgos (WAF y ahora RASP) Seguridad – Estado del Arte • No se pueden detectar por AST • Los WAFs más avanzados están basados en procesos de aprendizaje. • Problemas: • Costo de implantación • Falsos positivos • No todo se puede aprender, existen cambios en tiempo real Business Logic FlawsSecurity Bugs
  • 9. Estado del Arte - Gartner All of the AST tools share significant weakness in the area of detecting business logic flaws as well as more deliberate, malicious flaws like logic bombs and back doors. Reliance on positive security models (whitelists or policies derived from automatic web application behavior learning engines) in prevention mode and automatic deployment of virtual patches are rare.Gartner, A Guidance Framework for Establishing and Maturing an Application Security Program, 23 December 2016. Gartner Foundational AST WAF
  • 10. Cómo Explotar los Business Logic Flaws XI OWASP Spain Chapter Meeting
  • 11. Cómo explotar los Business Logic Flaws • Modificar los valores de los parámetros • Eliminar/Añadir parámetros • Intentar consumir nuevas URLs • Manipular el tiempo y el estado • Actualizar cookies • Añadir nuevas cabeceras • etc. Veamos algunos ejemplos reales…
  • 12. Casos reales basados en modificación del contrato Ejemplo Técnica de ataque Descripción CSRF OWASP A8 2013 Usuarios de ebay realizaban pujas inconscientemente Insecure Direct Object Reference OWASP A4 2013 Tampering del identificador de usuario en servicio web, pudiendo acceder a la cuenta de otro usuario Binding OWASP ASVS V5 Malicious input handling Cabecera adicional añadida a la petición con valor “localhost”, consiguiendo acceder como Administrador Binding OWASP ASVS V5 Malicious input handling Parámetro extra añadido a un formulario que permitía suplantar la identidad de otra persona Broken Access Control OWASP A5 2017 Exposición involuntaria de los métodos HTTP JMX Console
  • 13. Demo Manipulación de parámetros: el usuario X accede a Y Binding URL Tampering 1 2 3 https://hdivsecurity.com/videos/owasp-spain-demo
  • 14. Cómo protegerse de los Business Logic Flaws XI OWASP Spain Chapter Meeting
  • 15. • Librerías de Seguridad: Spring Security, Java EE, etc. • Código propietario Cómo protegerse de los Business Logic Flaws mediante enfoques tradicionales
  • 16. • Problemas particularmente complejos para resolver con soluciones tradicionales: • Domain ACL o seguridad a nivel registro • Binding (añadir o eliminar parámetros) • Problemas de workflow: rompiendo el flujo normal de navegación Cómo protegerse de los Business Logic Flaws mediante enfoques tradicionales
  • 17. ¡ No funciona en la práctica ! • Las estadísticas de seguridad muestran que casi todas las aplicaciones tienen al menos una vulnerabilidad crítica • Incluso las grandes empresas tienen estos problemas (Apple, Github, Stack Overflow, etc.) • Los pen-testers lo confirman
  • 18. Origen del problema • Todo está abierto por defecto • Debemos proteger la aplicación manualmente haciendo uso de librerías o código propietario • La seguridad depende de las personas
  • 19. Debemos automatizar la protección No podemos automatizar la protección para el 100% de los business logic flaws, pero podemos automatizar al menos una parte significativa de ellos.
  • 20. • Ataques de manipulación de contrato • El cliente modifica, añade o elimina algún tipo de dato en la petición (request) • Ataques de abuso del contrato • El ataque respeta el contrato • El cliente hace un uso malicioso o abusivo del contrato Tipos de ataques – Business Logic Flaws
  • 21. Datos No Editables Datos Editables View: OR Showing 1  – 15  of  24  items Title Author Amazon  Elastic Compute  Cloud  (EC2)  Getting Started Guide Amazon  Web  Services Purchased: May 11,  2017: Price: $0.00 Order Details View  Product Page GO
  • 22. Petición Respuesta Petición rechazada Filtro Extensión de Frameworks Web y Librerías de APIs Petición válida Lógica de Negocio 1 2
  • 23. Demo Manipulación de parámetros: el usuario X accede a Y 1 2 3 Binding URL Tampering4 Instalación de Hdiv https://hdivsecurity.com/videos/libraries-installation https://hdivsecurity.com/videos/owasp-spain-demo-protected-by-hdiv
  • 24. Casos reales basados en modificación del contrato Ejemplo Técnica de ataque Protegido Cómo ha sido protegido CSRF OWASP A8 2013 Sí Añadimos un token aleatorio a cada URL. El atacante no conoce el valor de este parámetro Insecure Direct Object Reference OWASP A4 2013 SÍ El servidor detecta ataques de integridad contra datos en servidor Binding OWASP ASVS V5 Malicious input handling NO Se trata de una header que proviene de client-side Binding OWASP ASVS V5 Malicious input handling SÍ El servidor controla los parámetros válidos durante el binding Broken Access Control OWASP A5 2017 SÍ El servidor define qué está permitido, rechazando el resto. Por defecto todo es GET JMX Console
  • 25. Limitaciones de la proteccion frente a Business Logic Flaws XI OWASP Spain Chapter Meeting
  • 26. Limitaciones de este método • Las cajas de texto permiten texto libre • Ataques de abuso del contrato • 1000 peticiones por segundo a una operación con acceso • Ataques relacionados con estado y tiempo • Ejemplo: 1. Disponemos de un carrito en un e-commerce 2. Pasamos a pagar el pedido en PayPal 3. Actualizamosel carrito con productosmás caros 4. Pagamos, obteniendo un pedido con más productos al precio anterior
  • 29. Recomendaciones 1. Hacer uso de soluciones AST para la detección de security bugs (SQL Injection, XSS, etc.) 2. Integrar la protección frente a los Business Logic Flaws en la Arquitectura (SDLC) 3. Realizar un pen-testing manual para la detección de posibles problemas pendientes
  • 30. Ruegos & Preguntas XI OWASP Spain Chapter Meeting Roberto Velasco roberto@hdivsecurity.com