SlideShare una empresa de Scribd logo
Click to edit Master subtitle style
Incorporando la Seguridad de la
Información en el Desarrollo de
Aplicaciones
Alfredo Aranguren T., CISSP
Especialista en Seguridad de
Información
Objetivo
22
Exponer las principales
tendencias en cuanto a
Seguridad de Información y la
importancia de la seguridad en
el desarrollo de aplicaciones.
Gente / Procesos / Tecnología
33
Concientización
Capacitación
Guías
Desarrollo Seguro
Configuraciones
Seguras
Pruebas de
Seguridad
Revisión de
Código Seguro
Pruebas
Automatizadas
Firewalls
de
Aplicación
Datos Relevantes
• Revisiones de código (peer reviews)
– IBM redujo un 82% de los defectos antes de
comenzar las pruebas.
– 80% de los defectos es probable que no sean
detectados en las pruebas
– Es 100 veces más costoso solucionar un
problema de seguridad en producción que en
el diseño (IBM Systems Sciences Institute)
44
Ref: http://ganssle.com/Inspections.pdf
Concientización y
Entrenamiento del Personal
55
Concientización y Entrenamiento
del Personal
• El soporte de la alta dirección es crucial.
• Se debe de hablar en términos de
Negocio
– Creación de Valor
– Administración de los riesgos del negocio
66
Concientización y Entrenamiento
del Personal
• Entre el 70% y el 90% de las aplicaciones
web tiene vulnerabilidades serias porque
– El desarrollador promedio no está lo
suficientemente capacitado y entrenado.
• Introducir controles de seguridad en el
desarrollo e implementación permitirá
– Mayor disponibilidad, menor TCO
– Controlar y mitigar riesgos
77
Requerimientos de Seguridad
88
Requerimientos de Seguridad
• Los aspectos de seguridad deben ser
parte de los requerimientos
• El negocio debe de estar informado de los
riesgos
• Base sólida para controles de seguridad
posteriores
• Definir estándares para requerimientos de
seguridad
– Cuales controles son necesarios
– Cuando son necesarios
– Por qué son necesarios 99
Requerimientos de Seguridad
• Generar un conjunto genérico de
requerimientos de seguridad
– Debe incluir todos los mecanismos de
seguridad.
– Debe considerar todas las vulnerabilidades
comunes.
– Debe considerar casos de mal uso.
– Considerar aspectos tales como
regulaciones, buenas prácticas, estándares,
etc.
1010
Identificación de Amenazas
1111
Para qué?
• Para entender el ambiente operativo en
donde se encuentra la aplicación.
• Para identificar, analizar, documentar y
mitigar riesgos.
1212
Administración de Riesgos
• Seleccionar estrategias de mitigación
basadas en las amenazas identificadas.
• Beneficios:
– Prevenir defectos en el diseño de la
seguridad
– Identificar y manejar los principales riesgos
– Mejorar el entendimiento y concientización de
los riesgos
– Permitir el concenso en el equipo de trabajo
– Lograr la justificación de costos para los
controles necesarios
1313
Evaluación y Mitigación de Riesgos
• Administrar los riesgos ocasionados por
fallas de seguridad que generan impactos:
– Financieros
– Operativos
– Legales
– Imagen
1414
Cumplimiento Legal y Regulatorio
• Cumplir con requerimientos legales y
regulatorios
• La administración de riesgos es
obligatoria para la mayoría de las
regulaciones:
– Ejemplo de marcos de referencia de control
interno: CobiT, ISO 17799
– Ejemplo de regulaciones: Basilea II,
Sarbanes-Oxley, FDA, HIPAA
1515
Guías para el Diseño Seguro
1616
Diseño Seguro
• Principios
– Asegure el eslabón más débil
– Implemente la seguridad por capas
– Fallas de manera segura
– Seguir el principio del menor privilegio
– Compartimentalización (compartmentalize)
– Mantenga las cosas simples
– Promueva la privacidad
– Recuerde que guardar secretos es dificil
– Sea reacio a confiar
– Segregación de funciones 1717
Pruebas de Seguridad for
1818
Pruebas de Seguridad
• Identificar errores de seguridad durante las
pruebas
• Desarrollar casos para pruebas de
seguridad
–Basados en los requerimientos
–Probando todos los mecanismos de seguridad
y vulnerabilidades comunes
1919
OWASP Top 10
• Se refiere a las diez vulnerabilidades de
seguridad más críticas de las aplicaciones
web
• Son un buen principio, pero no un
estándar
2020
OWASP Top 10 2007
1. Cross Site Scripting (XSS)
2. Injection Flaws
3. Inclusión insegura de archivos remotos
4. Insecure Direct Object Reference
5. Falsificación de petición en sitios cruzados (Cross Site
Request Forgery -CSRF)
6. Fuga de información y manejo inadecuado de errores
7. Débil protección de elementos de sesión y autenticación
8. Almacenamiento inseguro de funciones criptográficas
9. Comunicaciones inseguras
10. Fallas para restringir el acceso mediante URL´s
http://www.owasp.org/index.php/Top_10
2121
1. Cross Site Scripting (XSS)
2222
1. Cross Site Scripting
• Descripción
– El HTML generado por el cliente es ejecutado por
el navegador web
• reflejado: enlaces en correos, páginas web...
• almacenado: correo web, foros, blogs...
• inyección a través de DOM: manipulando document.URL,
document.location...)
• Recomendaciones
– Validar y/o codificar todos los parámetros antes de
incluirlos en páginas HTML
– Validar usando principalmente “listas blancas”
2. Injection Flaws
2424
2. Injection Flaws
• Descripción
– Los datos proporcionados por el usuario son
enviados a un interpretador como parte de un
comando o de un query
– El más comun es SQL injection
– Todas las aplicaciones web que usan
interpretadores son vulnerables a este tipo de
ataques.
2525
2. Injection Flaws
• Recomendaciones
– Verificar que el usuario no puede modificar
comandos o queries enviados a cualquier
interpretador usado por la aplicación.
– Es útil hacer revisiones de código para
detectar este tipo de vulnerabilidades
– No confiar en la validación realizada por el
cliente
– Normalizar los valores de entrada
– Aplicar validación en el servidor
– Restringir los tipos de datos aceptados
2626
3. Inclusión insegura de
archivos remotos
2727
3. Inclusión Insegura de Archivos
Remotos
• Descripción
– Permite al atacante ejecutar código remoto,
comprometiendo archivos de entrada;
causado comúnmente por confiar
indebidamente de archivos de entrada
– Todas las aplicaciones que permiten que se
ejecuten archivos cargados, son vulnerables
2828
3. Inclusión Insegura de Archivos
Remotos
• Recomendaciones
– Usar referencias indirectas
– Diferenciar datos validados de los del usuario
– Validar la entrada usando “listas blancas”
– Filtrar los intentos de acceso remoto desde el
servidor web
– Usar mecanismos de aislamiento: chroot, jail,
máquinas virtuales...
– Usar mecanismos del lenguaje: tainting,
allow_url_fopen...
2929
4. Insecure Direct Object
Reference
3030
4. Insecure Direct Object
Reference
• Descripción
– La aplicación expone una referencia a un
objeto interno
• directorio
• registro de una base de datos
– Las referencias a objetos internos están
expuestas.
– Los atacantes usan manipulación de
parámetros para cambiar referencias y violar
políticas de control acceso débiles.
– Las referencias a las llaves de bases de
datos están expuestas. 3131
4. Insecure Direct Object
Reference
• Recomendaciones
– Evitar exponer las referencias
– Validar todas las referencias a objetos
– Verificar la autorización en todos los accesos
– Usar índices o mapas de referencias (
http://www.example.com/application?file=1)
– Verificar la autorización
3232
5. Falsificación de petición en
sitios cruzados (CSRF))
3333
5. Falsificación de Petición en
Sitios Cruzados (CSRF)
• Descripción
– Provocar que el navegador genere peticiones
HTTP ocultas a recursos restringidos
– Se aprovecha la autentificación implícita
• Autentificación HTTP (ej: usuario y contraseña)
• Cookies
• Autentificación SSL del cliente
• Autentificación basada en IP’s
3434
5. Falsificación de Petición en
Sitios Cruzados (CSRF)
• Recomendaciones
– Usar un token de autorización que no sea
enviado automáticamente por el navegador.
– Eliminar cualquier vulnerabilidad de XSS en la
aplicación.
– Añadir una petición a una variable de un sólo
uso al URL y formas adicional a la sesión
estándar.
– Requerir pantallas de login adicionales para
datos sensibles.
– No use GET para requerir datos sensibles
3535
6. Fuga de Información y Manejo
inadecuado de Errores
3636
6. Fuga de Información y Manejo
Inadecuado de Errores
• Descripción
– Las aplicaciones filtran información sensible
• sobre su configuración, diseño interno...
• datos privados a los que tienen acceso
– La información puede ser usada para otros
ataques
3737
6. Fuga de Información y Manejo
Inadecuado de Errores
• Vulnerabilidades
– comentarios en el código fuente
– mensajes de error
3838
6. Fuga de Información y Manejo
Inadecuado de Errores
• Recomendaciones
– El objetivo es que la aplicación no divulge
mensajes de error detallados.
– Comprobar la aplicación con todo tipo de
datos de entrada inválidos y analizar los
mensajes generados
– Deshabilitar o limitar los detalles mostrados
sobre errores (especialmente de capas
internas: BD, SO...)
– No usar los gestores de error por defecto
– Garantizar que los caminos de ejecución
sensibles devuelven mensajes de error3939
7. Debil protección de elementos
de sesion y autenticación
4040
7. Débil Protección de Elementos
de Sesión y Autenticación
• Descripción
– Fallo al proteger credenciales y tokens de
sesión
• Causas
– Fallas en los principales mecanismos de
autenticación.
– Debilidades en la administración de
contraseñas.
– Fallas en los tiempos de desconexión de las
sesiones.
4141
7. Débil Protección de Elementos
de Sesión y Autenticación
• Recomendaciones
– Usar SSL exclusivamente para todo acceso
autenticado
– Encriptar todas las credenciales y tokens para
almacenarlos (A8)
– Planificación cuidadosa
• No exponer datos sensibles en URLs o registros
• Utilizar un único mecanismo de autentificación
• No usar direcciones IP, consultas al DNS o
“referrer headers” para autenticación
• Ser cuidadoso con el envío de contraseñas a
direcciones de correo
4242
7. Débil Protección de Elementos
de Sesión y Autenticación
• Limitar o eliminar el uso de cookies para la
autenticación o gestión de sesiones (ej: recordar al
usuario en el sitio web)
• No aceptar id. de sesión nuevos, preestablecidos
o inválidos en URLs o peticiones (evitar “session
fixation attacks”)
• Crear una nueva sesión tras la autentificación o
cambio de nivel de privilegio
• Proporcionar enlaces para desconectarse
• Utilizar mecanismos de autodesconexión
• Asegurar que la liga de logout destruye todos los
datos pertinentes.
4343
8. Almacenamiento inseguro
de funciones criptográficas
4444
8. Almacenamiento Inseguro de
Funciones Criptográficas
• Descripción
– Fallas al encriptar datos sensibles
• No encriptarlos
• Utilizar algoritmos criptográficos propios
• Usar incorrectamente algoritmos fuertes
• Continuar usando algoritmos débiles (MD5, SHA-
1, RC3, RC4...)
• Usar claves preprogramadas o almacenarlas
desprotegidas.
4545
8. Almacenamiento Inseguro de
Funciones Criptográficas
• Recomendaciones
– Sólo almacenar lo imprescindible
– Usar algoritmos probados (no crear nuevos)
• AES, RSA para criptografía asimétrica
• SHA-256 o mejores para “hashing”
• http://www.owasp.org/index.php/Guide_to_Cryptograph
– No usar algoritmos débiles (ej: MD5, SHA-1)
– Gestión cuidadosa de claves
• Generarlas fuera de línea
• Almacenar las claves privadas con extremo
cuidado
• Nunca transmitirlas por canales inseguros4646
9. Comunicaciones Inseguras
4747
9. Comunicaciones Inseguras
• Descripción
– Las aplicaciones frecuentemente fallan en
encriptar el tráfico de la red cuando es
necesario proteger comunicaciones sensibles
– Se recomienda usar SSL para todas las
conexiones autenticadas.
4848
9. Comunicaciones Inseguras
• Recomendaciones
– Usar SSL para conexiones autenticadas o
que transmiten información sensible
(credenciales, números de tarjeta de crédito,
datos de salud...)
– Encriptar la comunicación en la
infraestructura (con servidores de
aplicaciones, bases de datos, LDAP...)
– No permitir que se pueda pasar a un modo
inseguro (ej: cuando ocurre algún fallo en las
comunicaciones o falla algún componente)
4949
10. Falla para restringir el
acceso mediante URL’s
5050
10. Falla para Restringir el Acceso
Mediante URL’s
• Descripción
– No permitir acceso a funciones basándose en
el URL
• Es un ejemplo de seguridad mediante oscuridad
• URLs secretas, difíciles de adivinar...
• Evaluar el control de acceso en el cliente
• Permitir acceso sólo a ciertos tipos de carpetas(ej:
HTML, PDF...)
• Mantener actualizados los componentes que
manejan datos proporcionados por usuarios
(imágenes, XML, textos...)
5151
10. Falla para Restringir el Acceso
Mediante URL’s
• Recomendaciones
– Usar una matriz de control de acceso
– Restringir el acceso a URLs y funciones en
cada paso
– Realizar pruebas de penetración
– No asumir que los usuarios desconocen
ciertas URLs o APIs
5252
Fuentes
• www.owasp.org
• Programación Segura
– Carlos Pérez Conde
– Departament d'Informàtica
– Escola Técnica Superior d'Enginyeria
– Universitat de València
Click to edit Master subtitle style
Preguntas y Respuestas
Alfredo Aranguren T., CISSP
alfredo@aranguren.com.mx

