SlideShare una empresa de Scribd logo
1 de 98
Descargar para leer sin conexión
INCORPORANDO
SEGURIDAD A LAS TAREAS
DE TESTING.
Gastón Marichal
gmarichal@genexuscosulting.com
@gamarichal
Rodrigo de la Fuente
rdelafuente@genexusconsulting.com
15 y 16 de mayo, 2017
www.testinguy.org
#testinguy |@testinguy
Hablemos de Seguridad
Introducción
Introducción - Objetivos
o Disminuir la cantidad de vulnerabilidades de
seguridad que llegan a producción.
o Poner a prueba los mecanismos de seguridad de la
aplicación y su adecuación con estándares y buenas
prácticas de seguridad.
Introducción - ¿Por qué en testing?
o Incorporar otro nivel de seguridad en etapas
tempranas.
o Si llega a Producción, ya es demasiado tarde.
o Cuanto antes se detecte, menor será el costo de
arreglo
o La seguridad no es solo tarea de hackers
Introducción - ¿Por qué en testing?
o Relacionado con el testing funcional de la aplicación.
o Acceso a la documentación y características del
sistema.
o Mayor conocimiento de la aplicación
o Ejecución controlada en ambientes de test y pre-prod.
Introducción - ¿Cómo lo haremos?
o Incorporando la realización de Pruebas de Abuso
como una actividad dentro del ciclo de testing para
verificar aspectos de seguridad en las aplicaciones.
Introducción - Pruebas de abuso
o Utilizar las funcionalidades de la aplicación de una
manera no pensada.
o Se busca manipular las reglas de negocio, para
obtener un beneficio.
o Explotar controles deficientes y cursos alternativos
no pensados.
Introducción – Consideraciones
oNo es un test de seguridad completo.
o Se enfoca únicamente en las funcionalidades
oNo suplanta a un test de penetración.
o El test de penetración es otra barrera de seguridad
necesaria
Introducción - Organización del seminario
o Casos de Abuso sobre una aplicación web
o Ejemplos de posibles vulnerabilidades
o Recomendaciones y Buenas Prácticas de seguridad
Tabla de contenido
Manejo de
Sesiones
Lógica de
Negocio
Control de
Acceso
Despliegue
Manejo de sesiones
Manejo de sesiones
o Inicio de sesión.
o Gestión de las contraseñas.
o Actualización de los datos.
o Gestión de la sesión.
Inicio de Sesión - Definición
o Mecanismo por el cual el sistema valida que la
entidad es quien dice ser.
o Distintas formas:
o Algo que conozco - Usuario / Password
o Algo que poseo - Certificado Digital
o Algo que soy - Biometría
Inicio de Sesión - Buenas prácticas
o Nombres de usuario no deben diferenciar
mayúsculas y minúsculas.
Inicio de Sesión - Buenas prácticas
o No permitir enumeración de usuarios
o Usuario y/o password incorrectos.
o Credenciales incorrectas.
Inicio de Sesión - Buenas prácticas
o Bloquear usuarios luego de varios intentos
fallidos.
o Bloquear temporalmente la cuenta
oTiempos incrementales (20 seg, 1 min, 5 min)
o Bloquear la sesión si continúan los intentos.
o Agregar Captcha en la pantalla tras varios intentos del
usuario.
Inicio de Sesión - Buenas prácticas
o Mantener un log de cada intento de
autenticación fallida.
o Almacenando:
oIP Origen
oUsername utilizado
oResultado
Inicio de Sesión - Buenas prácticas
o Evitar credenciales por parámetro y credenciales en
texto claro.
Gestión de las contraseñas
o Fortaleza de las contraseñas:
o Una contraseña se considera fuerte cuando es
difícil de adivinar por medio de un atacante.
o Deben estar alineada a los requerimientos del
proyecto/sistema.
Gestión de las contraseñas
o Fortaleza de las contraseñas – Consideraciones
o Largo (mínimo y máximo)
o Juegos de caracteres (a-z,A-Z,0-9, especiales)
o Periodo de validez
o Histórico
o Etc.
Gestión de las contraseñas
DEMO 1 - Recuperación de la contraseña:
Si es posible adivinar una preguntas secretas,
entonces no es segura!
o Equipo favorito de futbol
o Ciudad de Nacimiento
o Apellido de la madre
Gestión de las contraseñas
Gestión de las contraseñas
Recuperación de la contraseña
o Las preguntas secretas no deben ser predecibles.
o Información del usuario:
oRedes sociales
oPágina de la empresa
oIngeniería Social
Gestión de las contraseñas
Recuperación de la contraseña
o Enviar un token utilizando otro canal.
o E-mail, sms, etc.
o Válido por única vez, por cierto tiempo.
o Cambio de la contraseña o creación de una nueva
no predecible.
o La contraseña no debe ser recuperable.
Gestión de las contraseñas
Recuperación de la contraseña
o No bloquear el login del usuario.
o Bloquear la sesión web tras varios intentos fallidos.
o No pedir nuevo email.
o Enviar al mail que tiene registrado el usuario.
Actualización de los datos - Buenas prácticas
Siempre pedir contraseña para confirmar cambios de:
o Username
o E-mail
o Password
Ya que son utilizados para:
o Iniciar sesión.
o Recuperar contraseña.
o Notificar los cambios.
Actualización de los datos - Buenas prácticas
Notificar dicho cambio al usuario:
o email (original)
o sms
o Llamada
Gestión de la sesión.
o Proceso por el cual el servidor conserva el estado de
una entidad con la cual está interactuando.
o Almacenadas en el servidor utilizando un
identificador de sesión, que deben ser únicos por
usuario y difíciles de predecir.
o Enviado entre el cliente y el servidor en cada pedido
y respuesta.
Gestión de la sesión.
Gestión de la sesión.
Evitar fijación de sesión
Gestión de la sesión.
Cierre de sesión:
o Logout: Manual al salir del sistema
o Expiración: Automática, luego de un tiempo
determinado de inactividad.
o Destruir sesión en el servidor
Gestión de la sesión.
DEMO 2 - Cierre de sesión: Logout manual
Verificar mecanismos de destrucción de sesiones, si estos
Faltan/Fallan la sesión puede no cerrarse y permitir que
otros usuarios operen bajo mi sesión.
Gestión de la sesión.
DEMO 3 - Cierre de sesión: Robo de sesión
Ingresar con la misma sesión de un usuario
autenticado, aunque haya cerrado sesión.
Lógica de Negocio
Lógica de Negocio - Definición
o Son las reglas mediante las cuales se rige el
sistema.
o Conformado por las funcionalidades del sistema.
o Es única para cada aplicación.
o Documentada en casos de uso.
Lógica de Negocio - Explotación
Se necesita pensar diferente
o Fuera del uso convencional del sistema
o Utilizar la creatividad y experiencia
Es un trabajo manual
o Difícil de automatizar
o Requiere conocer el sistema, sus reglas y
procedimientos de negocio (Documentación)
Lógica de Negocio - Atacante
o Intentar explotar la lógica del negocio
o Obtener ventajas/beneficios extras
o Aprovechar funcionalidades/controles deficientes
Lógica de Negocio - ¿Qué hacer?
o Debemos pensar como un atacante
o Conocer el software y sus características
o Detectar posibles puntos de vulnerabilidad
o Verificarlos ejecutando casos de mal uso o abuso
del software
Lógica de Negocio - Verificación
o Validación de datos de la lógica de negocio
o Capacidad para manipular solicitudes
o Controles de integridad
o Timing de procesos
o Limitar uso de funciones (cantidad)
o Evasión de flujo normal de trabajo
o Carga de archivos no esperados y/o maliciosos
Lógica de Negocio - Verificación
Validaciones de datos de la lógica de negocio
o El sistema no debe “confiar” en los datos que recibe, un
atacante puede insertar datos lógicamente inválidos
o Los datos pueden ser manipulados durante el proceso
oEtapas del workflow
oPuntos de comunicación con otros sistemas
oTráfico HTTP
o Deben existir mecanismos que validen estos datos.
Lógica de Negocio - Verificación
Validaciones de datos de la lógica de negocio
o Con solo verificar los datos en el cliente no es suficiente
oSe puede interceptar el tráfico y enviar datos lógicamente
inválidos
Lógica de Negocio - Verificación
Ej.: Validaciones de datos de la lógica de negocio
Sub-sistema de
Compras
Sub-sistema de
Despacho
Lógica de Negocio - Verificación
Validaciones de datos de la lógica de negocio
¿Como probar?
oDetectar los puntos de entrada o comunicación del sistema.
oRealizar un testeo exploratorio ingresando o modificando
datos lógicamente inválidos en el sistema:
oUtilizando la UI.
oCapturando y modificando el tráfico HTTP.
oTambién revisar comunicación entre sistemas.
Lógica de Negocio - Verificación
DEMO 4 - Validaciones de los datos
Realizar una transferencia con otro tipo de moneda
Lógica de Negocio - Verificación
DEMO 5 - Validaciones de los datos
Realizar una transferencia con saldos negativos
- 1000
Lógica de Negocio - Verificación
Capacidad para moldear solicitudes
o El atacante puede saltear la GUI y enviar información
directamente al servidor.
o Mediante un proxy se envían peticiones HTTP POST/GET con
valores inválidos para la lógica de negocio
o Incompatibles, no soportados, no esperados
o Se busca poder predecir o adivinar parámetros
o Exponer funcionalidades o pantallas ocultas del sistema.
Lógica de Negocio - Verificación
o Ej.: Capacidad para moldear solicitudes
PurchaseTicket?newUser=1
10% off
PurchaseTicket?newUser=0
10% off
PurchaseTicket?newUser=1
Lógica de Negocio - Verificación
Capacidad para moldear solicitudes
o ¿Qué debe hacer el sistema?
o Contar con chequeos lógicos en los lugares clave para
prevenir que se acepten este tipo de peticiones.
o Bloquear peticiones que no provengan de un usuario
verificado
o Evitar que el sistema delate su propia estructura
Lógica de Negocio - Verificación
Capacidad para moldear solicitudes
o ¿Como probar?
oRevisar en busca de funcionalidades y campos que puedan
ser predecibles o estar ocultos.
oObservar el tráfico HTTP en busca de valores que sean
predecibles o adivinables (autoincrementales, etc).
oObservar el tráfico HTTP en busca de funcionalidades ocultas
como pantallas de desarrollo o testeo.
Lógica de Negocio - Verificación
DEMO 6 - Capacidad para moldear solicitudes
Consultar estado de cuenta de otros usuarios,
cambiando el parámetro que viaja en la URL.
Lógica de Negocio - Verificación
DEMO 7 - Capacidad para moldear solicitudes
Mediante un proxy, buscar código comentado y
acceder a objeto de test.
Lógica de Negocio - Verificación
Controles de integridad
o Los campos ocultos o no editables que muestran información al
usuario, pueden ser manipulados en el cliente.
o El sistema no debe confiar en que estos valores no serán
alterados por un usuario.
Lógica de Negocio - Verificación
Controles de integridad
o Si se expone información de negocio al usuario (cantidades,
precios, stock, etc.) , se debe mantener una copia en el
servidor y utilizarla para los procesos.
o Los procesos o funcionalidades no deben depender de estos
valores ocultos o no editables.
Lógica de Negocio - Verificación
Controles de integridad
o ¿Como probar?
oBuscar componentes que manipulen o actualicen información.
Lógica de Negocio - Verificación
Controles de integridad
o ¿Como probar?
oBuscar componentes que manipulen o actualicen información.
oRevisar el tráfico HTTP en busca de campos ocultos o no
editables.
oIntentar modificar dicha información con valores inválidos.
Lógica de Negocio - Verificación
Controles de integridad
GUI
Controles
Canal de comunicación
Cliente
Lógica de Negocio - Verificación
DEMO 8 - Controles de integridad
Reducir el porcentaje de recargo de un prestamos,
manipulando la taza de recargo del mismo (GUI).
Lógica de Negocio - Verificación
Timing de procesos
oIdentificar funcionalidades del sistema que puedan ser
afectadas por el transcurso del tiempo.
oObtener ventajas basadas en el tiempo de operación con el
sistema.
oPrecios variantes en el correr del día
oBloquear temporalmente otros usuarios
Lógica de Negocio - Verificación
Ej.: Timing de procesos (1)
Lógica de Negocio - Verificación
Ej.: Timing de procesos (2)
15:00
Price: 150
10:00
Price: 100
20:00
Price: 200
Lógica de Negocio - Verificación
Limitar uso de funciones (cantidad)
o ¿Que es?
o El sistema posee funciones que deben tener un control
sobre la cantidad de veces que se utiliza un elemento o
ejecuta una acción.
Lógica de Negocio - Verificación
Ej.: Limitar uso de funciones (cantidad)
o Reutilizar un descuento.
o Confirmar varias veces una acción.
o Cambiar o Forzar contraseñas.
Lógica de Negocio - Verificación
Limitar uso de funciones (cantidad)
o ¿Como probar?
o Identificar las funciones u operaciones que no deberían
ser ejecutadas más de una cierta cantidad de veces.
o Intentar ejecutarlas más de la cantidad de veces
permitidas, mediante browser o tráfico http.
Lógica de Negocio - Verificación
Evasión del flujo normal de trabajo
o ¿Que es?
o Permite al atacante eludir el flujo normal o esperado de
trabajo.
o No seguir la secuencia normal de operaciones.
Lógica de Negocio - Verificación
Ej.: Evasión del flujo normal de trabajo
o Saltear algún paso del flujo de trabajo donde no se
cuenten con mecanismos de control que dirijan las
operaciones hacia el orden correcto.
Lógica de Negocio - Verificación
Evasión del flujo normal de trabajo
o ¿Como probar?
o Saltear o ejecutar ciertos pasos de la aplicación en un
orden no deseado del flujo lógico y forzar una acción que
no es la esperada en esa etapa del proceso.
Lógica de Negocio - Verificación
Evasión del flujo normal de trabajo
o ¿Como probar?
o Identificar aquellas transacciones en las cuales se
maneje algún activo como puntos o créditos. Cancelar o
reducir la oferta final de cada transacción y verificar que
los puntos/créditos se ajusten correctamente.
Lógica de Negocio - Verificación
Evasión del flujo normal de trabajo
o ¿Como probar?
o Para cada formulario, introducir valores iniciales
válidos en sus campos. Posteriormente intentar editar
o eliminar dichos valores dejando los mismos en un
estado inválido y confirmar.
Lógica de Negocio - Verificación
DEMO 10 - Evasión del flujo normal de trabajo
Aceptar un préstamo que aún no fue aprobado.
Lógica de Negocio - Verificación
Carga de archivos no esperados y/o maliciosos
o ¿Que es?
o Verificar cualquier funcionalidad de subida de archivos
para el usuario.
o Al igual que con los datos, el sistema no debe confiar
nunca en estos archivos.
Lógica de Negocio - Verificación
Carga de archivos no esperados y/o maliciosos
o ¿Qué puede ocurrir?
oUn archivo no esperado y trancar la ejecución.
oUn archivo para explotar luego con otra vulnerabilidad
(página web, javascript, .exe)
oUn archivo que al ser parseado/ejecutado realiza acciones
indebidas.
Lógica de Negocio - Verificación
Ej.: Carga de archivos no esperados y/o maliciosos
Lógica de Negocio - Verificación
Carga de archivos no esperados y/o maliciosos
o ¿Como probar?
o Ubicar las funcionalidades en las que un usuario puede
realizar la subida de un archivo.
o Diferentes tipos de archivos, archivos maliciosos, múltiples
archivos
Lógica de Negocio - Verificación
Carga de archivos no esperados y/o maliciosos
o ¿Como probar?
o Mantener una lista de archivos aceptables y comparar
siempre contra ella.
o Realizar la subida de archivos indebidos.
o Verificar que los mecanismos de validación prevengan la
carga.
Lógica de Negocio - Verificación
DEMO 11 - Carga de archivos no esperados
y/o maliciosos
Actualizar la imagen de perfil con un archivo
malicioso.
Control de Acceso
-
Roles / Permisos
Control de Acceso
o Es el control selectivo y restrictivo a un recurso.
o La aplicación funciona correctamente.
o Probar quién lo puede hacer.
Control de Acceso
o Ausencia de control de acceso a funciones.
o Exposición de datos sensibles.
o Referencia directa insegura a objetos.
Control de Acceso
Ausencia de control de acceso a funciones.
o ¿Qué es?
o Un usuario obtiene acceso a funciones privilegiadas que no
debería.
o Se realiza el control de acceso en la interfaz de usuario,
pero no, en la ejecución la acción.
Control de Acceso
Ausencia de control de acceso a funciones.
o ¿Como probar?
o La interfaz de usuario la controla el navegador.
o Se debe buscar:
oBotones deshabilitados.
oBotones ocultos.
oLinks ocultos.
Control de Acceso
DEMO 12 - Ausencia de control de acceso a
funciones.
Aprobarse un préstamo, habilitando un botón en la
GUI.
Control de Acceso
Exposición de datos sensibles.
o ¿Qué es?
o Cierta información puede ser considerada sensible.
oDatos personales, información financiera o laboral.
o Depende de la industria y las regulaciones
gubernamentales.
Control de Acceso
Exposición de datos sensibles.
o ¿Como probar?
o Almacenamiento: Logs, archivos intermedios.
o Interfaz: información sensible puede ser enviada al
navegador y estar oculta: Hidden, display = None, etc.
o Cachés intermedios y del navegador:
o chrome://cache o about:cache
Control de Acceso
Exposición de datos sensibles.
o ¿Como probar?
o Cachés intermedios y del navegador:
ochrome://cache
oabout:cache
Control de Acceso
DEMO 13 - Exposición de datos sensibles.
o Inspeccionar las transferencias y visualizar el
saldo de una cuenta ajena.
Control de Acceso
Referencia directa insegura a objetos.
o ¿Qué es?
o Exposición de una referencia a un objeto de
implementación interno sin verificar control de acceso
oArchivo, Carpeta, Base de Datos
o Un atacante pueden manipular estas referencias para
acceder a datos no autorizados
Control de Acceso
DEMO 14 - Referencia directa insegura a
objetos.
Ingresar a un estado de cuenta cambiando los
parámetros en la URL
Despliegue
Despliegue
Configuración de seguridad incorrecta:
o Configurar correctamente los Usuarios, roles y permisos
que el sistema tendrá en Producción.
o Revisar y depurar:
oObjetos y roles creados en test.
oObjetos no utilizados u obsoletos (Developer Menu, Objetos
viejos, etc.
o Optar por un tráfico HTTPS y URL cifradas
Despliegue
DEMO 15 - Configuración de seguridad
incorrecta
Acceder a objetos de desarrollo/test que no se
depuraron en producción.
Referencias:
oOWASP - Testing guide 4.0
https://www.owasp.org/images/5/52/OWASP_Testing_Guide_v4.pdf
oOWASP - Testing for business logic
https://www.owasp.org/index.php/Testing_for_business_logic
oOWASP - Authentication Cheat Sheet Español
https://www.owasp.org/index.php/Authentication_Cheat_Sheet_Español
oOWASP - TOP 10
https://www.owasp.org/index.php/Top_10_2013-Top_10
oSymantec - Internet Security Threat Report
https://www.symantec.com/content/dam/symantec/docs/reports/istr-22-2017-en.pdf
¿PREGUNTAS?
¡MUCHAS GRACIAS!
Gastón Marichal
gmarichal@genexusconsulting.com
@gamarichal
Rodrigo de la Fuente
rdelafuente@genexusconsulting.com
15 y 16 de mayo, 2017
www.testinguy.org
#testinguy |@testinguy

Más contenido relacionado

Similar a Taller evento TestingUY 2017 - Incorporando Seguridad a las Tareas de Testing

Auditoria sistemas utp_2016_1_-_semana_1__27833__
Auditoria sistemas utp_2016_1_-_semana_1__27833__Auditoria sistemas utp_2016_1_-_semana_1__27833__
Auditoria sistemas utp_2016_1_-_semana_1__27833__Hernan Alarcon
 
OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017superserch
 
Auditoría informática
Auditoría informáticaAuditoría informática
Auditoría informáticamaekma
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Manual_de_usuario_alissta.pdf
Manual_de_usuario_alissta.pdfManual_de_usuario_alissta.pdf
Manual_de_usuario_alissta.pdfLuz Adriana Lopez
 
Grupo 3_control interno para la operación de sistemas.pptx
Grupo 3_control interno para la operación de sistemas.pptxGrupo 3_control interno para la operación de sistemas.pptx
Grupo 3_control interno para la operación de sistemas.pptxReynacalles3
 
Controles
ControlesControles
Controlesfbogota
 
Webinar - Seguridad en WordPress
Webinar - Seguridad en WordPressWebinar - Seguridad en WordPress
Webinar - Seguridad en WordPressArsys
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Cinthia Soca
 
Proyecto Análisis y diseño de sistemas
Proyecto Análisis y diseño de sistemas Proyecto Análisis y diseño de sistemas
Proyecto Análisis y diseño de sistemas JohannGillis
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 

Similar a Taller evento TestingUY 2017 - Incorporando Seguridad a las Tareas de Testing (20)

Sia i cap10
Sia i cap10Sia i cap10
Sia i cap10
 
Auditoria sistemas utp_2016_1_-_semana_1__27833__
Auditoria sistemas utp_2016_1_-_semana_1__27833__Auditoria sistemas utp_2016_1_-_semana_1__27833__
Auditoria sistemas utp_2016_1_-_semana_1__27833__
 
OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017
 
Auditoría informática
Auditoría informáticaAuditoría informática
Auditoría informática
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Trabajo final maricarmen
Trabajo final maricarmenTrabajo final maricarmen
Trabajo final maricarmen
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Manual_de_usuario_alissta.pdf
Manual_de_usuario_alissta.pdfManual_de_usuario_alissta.pdf
Manual_de_usuario_alissta.pdf
 
Control interno (ci)
Control interno (ci)Control interno (ci)
Control interno (ci)
 
Grupo 3_control interno para la operación de sistemas.pptx
Grupo 3_control interno para la operación de sistemas.pptxGrupo 3_control interno para la operación de sistemas.pptx
Grupo 3_control interno para la operación de sistemas.pptx
 
Auditoria de-sistemas
Auditoria de-sistemasAuditoria de-sistemas
Auditoria de-sistemas
 
Scl
SclScl
Scl
 
Controles
ControlesControles
Controles
 
Autoría de sistemas
Autoría de sistemasAutoría de sistemas
Autoría de sistemas
 
Webinar - Seguridad en WordPress
Webinar - Seguridad en WordPressWebinar - Seguridad en WordPress
Webinar - Seguridad en WordPress
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
 
Proyecto Análisis y diseño de sistemas
Proyecto Análisis y diseño de sistemas Proyecto Análisis y diseño de sistemas
Proyecto Análisis y diseño de sistemas
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Requisitos funcionales
Requisitos funcionalesRequisitos funcionales
Requisitos funcionales
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 

Más de TestingUy

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalTestingUy
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...TestingUy
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...TestingUy
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingTestingUy
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingUy
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoTestingUy
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youTestingUy
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...TestingUy
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterTestingUy
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterTestingUy
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?TestingUy
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?TestingUy
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!TestingUy
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...TestingUy
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactTestingUy
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsTestingUy
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelTestingUy
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...TestingUy
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...TestingUy
 

Más de TestingUy (20)

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcional
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con Pact
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbots
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
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.pptx241521559
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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 JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
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 UninoveFagnerLisboa3
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
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 FabricKeyla Dolores Méndez
 
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)GDGSucre
 
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íassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (19)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
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
 
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...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

