Reportaje - Un sello de seguridad para el Internet de los servicios
IoS representa una proyección de cómo será el Internet en el futuro, un medio en el que es posible acceder permanentemente a información, datos y aplicaciones de software (así como las herramientas necesarias para crear todo ello) que pueden alojarse en el disco duro propio, en la nube o bien llegar en el mismo instante que se generan remitidos por sensores. Mientras que las aplicaciones tradicionales de software están diseñadas en su mayoría para ser utilizadas por separado, IoS derriba todas las barreras, abaratando así costes e impulsando la innovación. Aprovechando el éxito alcanzado por la computación en la nube, las aplicaciones de IoS se construyen componiendo servicios que se encuentran distribuidos por la red y que se aglutinan y consumen en el momento de ejecución de un modo flexible y a voluntad del usuario. Este nuevo método de creación de software facilitará el desarrollo de aplicaciones y servicios, de manera que se podrán ofrecer servicios nuevos e innovadores que aún son imposibles en la actualidad. Es probable que realice una contribución inmensa al objetivo fijado por la Unión Europea consistente en incrementar la competitividad del sector dedicado al software en Europa. Los servicios IoS pueden ser diseñados e implementados por productores, desplegados por proveedores, reunidos por intermediarios y empleados por consumidores. Quien quiera desarrollar aplicaciones, podrá hacerlo valiéndose de los recursos existentes en el IoS, con una inversión inicial baja y con la posibilidad de aprovechar de partida la labor realizada anteriormente por otros. En muchos sentidos, IoS resuelve las deficiencias provocadas por la falta de interoperabilidad y la ineficiencia tan frecuentes en los sistemas tradicionales de software, pero también puede generar puntos vulnerables nuevos. Por ejemplo, ¿cómo se puede estar seguro de que el servicio que uno está utilizando está libre de errores? ¿O que todos los distintos componentes procedentes de desarrolladores distintos que uno está reuniendo en una misma aplicación nueva se han sometido a un control para detectar deficiencias de la seguridad? «Siempre resulta difícil cuantificar con exactitud el efecto que tiene la ausencia de algo, pero es indiscutible que la falta de tecnologías eficaces para la validación de la seguridad ha ralentizado considerablemente la adopción a gran escala de los servicios web por parte de los ciudadanos. Muchos de ellos siguen desconfiando de Internet en general, no del Internet de los servicios en particular», aclaró el profesor Luca Viganò de la Università degli Studi di Verona (Italia). «Por consiguiente, no basta con desarrollar buenos servicios web, ni tampoco servicios que se hayan sometido a pruebas o que su seguridad esté demostrada; se requiere también un método que convenza al ciudadano de que, efectivamente, está utilizando servicios seguros o que se han sometido a pruebas exhaustivas. La existencia y el empleo de herramientas automáticas que concedan un "sello de garantía" a servicios recién creados o bien descargados de la web asegurarán, indudablemente, un mayor grado de confianza». El profesor Viganò y su equipo de investigadores, procedentes de cinco países europeos, están dando los toques finales a herramientas diseñadas para proporcionar precisamente ese «sello de garantía» tan necesario para los servicios web. Su trabajo de investigación, realizado como parte del proyecto «Secure provision and consumption in the Internet of Services» (SPACIOS) y para el que la Comisión Europea concedió una financiación de 3,6 millones de euros, combina tecnologías punteras para pruebas de seguridad (penetración, vulnerabilidad, mutaciones), aprendizaje automático para la inferencia de modelos, comprobación de modelos y técnicas de extracción de código. Una herramienta extraordinaria para controles de seguridad de servicios web «Conviene destacar que existen tecnologías punteras para la validación de la seguridad, pero se suelen usar por separado y en el momento de la producción, cuando lo que se necesitan son herramientas que puedan emplearse para validar servicios durante su ejecución -explicó el profesor Viganò-. Hay varias otras herramientas que se han utilizado con inmensa maestría para las pruebas de seguridad pero, que nosotros sepamos, ninguna que combine todas estas técnicas en un recurso único que permita emplear un solo lenguaje formal tanto para la entrada como para la salida de datos. En nuestra opinión, la herramienta de SPACIOS posee capacidades que ninguna otra herramienta tiene». En términos muy llanos, determinado usuario comienza con una especificación formal del sistema que se va a probar cuyas propiedades se especifican a modo de fórmulas lógicas. Si no hay ninguna especificación formal, la herramienta de SPACIOS puede generar automáticamente un modelo a partir del código fuente. A continuación, se buscan posibles puntos vulnerables del modelo valiéndose de una plataforma puntera creada justamente con ese propósito denominada AVANTSSAR (en cuya creación participó el profesor Viganò en un proyecto anterior). Si se detecta un ataque, el comprobador del modelo emite un rastro del mismo que sirve para generar casos de prueba para el sistema. Si no se halla ningún ataque, el modelo se transmuta para introducir a la fuerza en la especificación puntos vulnerables estándar y se repiten las pruebas. Todo rastro de ataque descubierto se aprovecha para generar casos de prueba, los cuales se vuelven a ejecutar en el sistema. El proceso se repite hasta que se han comprobado todos los parámetros y todas las posibles lagunas de seguridad. «Se debe señalar que los distintos componentes del sistema se pueden usar por separado. Están integrados en una plataforma de Eclipse que permite al usuario escoger exactamente lo que quiere hacer», destacó el coordinador de SPACIOS. El equipo responsable probó la herramienta en varias condiciones de uso pertinentes para este sector y con aplicaciones reales. Se buscaron, por ejemplo, puntos débiles de la seguridad en el Single Sign-on para web SAML 2.0 y también en OpenID. El primero es un estándar de popularidad creciente que permite a socios de negocios online autenticar a sus usuarios una sola vez dentro de un entorno de identidades federado. El segundo es un protocolo de Single Sign-on abierto y centrado en el usuario para buscadores web que permite autenticar a un usuario solicitándole que demuestre que controla un único identificador. La herramienta de SPACIOS se aplicó también, entre otras tareas, a una serie de aplicaciones web de código abierto, concretamente una librería online, una página de anuncios clasificados y un directorio de empleados. Estas aplicaciones web se habían usado anteriormente como objetivos de tareas de comprobación de la seguridad y análisis del código fuente. Siemens y SAP, dos socios industriales alemanes de SPACIOS, propusieron otros tres casos de aplicación para validar la herramienta: Pervasive Retail, o comercio minorista ubicuo (que contiene una novedosa plataforma bajo demanda de gestión de publicidad para lograr la interactividad entre consumidores, minoristas y proveedores de productos como teléfonos móviles); Infobase Document Repository (que aplica un sistema de gestión de documentos que permite la gestión segura y el intercambio de documentos o archivos de datos valiéndose de navegadores web); y eHealth (basado en sistemas mashup -aplicaciones híbridas- que crean y utilizan registros electrónicos de salud y, por otro lado, aglutinan otras funciones como el apoyo a las decisiones del profesional, el análisis de imágenes y un sistema de facturación). Teniendo en cuenta la amplitud del Internet de los servicios y su expansión en los próximos años, previsiblemente rápida, se puede afirmar que los ámbitos de aplicación posibles de la herramienta de SPACIOS son casi interminables. Si se implanta a gran escala, proporcionará a los usuarios más seguridad y abaratará considerablemente los costes que acarrea el desarrollo de servicios web. «El método de SPACIOS posibilitará una integración homogénea dentro del ciclo de desarrollo de servicios, abarcando desde el análisis en la fase de diseño hasta la realización de una comprobación en la fase de ejecución, lo cual rebajará sensiblemente los costes para los desarrolladores. Es difícil realizar un cálculo exacto, pero esperamos poder ofrecer algunas mediciones una vez los socios industriales emprendan la integración», anunció el profesor Viganò. Aunque los socios no tienen previsto comercializar a corto plazo esta herramienta de forma directa, ya está siendo utilizada en este sector por Siemens, SAP y otras entidades, aseguró el profesor Viganò. Además, los socios se plantean la posibilidad de iniciar un proyecto complementario para optimizar la tecnología de pruebas de defectos y puntos vulnerables. La investigación de SPACIOS fue subvencionada por el Séptimo Programa Marco (7PM) de la Unión Europea. Enlace al proyecto en CORDIS: - el 7PM en CORDIS - ficha informativa del proyecto SPACIOS en CORDIS Enlace a la página web del proyecto: - web de «Secure provision and consumption in the Internet of Services» Otros enlaces: - web de la Comisión Europea dedicada a la Agenda Digital