Más contenido relacionado

La actualidad más candente

Aqa soporte seguridad-web
Aqa soporte seguridad-webAqa soporte seguridad-web
Aqa soporte seguridad-webjairoclavijo
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad webyuliaranda
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad web
sandyquispe1994
 
Pre Shenlong
Pre ShenlongPre Shenlong
Pre Shenlong
Hacking Bolivia
 
Medidas básicas de seguridad informática para empresas
Medidas básicas de seguridad informática para empresasMedidas básicas de seguridad informática para empresas
Medidas básicas de seguridad informática para empresas
Héctor López
 
Programa de seguridad informática
Programa de seguridad informáticaPrograma de seguridad informática
Programa de seguridad informáticaPedro Cobarrubias
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Creando un programa de seguridad informatica
Creando un programa de seguridad informaticaCreando un programa de seguridad informatica
Creando un programa de seguridad informatica
Pedro Colmenares
 
TechTuesday: Seguridad en Desarrollo de Apps
TechTuesday: Seguridad en Desarrollo de Apps TechTuesday: Seguridad en Desarrollo de Apps
TechTuesday: Seguridad en Desarrollo de Apps
netmind
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
José Javier Peleato Pradel
 
Las nuevas ciberamenazas que enfrentamos el 2017
Las nuevas ciberamenazas que enfrentamos el 2017 Las nuevas ciberamenazas que enfrentamos el 2017
Las nuevas ciberamenazas que enfrentamos el 2017
Raúl Díaz
 
