Upload
fernandoo-mariscal-guerrero
View
4
Download
0
Embed Size (px)
DESCRIPTION
seguridad
Citation preview
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?