Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich –...

30
Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Daniel Yankelevich – Guillermo Marro Pragma Consultores Pragma Consultores

Transcript of Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich –...

Page 1: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones.

Daniel Yankelevich – Guillermo Daniel Yankelevich – Guillermo MarroMarro

Pragma ConsultoresPragma Consultores

Page 2: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

OutlineOutlineObjetivosObjetivos

Tendencias en SeguridadTendencias en Seguridad

Modelos de Seguridad: EvoluciónModelos de Seguridad: Evolución

Caso de estudio: Web ServicesCaso de estudio: Web Services

Web Services: Esfuerzos Vigentes en Web Services: Esfuerzos Vigentes en SeguridadSeguridad

RecomendacionesRecomendaciones

Page 3: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

ObjetivosObjetivosGarantizar la funcionalidad deseadaGarantizar la funcionalidad deseada

Garantizar performance adecuadaGarantizar performance adecuada

Lograr confiabilidad y robustezLograr confiabilidad y robustez

Asegurar interoperabilidad con otros sistemasAsegurar interoperabilidad con otros sistemas

Mantener el presupuesto de desarrollo dentro de lo Mantener el presupuesto de desarrollo dentro de lo estipuladoestipulado

Respetar los tiempos de desarrollo planeadosRespetar los tiempos de desarrollo planeados

Garantizar premisas básicas de seguridad Garantizar premisas básicas de seguridad (confidencialidad, integridad, disponibilidad, no-(confidencialidad, integridad, disponibilidad, no-repudiación,etc)repudiación,etc)

Page 4: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Amenazas TangiblesAmenazas Tangibles

Page 5: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Qué cambió?Qué cambió?

Ud abriría un file …Ud abriría un file ….exe?.exe?.ppt?.ppt?.jpeg?.jpeg?

GDIplus vulnerabilityGDIplus vulnerabilityAtaques al Ataques al Graphic Device Interface dll, Graphic Device Interface dll, usando buffer overflowusando buffer overflowHubo MUCHOS cambios, este es sólo un Hubo MUCHOS cambios, este es sólo un ejemplo de una tendencia.ejemplo de una tendencia.

Page 6: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Pasado vs FuturoPasado vs Futuro

La seguridad es un La seguridad es un problema puramente problema puramente técnicotécnico

La seguridad es un La seguridad es un gastogasto

El objetivo es la El objetivo es la seguridadseguridad

Me voy a comprar el Me voy a comprar el gadget que me gadget que me garantiza la garantiza la seguridad!seguridad!

La seguridad es un La seguridad es un problema que compete a problema que compete a toda la organizacióntoda la organización

La seguridad es una La seguridad es una inversióninversión

El objetivo es la El objetivo es la continuidad de negociocontinuidad de negocio

Seguridad es un procesoSeguridad es un proceso

Antes Ahora

Page 7: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Evolución de los AtaquesEvolución de los Ataques

Page 8: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Tendencias en ataquesTendencias en ataquesAutomatizaciónAutomatización

Evolución de frameworks de ataqueEvolución de frameworks de ataque

Sofisticación semánticaSofisticación semántica

Descubrimiento vertiginoso de Descubrimiento vertiginoso de vulnerabilidadesvulnerabilidades

Permeabilidad en defensas perimetrales Permeabilidad en defensas perimetrales convencionalesconvencionales

Amenazas asimétricasAmenazas asimétricas

Page 9: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Evolución en tecnología de Evolución en tecnología de deteccióndetección

Page 10: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Evolución en Modelos de Evolución en Modelos de SeguridadSeguridad

FortalezaFortaleza

AeropuertoAeropuerto

Peer-to-PeerPeer-to-Peer

Page 11: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Modelo Modelo FortalezaFortaleza

Protección Protección perimetralperimetral

Estático, no diferenciadoEstático, no diferenciado

Difícil de modificar y Difícil de modificar y adaptaradaptar

Descuida el Descuida el insider insider problemproblem

Page 12: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Modelo Modelo AeropuertoAeropuerto

Mayor flexibilidadMayor flexibilidad

Múltiples zonas de seguridad basadas en Múltiples zonas de seguridad basadas en rolesroles

Protecciones multinivel interzonasProtecciones multinivel interzonas

Colección jerárquica de fortalezas Colección jerárquica de fortalezas interactuantesinteractuantes

Page 13: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Modelo Modelo Aeropuerto (cont.)Aeropuerto (cont.)

Page 14: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Modelo Modelo Peer-to-Peer Peer-to-PeerConceptos dinámicos de confianza, Conceptos dinámicos de confianza, autenticación y autorizaciónautenticación y autorización

Requerimientos comerciales-Requerimientos comerciales->Requerimientos tecnológicos>Requerimientos tecnológicos

Inferir en tiempo real Inferir en tiempo real qué quiero hacer y qué quiero hacer y con quién quiero hacerlocon quién quiero hacerlo

Puede requerir servicios provistos por Puede requerir servicios provistos por TTPTTP ((Trusted Third PartiesTrusted Third Parties))