Las 5 principales ciberamenazas en el sector financiero
Las 5 principales ciberamenazas en el sector financieroLas 5 principales ciberamenazas en el sector financiero
Las 5 principales ciberamenazas en el sector financiero
Raúl Díaz
 
Seguridad Global
Seguridad GlobalSeguridad Global
Seguridad Global
Internet Security Auditors
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad webanitatekila22
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
Marcos Harasimowicz
 

La actualidad más candente (15)

Aqa soporte seguridad-web
Aqa soporte seguridad-webAqa soporte seguridad-web
Aqa soporte seguridad-web
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad web
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad web
 
Pre Shenlong
Pre ShenlongPre Shenlong
Pre Shenlong
 
Medidas básicas de seguridad informática para empresas
Medidas básicas de seguridad informática para empresasMedidas básicas de seguridad informática para empresas
Medidas básicas de seguridad informática para empresas
 
Programa de seguridad informática
Programa de seguridad informáticaPrograma de seguridad informática
Programa de seguridad informática
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Creando un programa de seguridad informatica
Creando un programa de seguridad informaticaCreando un programa de seguridad informatica
Creando un programa de seguridad informatica
 
TechTuesday: Seguridad en Desarrollo de Apps
TechTuesday: Seguridad en Desarrollo de Apps TechTuesday: Seguridad en Desarrollo de Apps
TechTuesday: Seguridad en Desarrollo de Apps
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
Las nuevas ciberamenazas que enfrentamos el 2017
Las nuevas ciberamenazas que enfrentamos el 2017 Las nuevas ciberamenazas que enfrentamos el 2017
Las nuevas ciberamenazas que enfrentamos el 2017
 
