Está en la página 1de 57

Implementacin de Sistemas de Informacin Seguros

Cristian Mora Aguilar, CISSP, CISM, MCSE+Security crismora@microsoft.com Security Consultant Microsoft Security Center of Excellence, SCoE

Agenda

Conceptos bsicos de seguridad Triada de Seguridad CIA Seguridad en Aplicaciones: Ms que un problema Tecnolgico Componentes bsicos para de Seguridad Arquitectura Administracin 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 CID


Confidencialidad Integridad Disponibilidad

Confidencialidad

Seguridad
Integridad Disponibilidad

Seguridad de Aplicaciones: Ms que un problema Tecnolgico

Procesos

Tecnologas

Operaciones

Modelo de Infraestructura Tecnolgico y WSSRA

El Problema Tecnolgico

Crecimiento informal Administracin lenta y Compleja de los componentes

Ambiente de Infraestructura

Arquitectura de Referencia

Zonas de Seguridad

Segmentacin de Redes

Almacenamiento

Componentes bsicos de Servicios de Red

Servicios de Aplicacin

Servicios de Administracin

Servicios Pblicos y Clientes

Anlisis de Riesgo

Administracin de Riesgos y soporte para decisiones


El equipo de negocios define el impacto
Alto

Riesgo NO Aceptable
Impacto al negocio

La administracin de riesgo define un nivel aceptable del mismo

Riesgo Aceptable
Ejecucin de la vulnerabilidad

Bajo

Alto

El equipo de Seguridad de informacin define la probabilidad

Amenazas de Seguridad de TI
Defensa en profundidad Ambiente de Seguridad
Servidores Fsico Red Servidor Apps Datos

Amenazas

Amenazas

Amenazas

Amenazas

Amenazas

Dispositivos

Amenazas

Clientes

Anlisis de Riesgo
Defensa en Profundidad Ambiente de Seguridad
Fsico Red Servidor
Apps

Datos

Evaluacin de riesgo en cada capa


Servidores

Mejor visin de la situacin actual


riesgo y un plan de mitigacin

Cada seccin tiene una clasificacin de

Clientes Aceptable Dispositivos


Control en Progreso

No Aceptable

Resultado de Anlisis de Riesgo


Defensa en Profundidad Ambiente de
Fsico Red Servidor
Apps

Datos

Seguridad
Servidores

Clientes

Dispositivos

Implementacin de Soluciones
Defensa en Profundidad Ambiente de Seguridad
Servidores
Solucin Solucin
Fsico Red servidor
Apps

Datos

Solucin

Solucin

Solucin

Dispositivos

Solucin

Clientes

Plan de Evaluacin de Resultados


Defensa en Profundidad Ambiente de Seguridad
Servidores
Fsica Red Servidor
Apps

Datos

Clientes

Dispositivos

Defensa en Profundidad

Defensa en Profundidad

Medidas de control segmentadas en capas de proteccin

Aplica medidas de control en cada capa de cada componente que interacta en una solucin, desde la capa de permetro hasta la capa de datos Reduce la posibilidad de un nico punto de vulnerabilidades cuando el sistema es atacado
Anlisis de vulnerabilidades presentes en los sistemas Anlisis de amenazas presentes que pueden tomar ventaja de esas vulnerabilidades Implementacin de los medidas de control apropiadas en cada capa

Reduccin del riesgo por:


Defensa en Profundidad
Datos Aplicacin Servidor Red Permetro Seguridad Fsica
Polticas, procedimientos, Concientizacin

Como minimizar la superficie de ataque?

Datos
Aplicacin Servidor Red Interna Permetro Seguridad Fsica Polticas, Procedimientos, Concientizacin

Listas de Acceso, Encriptacin, EFS Aseguramiento de App, Antivirus Aseguramiento del SO, Autenticacin, Actualizaciones de OS, Detector de Intrusos local Segmentacin de Red, IPSec, Detector de Intrusos dered Muros de fuego, Control de acceso de Cuarentena Guardas, Cerrojos, Dispositivos de monitoreo Documentacin de Seguridad, Educacin al Usuario

Seguridad en aplicaciones

Amenazas de Seguridad ms comunes

Vulnerabilidades por Aos


