Procesos para un desarrollo seguro Marino Posadas (Alhambra-Eidos) [email protected] Jesús...
-
Upload
seve-campoy -
Category
Documents
-
view
7 -
download
1
Transcript of Procesos para un desarrollo seguro Marino Posadas (Alhambra-Eidos) [email protected] Jesús...
Procesos para un Procesos para un desarrollo segurodesarrollo seguro
Marino Posadas (Alhambra-Marino Posadas (Alhambra-Eidos)Eidos)[email protected]@mvps.org
Jesús Villalobos (Certia)Jesús Villalobos (Certia)[email protected]
AgendaAgenda
El Ciclo de Vida desde la seguridadEl Ciclo de Vida desde la seguridadEl Modelo de AmenazasEl Modelo de Amenazas
La estrategia de defensa: SD3+CLa estrategia de defensa: SD3+C
Herramientas para el desarrollo Herramientas para el desarrollo seguroseguro
Visual Studio 2005Visual Studio 2005ASP.NET 2.0ASP.NET 2.0
Visual Studio Team SystemVisual Studio Team System
El ciclo de vida desde la El ciclo de vida desde la seguridadseguridad
La ventaja del atacante y el dilema La ventaja del atacante y el dilema del defensordel defensor
El Modelo de AmenazasEl Modelo de AmenazasMetodologíaMetodología
SD3+CSD3+C
STRIDESTRIDE
La directiva La directiva DREAD DREAD como apoyo al como apoyo al modelomodelo
Implantación de estrategias de defensaImplantación de estrategias de defensa
Herramientas para el desarrollo Herramientas para el desarrollo seguroseguro
Herramientas para el desarrollo Herramientas para el desarrollo seguroseguro
Visual Studio 2005 y ASP.NET 2.0Visual Studio 2005 y ASP.NET 2.0MembershipMembership
ProfilesProfiles y Roles y Roles
DEMODEMO
Visual Studio Team SystemVisual Studio Team SystemArquitectura segura por defectoArquitectura segura por defecto
Principios de diseño segurosPrincipios de diseño seguros
DEMODEMO
La ventaja del atacante y el La ventaja del atacante y el dilema del defensordilema del defensor
HowardHoward y y LeblancLeblanc ejemplifican ejemplifican perfectamente el problema en estos cuatro perfectamente el problema en estos cuatro principiosprincipios
El que defiende tiene que defender todos El que defiende tiene que defender todos los puntos; los puntos; el atacante puede seleccionar el atacante puede seleccionar el más débilel más débil
El defensor sólo puede defenderse de El defensor sólo puede defenderse de ataques conocidos; ataques conocidos; el atacante puede el atacante puede probar nuevas formas de ataqueprobar nuevas formas de ataque..
El defensor debe de estar en constante El defensor debe de estar en constante estado de vigilancia; estado de vigilancia; el atacante puede el atacante puede golpear a voluntadgolpear a voluntad..
El defensor debe jugar según las reglas; El defensor debe jugar según las reglas; el atacante puede jugar sucioel atacante puede jugar sucio..
La iniciativa La iniciativa Trustworthy ComputingTrustworthy Computing
Microsoft y otros fabricantes se comprometieron Microsoft y otros fabricantes se comprometieron a conseguir cuatro principios en las aplicaciones:a conseguir cuatro principios en las aplicaciones:
SegurasSegurasNingún virus atentará contra nuestros sistemas o Ningún virus atentará contra nuestros sistemas o los volverá inutilizableslos volverá inutilizables
PrivadasPrivadasLa información personal no será expuesta de La información personal no será expuesta de ninguna forma, ni utilizada de forma que no sea la ninguna forma, ni utilizada de forma que no sea la explícitamente indicadaexplícitamente indicada
FiablesFiablesCuando instalemos un programa, no provocará Cuando instalemos un programa, no provocará efectos colaterales sobre otro software instaladoefectos colaterales sobre otro software instalado
Integridad de negocioIntegridad de negocioMi proveedor de servicios responderá rápida y Mi proveedor de servicios responderá rápida y efectivamente cuando informo de un problemaefectivamente cuando informo de un problema
Fruto de ello, es el Modelo de Amenazas y sus Fruto de ello, es el Modelo de Amenazas y sus recomendacionesrecomendaciones
Estrategias de defensa: SD3 + CEstrategias de defensa: SD3 + C
Seguro por Seguro por DDiseñoiseñoNinguna parte de la aplicación queda fuera del control Ninguna parte de la aplicación queda fuera del control de seguridadde seguridad
Seguro por Seguro por DDefectoefectoLa aplicación recién instalada tiene un La aplicación recién instalada tiene un comportamiento suficientemente segurocomportamiento suficientemente seguro
Un ejemplo, es el gestor de áreas de exposición de Un ejemplo, es el gestor de áreas de exposición de
SQL Server 2005SQL Server 2005 Seguro en la Seguro en la DDistribuciónistribución
Informar al usuario sobre la seguridad de la aplicaciónInformar al usuario sobre la seguridad de la aplicaciónMecanismos de modificación de las características de Mecanismos de modificación de las características de seguridadseguridadCrear parches de seguridad tan pronto como se Crear parches de seguridad tan pronto como se detecte una nueva vulnerabilidaddetecte una nueva vulnerabilidad
Seguro en las Seguro en las CComunicacionesomunicaciones
El Modelo de Amenazas (El Modelo de Amenazas (Threat ModelThreat Model))
La metodología a seguir puede La metodología a seguir puede establecerse en 4 fases:establecerse en 4 fases:
Identificar activos de la aplicaciónIdentificar activos de la aplicación
Crear información general sobre la Crear información general sobre la arquitecturaarquitectura
Descomponer la aplicaciónDescomponer la aplicación
Identificar, documentar y clasificar las Identificar, documentar y clasificar las amenazas amenazas
El Modelo de Amenazas (El Modelo de Amenazas (Threat ModelThreat Model))
¿Qué tipos de amenazas existen?¿Qué tipos de amenazas existen?
Modelo STRIDEModelo STRIDESSpoofing poofing
TTampering ampering
RRepudiationepudiation
IInformation Disclosurenformation Disclosure
DDenial of Serviceenial of Service
EElevation of privilegeslevation of privileges
Evaluación del riesgoEvaluación del riesgo Riesgo = Probabilidad * Daños potencialesRiesgo = Probabilidad * Daños potenciales
El Modelo de Amenazas (El Modelo de Amenazas (Threat ModelThreat Model))
¿Cómo medir los dos parámetros de forma imparcial? Mediante la directiva DREAD
Daño Potencial Facilidad de Reproducción Capacidad de Explotación Usuarios Afectados Dificultad para su Descubrimiento.
El Modelo de Amenazas (El Modelo de Amenazas (Threat ModelThreat Model))
Recomendaciones Microsoft para la Recomendaciones Microsoft para la defensadefensa
Adoptar el principio de privilegios Adoptar el principio de privilegios mínimosmínimos
Usar las defensas a fondoUsar las defensas a fondo
No confiar en los datos introducidos por No confiar en los datos introducidos por el usuarioel usuario
Utilizar opciones predeterminadas Utilizar opciones predeterminadas seguras seguras
No depender de la seguridad por medio No depender de la seguridad por medio de la oscuridadde la oscuridad
El Modelo de Amenazas (El Modelo de Amenazas (Threat ModelThreat Model))
Validar todo acceso al sistemaValidar todo acceso al sistema
Asumir que los sistemas externos no son segurosAsumir que los sistemas externos no son seguros
Reducir el área de exposiciónReducir el área de exposición
Cometer errores de forma seguraCometer errores de forma segura
No olvidar que el alcance de la seguridad lo define su punto más débilNo olvidar que el alcance de la seguridad lo define su punto más débil
Si no se utiliza, deshabilitarloSi no se utiliza, deshabilitarlo
Implantación de estrategias de defensa Implantación de estrategias de defensa
Autenticación Seguridad en la puerta
Autorización Permisos a una identidad
Flujo de Identidad Suplantación
Auditoria Seguimiento de actividades
Implantación en la práctica Implantación en la práctica
¿Cómo se articulan todas estas propuestas en una aplicación? ASP.NET 2.0
Modelo de proveedores Membership y Roles Autenticación y Autorización
automatizadas Nuevo conjunto de controles
especializados
Implantación en la práctica Implantación en la práctica
¿Cómo gestionar la seguridad de forma global? Control del Ciclo de Vida
Team System: Ayuda desde el diseño Herramientas especiales de “testing” Comprobación de seguridad en la
toda la estructura Programación y seguimiento de los
ciclos de pruebas
Membership y Roles en ASP.NET 2.0Análisis de código en Team Foundation Server
Información adicionalInformación adicional
Mas información en:Mas información en:www.ElAveFenix.netwww.ElAveFenix.netwww.certia.netwww.certia.netmsdn.microsoft.com/security/vs2005security/msdn.microsoft.com/security/vs2005security/default.aspxdefault.aspxwww.microsoft.com/securitywww.microsoft.com/securitywww.microsoft.com/security/msrc/default.mspxwww.microsoft.com/security/msrc/default.mspx (Microsoft Security Response Center)(Microsoft Security Response Center)www.microsoft.com/spain/msdnwww.microsoft.com/spain/msdnwww.microsoft.com/technet/security/bestprac/www.microsoft.com/technet/security/bestprac/secwinin.mspx (Security Windows Iniciative)secwinin.mspx (Security Windows Iniciative)www.leastprivilege.com (Dominique Baier)www.leastprivilege.com (Dominique Baier)www.windowsecurity.com/www.windowsecurity.com/