Las 5 principales ciberamenazas en el sector financiero
Las 5 principales ciberamenazas en el sector financieroLas 5 principales ciberamenazas en el sector financiero
Las 5 principales ciberamenazas en el sector financiero
 
Seguridad Global
Seguridad GlobalSeguridad Global
Seguridad Global
 
Soporte seguridad web
Soporte seguridad webSoporte seguridad web
Soporte seguridad web
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 

Destacado

Seguridad de redes informaticas
Seguridad de redes informaticasSeguridad de redes informaticas
Seguridad de redes informaticas
José Efraín Alava Cruzatty
 
Guia de Concientización y capacitación en seguridad de información
Guia de Concientización y capacitación en seguridad de informaciónGuia de Concientización y capacitación en seguridad de información
Guia de Concientización y capacitación en seguridad de información
cexsxar
 
La seguridad de la informacion (viruz)
La seguridad de la informacion (viruz)La seguridad de la informacion (viruz)
La seguridad de la informacion (viruz)
Onpux Diane Pie
 
Educación y sensibilización en seguridad de la información
Educación y sensibilización en seguridad de la informaciónEducación y sensibilización en seguridad de la información
Educación y sensibilización en seguridad de la información
Modernizacion y Gobierno Digital - Gobierno de Chile
 
Curso seguridad en sistemas de informacion
Curso   seguridad en sistemas de informacionCurso   seguridad en sistemas de informacion
Curso seguridad en sistemas de informacionnyzapersa
 
Knowledge Management System & Technology
Knowledge Management System & TechnologyKnowledge Management System & Technology
Knowledge Management System & Technology
Elijah Ezendu
 
12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información
David Antonio Rapri Mendoza
 

Destacado (8)

Seguridad de redes informaticas
Seguridad de redes informaticasSeguridad de redes informaticas
Seguridad de redes informaticas
 