Page 15: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Autorización Autorización DinámicaDinámica

Page 16: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Caso de estudio: Caso de estudio: Web Web ServicesServicesNuevo modelo de servicios y distribución Nuevo modelo de servicios y distribución de contenido basado en estándares XMLde contenido basado en estándares XML

Nueva generación de desarrollo sobre Nueva generación de desarrollo sobre InternetInternet

Aprovecha la ubicuidad de protocolos Aprovecha la ubicuidad de protocolos HTTP/S y plataformas de consulta (web HTTP/S y plataformas de consulta (web browsers)browsers)

Firewalls con politicas permisibles en Firewalls con politicas permisibles en puertos 80 y 443puertos 80 y 443

Enormes desafíos en seguridad en el caso Enormes desafíos en seguridad en el caso de contenido distribuidode contenido distribuido

Page 17: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Web Services: desafíosWeb Services: desafíos

SSL/TLS no alcanza!

Page 18: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

WS: Que hay disponible?WS: Que hay disponible?XML Signature XML Signature (W3C/IETF): (W3C/IETF): Valida integridad de mensaje y provee no repudiación para Valida integridad de mensaje y provee no repudiación para

documentos XMLdocumentos XML

XML Encryption XML Encryption (W3C)(W3C)::Permite cifrar partes de documentos XMLPermite cifrar partes de documentos XML

XKMSXKMS (W3C): (W3C):Especifica protocolos para la registración y distribución de Especifica protocolos para la registración y distribución de

claves públicasclaves públicas

XACML XACML (OASIS):(OASIS):Permite expresar semánticamente políticas de control de Permite expresar semánticamente políticas de control de

accesoacceso

SAMLSAML (OASIS): (OASIS):Permite a las aplicaciones emitir predicados de confianzaPermite a las aplicaciones emitir predicados de confianza

Page 19: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

WS: Que hay disponible? (cont.)WS: Que hay disponible? (cont.)XCBF XCBF (OASIS):(OASIS):

Facilita el intercambio de datos biométricos de autenticaciónFacilita el intercambio de datos biométricos de autenticación

XrML XrML (OASIS):(OASIS):

Permite especificar requerimientos de DRMPermite especificar requerimientos de DRM

WS-SecurityWS-Security (IBM-Microsoft-Verisign): (IBM-Microsoft-Verisign):Extiende SOAP, con protección de integridad, confidencialidad Extiende SOAP, con protección de integridad, confidencialidad

y autenticación de mensajesy autenticación de mensajes

Liberty Alliance Project (Liberty Alliance Project (Conglomerado de Conglomerado de OrgsOrgs):):Se intenta imponer el concepto de identidad federada de red, Se intenta imponer el concepto de identidad federada de red,

para facilitar para facilitar SSOSSO a traves de múltiples redes, dominios y a traves de múltiples redes, dominios y organizaciones.organizaciones.

Page 20: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Mejoras del proceso de Mejoras del proceso de desarrollo de aplicacionesdesarrollo de aplicaciones

Tenga en cuenta la seguridadTenga en cuenta la seguridadAl comienzo del procesoAl comienzo del proceso

Durante el desarrolloDurante el desarrollo

Durante la implementaciónDurante la implementación

En los hitos de revisión del softwareEn los hitos de revisión del software

No deje de buscar errores de seguridad No deje de buscar errores de seguridad hasta el final del proceso de desarrollohasta el final del proceso de desarrollo

Page 21: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

SDSD33

SeguroSeguro porpor diseñodiseño

SeguroSeguro dede formaforma

predeterminadapredeterminada

SeguroSeguro enen implementaciónimplementación

ArquitecturaArquitectura yy códigocódigo segurossegurosAnálisis de amenazasAnálisis de amenazasReducción de los puntos Reducción de los puntos vulnerablesvulnerables

MenorMenor áreaárea expuestaexpuesta aa ataquesataquesLas características que no se usan Las características que no se usan están desactivadas de forma están desactivadas de forma predeterminadapredeterminadaPrivilegios mínimosPrivilegios mínimosProtección:Protección: detección,detección, defensa, defensa, recuperaciónrecuperación yy administraciónadministraciónProceso: guías de procedimientos Proceso: guías de procedimientos y de arquitecturay de arquitecturaUsuarios: aprendizajeUsuarios: aprendizaje

Estructura de seguridad Estructura de seguridad SDSD33

Page 22: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Esquema temporal del desarrollo Esquema temporal del desarrollo de productos segurosde productos seguros

Planes dePlanes de pruebaprueba

completoscompletos

DiseñosDiseñoscompletoscompletos

ConceptoConcepto CódigoCódigocompletocompleto

EnvíoEnvío DespuésDespuésdel envíodel envío

Pruebas depuntos vulnerables

de seguridad

Evaluar losconocimientos de

seguridad al contratarintegrantes del grupo

Determinar loscriterios de firma

de seguridad

Someter arevisión externa

Analizar las

