3.1.Introducción
En el Capítulo 2 se discutió la problemática en el desarrollo de modelos de calidad y en la selección de productos COTS llegando a la conclusión de que, al no disponer de un proceso que permita validar los criterios y obtener la importancia relativa de cada uno de ellos, así como, las relaciones de influencia entre los mismos, era necesario desarrollar un proceso propio para la posterior obtención del modelo de calidad para productos COTS de seguridad. En este capítulo se define el proceso que hemos denominado DuMoD del inglés
Domain-oriented qUality MOdels Development. Dicho proceso está basado, por una parte en un enfoque teórico a través de la aplicación de normas, estándares y otros trabajos de investigación relacionados tanto con la ingeniería del software como con el dominio de aplicación al que se aplica, y por otra, en un enfoque empírico, a través de la consulta a expertos en las distintas áreas involucradas en la evaluación de productos. Los objetivos del proceso son los siguientes:
1. Obtener un catálogo completo de criterios adaptados al dominio de aplicación específico a través del análisis de las normas y otros trabajos de investigación relacionados.
2. Consensuar, validar y reducir el catálogo utilizando el criterio de expertos en las diferentes áreas de conocimiento involucradas en el proceso de evaluación validando así el modelo teórico y reduciéndolo con el fin de que sea eficiente. 3. Cuantificar la importancia relativa de cada criterio para poder usarlos en las
evaluaciones cuantitativas, ya sea para tener definido el peso de cada factor en las evaluaciones en las que no se dispone de requisitos de usuario para poder
obtenerlo (por ejemplo, las evaluaciones de productos para fabricantes), o ya sea para que sirva de base para un posterior refinamiento en su adaptación a cada proyecto específico.
La principal aportación de este proceso es la participación de expertos en el mismo y la aplicación de análisis multivariable a los datos obtenidos para obtener así el modelo final validado por expertos. De esta forma, los criterios obtenidos de forma teórica a través de la aplicación de estándares y otros trabajos de investigación pueden ser consensuados y validados por expertos con múltiples experiencias en las áreas de conocimiento involucradas. Por tanto, la aplicación del proceso proporciona como principal beneficio la obtención de un modelo de calidad validado por expertos de diferentes áreas de conocimiento o perfiles profesionales que puede ser aplicado tanto en el proceso de desarrollo o mejora de productos software de calidad por parte de fabricantes, como en el proceso de evaluación o selección de productos por parte de empresas usuarias del software. Para facilitar una mejor adaptación del modelo según los requisitos de cada proyecto particular, se proporcionan los modelos obtenidos de cada grupo de expertos por área de conocimiento por separado. Este modelo incluye tanto los criterios considerados esenciales por los expertos como su importancia relativa dentro del modelo, lo que permite como mínimo guiar el proceso de adaptación del modelo al proyecto particular.
Este capítulo se estructura de la siguiente forma. En la sección 3.2 se describe el esquema de trabajo seguido para obtener la metodología. Dado que para definir el proceso se ha utilizado información ya descrita en el Capítulo 2, en esta sección se detallará el resto de información utilizada en su desarrollo. Por último, en la sección 3.3 se describen los objetivos, principios fundamentales y requisitos del proceso DuMoD para pasar posteriormente a definir paso por paso cada una de las fases que lo forman.
3.2.Esquema de trabajo
Para obtener la metodología de evaluación de productos COTS de seguridad informática que cumpla con todos las propiedades requeridas, se llevó a cabo un estudio centrado en
encontrar y validar con expertos en el área (investigadores y profesionales) las características más relevantes para este tipo de productos.
El proceso DuMoD que se desarrolla en este capítulo se ha obtenido a partir de:
- la aplicación del análisis realizado del estado del arte visto en el capítulo 3; y
- las lecciones aprendidas de dos estudios en los que se evaluaron productos software finales de seguridad informática.
A continuación se resumen los dos estudios llevados a cabo para la obtención del modelo de calidad desarrollado en este trabajo de tesis doctoral. Puede consultarse la información completa de evaluación en [Villalba y Fernández-Sanz 2007a, Villalba y Fernández-Sanz 2007b].
3.2.1.
Trabajo previo al desarrollo del modelo. Casos de estudio sobre
evaluación de productos COTS de seguridad
Dentro del proyecto de investigación UEM OTRI 2007/02 se llevaron a cabo dos estudios de evaluación, los cuales, motivaron nuestro interés en definir un nuevo método de evaluación más práctico y preciso para productos software finales de seguridad informática y nos ayudaron a obtener y evaluar dicho proceso. Los productos evaluados fueron Cryptosec 2048 de Realsec [Realsec 2008] e ISA Server 2006 de Microsoft [Microsoft 2009]. Un extracto de los informes de evaluación de los productos puede leerse en [Realsec 2007, Villalba y Fernández-Sanz 2007a] y [Villalba y Fernández-Sanz 2007b].
3.2.1.1 Descripción de los casos de estudio
La primera evaluación que se llevó a cabo fue solicitada por Realsec (http://www.realsec.com) quien, tras obtener el nivel EAL3 de seguridad (FIPS 140-2 [NIST 2001]17) en la evaluación de la seguridad de los módulos criptográficos desarrollados
17
para su producto Cryptosec 2048, tenía el objetivo de mejorar la calidad de su módulo de
seguridad hardware (HSM, Hardware Security Module) denominado Crytosec 2048. Dicho
módulo proporciona soporte a operaciones criptográficas de manera segura. El sistema consiste un módulo criptográfico con las funciones principales de generación, almacenamiento y protección de cifrado criptográfico. Además, también proporciona otras funciones como aceleración hardware para operaciones criptográficas tales como cifrado/descifrado. Una vez certificada la seguridad de Crytosec 2048, el objetivo de Realsec era que se evaluasen otras características como la eficiencia, dado que incluye aceleración hardware de las operaciones criptográficas, o la facilidad de uso, con el fin de mejorar el producto y obtener una valoración independiente del mismo. Un equipo de tres miembros con experiencia en calidad del software, productos de seguridad y procesos de evaluación, llevaron a cabo un proceso de evaluación que duró 8 semanas. Dado que existían métodos estándar de evaluación del software [ISO 1999a] y también diferentes métodos de evaluación para productos COTS), éstos se aplicaron en la medida de lo posible. Para llevar a cabo el proceso fue necesario un contacto continuo con el cliente: el proceso completo requirió 5 reuniones y un total de 202 criterios para medir. Los criterios de evaluación se obtuvieron de la adaptación de una lista mayor de 302 criterios que se adaptó al dominio específico. Dicha lista consistía en una colección de propiedades atómicas técnicas y estratégicas tal como se indica en la sección 4.1.2 . La evaluación solicitada por Realsec fue cualitativa por lo que, tras determinar los evaluadores cuántos de esos criterios eran satisfacía el producto, se entregó al cliente un informe con recomendaciones y los datos y registros de evaluación obtenidos.
En el segundo caso, se evaluaron dos componentes del producto Microsoft Internet Security and Acceleration (ISA) Server 2006: Application Firewall y web publication. El producto acababa de obtener el nivel EAL4+ del ISO/IEC 15408 [ISO 2005e] y el objetivo de la evaluación solicitada era conseguir un informe independiente para poder publicarlo en revistas de difusión. En este caso, el equipo de evaluación tuvo 4 semanas para llevar a cabo la evaluación. Al tener un espacio de tiempo tan corto para llevar conducir la evaluación, se llevó a cabo, una vez consensuado con el cliente, una evaluación basada en listas de comprobación (checklist) funcionales. Los criterios de evaluación utilizados en este caso
de la profundidad o exhaustividad de las pruebas de evaluación que se podían aplicar, dado el tiempo disponible para hacer la evaluación, y las implicaciones de las mismas. Además, en el informe cualitativo entregado al cliente, se dejó constancia de todo ello.
Junto con el informe de evaluación se entregó en ambos casos un sencillo cuestionario de satisfacción a los clientes de ambos estudios con el fin obtener retroalimentación para mejorar el proceso. Los resultados de estas encuestas, así como, las lecciones aprendidas de los principales problemas encontrados y las soluciones propuestas a cada uno de estos problemas se resumen a continuación.
3.2.1.2 Análisis de resultados
Aunque los clientes mostraron su satisfacción con nuestras recomendaciones tras la entrega del informe de evaluación, el proceso resultó en algunos aspectos problemático. A continuación se presentan las lecciones aprendidas tras la aplicación de la norma estándar de evaluación de la calidad del software y el análisis del estado del arte realizado en el Capítulo 2.
Lección 1: ISO/IEC 14598-5 [ISO 1998b] trata el proceso sistemático de evaluación