implementación de sistemas de información seguros · defensa en profundidad amenazas de seguridad...

57
Implementación de Sistemas de Información Seguros Cristian Mora Aguilar, CISSP, CISM, MCSE+Security [email protected] Security Consultant Microsoft Security Center of Excellence, SCoE

Upload: phungdiep

Post on 30-Sep-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Implementación de Sistemas de Información Seguros

Cristian Mora Aguilar, CISSP, CISM, MCSE+Security [email protected] ConsultantMicrosoft Security Center of Excellence, SCoE

Agenda 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 CID

Confidencialidad

Integridad

Disponibilidad

Seguridad

Confidencialidad

Integridad Disponibilidad

Seguridad de Aplicaciones: Más que un problema Tecnológico

Procesos

OperacionesTecnologías

Modelo de Infraestructura Tecnológico y WSSRA

El Problema Tecnológico

Crecimiento informal

Administración lenta y Compleja de los componentes

Ambiente de Infraestructura

Arquitectura 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 Riesgo

Administración de Riesgos y soporte para decisiones

Riesgo NO Aceptable

Riesgo Aceptable

El equipo de Seguridad de información define la probabilidad

Ejecución de la vulnerabilidad

Impa

cto

al n

egoc

io

Bajo Alto

Alto

El e

quip

o de

neg

ocio

s de

fine

el im

pact

o

La administración de riesgo define un nivel aceptable del mismo

Ambiente

de Seguridad

Dispositivos

Clientes

Servidores

Físico Red Servidor Apps Datos

Defensa en profundidad

Amenazas de Seguridad de TI

Amenazas

Amenazas

AmenazasAm

enaz

as

Amen

azas

Amen

azas

Análisis de Riesgo

Ambiente de

Seguridad

Dispositivos

Clientes

Servidores

Físico Red Servidor Apps Datos

Defensa en Profundidad

Evaluación de riesgo en cada capa Mejor visión de la situación actual

• Cada sección tiene una clasificación de riesgo y un plan de mitigación

No Aceptable

Control en Progreso

Aceptable

Resultado de Análisis de Riesgo

Ambiente de

Seguridad

Dispositivos

Clientes

Servidores

Físico Red Servidor Apps Datos

Defensa en Profundidad

Ambiente de

Seguridad

Dispositivos

Clientes

Servidores

Físico Red servidor Apps Datos

Defensa en Profundidad

Implementación de Soluciones

Solución

Solución

SoluciónS

oluc

ión

Sol

ució

n

Sol

ució

n

Plan de Evaluación de Resultados

Ambiente de

Seguridad

Dispositivos

Clientes

Servidores

Física Red Servidor Apps Datos

Defensa en Profundidad

Defensa en Profundidad

Defensa 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 Profundidad

Políticas, procedimientos, Concientización

Seguridad Física

Perímetro

Red

Servidor

Aplicación

Datos

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, Concientización

Seguridad Física

Perímetro

Red Interna

Servidor

Aplicación

Datos

Seguridad en aplicaciones

Amenazas de Seguridad más comunes

Vulnerabilidades por AñosData Source: Secunia ( http://secunia.com

Seguridad en la arquitectura

Seguridad en el modelo de desarrollo

Estrategia SD3

Seguridad en el diseño por capas

Holística de la seguridad

Seguridad en el modelo de desarrollo

Planes de pruebascompletados

Diseñoscompletados

Concepto Códigocompletado

Entrega Después dela entrega

“Security push”Preguntas durantelas entrevistas

Determinar los criterios de validación

de la seguridad

Revisiónexterna

Analizaramenazas

Aprender yrefinar

Revisióndel equipo

de seguridad

Entrenar a losmiembrosdel equipo

Pruebas de mutación de datos y mínimos

privilegios

Revisar defectos anteriores, comprobarregistros directrices de programación

segura, usar herramientas

=continuo

Modelo 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 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

STRIDE

DREAD

PROCESS

STRIDETHREAT

STRIDETHREAT

STRIDETHREAT

SUB-THREATSUB-THREAT SUB-THREAT

SUB-THREAT CONDITION

CONDITION CONDITION

STRIDETHREAT

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 STRIDEProcesos Afectados

Afecta datos almacenados

Afecta en interacción

Afecta el flujo de datos

S

T

R

I

D

E

Mitigació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 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

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

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

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 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 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 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 Hell

Defensas de PerímetroPolicies, Procedures, and Awareness

Physical SecurityPerimeter

Internal Network

Host

ApplicationData

Defensas de RedPolicies, Procedures, and Awareness

Physical SecurityPerimeter

Internal Network

Host

ApplicationData

Defensa de HostPolicies, Procedures, and Awareness

Physical SecurityPerimeter

Internal Network

Host

ApplicationData

Defensa de AplicaciónPolicies, Procedures, and Awareness

Physical SecurityPerimeter

Internal Network

Host

ApplicationData

Defensa de DatosPolicies, Procedures, and Awareness

Physical SecurityPerimeter

Internal Network

Host

ApplicationData

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

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

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 3537: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.aspsql = "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

Ataque de Sitio Web: DJ Hell

Herramienta FXCop

FXCop Herramienta FXCop

http://www.gotdotnet.com/team/fxcop/ Diseño de librerías

Localización

Convención de Nombres

Desempeño

Seguridad

Referencias Herramienta FXCop

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

Modelo de análisis de Amenazas (Threat Modeling) http://msdn.microsoft.com/security/securecode/threatmodeling/defa

ult.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.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.