Seguridad

download Seguridad

of 59

description

seguridad

Transcript of Seguridad

  • En esta SesinPorque necesitamos seguridadMotivacinDesafos introducidos por Servicios WebPresentacin Tecnologas seguridad para XMLPresentacin Tecnologas seguridad para Servicios WebDiscusin y Recomendaciones

  • Seguridad como un habilitadorIntegracin de AplicacionesEAICRMsERPsB2C, B2B, etc.Automatizacin de Procesos de NegocioPortales de Agregacin de Informacin

  • Arquitectura General Aplicaciones EmpresarialesClientesServidorWebServidorApp.ServidorApp.ServidorApp.AccesoDatosConectores aSistemas LegadosBases deDatosSeguridad Back-Office

    Seguridad Mainframe Seguridad RDBMS etc.Seguridad Middleware

    Roles Seguridad Componentes Criptografa etc.Seguridad Permetro

    Firewalls/VPNs Criptografa Seguridad Servidores Web Deteccin de Intrusin etc.Plataformas Predominantes: J2EE y .NET

  • De qu debemos proteger nuestras aplicaciones?Violacin de ConfidencialidadViolacin de IntegridadAtaque de Repeticin

  • Ataques AplicacionesAtaque del Intermediario (conocido como Man in the Middle)

  • Ataque tpicos Aplicaciones WebManipulacin de parmetroshttp://www.sitio.com/listadoProductos.do?maxResults=100maxResults=999999999?Ataques SQL (SQL Injection)http://www.sitio.com/listTabla.aspx?orderBy=columna1SELECT * FROM tabla ORDER BY columna1Recursos no publicadoshttp://www.sitio.com/documentos/documento1.htmlhttp://www.sitio.com/documentos/?http://www.sitio.com/test/?http://www.sitio.com/prueba/?Ataques a los servidoresBuffer OverflowEtc.Etc.

  • Requerimientos de SeguridadAutenticacinAutorizacinConfidencialidadIntegridadNo repudiacinAlta Disponibilidad

  • Desafos de Seguridad Servicios WebSeguridad basada en el usuario finalMantener la seguridad al pasar por mltiples Servicios (nodos)Abstraccin de la seguridad del transporte subyacente

  • Seguridad basada en el usuario final

  • Seguridad a travs de mltiples Servicios y mltiples transportesUsuarioSitio WebServicio WebHTTPJMSAbstraccin de Seguridad del transporte subyacenteSeguridad Persistente

  • Arquitectura General Servicios Web

  • Opciones de Seguridad Capa de Transporte

    Servicio de SeguridadTecnologasIntegridadSSL/TLSConfidencialidadSSL/TLSAutenticacin Proveedor (Servidor)SSL/TLSAutenticacin Consumidor (Cliente)SSL/TLS con autenticacin de clienteHTTP BasicHTTP DigestHTTP AttributesSSL/TLSHTTP BasicHTTP Digest

  • Seguridad para Servicios WebLos servicios de seguridad pueden ser provistos por:Capa de TransporteCapa de MensajeraAmbasExistencia de gran cantidad de especificaciones y alternativas

  • Seguridad en la Capa de Mensajera RPC/Encoded Document/Literal

  • Interrelacin Tecnologas/Especificaciones de Seguridad Servicios WebTCP/IPCapa de Transporte (HTTP, FTP, SMTP, MQ, etc.)Seguridad Capa de Transporte (TLS/SSL)XML SignatureXML EncryptionSOAPWS SecuritySAMLXKMSOtras Alto NivelInfraestructura de RedFrameworks XMLFuente: Securing Web Services With WS-Security. Demystifying WS-Security, WS-Policy, SAML, XML Signature, and XML Encryption, Jothy Rosenberg and David Remy

  • XML SignatureEsfuerzo conjunto IETF/W3CSu objetivo es firmar digitalmente:Documentos XMLPartes de Documentos XMLObjetos ExternosUtiliza tecnologas maduras de encriptacin asimtrica y generacin de hashesSHA1RSARequiere de una infraestructura de llaves pblicas para proveer:IdentidadNo repudiacin

  • Tipos de Firmas XML Signature

    Enveloping

    Enveloped

    Detached

  • Canonicalizacin c14n Consenso comn XSLT

  • Estructura XML Signature

  • XML Signature: Enveloped

  • XML Signature: Enveloping

    Informacin a ser Firmada

  • XML Signature: Detached

  • Recomendaciones Seguridad XML SignatureSolamente lo firmado es seguroEspecial cuidado con desechos ocurridos por transformacionesSolamente lo que se ve puede ser firmadoPor ejemplo si un contrato fue presentado a un usuario mediante el uso de XML y una plantilla XSLT, ambos deben ser firmados (WYSIWYS)Ver lo que es firmadoEspecial cuidado con referencias a objetos que deberan contener cierto elemento.

  • XML EncryptionPosterior a XML SignatureLa informacin cifrada es expresada en un formato comn XMLTrozos de un documento XML pueden ser selectivamente cifradosUtiliza algoritmos y tcnicas de encriptacin madurasSimtricaAsimtricaHbrida (llave de sesin)Algunos AlgoritmosDES3DESAES

  • ConfidencialidadSimtricaAsimtrica

  • Llave de Sesin

  • Estructura XML Encryption

    ?????????

  • Ejemplo XML Encryption

  • XKMSXML Key Management SpecificationInfraestructura de llave pblica (PKI)Repositorio de credencialesAsociacin a identidades

    VentajasComplejidad reducida para los clientesFacilita la codificacinAdministracin de la confianza centralizadaPKIServicios Web XKMSAplicaciones

  • SAMLSecurity Assertion Markup LanguageEspecificacin mantenida por OASISTransportador de identidadesConfianza PortableRequiere preestablecimiento de confianza entre los dominiosPotencial uso para herramientas de Single Sign-OnAserciones en formato XMLAutenticacinAtributosAutorizacinSe pueden firmar con XML Signature!

  • Aserciones SAMLAutenticacinEl Sujeto S fue identificado con el mtodo M a la hora T.Los mtodos de autenticacin soportadosContraseaTicket KerberosContrasea Remota Segura (RSP)Token de HardwareCertificado de Cliente SSLLlave Pblica en un contenedor X.509Llave Pblica PGPLlave Pblica SPKILlave Pblica XKMSFirma Digital XML SignatureAtributosEl sujeto S posee los siguientes atributos:Atributo 1: aAtributo 2: bAtributo n: nEste tipo de informacin esta tpicamente contenida en servidores LDAP. AutorizacinAl sujeto S se puede autorizar el acceso tipo A sobre el recurso R dada la evidencia E.

  • Ejemplo Asercin de Autenticacin

  • Arquitectura SAMLSAMLAsercin deAutenticacinAsercin deAtributosAsercin deAutorizacinAutoridad de AutenticacinAutoridad de AtributosPunto de Decisinde Polticas (PDP)Recolector de CredencialesEntidad deSistemaPunto de HacerValer Polticas (PEP)RequerimientoAplicacinPolticaPolticaPoltica

  • WS-SecurityEsfuerzo conjunto de IBM, Microsoft y VeriSignEn Abril de 2002 publican Security in a Web Services World: A Proposed Architecture and RoadmapHoy mantenida por OASISSu objetivo es Proveer seguridad a SOAPSe enfoca en la correcta y efectiva aplicacin de tecnologas comoXML SignatureXML EncryptionSAMLProvee un contenedor para artefactos de seguridad

  • El encabezado WS-SecurityTokens de seguridadCero, uno ms tokens de seguridad Usualmente no ms de unoElementos de contenido cifrado con XML EncryptionCero, uno ms de elementos XML EncryptionEstos pueden ser

    Elementos de contenido firmado digitalmente con XML SignatureCero, uno ms firmas XML SignatureUsualmente, si se incluye una firma, esta firma como mnimo alguna parte del cuerpo del mensaje.

  • Ejemplo Sobre SOAP WS-Security

  • Espacios de Nombre en WS-Security

    PrefijoSignificadoEspacio de NombredsDigital Signaturehttp://www.w3.org/2000/09/xmldsig#wsseWS-Security Extensionhttp://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsuWeb Services Utilityhttp://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdxencXML Encryptionhttp://www.w3.org/2001/04/xmlenc#

  • WS-Security Timestamps

  • Tokens de SeguridadNombre de Usuario y ContraseaNombre de Usuario y Constrasea con Password DigestCertificados X509KerberosXMLSAMLSecurity Assertion Markup LanguageXrMLeXtensible Right Markup LanguageXCBFXML Common Biometric Format

  • Username Token

  • Username Token Password Digest

  • Certificados X509

  • Token SAML

  • Token eXtensible Rights Markup Language

  • Token XCBF

  • XML Signature en WS-SecurityObjetivoVerificacin de integridad y veracidad de credenciales incrustadas en los tokensProveer Integridad persistenteEl mensaje puede ser manipulado legtimamente en cada nodo de su rutaPueden incluirse varias firmas digitales en el encabezadoNo es ms que la incrustacin de un elemento XML Signature en un encabezado WS-SecurityNo establece reglas sobre qu se debe firmar

  • Ejemplo XML Signature en WS-Security

    ...

  • XML Encryption en WS-SecurityObjetivoEsconder selectivamente informacin sensible dentro de mensajes SOAPProveer confidencialidad persistenteGeneralmente se utiliza una llave de sesin por rendimientoNo es ms que la incrustacin de un elemento XML Encryption en un encabezado WS-SecurityNo establece reglas sobre qu se debe cifrar

  • Ejemplo XML Encryption en WS-Security

  • Opciones de Seguridad Capa de Mensajera

    Servicio de SeguridadTecnologasIntegridadXML SignatureS/MIMEPKCS#7ConfidencialidadXML EncryptionAutenticacin del Emisor SOAP (Cliente)XML Encryptionusername & [password|digest]username & [password|digest]Certificado X.509Token de SeguridadKerberosSAMLRELEtc.

  • Comparacin Seguridad Segn Capa

    Seguridad de TransporteSeguridad de MensajeraPunto a PuntoDestino a DestinoMadura, su implementacin es relativamente directaNueva, relativamente compleja con muchas opciones de seguridadNo granular, enfoque del todo o nadaMuy granular, puede aplicar selectivamente a trozos de mensajes y solamente a los requerimientos o respuestasDependiente del TransporteLa misma estrategia puede aplicarse a distintas tecnologas de transporte

  • Seguridad Capa de MensajeraConstruida sobre modelos madurosGran cantidad de especificacionesMuchas de ellas muy inmadurasMayor FortalezaFlexibilidadMayor DebilidadFlexibilidad

  • Frameworks de Desarrollo.NETWSE (Web Services Enhancements)http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspxJavaWSS4J (WS-Security for Java)http://ws.apache.org/wss4j/

  • Recomendaciones InteroperabilidadWeb Services Interoperability OrganizationPerfil BsicoPerfil Bsico de Seguridad

    Security Challenges, Threats and Countermeasureshttp://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html

  • El problema de administracinServicio 1Poltica 1Servicio 2Servicio 3Servicio jPoltica 2Poltica kCliente 1Cliente 2Cliente 3Cliente 4Cliente 2Cliente i

  • Firewall Servicios WebClientesServidorWebServidorApp.ServidorApp.ServidorApp.AccesoDatosConectores aSistemas LegadosBases deDatosFWFirewall para Servicios Web

  • Proxy ReversoAplicacin 1Aplicacin 2Aplicacin MFirewallServiciosWebCliente NCliente 2Cliente 1Fuente: Patterns for Application Firewalls, Nelly Delessy-Gassant, Eduardo B. Fernandez, Saeed Rajput, and Maria M. Larrondo-Petrie

  • Mltiples AgentesAplicacin 1Aplicacin 2Aplicacin MAgente FWCliente NCliente 2Cliente 1Agente FWAgente FWFuente: Patterns for Application Firewalls, Nelly Delessy-Gassant, Eduardo B. Fernandez, Saeed Rajput, and Maria M. Larrondo-Petrie

  • Preguntas?