Taller evento TestingUY 2017 - Incorporando Seguridad a las Tareas de Testing

  • 1. INCORPORANDO SEGURIDAD A LAS TAREAS DE TESTING. Gastón Marichal gmarichal@genexuscosulting.com @gamarichal Rodrigo de la Fuente rdelafuente@genexusconsulting.com 15 y 16 de mayo, 2017 www.testinguy.org #testinguy |@testinguy
  • 2.
  • 4.
  • 5.
  • 7. Introducción - Objetivos o Disminuir la cantidad de vulnerabilidades de seguridad que llegan a producción. o Poner a prueba los mecanismos de seguridad de la aplicación y su adecuación con estándares y buenas prácticas de seguridad.
  • 8.
  • 9. Introducción - ¿Por qué en testing? o Incorporar otro nivel de seguridad en etapas tempranas. o Si llega a Producción, ya es demasiado tarde. o Cuanto antes se detecte, menor será el costo de arreglo o La seguridad no es solo tarea de hackers
  • 10. Introducción - ¿Por qué en testing? o Relacionado con el testing funcional de la aplicación. o Acceso a la documentación y características del sistema. o Mayor conocimiento de la aplicación o Ejecución controlada en ambientes de test y pre-prod.
  • 11. Introducción - ¿Cómo lo haremos? o Incorporando la realización de Pruebas de Abuso como una actividad dentro del ciclo de testing para verificar aspectos de seguridad en las aplicaciones.
  • 12. Introducción - Pruebas de abuso o Utilizar las funcionalidades de la aplicación de una manera no pensada. o Se busca manipular las reglas de negocio, para obtener un beneficio. o Explotar controles deficientes y cursos alternativos no pensados.
  • 13. Introducción – Consideraciones oNo es un test de seguridad completo. o Se enfoca únicamente en las funcionalidades oNo suplanta a un test de penetración. o El test de penetración es otra barrera de seguridad necesaria
  • 14. Introducción - Organización del seminario o Casos de Abuso sobre una aplicación web o Ejemplos de posibles vulnerabilidades o Recomendaciones y Buenas Prácticas de seguridad
  • 15. Tabla de contenido Manejo de Sesiones Lógica de Negocio Control de Acceso Despliegue
  • 17. Manejo de sesiones o Inicio de sesión. o Gestión de las contraseñas. o Actualización de los datos. o Gestión de la sesión.
  • 18. Inicio de Sesión - Definición o Mecanismo por el cual el sistema valida que la entidad es quien dice ser. o Distintas formas: o Algo que conozco - Usuario / Password o Algo que poseo - Certificado Digital o Algo que soy - Biometría
  • 19. Inicio de Sesión - Buenas prácticas o Nombres de usuario no deben diferenciar mayúsculas y minúsculas.
  • 20. Inicio de Sesión - Buenas prácticas o No permitir enumeración de usuarios o Usuario y/o password incorrectos. o Credenciales incorrectas.
  • 21. Inicio de Sesión - Buenas prácticas o Bloquear usuarios luego de varios intentos fallidos. o Bloquear temporalmente la cuenta oTiempos incrementales (20 seg, 1 min, 5 min) o Bloquear la sesión si continúan los intentos. o Agregar Captcha en la pantalla tras varios intentos del usuario.
  • 22. Inicio de Sesión - Buenas prácticas o Mantener un log de cada intento de autenticación fallida. o Almacenando: oIP Origen oUsername utilizado oResultado
  • 23. Inicio de Sesión - Buenas prácticas o Evitar credenciales por parámetro y credenciales en texto claro.
  • 24. Gestión de las contraseñas o Fortaleza de las contraseñas: o Una contraseña se considera fuerte cuando es difícil de adivinar por medio de un atacante. o Deben estar alineada a los requerimientos del proyecto/sistema.
  • 25. Gestión de las contraseñas o Fortaleza de las contraseñas – Consideraciones o Largo (mínimo y máximo) o Juegos de caracteres (a-z,A-Z,0-9, especiales) o Periodo de validez o Histórico o Etc.
  • 26. Gestión de las contraseñas DEMO 1 - Recuperación de la contraseña: Si es posible adivinar una preguntas secretas, entonces no es segura! o Equipo favorito de futbol o Ciudad de Nacimiento o Apellido de la madre
  • 27. Gestión de las contraseñas
  • 28. Gestión de las contraseñas Recuperación de la contraseña o Las preguntas secretas no deben ser predecibles. o Información del usuario: oRedes sociales oPágina de la empresa oIngeniería Social
  • 29. Gestión de las contraseñas Recuperación de la contraseña o Enviar un token utilizando otro canal. o E-mail, sms, etc. o Válido por única vez, por cierto tiempo. o Cambio de la contraseña o creación de una nueva no predecible. o La contraseña no debe ser recuperable.
  • 30. Gestión de las contraseñas Recuperación de la contraseña o No bloquear el login del usuario. o Bloquear la sesión web tras varios intentos fallidos. o No pedir nuevo email. o Enviar al mail que tiene registrado el usuario.
  • 31.
  • 32. Actualización de los datos - Buenas prácticas Siempre pedir contraseña para confirmar cambios de: o Username o E-mail o Password Ya que son utilizados para: o Iniciar sesión. o Recuperar contraseña. o Notificar los cambios.
  • 33. Actualización de los datos - Buenas prácticas Notificar dicho cambio al usuario: o email (original) o sms o Llamada
  • 34. Gestión de la sesión. o Proceso por el cual el servidor conserva el estado de una entidad con la cual está interactuando. o Almacenadas en el servidor utilizando un identificador de sesión, que deben ser únicos por usuario y difíciles de predecir. o Enviado entre el cliente y el servidor en cada pedido y respuesta.
  • 35. Gestión de la sesión.
  • 36. Gestión de la sesión. Evitar fijación de sesión
  • 37. Gestión de la sesión. Cierre de sesión: o Logout: Manual al salir del sistema o Expiración: Automática, luego de un tiempo determinado de inactividad. o Destruir sesión en el servidor
  • 38. Gestión de la sesión. DEMO 2 - Cierre de sesión: Logout manual Verificar mecanismos de destrucción de sesiones, si estos Faltan/Fallan la sesión puede no cerrarse y permitir que otros usuarios operen bajo mi sesión.
  • 39. Gestión de la sesión. DEMO 3 - Cierre de sesión: Robo de sesión Ingresar con la misma sesión de un usuario autenticado, aunque haya cerrado sesión.
  • 41. Lógica de Negocio - Definición o Son las reglas mediante las cuales se rige el sistema. o Conformado por las funcionalidades del sistema. o Es única para cada aplicación. o Documentada en casos de uso.
  • 42. Lógica de Negocio - Explotación Se necesita pensar diferente o Fuera del uso convencional del sistema o Utilizar la creatividad y experiencia Es un trabajo manual o Difícil de automatizar o Requiere conocer el sistema, sus reglas y procedimientos de negocio (Documentación)
  • 43. Lógica de Negocio - Atacante o Intentar explotar la lógica del negocio o Obtener ventajas/beneficios extras o Aprovechar funcionalidades/controles deficientes
  • 44. Lógica de Negocio - ¿Qué hacer? o Debemos pensar como un atacante o Conocer el software y sus características o Detectar posibles puntos de vulnerabilidad o Verificarlos ejecutando casos de mal uso o abuso del software
  • 45. Lógica de Negocio - Verificación o Validación de datos de la lógica de negocio o Capacidad para manipular solicitudes o Controles de integridad o Timing de procesos o Limitar uso de funciones (cantidad) o Evasión de flujo normal de trabajo o Carga de archivos no esperados y/o maliciosos
  • 46. Lógica de Negocio - Verificación Validaciones de datos de la lógica de negocio o El sistema no debe “confiar” en los datos que recibe, un atacante puede insertar datos lógicamente inválidos o Los datos pueden ser manipulados durante el proceso oEtapas del workflow oPuntos de comunicación con otros sistemas oTráfico HTTP o Deben existir mecanismos que validen estos datos.
  • 47. Lógica de Negocio - Verificación Validaciones de datos de la lógica de negocio o Con solo verificar los datos en el cliente no es suficiente oSe puede interceptar el tráfico y enviar datos lógicamente inválidos
  • 48. Lógica de Negocio - Verificación Ej.: Validaciones de datos de la lógica de negocio Sub-sistema de Compras Sub-sistema de Despacho
  • 49. Lógica de Negocio - Verificación Validaciones de datos de la lógica de negocio ¿Como probar? oDetectar los puntos de entrada o comunicación del sistema. oRealizar un testeo exploratorio ingresando o modificando datos lógicamente inválidos en el sistema: oUtilizando la UI. oCapturando y modificando el tráfico HTTP. oTambién revisar comunicación entre sistemas.
  • 50. Lógica de Negocio - Verificación DEMO 4 - Validaciones de los datos Realizar una transferencia con otro tipo de moneda
  • 51. Lógica de Negocio - Verificación DEMO 5 - Validaciones de los datos Realizar una transferencia con saldos negativos - 1000
  • 52. Lógica de Negocio - Verificación Capacidad para moldear solicitudes o El atacante puede saltear la GUI y enviar información directamente al servidor. o Mediante un proxy se envían peticiones HTTP POST/GET con valores inválidos para la lógica de negocio o Incompatibles, no soportados, no esperados o Se busca poder predecir o adivinar parámetros o Exponer funcionalidades o pantallas ocultas del sistema.
  • 53. Lógica de Negocio - Verificación o Ej.: Capacidad para moldear solicitudes PurchaseTicket?newUser=1 10% off PurchaseTicket?newUser=0 10% off PurchaseTicket?newUser=1
  • 54. Lógica de Negocio - Verificación Capacidad para moldear solicitudes o ¿Qué debe hacer el sistema? o Contar con chequeos lógicos en los lugares clave para prevenir que se acepten este tipo de peticiones. o Bloquear peticiones que no provengan de un usuario verificado o Evitar que el sistema delate su propia estructura
  • 55. Lógica de Negocio - Verificación Capacidad para moldear solicitudes o ¿Como probar? oRevisar en busca de funcionalidades y campos que puedan ser predecibles o estar ocultos. oObservar el tráfico HTTP en busca de valores que sean predecibles o adivinables (autoincrementales, etc). oObservar el tráfico HTTP en busca de funcionalidades ocultas como pantallas de desarrollo o testeo.
  • 56. Lógica de Negocio - Verificación DEMO 6 - Capacidad para moldear solicitudes Consultar estado de cuenta de otros usuarios, cambiando el parámetro que viaja en la URL.
  • 57. Lógica de Negocio - Verificación DEMO 7 - Capacidad para moldear solicitudes Mediante un proxy, buscar código comentado y acceder a objeto de test.
  • 58. Lógica de Negocio - Verificación Controles de integridad o Los campos ocultos o no editables que muestran información al usuario, pueden ser manipulados en el cliente. o El sistema no debe confiar en que estos valores no serán alterados por un usuario.
  • 59. Lógica de Negocio - Verificación Controles de integridad o Si se expone información de negocio al usuario (cantidades, precios, stock, etc.) , se debe mantener una copia en el servidor y utilizarla para los procesos. o Los procesos o funcionalidades no deben depender de estos valores ocultos o no editables.
  • 60. Lógica de Negocio - Verificación Controles de integridad o ¿Como probar? oBuscar componentes que manipulen o actualicen información.
  • 61. Lógica de Negocio - Verificación Controles de integridad o ¿Como probar? oBuscar componentes que manipulen o actualicen información. oRevisar el tráfico HTTP en busca de campos ocultos o no editables. oIntentar modificar dicha información con valores inválidos.
  • 62. Lógica de Negocio - Verificación Controles de integridad GUI Controles Canal de comunicación Cliente
  • 63. Lógica de Negocio - Verificación DEMO 8 - Controles de integridad Reducir el porcentaje de recargo de un prestamos, manipulando la taza de recargo del mismo (GUI).
  • 64. Lógica de Negocio - Verificación Timing de procesos oIdentificar funcionalidades del sistema que puedan ser afectadas por el transcurso del tiempo. oObtener ventajas basadas en el tiempo de operación con el sistema. oPrecios variantes en el correr del día oBloquear temporalmente otros usuarios
  • 65. Lógica de Negocio - Verificación Ej.: Timing de procesos (1)
  • 66. Lógica de Negocio - Verificación Ej.: Timing de procesos (2) 15:00 Price: 150 10:00 Price: 100 20:00 Price: 200
  • 67. Lógica de Negocio - Verificación Limitar uso de funciones (cantidad) o ¿Que es? o El sistema posee funciones que deben tener un control sobre la cantidad de veces que se utiliza un elemento o ejecuta una acción.
  • 68. Lógica de Negocio - Verificación Ej.: Limitar uso de funciones (cantidad) o Reutilizar un descuento. o Confirmar varias veces una acción. o Cambiar o Forzar contraseñas.
  • 69. Lógica de Negocio - Verificación Limitar uso de funciones (cantidad) o ¿Como probar? o Identificar las funciones u operaciones que no deberían ser ejecutadas más de una cierta cantidad de veces. o Intentar ejecutarlas más de la cantidad de veces permitidas, mediante browser o tráfico http.
  • 70. Lógica de Negocio - Verificación Evasión del flujo normal de trabajo o ¿Que es? o Permite al atacante eludir el flujo normal o esperado de trabajo. o No seguir la secuencia normal de operaciones.
  • 71. Lógica de Negocio - Verificación Ej.: Evasión del flujo normal de trabajo o Saltear algún paso del flujo de trabajo donde no se cuenten con mecanismos de control que dirijan las operaciones hacia el orden correcto.
  • 72. Lógica de Negocio - Verificación Evasión del flujo normal de trabajo o ¿Como probar? o Saltear o ejecutar ciertos pasos de la aplicación en un orden no deseado del flujo lógico y forzar una acción que no es la esperada en esa etapa del proceso.
  • 73. Lógica de Negocio - Verificación Evasión del flujo normal de trabajo o ¿Como probar? o Identificar aquellas transacciones en las cuales se maneje algún activo como puntos o créditos. Cancelar o reducir la oferta final de cada transacción y verificar que los puntos/créditos se ajusten correctamente.
  • 74. Lógica de Negocio - Verificación Evasión del flujo normal de trabajo o ¿Como probar? o Para cada formulario, introducir valores iniciales válidos en sus campos. Posteriormente intentar editar o eliminar dichos valores dejando los mismos en un estado inválido y confirmar.
  • 75. Lógica de Negocio - Verificación DEMO 10 - Evasión del flujo normal de trabajo Aceptar un préstamo que aún no fue aprobado.
  • 76. Lógica de Negocio - Verificación Carga de archivos no esperados y/o maliciosos o ¿Que es? o Verificar cualquier funcionalidad de subida de archivos para el usuario. o Al igual que con los datos, el sistema no debe confiar nunca en estos archivos.
  • 77. Lógica de Negocio - Verificación Carga de archivos no esperados y/o maliciosos o ¿Qué puede ocurrir? oUn archivo no esperado y trancar la ejecución. oUn archivo para explotar luego con otra vulnerabilidad (página web, javascript, .exe) oUn archivo que al ser parseado/ejecutado realiza acciones indebidas.
  • 78. Lógica de Negocio - Verificación Ej.: Carga de archivos no esperados y/o maliciosos
  • 79. Lógica de Negocio - Verificación Carga de archivos no esperados y/o maliciosos o ¿Como probar? o Ubicar las funcionalidades en las que un usuario puede realizar la subida de un archivo. o Diferentes tipos de archivos, archivos maliciosos, múltiples archivos
  • 80. Lógica de Negocio - Verificación Carga de archivos no esperados y/o maliciosos o ¿Como probar? o Mantener una lista de archivos aceptables y comparar siempre contra ella. o Realizar la subida de archivos indebidos. o Verificar que los mecanismos de validación prevengan la carga.
  • 81. Lógica de Negocio - Verificación DEMO 11 - Carga de archivos no esperados y/o maliciosos Actualizar la imagen de perfil con un archivo malicioso.
  • 83. Control de Acceso o Es el control selectivo y restrictivo a un recurso. o La aplicación funciona correctamente. o Probar quién lo puede hacer.
  • 84. Control de Acceso o Ausencia de control de acceso a funciones. o Exposición de datos sensibles. o Referencia directa insegura a objetos.
  • 85. Control de Acceso Ausencia de control de acceso a funciones. o ¿Qué es? o Un usuario obtiene acceso a funciones privilegiadas que no debería. o Se realiza el control de acceso en la interfaz de usuario, pero no, en la ejecución la acción.
  • 86. Control de Acceso Ausencia de control de acceso a funciones. o ¿Como probar? o La interfaz de usuario la controla el navegador. o Se debe buscar: oBotones deshabilitados. oBotones ocultos. oLinks ocultos.
  • 87. Control de Acceso DEMO 12 - Ausencia de control de acceso a funciones. Aprobarse un préstamo, habilitando un botón en la GUI.
  • 88. Control de Acceso Exposición de datos sensibles. o ¿Qué es? o Cierta información puede ser considerada sensible. oDatos personales, información financiera o laboral. o Depende de la industria y las regulaciones gubernamentales.
  • 89. Control de Acceso Exposición de datos sensibles. o ¿Como probar? o Almacenamiento: Logs, archivos intermedios. o Interfaz: información sensible puede ser enviada al navegador y estar oculta: Hidden, display = None, etc. o Cachés intermedios y del navegador: o chrome://cache o about:cache
  • 90. Control de Acceso Exposición de datos sensibles. o ¿Como probar? o Cachés intermedios y del navegador: ochrome://cache oabout:cache
  • 91. Control de Acceso DEMO 13 - Exposición de datos sensibles. o Inspeccionar las transferencias y visualizar el saldo de una cuenta ajena.
  • 92. Control de Acceso Referencia directa insegura a objetos. o ¿Qué es? o Exposición de una referencia a un objeto de implementación interno sin verificar control de acceso oArchivo, Carpeta, Base de Datos o Un atacante pueden manipular estas referencias para acceder a datos no autorizados
  • 93. Control de Acceso DEMO 14 - Referencia directa insegura a objetos. Ingresar a un estado de cuenta cambiando los parámetros en la URL
  • 95. Despliegue Configuración de seguridad incorrecta: o Configurar correctamente los Usuarios, roles y permisos que el sistema tendrá en Producción. o Revisar y depurar: oObjetos y roles creados en test. oObjetos no utilizados u obsoletos (Developer Menu, Objetos viejos, etc. o Optar por un tráfico HTTPS y URL cifradas
  • 96. Despliegue DEMO 15 - Configuración de seguridad incorrecta Acceder a objetos de desarrollo/test que no se depuraron en producción.
  • 97. Referencias: oOWASP - Testing guide 4.0 https://www.owasp.org/images/5/52/OWASP_Testing_Guide_v4.pdf oOWASP - Testing for business logic https://www.owasp.org/index.php/Testing_for_business_logic oOWASP - Authentication Cheat Sheet Español https://www.owasp.org/index.php/Authentication_Cheat_Sheet_Español oOWASP - TOP 10 https://www.owasp.org/index.php/Top_10_2013-Top_10 oSymantec - Internet Security Threat Report https://www.symantec.com/content/dam/symantec/docs/reports/istr-22-2017-en.pdf
  • 98. ¿PREGUNTAS? ¡MUCHAS GRACIAS! Gastón Marichal gmarichal@genexusconsulting.com @gamarichal Rodrigo de la Fuente rdelafuente@genexusconsulting.com 15 y 16 de mayo, 2017 www.testinguy.org #testinguy |@testinguy