Data Source: Secunia ( http://secunia.com

Seguridad en la arquitectura
Seguridad en el modelo de desarrollo Estrategia SD3 Seguridad en el diseo por capas Holstica de la seguridad

Seguridad en el modelo de desarrollo


Analizar amenazas Revisin externa Aprender y refinar

Preguntas durante las entrevistas

Determinar los criterios de validacin de la seguridad

Security push

Concepto

Diseos Cdigo Planes de pruebas completados completado completados

Entrega

Despus de la entrega

Entrenar a los miembros del equipo Revisin del equipo de seguridad

Revisar defectos anteriores, comprobar registros directrices de programacin segura, usar herramientas Pruebas de mutacin de datos y mnimos privilegios

=continuo

Modelo de anlisis 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 diseo de alto nivel

Permite una mitigacin proactiva de la mitigacin de amenazas

Proceso para el Modelo de analisis de riesgo


Crear un modelo de la aplicacin (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

Construccin de un arbol de amenazas Categorizar las amenazas con DREAD Damage potential, Reproducibility, Exploitability, Affected users, Discoverability

rbol de Amenazas
PROCESS

STRIDE STRIDE THREAT


STRIDE THREAT STRIDE THREAT STRIDE THREAT

DREAD SUB-THREAT SUB-THREAT SUB-THREAT

SUB-THREAT

CONDITION

CONDITION

CONDITION

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 aplicacin? Pueden un ataque resultar en la vista no autorizada de los datos? Puede un ataque de DoS deshabilitar el proceso? Puede ser ejecutado la elevacin de privilegios si un proceso ha sido atacado?

Aplicando STRIDE
Procesos Afectados Afecta datos almacenados Afecta en interacci n Afecta el flujo de datos

S T R I

a a a a a a

a a a a a

D E

a a

Mitigacin de Amenazas
Tcnicas de Mitigacin

S T R I D E

Autenticacin, Almacenamiento de credenciales seguras Autorizacin, firmas digitales Autenticacin, autorizacin, firmas digitales, bitcoras Autorizacin, Encriptacin Filtrado, Autenticacin, Autorizacin

No utilizar identidades las cuales tienen altos niveles de privilegios

Priorizacin de Amenazas

Utilizacin del modelo de anlisis de riesgo (DREAD) para asignar las prioridades a las reas mas criticas basado en sus amenazas Priorizar mitigaciones de seguridad Priorizar revisiones peridicas Estrategias de reutilizacin

Pruebas de los planes de mitigacin a amenazas

Necesidad plan de prueba para cada amenaza


Pruebas bsicas de acceso y funcionalidad Pruebas intrusivas

El modelo de amenazas dirige el plan de pruebas Proceso de fin a fin

Probando el plan de mitigacin de amenazas

Spoofing

Autenticacin

Intento de cracking, replay, ver datos en la red fsica


Intentar compromiso de acceso a informacin

Almacenamiento seguro de las credenciales

Tampering

Intentar ingresar sin autenticacion Intentar de invalidar/modificar hashes firmas

Probando el plan de mitigacin de amenazas

Repudiation

Intentar de eludir la autenticacin/autorizacin Intentar Evitar firmas Intento de evitar bitcoras, o bien escribir bitcoras falsas

Information Disclosure

Intento de acceso a informacin no autorizada


Intentar de ver el dato en la red (eavesdropping) Eliminar un proceso, mirar datos sensitivos Intento de causar errores de condicin, mirar las bitcoras

Pruebas de mitigacin de amenaza

Denial of Service

Filtrado

Envo de datos mal formados Consumo de recursos

Elevation of Privilege

No poseer acceso a procesos ejecutndose con altos privilegios

Desarrollo de objetivos de seguridad

Elevar el nivel de seguridad de la aplicacin Identificar cuando y como se requiere autenticacin o autorizacin Identificar donde y como usted necesita para asegurar la comunicacin de ambos para su aplicacin (desde usuarios finales) y entre aplicaciones de terceros Identificar dificultadas comunes y como evitarlas Identificar riesgos principales y su mitigacin relacionada a la autenticacin y a la autorizacin Evitar minimizar la seguridad de hacer cosas para trabajar Identificar no solamente como y donde, pero tambin cuando usar varias caractersticas de seguridad Eliminar el miedo, duda e incertidumbre Promover mejores practicas y obtener resultados predecibles

Desarrollo de Principios bsicos de Seguridad


Adoptar el principio del mnimo 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 configuracin 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 Hell

Data Application Host Internal Network Perimeter Physical Security


Policies, Procedures, and Awareness

Defensas de Permetro

Data Application Host Internal Network Perimeter Physical Security


Policies, Procedures, and Awareness

Defensas de Red

Data Application Host Internal Network Perimeter Physical Security


Policies, Procedures, and Awareness

Defensa de Host

Data Application Host Internal Network Perimeter Physical Security


Policies, Procedures, and Awareness

Defensa de Aplicacin

Data Application Host Internal Network Perimeter Physical Security


Policies, Procedures, and Awareness

Defensa de Datos

Ataque 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

Mtodos de acceso:
Capa de Aplicacin 1 aplicacin de consulta no utilizaba estndar de autenticacin para consulta de datos. Capa de Datos Concepto de mnimo privilegio no utilizado SysAdmin

Ataque de Sitio Web: DJ Hell


INTENTO ACCESO 2005-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 CODIGO 2005-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 Injection

Ataque 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'

SQL Code Injection

Herramienta FXCop

FXCop

Herramienta FXCop

http://www.gotdotnet.com/team/fxcop/

Diseo de libreras Localizacin Convencin de Nombres Desempeo Seguridad

Referencias

Herramienta FXCop

http://www.gotdotnet.com/team/fxcop/ http://msdn.microsoft.com/security/securecode/threatmodeling/defa ult.aspx http://www.microsoft.com/security http://msdn.microsoft.com/security

Modelo de anlisis de Amenazas (Threat Modeling) Pagina General de Seguridad

Sitio para Seguridad de desarrollo

Sitio de seguridad de MSDN para desarrolladores

Guas de mejores practicas

http://www.microsoft.com/resources/practices/guides.mspx
Guas Patterns & Practices

Ejemplos de programacin seguro

Writing Secure Code, 2nd edition Howard, Leblanc. MS Press, 2003

2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

También podría gustarte