Guia de Concientización y capacitación en seguridad de información
Guia de Concientización y capacitación en seguridad de informaciónGuia de Concientización y capacitación en seguridad de información
Guia de Concientización y capacitación en seguridad de información
 
La seguridad de la informacion (viruz)
La seguridad de la informacion (viruz)La seguridad de la informacion (viruz)
La seguridad de la informacion (viruz)
 
Educación y sensibilización en seguridad de la información
Educación y sensibilización en seguridad de la informaciónEducación y sensibilización en seguridad de la información
Educación y sensibilización en seguridad de la información
 
Definición de controles administrativos
Definición de controles administrativosDefinición de controles administrativos
Definición de controles administrativos
 
Curso seguridad en sistemas de informacion
Curso   seguridad en sistemas de informacionCurso   seguridad en sistemas de informacion
Curso seguridad en sistemas de informacion
 
Knowledge Management System & Technology
Knowledge Management System & TechnologyKnowledge Management System & Technology
Knowledge Management System & Technology
 
12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información
 

Similar a Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones

OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017
superserch
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5
SemanticWebBuilder
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
Fernando Solis
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
Andrés Gómez
 
Introduccion seguridad informatica - chakan
Introduccion seguridad informatica   - chakanIntroduccion seguridad informatica   - chakan
Introduccion seguridad informatica - chakan
ch4k4n
 
Ingrid 9-1
Ingrid 9-1Ingrid 9-1
Ingrid 9-1
yenitatis
 
Seguridaddela informacion
Seguridaddela informacionSeguridaddela informacion
Seguridaddela informacionhvillas
 
Seguridad de información para criptoactivos
Seguridad de información para criptoactivosSeguridad de información para criptoactivos
Seguridad de información para criptoactivos
Eudy Zerpa
 
Mantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro YaMantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro Ya
Javier Loria
 
Seguridad Base Datos
Seguridad Base DatosSeguridad Base Datos
Seguridad Base Datos
JuandTs
 
Control interno informático
Control interno informáticoControl interno informático
Control interno informático
Juan Moreno
 
Seguridad base de datos
Seguridad base de datosSeguridad base de datos
Seguridad base de datosJuandTs
 
Secure Development, Seguridad al Codificar
Secure Development, Seguridad al CodificarSecure Development, Seguridad al Codificar
Secure Development, Seguridad al Codificar
Andrés Londoño
 
Imperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdfImperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdf
Alejandro Daricz
 
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
 
10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP 10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP
Henry Raúl González Brito
 
La seguridad de tus emails en Mailjet
La seguridad de tus emails en MailjetLa seguridad de tus emails en Mailjet
La seguridad de tus emails en Mailjet
Mailjet
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Miguel Tabera
 
Estrategias para compartir información de forma ágil, segura y cumplir con GDPR
Estrategias para compartir información de forma ágil, segura y cumplir con GDPREstrategias para compartir información de forma ágil, segura y cumplir con GDPR
Estrategias para compartir información de forma ágil, segura y cumplir con GDPR
HelpSystems
 

Similar a Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones (20)

OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Introduccion seguridad informatica - chakan
Introduccion seguridad informatica   - chakanIntroduccion seguridad informatica   - chakan
Introduccion seguridad informatica - chakan
 
Ingrid 9-1
Ingrid 9-1Ingrid 9-1
Ingrid 9-1
 
Seguridaddela informacion
Seguridaddela informacionSeguridaddela informacion
Seguridaddela informacion
 
Seguridad de información para criptoactivos
Seguridad de información para criptoactivosSeguridad de información para criptoactivos
Seguridad de información para criptoactivos
 
Mantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro YaMantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro Ya
 
Seguridad Base Datos
Seguridad Base DatosSeguridad Base Datos
Seguridad Base Datos
 
Control interno informático
Control interno informáticoControl interno informático
Control interno informático
 
Seguridad base de datos
Seguridad base de datosSeguridad base de datos
Seguridad base de datos
 
Secure Development, Seguridad al Codificar
Secure Development, Seguridad al CodificarSecure Development, Seguridad al Codificar
Secure Development, Seguridad al Codificar
 
Imperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdfImperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdf
 
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]
 
10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP 10 Principales Controles Proactivos de OWASP
10 Principales Controles Proactivos de OWASP
 
La seguridad de tus emails en Mailjet
La seguridad de tus emails en MailjetLa seguridad de tus emails en Mailjet
La seguridad de tus emails en Mailjet
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
 
Estrategias para compartir información de forma ágil, segura y cumplir con GDPR
Estrategias para compartir información de forma ágil, segura y cumplir con GDPREstrategias para compartir información de forma ágil, segura y cumplir con GDPR
Estrategias para compartir información de forma ágil, segura y cumplir con GDPR
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
Software Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
Software Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
Software Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
Software Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
Software Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
Software Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
Software Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
Software Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
Software Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
Software Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Software Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
Software Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
Software Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
Software Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 