amenazas Aprendery afinar

Realizar larevisión del grupo

de seguridad

Entrenar a los integrantesdel grupo

Probar la alteración de datos y los privilegios

mínimos

Resolver problemas de seguridad, comparar el código con las

directrices de seguridad

=continuado

Page 23: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Técnicas de análisis de riesgosTécnicas de análisis de riesgos

Riesgo = Probabilidad * Daños Riesgo = Probabilidad * Daños potencialespotenciales

Clasificar Amenazas: DREADClasificar Amenazas: DREAD

•DDaños potenciales años potenciales •Capacidad de Capacidad de RReproducción eproducción •AprovAprovEEchamiento   chamiento   •Usuarios Usuarios AAfectados fectados •Capacidad de Descubrimiento Capacidad de Descubrimiento 

MITIGARMITIGAR

Page 24: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Consideraciones para DesarrolloConsideraciones para DesarrolloLa seguridad es parte de los requerimientos

La seguridad es parte fundamental del diseño y de la arquitectura de la aplicación

Siempre validar los inputs

Manejo de claves y resguardo de información sensitiva (DPAPI)

No almacenar información sensitiva en el cliente

Reducir superficie de ataque (no incluya Funcs en una API si no hacen falta/no use servicios que no necesita)

Mantenerse actualizado sobre las “debilidades” de la tecnología utilizada

Ejecutar con privilegios mínimos necesarios

Revisión de Código

Incluir auditoría de transacciones, logs...

Usar protocolos seguros para los datos críticos

Documentar, no asumir que el no dar información es barrera!

Page 25: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Estrategia recomendadaEstrategia recomendadaComenzar con políticas de alto nivel que tengan en cuenta un BIA (Business Impact Analysis) de su organización

Utilizar plantillas funcionales de arquitectura de seguridad, que implementen las best practices correspondientes

Evangelizar a la comunidad desarrolladora de los beneficios de considerar a la seguridad como premisa inicial de diseño

Migrar modelos del tipo fortaleza a modelos del tipo aeropuerto, que representen más fielmente los procesos de negocio

En proyectos autocontenidos (Intranets), desarrollar IPv6-compatible, para aprovechar las provisiones de seguridad nativas del protocolo

Pensar en un horizonte de 5 a 7 años para migrar a modelos de seguridad tipo Peer-to-Peer

La seguridad es un proceso y no un proyecto

Page 26: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Evolución en Arquitectura del Evolución en Arquitectura del SoftwareSoftware

“It's not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change”

Charles Darwin

Page 27: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

ReferenciasReferencias““The Evolution of Security Architecture”The Evolution of Security Architecture”

Gartner's 2004 Strategic Planning Series.Gartner's 2004 Strategic Planning Series.

““The Semantic Web: A guide to the future of XML, Web The Semantic Web: A guide to the future of XML, Web Services and Knowledge Management”Services and Knowledge Management”

Michael C. Daconta et al. Wiley & Sons.Michael C. Daconta et al. Wiley & Sons.

““CERT/CC Overview Incident and Vulnerability Trends”CERT/CC Overview Incident and Vulnerability Trends”

CERT® Coordination Center - Carnegie Mellon CERT® Coordination Center - Carnegie Mellon University.University.

““Security in a Web Services World: A Proposed Security in a Web Services World: A Proposed Architecture Architecture and Roadmapand Roadmap””

Joint White Paper from Microsoft & IBM.Joint White Paper from Microsoft & IBM.

Page 28: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

ReferenciasReferenciasSitioSitio dede seguridadseguridad dede Microsoft (todos los usuarios)Microsoft (todos los usuarios)

http://www.microsoft.com/security

Sitio de seguridad de MSDN (desarrolladores)Sitio de seguridad de MSDN (desarrolladores)

http://msdn.microsoft.com/securitymsdn.microsoft.com/security

Sitio de seguridad de TechNet (profesionales de IT)Sitio de seguridad de TechNet (profesionales de IT)

http://www.microsoft.com/technet/securitytechnet/security

Page 29: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.
Page 30: Evolución en arquitecturas de seguridad para el desarrollo de aplicaciones. Daniel Yankelevich – Guillermo Marro Pragma Consultores.

Para Mayor InformaciónPara Mayor Información

Argentina

San Martín 575 4to

(C1004AAK) Buenos Aires

Tel (+54-11) 4327-1999

[email protected]

España

Sta. Engracia, 169

(28003) Madrid

Tel (+ 34-91) 295-1547

[email protected]

Visite nuestros WEB SITES:

www.pragmaconsultores.com- Información Detallada de Servicios

- Nuestra Experiencia: Clientes y Proyectos

- Nuestro Compromiso y Nuestra Metodología de Trabajo

www.qafactory.com- Fábrica de Aseguramiento de la Calidad

- Beneficios y Detalle del Servicio

Contáctenos:

Chile

Luis T. Ojeda 0191 Of. 407,

Providencia, Santiago

Tel (+56-2) 3343361

[email protected]