Seguridad en Aplicaciones PDF
Seguridad en Aplicaciones PDF
Seguridad en Aplicaciones PDF
Seguridad en el Desarrollo de
Aplicaciones
Facilitador :
MSc. Ing. Walter Miranda Salazar
Seguridad en el Desarrollo
de Aplicaciones
CISO
Seguridad en el Desarrollo
de Aplicaciones
CISO
Seguridad en el Desarrollo
de Aplicaciones
CISO
Contenido
• SSoftware Seguro?
ft S ?
• Causas de Vulnerabilidades de Seguridad ‐ Problema
• Códi S
Código Seguro – D fí
Desafíos
• La Ventaja del Atacante y el Dilema del Defensor
• L i i i ti T t
La iniciativa Trustworthy Computing
th C ti
• SDLC – El ciclo de vida desde la seguridad
– El Modelo de Amenazas
El Modelo de Amenazas
– Una estrategia de defensa: SD3 + C
• Estrategias de Defensa
Estrategias de Defensa
• Y esto es todo?
CISO
Software Seguro…?
• Un producto seguro es uno que protege la confidencialidad,
integridad, y disponibilidad de la información de los
clientes/usuarios y la integridad y disponibilidad de los
clientes/usuarios, y la integridad y disponibilidad de los
recursos de proceso bajo control del administrador o
p p
propietario.
– Fuente: Writing Secure Code (Microsoft.com)
CISO
Software Seguro…?
CISO
Causas de las
Vulnerabilidades de
Seguridad
• FFactor Humano
H
• Entrenamiento y conciencia insuficiente
• Recursos Limitados
• Cronogramas apretados
• Complejidad del software
• Prácticas pobres de Ingeniería de Software seguro
áct cas pob es de ge e a de So t a e segu o
• Pobres decisiones en el diseño
• Código seguro y pruebas seguras
Código seguro y pruebas seguras
• Aplicación de Firewall en la web (RealTime Control)
CISO
Código Seguro –
Desafío
• Id
Identificar todos los riesgos de seguridad.
tifi t d l i d id d
• Crear soluciones generales para problemas de
seguridad recurrentes
seguridad recurrentes.
• Flexibilidad a adaptarse a cambios en la aplicación.
• Protección contra nuevos modelos de ataques.
Protección contra nuevos modelos de ataques
• Seguridad reutilizable en diferentes tecnologías de
desarrollo.
• Entrenamiento continuo y conocimiento del
desarrollador.
• Entrenamiento y conocimiento de seguridad para
personal de QA (Quality Assurance).
CISO
La Ventaja del Atacante y
el Dilema del Defensor
• H
Howardd y Leblanc
L bl ejemplifican perfectamente el
j lifi f l
problema en estos cuatro principios
– El que defiende tiene que defender todos los puntos; el
atacante puede seleccionar el más débil
atacante puede seleccionar el más débil
– El defensor sólo puede defenderse de ataques conocidos;
el atacante puede probar nuevas formas de ataque.
p p q
– El defensor debe de estar en constante estado de
vigilancia; el atacante puede golpear a voluntad.
– El defensor debe jugar según las reglas; el atacante puede
jugar sucio.
CISO
La iniciativa
Trustworthy Computing
• Mi
Microsoft y otros fabricantes se comprometieron a conseguir
ft t f b i t ti i
cuatro principios en las aplicaciones:
– Seguras
• Ningún virus atentará contra nuestros sistemas o los volverá inutilizables
– Privadas
• La información personal no será expuesta de ninguna forma, ni utilizada
d f
de forma que no sea la explícitamente indicada
l lí it t i di d
– Fiables
• Cuando instalemos un programa, no provocará efectos colaterales sobre
otro software instalado
otro software instalado
– Integridad de negocio
• Mi proveedor de servicios responderá rápida y efectivamente cuando
informo de un problema
informo de un problema
• Fruto de ello, es el Modelo de Amenazas y sus
recomendaciones
CISO
SDLC – El ciclo de vida
desde la seguridad
• El Modelo de Amenazas (Threat Model)
– La metodología a seguir puede establecerse
La metodología a seguir puede establecerse
en 4 fases:
• Identificar activos de la aplicación
Id tifi ti d l li ió
• Crear información general sobre la arquitectura
• Descomponer la aplicación
• Identificar, documentar y clasificar las
Identificar, documentar y clasificar las
amenazas
CISO
Modelo de Amenazas
• ¿Q
¿Qué tipos de amenazas existen?
é ti d it ?
– Modelo STRIDE
• Spoofing
• Tampering
• Repudiation
• Information Disclosure
• Denial of Service
• Elevation of privileges
• Evaluación del riesgo
– Riesgo = Probabilidad * Daños potenciales
CISO
Modelo de Amenazas
• Analizando:
Analizando
– "¿han probado si la puerta de su casa se puede abrir con una tarjeta de crédito?" o
– "¿se han dado cuenta de que esas bandas que últimamente andan robando por las
urbanizaciones prefieren entrar cuando están en casa, porque cuando están en casa no
ponen la alarma ni cierran la puerta de seguridad con llave?",
– Un sistema de alta seguridad quedó comprometido cuando un trabajador, que no había
podido terminar su tarea en su jornada laboral, se hizo una copia de la base de datos y
se la llevó a su casa para terminar allí el trabajo, con lo que datos sensibles de los
veteranos de guerra de los EEUU fueron robados en el domicilio del trabajador. ¿De qué
d d l EEUU f b d l d i ili d l b j d D é
habían servido todos los sistemas de seguridad instalados en la empresa?
– Otro caso real que en una empresa de servicios turísticos que utilizaba como clave
primaria en la tabla de clientes el número de tarjeta de crédito, repitiendo esta clave
primaria en todas las tablas relacionadas En este caso además ocurría que en una
primaria en todas las tablas relacionadas. En este caso, además, ocurría que en una
llamada a la Web, en la URL se veía en claro ese número de tarjeta, al ser el identificador
asociado al nombre del usuario y otros datos identificativos. ¿Qué puede hacer un
sistema diseñado por los mejores desarrolladores del mundo cuando la gente lo utiliza
de esta manera?
de esta manera?
CISO
Modelo de Amenazas
• ¿Cómo medir los dos parámetros de forma
imparcial?
p
• Mediante la directiva DREAD
– Daño Potencial
D ñ P t i l
– Facilidad de Reproducción
– Capacidad de Explotación
– Usuarios Afectados
Usuarios Afectados
– Dificultad para su Descubrimiento.
CISO
Modelo de Amenazas
• Recomendaciones para la defensa
– Adoptar el principio de privilegios mínimos
p p p p g
– Usar las defensas a fondo
– No confiar en los datos introducidos por el usuario
No confiar en los datos introducidos por el usuario
– Utilizar opciones predeterminadas seguras
– No depender de la seguridad por medio de la
oscuridad
CISO
Modelo de Amenazas
– Validar todo acceso al sistema
– Asumir que los sistemas externos no son seguros
– Reducir el área de exposición
Reducir el área de exposición
– Cometer errores de forma segura
– No olvidar que el alcance de la seguridad lo define
su punto más débil
– Si no se utiliza, deshabilitarlo
CISO
SD3 + C
• Seguro por Diseño
S Di ñ
– Ninguna parte de la aplicación queda fuera del control de seguridad
• Seguro por Defecto
Seguro por Defecto
– La aplicación recién instalada tiene un comportamiento
suficientemente seguro
– Un ejemplo, es el gestor de áreas de exposición de SQL Server 2005
• Seguro en la Distribución
– Informar al usuario sobre la seguridad de la aplicación
– Mecanismos de modificación de las características de seguridad
– Crear parches de seguridad tan pronto como se detecte una nueva
Crear parches de seguridad tan pronto como se detecte una nueva
vulnerabilidad
• Seguro en las Comunicaciones
CISO
Estrategias de Defensa
• Autenticación
– Seguridad en la puerta
g p
• Autorización
– Permisos a una identidad
P i id id d
• Flujo de Identidad
j
– Suplantación
• Auditoria
– Seguimiento de actividades
CISO
Estrategias de Defensa
• ¿Cómo gestionar la seguridad de forma
g
global?
– Control del Ciclo de Vida
• Team System: Ayuda desde el diseño
Team System: Ayuda desde el diseño
• Herramientas especiales de “testing”
• Comprobación de seguridad en la toda la estructura
Comprobación de seguridad en la toda la estructura
• Programación y seguimiento de los ciclos de pruebas
CISO
Seguridad en el Desarrollo
de Aplicaciones
CISO
Y esto es Todo…?
CISO
Gracias