Último (20)

proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 

Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones

  • 1. Click to edit Master subtitle style Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones Alfredo Aranguren T., CISSP Especialista en Seguridad de Información
  • 2. Objetivo 22 Exponer las principales tendencias en cuanto a Seguridad de Información y la importancia de la seguridad en el desarrollo de aplicaciones.
  • 3. Gente / Procesos / Tecnología 33 Concientización Capacitación Guías Desarrollo Seguro Configuraciones Seguras Pruebas de Seguridad Revisión de Código Seguro Pruebas Automatizadas Firewalls de Aplicación
  • 4. Datos Relevantes • Revisiones de código (peer reviews) – IBM redujo un 82% de los defectos antes de comenzar las pruebas. – 80% de los defectos es probable que no sean detectados en las pruebas – Es 100 veces más costoso solucionar un problema de seguridad en producción que en el diseño (IBM Systems Sciences Institute) 44 Ref: http://ganssle.com/Inspections.pdf
  • 6. Concientización y Entrenamiento del Personal • El soporte de la alta dirección es crucial. • Se debe de hablar en términos de Negocio – Creación de Valor – Administración de los riesgos del negocio 66
  • 7. Concientización y Entrenamiento del Personal • Entre el 70% y el 90% de las aplicaciones web tiene vulnerabilidades serias porque – El desarrollador promedio no está lo suficientemente capacitado y entrenado. • Introducir controles de seguridad en el desarrollo e implementación permitirá – Mayor disponibilidad, menor TCO – Controlar y mitigar riesgos 77
  • 9. Requerimientos de Seguridad • Los aspectos de seguridad deben ser parte de los requerimientos • El negocio debe de estar informado de los riesgos • Base sólida para controles de seguridad posteriores • Definir estándares para requerimientos de seguridad – Cuales controles son necesarios – Cuando son necesarios – Por qué son necesarios 99
  • 10. Requerimientos de Seguridad • Generar un conjunto genérico de requerimientos de seguridad – Debe incluir todos los mecanismos de seguridad. – Debe considerar todas las vulnerabilidades comunes. – Debe considerar casos de mal uso. – Considerar aspectos tales como regulaciones, buenas prácticas, estándares, etc. 1010
  • 12. Para qué? • Para entender el ambiente operativo en donde se encuentra la aplicación. • Para identificar, analizar, documentar y mitigar riesgos. 1212
  • 13. Administración de Riesgos • Seleccionar estrategias de mitigación basadas en las amenazas identificadas. • Beneficios: – Prevenir defectos en el diseño de la seguridad – Identificar y manejar los principales riesgos – Mejorar el entendimiento y concientización de los riesgos – Permitir el concenso en el equipo de trabajo – Lograr la justificación de costos para los controles necesarios 1313
  • 14. Evaluación y Mitigación de Riesgos • Administrar los riesgos ocasionados por fallas de seguridad que generan impactos: – Financieros – Operativos – Legales – Imagen 1414
  • 15. Cumplimiento Legal y Regulatorio • Cumplir con requerimientos legales y regulatorios • La administración de riesgos es obligatoria para la mayoría de las regulaciones: – Ejemplo de marcos de referencia de control interno: CobiT, ISO 17799 – Ejemplo de regulaciones: Basilea II, Sarbanes-Oxley, FDA, HIPAA 1515
  • 16. Guías para el Diseño Seguro 1616
  • 17. Diseño Seguro • Principios – Asegure el eslabón más débil – Implemente la seguridad por capas – Fallas de manera segura – Seguir el principio del menor privilegio – Compartimentalización (compartmentalize) – Mantenga las cosas simples – Promueva la privacidad – Recuerde que guardar secretos es dificil – Sea reacio a confiar – Segregación de funciones 1717
  • 19. Pruebas de Seguridad • Identificar errores de seguridad durante las pruebas • Desarrollar casos para pruebas de seguridad –Basados en los requerimientos –Probando todos los mecanismos de seguridad y vulnerabilidades comunes 1919
  • 20. OWASP Top 10 • Se refiere a las diez vulnerabilidades de seguridad más críticas de las aplicaciones web • Son un buen principio, pero no un estándar 2020
  • 21. OWASP Top 10 2007 1. Cross Site Scripting (XSS) 2. Injection Flaws 3. Inclusión insegura de archivos remotos 4. Insecure Direct Object Reference 5. Falsificación de petición en sitios cruzados (Cross Site Request Forgery -CSRF) 6. Fuga de información y manejo inadecuado de errores 7. Débil protección de elementos de sesión y autenticación 8. Almacenamiento inseguro de funciones criptográficas 9. Comunicaciones inseguras 10. Fallas para restringir el acceso mediante URL´s http://www.owasp.org/index.php/Top_10 2121
  • 22. 1. Cross Site Scripting (XSS) 2222
  • 23. 1. Cross Site Scripting • Descripción – El HTML generado por el cliente es ejecutado por el navegador web • reflejado: enlaces en correos, páginas web... • almacenado: correo web, foros, blogs... • inyección a través de DOM: manipulando document.URL, document.location...) • Recomendaciones – Validar y/o codificar todos los parámetros antes de incluirlos en páginas HTML – Validar usando principalmente “listas blancas”
  • 25. 2. Injection Flaws • Descripción – Los datos proporcionados por el usuario son enviados a un interpretador como parte de un comando o de un query – El más comun es SQL injection – Todas las aplicaciones web que usan interpretadores son vulnerables a este tipo de ataques. 2525
  • 26. 2. Injection Flaws • Recomendaciones – Verificar que el usuario no puede modificar comandos o queries enviados a cualquier interpretador usado por la aplicación. – Es útil hacer revisiones de código para detectar este tipo de vulnerabilidades – No confiar en la validación realizada por el cliente – Normalizar los valores de entrada – Aplicar validación en el servidor – Restringir los tipos de datos aceptados 2626
  • 27. 3. Inclusión insegura de archivos remotos 2727
  • 28. 3. Inclusión Insegura de Archivos Remotos • Descripción – Permite al atacante ejecutar código remoto, comprometiendo archivos de entrada; causado comúnmente por confiar indebidamente de archivos de entrada – Todas las aplicaciones que permiten que se ejecuten archivos cargados, son vulnerables 2828
  • 29. 3. Inclusión Insegura de Archivos Remotos • Recomendaciones – Usar referencias indirectas – Diferenciar datos validados de los del usuario – Validar la entrada usando “listas blancas” – Filtrar los intentos de acceso remoto desde el servidor web – Usar mecanismos de aislamiento: chroot, jail, máquinas virtuales... – Usar mecanismos del lenguaje: tainting, allow_url_fopen... 2929
  • 30. 4. Insecure Direct Object Reference 3030
  • 31. 4. Insecure Direct Object Reference • Descripción – La aplicación expone una referencia a un objeto interno • directorio • registro de una base de datos – Las referencias a objetos internos están expuestas. – Los atacantes usan manipulación de parámetros para cambiar referencias y violar políticas de control acceso débiles. – Las referencias a las llaves de bases de datos están expuestas. 3131
  • 32. 4. Insecure Direct Object Reference • Recomendaciones – Evitar exponer las referencias – Validar todas las referencias a objetos – Verificar la autorización en todos los accesos – Usar índices o mapas de referencias ( http://www.example.com/application?file=1) – Verificar la autorización 3232
  • 33. 5. Falsificación de petición en sitios cruzados (CSRF)) 3333
  • 34. 5. Falsificación de Petición en Sitios Cruzados (CSRF) • Descripción – Provocar que el navegador genere peticiones HTTP ocultas a recursos restringidos – Se aprovecha la autentificación implícita • Autentificación HTTP (ej: usuario y contraseña) • Cookies • Autentificación SSL del cliente • Autentificación basada en IP’s 3434
  • 35. 5. Falsificación de Petición en Sitios Cruzados (CSRF) • Recomendaciones – Usar un token de autorización que no sea enviado automáticamente por el navegador. – Eliminar cualquier vulnerabilidad de XSS en la aplicación. – Añadir una petición a una variable de un sólo uso al URL y formas adicional a la sesión estándar. – Requerir pantallas de login adicionales para datos sensibles. – No use GET para requerir datos sensibles 3535
  • 36. 6. Fuga de Información y Manejo inadecuado de Errores 3636
  • 37. 6. Fuga de Información y Manejo Inadecuado de Errores • Descripción – Las aplicaciones filtran información sensible • sobre su configuración, diseño interno... • datos privados a los que tienen acceso – La información puede ser usada para otros ataques 3737
  • 38. 6. Fuga de Información y Manejo Inadecuado de Errores • Vulnerabilidades – comentarios en el código fuente – mensajes de error 3838
  • 39. 6. Fuga de Información y Manejo Inadecuado de Errores • Recomendaciones – El objetivo es que la aplicación no divulge mensajes de error detallados. – Comprobar la aplicación con todo tipo de datos de entrada inválidos y analizar los mensajes generados – Deshabilitar o limitar los detalles mostrados sobre errores (especialmente de capas internas: BD, SO...) – No usar los gestores de error por defecto – Garantizar que los caminos de ejecución sensibles devuelven mensajes de error3939
  • 40. 7. Debil protección de elementos de sesion y autenticación 4040
  • 41. 7. Débil Protección de Elementos de Sesión y Autenticación • Descripción – Fallo al proteger credenciales y tokens de sesión • Causas – Fallas en los principales mecanismos de autenticación. – Debilidades en la administración de contraseñas. – Fallas en los tiempos de desconexión de las sesiones. 4141
  • 42. 7. Débil Protección de Elementos de Sesión y Autenticación • Recomendaciones – Usar SSL exclusivamente para todo acceso autenticado – Encriptar todas las credenciales y tokens para almacenarlos (A8) – Planificación cuidadosa • No exponer datos sensibles en URLs o registros • Utilizar un único mecanismo de autentificación • No usar direcciones IP, consultas al DNS o “referrer headers” para autenticación • Ser cuidadoso con el envío de contraseñas a direcciones de correo 4242
  • 43. 7. Débil Protección de Elementos de Sesión y Autenticación • Limitar o eliminar el uso de cookies para la autenticación o gestión de sesiones (ej: recordar al usuario en el sitio web) • No aceptar id. de sesión nuevos, preestablecidos o inválidos en URLs o peticiones (evitar “session fixation attacks”) • Crear una nueva sesión tras la autentificación o cambio de nivel de privilegio • Proporcionar enlaces para desconectarse • Utilizar mecanismos de autodesconexión • Asegurar que la liga de logout destruye todos los datos pertinentes. 4343
  • 44. 8. Almacenamiento inseguro de funciones criptográficas 4444
  • 45. 8. Almacenamiento Inseguro de Funciones Criptográficas • Descripción – Fallas al encriptar datos sensibles • No encriptarlos • Utilizar algoritmos criptográficos propios • Usar incorrectamente algoritmos fuertes • Continuar usando algoritmos débiles (MD5, SHA- 1, RC3, RC4...) • Usar claves preprogramadas o almacenarlas desprotegidas. 4545
  • 46. 8. Almacenamiento Inseguro de Funciones Criptográficas • Recomendaciones – Sólo almacenar lo imprescindible – Usar algoritmos probados (no crear nuevos) • AES, RSA para criptografía asimétrica • SHA-256 o mejores para “hashing” • http://www.owasp.org/index.php/Guide_to_Cryptograph – No usar algoritmos débiles (ej: MD5, SHA-1) – Gestión cuidadosa de claves • Generarlas fuera de línea • Almacenar las claves privadas con extremo cuidado • Nunca transmitirlas por canales inseguros4646
  • 48. 9. Comunicaciones Inseguras • Descripción – Las aplicaciones frecuentemente fallan en encriptar el tráfico de la red cuando es necesario proteger comunicaciones sensibles – Se recomienda usar SSL para todas las conexiones autenticadas. 4848
  • 49. 9. Comunicaciones Inseguras • Recomendaciones – Usar SSL para conexiones autenticadas o que transmiten información sensible (credenciales, números de tarjeta de crédito, datos de salud...) – Encriptar la comunicación en la infraestructura (con servidores de aplicaciones, bases de datos, LDAP...) – No permitir que se pueda pasar a un modo inseguro (ej: cuando ocurre algún fallo en las comunicaciones o falla algún componente) 4949
  • 50. 10. Falla para restringir el acceso mediante URL’s 5050
  • 51. 10. Falla para Restringir el Acceso Mediante URL’s • Descripción – No permitir acceso a funciones basándose en el URL • Es un ejemplo de seguridad mediante oscuridad • URLs secretas, difíciles de adivinar... • Evaluar el control de acceso en el cliente • Permitir acceso sólo a ciertos tipos de carpetas(ej: HTML, PDF...) • Mantener actualizados los componentes que manejan datos proporcionados por usuarios (imágenes, XML, textos...) 5151
  • 52. 10. Falla para Restringir el Acceso Mediante URL’s • Recomendaciones – Usar una matriz de control de acceso – Restringir el acceso a URLs y funciones en cada paso – Realizar pruebas de penetración – No asumir que los usuarios desconocen ciertas URLs o APIs 5252
  • 53. Fuentes • www.owasp.org • Programación Segura – Carlos Pérez Conde – Departament d'Informàtica – Escola Técnica Superior d'Enginyeria – Universitat de València
  • 54. Click to edit Master subtitle style Preguntas y Respuestas Alfredo Aranguren T., CISSP alfredo@aranguren.com.mx

Notas del editor

  1. El objetivo de la plática es exponer las principales tendencias en cuanto a Seguridad de Información y la importancia de la seguridad en el desarrollo de aplicaciones.Se revisará cuales son las principales vulnerabilidades en el desarrollo de aplicaciones Web y la importancia de involucrar aspectos de Seguridad de Información en todas las etapas del ciclo de vida del desarrollo del software (SDLC). Se analizará el impacto de involucrar de manera tardía la seguridad en el ciclo de vida y la importancia de la ejecución de un análisis de riesgo.Se analizarán las principales amenazas en aplicaciones web tales como Cross Site Scripting, Injection Flaws, Malicious Files Execution, entre muchas otras.Por último se revisarán las buenas practicas para el desarrollo de aplicaciones seguras.