Seguridad en SOA Ing. Pablo M. Szuster WebSphere Technical Sales IBM SWG Por qué es una preocupación la seguridad en SOA? •Toda tecnología nueva tiene implicancias de seguridad •XML y SOAP conectan fácilmente los sistemas de backend •Con SOA se exponen aplicaciones de negocio críticas •Los dispositivos de seguridad tradicionales a nivel de paquetes no protegen XML/SOAP El rol de XML en SOA XML provee un esquema basado en texto, legible por humanos para describir información de forma estructurada •Su simplicidad y naturaleza autodescriptiva hace que XML sea un formato de datos interoperable popular •XML se está convirtiendo en la manera de: •Intercambiar datos entre sistemas distintos dentro y fuera de un sistema empresarial •Habilitar funciones de aplicación como servicios interoperables XML es también la base para un gran número de especificaciones SOA Uso de XML en SOA Desafíos y amenazas de XML •Al ser basado en texto y legible por humanos, XML tiende a ser más verborrágico •El Parsing, procesamiento y transformación de datos XML incurre en un overhead significativo para los servidores de aplicaciones •XML introduce nuevas amenazas y exposiciones de seguridad •La mayoría de las compañías deshabilita la validación de XML debido a costos de performance •Los dispositivos de seguridad de red tradicionales no protegen contra la nueva clase de ataques basados en XML •Tratar con aplicaciones basadas en XML se vuelve un compromiso entre seguridad y performance WebServices como riesgo de seguridad Una de las ventajas de los webservices es su habilidad para exponer de forma sencilla sistemas de backend a asociados de negocios y clientes •Los webservices usualmente utilizan HTTP, un protocolo ampliamente soportado y no bloqueado en la mayoría de las compañías •Los servidores web y proxy tradicionales no inspeccionan el tráfico XML y SOAP en busca de ataques Ataques XML •XML Denial of Service (xDOS) •Deshabilitar ó disminuir la performance de un Web Service •Unauthorized Access •Conseguir acceso no autorizado a un Web Service ó sus datos •Data Integrity / Confidentiality •Ataque a la integridad de los pedidos/respuestas a Web Services ó sus Bases de Datos •System Compromise •Corrupción del Web Service ó del servidor donde reside XML Denial Of Service (xDOS) •Jumbo Payloads •Envío de mensajes muy grandes para agotar la memoria y CPU del sistema destino •Recursive Elements •Utilización de elementos recursivos indefinidamente •Mega Tags •Mensajes con nombres de elementos muy largos •Coercive Parsing •Mensajes construidos para ser difíciles de parsear y consumir los recursos •XML Flood •Envío de miles de mensajes por segundo para bloquear un Web Service Unauthorized Access attacks •Dictionary attacks •Obtener una contraseña a través de una búsqueda de fuerza bruta con diccionario •Falsified Messages •Enviar un mensaje falso fingiendo ser válido Data Integrity/Confidentiality attacks •Message Tampering •Modificación de parte de un pedido/respuesta •Data Tampering •Explotar debilidad en control de acceso para realizar invocación a Web Service y alterar datos •Message Snooping •Ataque a la privacidad al examinar el contenido de un mensaje •XPath / XSLT / SQL Injection •Inyección de expresiones en la lógica de aplicación System compromise attacks •Malicious include •Causar que un Web Service incluya datos externos inválidos, ó un archivo privilegiado del sistema •XML Encapsulation •Embeber comandos de sistema en mensajes XML usando elementos “CDATA” •XML Virus (X-Virus) •Utilizar SOAP con attachments u otro para transmitir virus, gusanos, etc Sistemas tradicionales y la exposición •Los sistemas tradicionales no ofrecen suficiente protección •La validación XML suele estar desactivada por razones de performance •Los parsers de los servidores de aplicaciones no controlan este tipo de ataques La seguridad en Web Services es procesamiento de XML Processing Steps Parsing 1 Schema Validation 3 XPath Filtering 5 XML Decryption 8 Signature Verification Parsing 8 1 Schema XML XML XML Validation Transformation Signing Encryption 3 10 6 •Cada función de seguridad requiere procesamiento XML •Se deben implementar los servicios sin comprometer la seguridad •Se requiere poder escalar a medida que aumenta su uso 8 Cómo segurizar SOA? •Si el impacto en la performance lo hace inviable? •Si los componentes de SW que entienden XML/SOAP no tienen mecanismos de protección y no pueden ir en una DMZ? •Si los dispositivos de HW aptos para DMZ no entienden XML/SOAP? Solución: dispositivo de red XML-aware •Es posible atacar las preocupaciones de performance y seguridad con dispositivos de red XML-aware que aceleran y segurizan el procesamiento de XML •Complementan la infraestructura de red existente •Descargan a la infraestructura de aplicaciones de las tareas de procesamiento de XML y seguridad •Los SOA appliances proveen una rápida forma de desplegar una capa de red XML-aware IBM WebSphere DataPower •IBM WebSphere DataPower XML Accelerator XA35 •Descarga de tareas de procesamiento y transformación de XML a los servidores de aplicaciones •Protege de ataques a aplicaciones web •IBM WebSphere DataPower XML Security Gateway XS40 •Actúa como punto de refurezo de políticas de seguridad para aplicaciones XML y webservices •Virtualiza webservices de manera sencilla con configuración dinámica basada en WSDL •IBM WebSphere DataPower Integration Appliance XI50 •Provee una interfaz webservice a aplicaciones de mainframe •Realiza transformaciones de cualquier tipo de datos a velocidad de cable SOA Appliances DataPower: construidas para la seguridad •Dispositivo sellado con carcasa a prueba de intrusiones (si se abre se inutiliza el dispositivo) •Sin drives ni puertos USB; sin discos rotativos •Hardware, firmware y sistema operativo embebido optimizados •El tener una única imagen de firmware encriptada y firmada digitalmente previene que atacantes instalen software arbitrariamente •Almacenamiento de claves de encripción y logs de auditoria asegurados Especificaciones 4GB RAM 512MB Flash Memory Serial Port 4 x 10/100/1000 Ethernet Ports Ventajas de un SOA Appliance DataPower SOA Appliance – XA35 XA35 XML Accelerator: Offload XML processing from servers •Offload XML Parsing, Transformación XSLT, Enrutamiento XPath, Schema validation, XML Compression, XML Caching •10X a 70X de mejora en la performance •Libera a los Servidores de Aplicaciones / ESBs para que procesen lógica de negocio DataPower SOA Appliance – XA35 XSL & XSD Repository Mensajes XML formato A XA35 XML Accelerator Internet Cliente Web Services IP Firewall Mensajes XML formato b Web Services Application Server DataPower SOA Appliance – XS40 XS40 WS Security Gateway: Secure XML & Web Services •Firewall XML/SOAP •Encriptación XML y Firmas Digitales •Control de aceso a aplicaciones / AAA via SAML, XACML, WS-Security, LDAP, SSO. •Validación de documentos XML, protege contra ataques XML Denial-of-Service. DataPower SOA Appliance – XS40 Solución de Manejo de Identidad Mensajes XML Internet Cliente Web Services XS40 XML Security Gateway IP Firewall Web Services Application Server AAA Framework Diagram Authenticate, Authorize, Audit Enforcement Mensaje parcialmete encriptado Desencriptado y Firmado digitalmente <PO> <Buyer>ABC Corp<Buyer> ……………….. ……………….. <Encrypted Data>anfghryj57n3f9 <Encrypted Data> ………………. ………………. <PO> <PO> <Buyer>ABC Corp<Buyer> ……………….. ……………….. <Credit Card> <Number>5789 5690 0002<Number> <Expiration>07/03<Expiration> <Credit Card> ………………. ………………. <PO> PO por $5,000 PO for $100 Proveedor de Web Services A Internet Cliente Web services PO por $100 IP Firewall Funciones Claves: Defensa contra amenazas XML Valida XML (schema) Filtra data (usando xPath) Encripta/Desencript mensajes Firma mensajes digitalmente Enmascara el back-end Enruta basado en el contenido Provee Control de Aceso 1) Extrae la identidad del mensaje XML (quien soy?) 2) Autentica la identidad extraida 3) Extrae el recurso del mensaje XML (que sistema se quiere acceder) 4) Autoriza basado en la identidad y el recurso --------------------------------------------Integración basada en estandares: LDAP, RADIUS, XKMS ,SAML, Kerberos. Integración con vendedores de control de acceso: Tivoli Access Manager, Sun Identity Server, Netegrity SiteMinder & TransactionMinder, Oblix NetPoint, CA eTrust, RSA ClearTrust, Active Directory, others… Servidor de Poliza/Identidad para autenticación & autorización PO for $5,000 Proveedor de Web Services B DataPower SOA Appliance – XS40 DataPower SOA Appliance – XI50 XI50 Integration Appliance: XML enablement of Mainframes & ESBs •Complementa las funcionalidades de un Enterprise Service Bus (ESB) a wire-speed •Transformación entre XML, binario y mensajes de archivos planos •Soporte para COBOL Copybook, Mensajes ATM, EDI/EDIFACT, ASN.1, IIOP CORBA. •Une multiples protocolos de transporte síncronos y asíncronos, incluyendo WebSphere MQ DataPower SOA Appliance – XI50 Repositorio XML Schema Backend Mensajes EBCDIC SOAP/HTTP MQ FTP XI50 Integration Appliance Mensajes convertidos a XML (ASCII) Web Services Application Server DataPower SOA Appliance – XI50 Actúa como complemento al ESB, descargando transformaciones costosas del ESB, y tendiendo un puente sobre diversos protocolos (FTP, SOAP, HTTP, MQ). Applicaciones Backend Applications Client SOAP Enterprise Service Bus XML Formato A HTTPS XML Formato B Solución de manejo de Identidad - (Multi Protocol Gateway) FTP Base de Datos Sistemas Legados XML Formato C .NET Server J2EE Server Autenticación & Autorización HTTP MQ MQ Binario Formato non-XML Main Frame/ Legacy Applications Configuración & Administración •Complete Configuration from GUI or CLI interface •IDE integration/Eclipse plug-in •XPath / XML config files •SNMP •SOAP management interface Configuración & Administración •Creación de politicas basadas en WSDL •Creación de politicas por Drag & drop permiten encadenamiento flexible de operaciones •Configuración e instalación en poco tiempo Summary •SOA trae muchas ventajas pero con implicancias de seguridad •Los sistemas tradicionales no cubren estos riesgos •La seguridad en web services requiere procesamiento XML •Suele haber una relación de compromiso entre performance y seguridad •IBM WebSphere DataPower es un SOA Appliance que provee: •Procesamiento XML a velocidad de cable •Seguridad para XML/SOAP •Configuración / Administración simple Quiere saber más? •Proof Of Technology (PoT) de WebSphere DataPower •Presentaciones y laboratorios “hands-on” •Fines de Noviembre, Montevideo •Contacto: Marcelo Estape ( [email protected]) Gracias! [email protected]