microsoft triada de seguridad
Post on 11-Aug-2015
115 Views
Preview:
TRANSCRIPT
Implementación de Sistemas de Información Seguros
Implementación de Sistemas de Información Seguros
Cristian Mora Aguilar, CISSP, CISM, MCSE+Security crismora@microsoft.com Security ConsultantSecurity ConsultantMicrosoft Security Center of Excellence, SCoE
AgendaAgenda Conceptos básicos de seguridad
Triada de Seguridad CIA Seguridad en Aplicaciones: Más que un problema Tecnológico
Componentes básicos para de Seguridad Arquitectura Administración de Riesgo Defensa en profundidad
Seguridad en Aplicaciones Modelo de Amenazas (Threat Modeling) y STRIDE
Herramientas: FXCop
Caso de Estudio DJ Hell Defacement
Triada de Seguridad CIDTriada de Seguridad CID Confidencialidad Integridad Disponibilidad
Seguridad
ConfidencialidadConfidencialidad
IntegridadIntegridad DisponibilidadDisponibilidad
Seguridad de Aplicaciones: Más que un problema Tecnológico
Seguridad de Aplicaciones: Más que un problema Tecnológico
ProcesosProcesos
OperacionesOperacionesTecnologías Tecnologías
Modelo de Infraestructura Tecnológico y WSSRA
Modelo de Infraestructura Tecnológico y WSSRA
El Problema TecnológicoEl Problema Tecnológico
Crecimiento informal Administración lenta y Compleja de los componentes
Ambiente de InfraestructuraAmbiente de Infraestructura
Arquitectura de ReferenciaArquitectura de Referencia
Zonas de Seguridad
Segmentación de Redes
Almacenamiento
Componentes básicos de Servicios de Red
Servicios de Aplicación
Servicios de Administración
Servicios Públicos y Clientes
Análisis de RiesgoAnálisis de Riesgo
Administración de Riesgos y soporte para decisionesAdministración de Riesgos y soporte para decisiones
Riesgo NO AceptableRiesgo NO Aceptable
Riesgo AceptableRiesgo Aceptable
El equipo de Seguridad de información define la probabilidadEl equipo de Seguridad de información define la probabilidad
Ejecución de la vulnerabilidadEjecución de la vulnerabilidadEjecución de la vulnerabilidadEjecución de la vulnerabilidad
Impa
cto
al n
egoc
ioIm
pact
o al
neg
ocio
Impa
cto
al n
egoc
ioIm
pact
o al
neg
ocio
BajoBajo AltoAlto
AltoAlto
El e
quip
o de
neg
ocio
s de
fine
el im
pact
oE
l equ
ipo
de n
egoc
ios
defin
e el
impa
cto
La administración de La administración de riesgo define un nivel riesgo define un nivel aceptable del mismoaceptable del mismo
La administración de La administración de riesgo define un nivel riesgo define un nivel aceptable del mismoaceptable del mismo
Ambiente Ambiente
de Seguridadde Seguridad
Ambiente Ambiente
de Seguridadde Seguridad
DispositivosDispositivos
ClientesClientes
ServidoresServidores
Físico Red Servidor Apps Datos
Defensa en profundidadDefensa en profundidad
Amenazas de Seguridad de TIAmenazas de Seguridad de TI
AmenazasAmenazas
AmenazasAmenazas
AmenazasAmenazasA
me
naz
as
Am
en
aza
s
Am
en
aza
sA
me
naz
as
Am
en
aza
sA
me
naz
as
Análisis de RiesgoAnálisis de Riesgo
Ambiente de Ambiente de
SeguridadSeguridad
Ambiente de Ambiente de
SeguridadSeguridad
DispositivosDispositivos
ClientesClientes
ServidoresServidores
Físico Red Servidor Apps Datos
Defensa en ProfundidadDefensa en Profundidad
Evaluación de riesgo en cada capa Evaluación de riesgo en cada capa Mejor visión de la situación actualMejor visión de la situación actual
• Cada sección tiene una clasificación de Cada sección tiene una clasificación de riesgo y un plan de mitigaciónriesgo y un plan de mitigación
Evaluación de riesgo en cada capa Evaluación de riesgo en cada capa Mejor visión de la situación actualMejor visión de la situación actual
• Cada sección tiene una clasificación de Cada sección tiene una clasificación de riesgo y un plan de mitigaciónriesgo y un plan de mitigación
No AceptableNo Aceptable
Control en ProgresoControl en Progreso
AceptableAceptable
Resultado de Análisis de RiesgoResultado de Análisis de Riesgo
Ambiente de Ambiente de
SeguridadSeguridad
Ambiente de Ambiente de
SeguridadSeguridad
DispositivosDispositivos
ClientesClientes
ServidoresServidores
Físico Red Servidor Apps Datos
Defensa en ProfundidadDefensa en Profundidad
Ambiente de Ambiente de
SeguridadSeguridad
Ambiente de Ambiente de
SeguridadSeguridad
DispositivosDispositivos
ClientesClientes
ServidoresServidores
Físico Red servidor Apps Datos
Defensa en ProfundidadDefensa en Profundidad
Implementación de SolucionesImplementación de Soluciones
SoluciónSolución
SoluciónSolución
SoluciónSoluciónS
oluc
ión
Sol
ució
n
Sol
ució
nS
oluc
ión
Sol
ució
nS
oluc
ión
Plan de Evaluación de ResultadosPlan de Evaluación de Resultados
Ambiente de Ambiente de
SeguridadSeguridad
Ambiente de Ambiente de
SeguridadSeguridad
DispositivosDispositivos
ClientesClientes
ServidoresServidores
Física Red Servidor Apps Datos
Defensa en ProfundidadDefensa en Profundidad
Defensa en ProfundidadDefensa en Profundidad
Defensa en ProfundidadDefensa en Profundidad
Medidas de control segmentadas en capas de protección Aplica medidas de control en cada capa de cada
componente que interactúa en una solución, desde la capa de perímetro hasta la capa de datos
Reduce la posibilidad de un único punto de vulnerabilidades cuando el sistema es atacado
Reducción del riesgo por: Análisis de vulnerabilidades presentes en los sistemas Análisis de amenazas presentes que pueden tomar
ventaja de esas vulnerabilidades Implementación de los medidas de control apropiadas en
cada capa
Defensa en ProfundidadDefensa en Profundidad
Políticas, procedimientos, ConcientizaciPolíticas, procedimientos, ConcientizacióónnPolíticas, procedimientos, ConcientizaciPolíticas, procedimientos, Concientizacióónn
Seguridad FísicaSeguridad FísicaSeguridad FísicaSeguridad Física
PerímetroPerímetro
RedRed
ServidorServidor
AplicaciónAplicación
DatosDatos
Como minimizar la superficie de ataque?Como minimizar la superficie de ataque?
Aseguramiento del SO, Autenticación, Actualizaciones de OS, Detector de Intrusos local
Muros de fuego, Control de acceso de CuarentenaGuardas, Cerrojos, Dispositivos de monitoreo
Segmentación de Red, IPSec, Detector de Intrusos dered
Aseguramiento de App, Antivirus
Listas de Acceso, Encriptación, EFS
Documentación de Seguridad, Educación al Usuario
Políticas, Procedimientos, ConcientizaciPolíticas, Procedimientos, ConcientizacióónnPolíticas, Procedimientos, ConcientizaciPolíticas, Procedimientos, Concientizacióónn
Seguridad FísicaSeguridad FísicaSeguridad FísicaSeguridad Física
PerímetroPerímetro
Red InternaRed Interna
ServidorServidor
AplicaciónAplicación
DatosDatos
Seguridad en aplicacionesSeguridad en aplicaciones
Amenazas de Seguridad más comunes
Amenazas de Seguridad más comunes
Vulnerabilidades por AñosVulnerabilidades por Años Data Source: Secunia ( http://secunia.com
Seguridad en la arquitecturaSeguridad en la arquitectura
Seguridad en el modelo de desarrollo
Estrategia SD3
Seguridad en el diseño por capasHolística de la seguridad
Seguridad en el modelo de desarrollo
Estrategia SD3
Seguridad en el diseño por capasHolística de la seguridad
Seguridad en el modelo de desarrolloSeguridad en el modelo de desarrollo
PlanesPlanes dede pruebaspruebascompletadoscompletados
DiseñosDiseñoscompletadoscompletados
ConceptoConcepto CódigoCódigocompletadocompletado
EntregaEntrega DespuésDespués dede lala entregaentrega
“Security push”Preguntas durantelas entrevistas
Determinar los criterios de validación
de la seguridad
Revisión externa
Analizar amenazas
Aprender y refinar
Revisión del equipo
de seguridad
Entrenar a los miembros del equipo
Pruebas de mutación de datos y mínimos
privilegios
Revisar defectos anteriores, comprobar registros directrices de programación
segura, usar herramientas
=continuo
Modelo de análisis de RiesgosModelo de análisis de Riesgos Entender las amenazas hacia las
aplicaciones/sistema Uso de modelo de riesgo para
identificar riesgos Diferente a la fase de pruebas y
servicios Consideraciones de diseño de alto
nivel Permite una mitigación proactiva
de la mitigación de amenazas
Proceso para el Modelo de analisis de riesgoProceso para el Modelo de analisis de riesgo Crear un modelo de la aplicación (UML,
DFD, etc.) Utilizar STRIDE para categorizar los
tipos de amenazas Para cada destino de ataque Spoofing, Tampering, Repudiation,
Information disclosure, DoS, Elevation of privilege
Construcción de un arbol de amenazas Categorizar las amenazas con DREAD
Damage potential, Reproducibility, Exploitability, Affected users, Discoverability
Árbol de AmenazasÁrbol de Amenazas
STRIDE
DREAD
PROCESS
STRIDETHREAT
STRIDETHREAT
STRIDETHREAT
SUB-THREATSUB-THREAT SUB-THREAT
SUB-THREAT CONDITION
CONDITION CONDITION
STRIDETHREAT
Para cada proceso en el Modelo Para cada proceso en el Modelo Es el proceso susceptible a
spoofing? Puede ser el proceso alterado? Existe la posibilidad de manejar
no repudio en la aplicación? Pueden un ataque resultar en la
vista no autorizada de los datos? Puede un ataque de DoS
deshabilitar el proceso? Puede ser ejecutado la elevación
de privilegios si un proceso ha sido atacado?
Aplicando STRIDEAplicando STRIDEProcesos Afectados
Afecta datos almacenados
Afecta en interacción
Afecta el flujo de datos
S T R I D E
Mitigación de AmenazasMitigación de Amenazas
Técnicas de Mitigación
S Autenticación, Almacenamiento de credenciales seguras
T Autorización, firmas digitales
R Autenticación, autorización, firmas digitales, bitácoras
I Autorización, Encriptación
D Filtrado, Autenticación, Autorización
E No utilizar identidades las cuales tienen altos niveles de privilegios
Priorización de AmenazasPriorización de Amenazas Utilización del modelo de análisis de
riesgo (DREAD) para asignar las prioridades a las áreas mas criticas basado en sus amenazas
Priorizar mitigaciones de seguridad Priorizar revisiones periódicas Estrategias de reutilización
Pruebas de los planes de mitigación a amenazas
Pruebas de los planes de mitigación a amenazas Necesidad plan de prueba para cada
amenaza Pruebas básicas de acceso y
funcionalidad Pruebas intrusivas
El modelo de amenazas dirige el plan de pruebas
Proceso de fin a fin
Probando el plan de mitigación de amenazas
Probando el plan de mitigación de amenazas Spoofing
Autenticación Intento de cracking, replay, ver datos “en la
red física” Almacenamiento seguro de las
credenciales Intentar compromiso de acceso a
información
Tampering Intentar ingresar sin autenticacion Intentar de invalidar/modificar “hashes”
firmas
Probando el plan de mitigación de amenazas
Probando el plan de mitigación de amenazas Repudiation
Intentar de eludir la autenticación/autorización Intentar Evitar firmas Intento de evitar bitácoras, o bien escribir
bitácoras falsas Information Disclosure
Intento de acceso a información no autorizada Intentar de ver el dato en la red
(eavesdropping) Eliminar un proceso, mirar datos sensitivos Intento de causar errores de condición, mirar
las bitácoras
Pruebas de mitigación de amenazaPruebas de mitigación de amenaza Denial of Service
Filtrado Envío de datos mal formados Consumo de recursos
Elevation of Privilege No poseer acceso a procesos
ejecutándose con altos privilegios
Desarrollo de objetivos de seguridadDesarrollo de objetivos de seguridad Elevar el nivel de seguridad de la aplicación Identificar cuando y como se requiere
autenticación o autorización Identificar donde y como usted necesita para
asegurar la comunicación de ambos para su aplicación (desde usuarios finales) y entre aplicaciones de terceros
Identificar dificultadas comunes y como evitarlas Identificar riesgos principales y su mitigación
relacionada a la autenticación y a la autorización Evitar minimizar la seguridad de hacer cosas para
trabajar Identificar no solamente como y donde, pero
también cuando usar varias características de seguridad
Eliminar el miedo, duda e incertidumbre Promover mejores practicas y obtener resultados
predecibles
Desarrollo de Principios básicos de SeguridadDesarrollo de Principios básicos de Seguridad Adoptar el principio del mínimo
privilegio Utilizar defensa en profundidad No confiar en el ingreso de datos de los
usuarios Utilice siempre la seguridad como base
de todo proceso de configuración inicial
No confiar en la seguridad por oscuridad
Reducir la superficie de ataque SI existe una falla que se redirija a un
modo seguro
Ataque de DJ HellAtaque de DJ Hell
Defensas de PerímetroDefensas de PerímetroPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and Awareness
Physical SecurityPhysical SecurityPhysical SecurityPhysical Security
PerimeterPerimeter
Internal NetworkInternal Network
HostHost
ApplicationApplication
DataData
Defensas de RedDefensas de RedPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and Awareness
Physical SecurityPhysical SecurityPhysical SecurityPhysical Security
PerimeterPerimeter
Internal NetworkInternal Network
HostHost
ApplicationApplication
DataData
Defensa de HostDefensa de HostPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and Awareness
Physical SecurityPhysical SecurityPhysical SecurityPhysical Security
PerimeterPerimeter
Internal NetworkInternal Network
HostHost
ApplicationApplication
DataData
Defensa de AplicaciónDefensa de AplicaciónPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and Awareness
Physical SecurityPhysical SecurityPhysical SecurityPhysical Security
PerimeterPerimeter
Internal NetworkInternal Network
HostHost
ApplicationApplication
DataData
Defensa de DatosDefensa de DatosPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and AwarenessPolicies, Procedures, and Awareness
Physical SecurityPhysical SecurityPhysical SecurityPhysical Security
PerimeterPerimeter
Internal NetworkInternal Network
HostHost
ApplicationApplication
DataData
Ataque de Sitio Web: DJ HellAtaque de Sitio Web: DJ Hell
Compromiso de sitio web Problemas en algunas capas de Seguridad
Los servidores web no estaban debidamente actualizado (parches)
Claves de administrador no actualizadas Métodos de acceso:
Capa de Aplicación 1 aplicación de consulta no utilizaba estándar de
autenticación para consulta de datos. Capa de Datos
Concepto de mínimo privilegio no utilizado “SysAdmin”
INTENTO ACCESO2005-06-08 19:40:24 SERVERIP GET /msib21/APPHACKED/Capitulo.asp cod=02update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell%27--|32|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]Line_1:_Incorrect_syntax_near_'Hacked'. 80 – IPATTACKER libwww-perl/5.801 - - 500 0 0 8739 348
INTENTO ACCESO2005-06-08 19:40:24 SERVERIP GET /msib21/APPHACKED/Capitulo.asp cod=02update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell%27--|32|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]Line_1:_Incorrect_syntax_near_'Hacked'. 80 – IPATTACKER libwww-perl/5.801 - - 500 0 0 8739 348
MODIFICACION DE CODIGO2005-06-08 19:32005-06-08 19:37:25 SERVERIP GET /msib21/APPHACKED/NotasCapitulo.asp cod=01update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell
%27-- 80 - SERVERIP libwww-perl/5.801 - - 200 0 0 10623 353
7:25 SERVERIP GET /msib21/APPHACKED/NotasCapitulo.asp cod=01update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell%27-- 80 - 172.17.80.1
libwww-perl/5.801 - - 200 0 0 10623 353
MODIFICACION DE CODIGO2005-06-08 19:32005-06-08 19:37:25 SERVERIP GET /msib21/APPHACKED/NotasCapitulo.asp cod=01update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell
%27-- 80 - SERVERIP libwww-perl/5.801 - - 200 0 0 10623 353
7:25 SERVERIP GET /msib21/APPHACKED/NotasCapitulo.asp cod=01update%20IS_AREST%20set%20EST_Descripcion%20=%20%27Hacked%20By%20DjHell%27-- 80 - 172.17.80.1
libwww-perl/5.801 - - 200 0 0 10623 353
SQL Code InjectionSQL Code Injection
Ataque de Sitio Web: DJ HellAtaque de Sitio Web: DJ Hell
Code Review of ASP pages from customer's server:=========================================
line 7 of /_Conexi.asp: conn.Open = "DSN=APPHACKED;UID=adminAPP;PWD=XXXXX"
line 2 of /NotasCapitulo.asp <!--#include file="_Conexi.asp"-->
line 11 of /Capitulo.asp sql = "select EST_DATA1, EST_Notas from IS_AREST where EST_DATA = " & cod
Line 11 allows for SQL Injection...making the following request will cause the exact same behavior the customer originally reported:
http://CUSTOMERSITE/msib21/APPHACKED/NotasCapitulo.asp?cob=01 UPDATE IS_AREST SET EST_Descripcion = 'Hacked By SQLInjection'
Code Review of ASP pages from customer's server:=========================================
line 7 of /_Conexi.asp: conn.Open = "DSN=APPHACKED;UID=adminAPP;PWD=XXXXX"
line 2 of /NotasCapitulo.asp <!--#include file="_Conexi.asp"-->
line 11 of /Capitulo.asp sql = "select EST_DATA1, EST_Notas from IS_AREST where EST_DATA = " & cod
Line 11 allows for SQL Injection...making the following request will cause the exact same behavior the customer originally reported:
http://CUSTOMERSITE/msib21/APPHACKED/NotasCapitulo.asp?cob=01 UPDATE IS_AREST SET EST_Descripcion = 'Hacked By SQLInjection'
SQL Code InjectionSQL Code Injection
Ataque de Sitio Web: DJ HellAtaque de Sitio Web: DJ Hell
Herramienta FXCopHerramienta FXCop
FXCopFXCop Herramienta FXCop
http://www.gotdotnet.com/team/fxcop/ Diseño de librerías Localización Convención de Nombres Desempeño Seguridad
ReferenciasReferencias Herramienta FXCop
http://www.gotdotnet.com/team/fxcop/ Modelo de análisis de Amenazas (Threat Modeling)
http://msdn.microsoft.com/security/securecode/threatmodeling/default.aspx
Pagina General de Seguridad http://www.microsoft.com/security
Sitio para Seguridad de desarrollo http://msdn.microsoft.com/security
Sitio de seguridad de MSDN para desarrolladores
Guías de mejores practicas http://www.microsoft.com/resources/practices/
guides.mspx Guías Patterns & Practices
Ejemplos de programación seguro “Writing Secure Code, 2nd edition”
Howard, Leblanc. MS Press, 2003
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
top related