INTEGRACIÓN DE ANÁLISIS DE SEGURIDAD CON EL PROCESO DE DESARROLLO SOFTWARE EN UML PARA APLICACIONES CRÍTICAS DE SEGURIDAD



Documentos relacionados
Proyecto realizado por la alumna: Ana Mingote Villanueva. Autorizada la entrega del proyecto cuya información no es de carácter confidencial

Título del Proyecto: Sistema Web de gestión de facturas electrónicas.

Diseño ergonómico o diseño centrado en el usuario?

ADAPTACIÓN DE REAL TIME WORKSHOP AL SISTEMA OPERATIVO LINUX

Este proyecto tiene como finalidad la creación de una aplicación para la gestión y explotación de los teléfonos de los empleados de una gran compañía.

DISEÑO DEL EQUIPAMIENTO DE UN ESTUDIO DE GRABACIÓN DIGITAL RESUMEN. Sergio Herreros Carballo

Sistema basado en firma digital para enviar datos por Internet de forma segura mediante un navegador.

UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL DIRECCIÓN GENERAL DE POSGRADOS MAGÍSTER EN GERENCIA DE NEGOCIOS. Trabajo de grado para la obtención del título de:

Sistemas de impresión y tamaños mínimos Printing Systems and minimum sizes

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

Diseño de un directorio Web de diseñadores gráficos, ilustradores y fotógrafos.

Tesis de Maestría titulada

SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE CONTROL DE ICAI

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniera en Electricidad y Computación. Tema:

Por tanto, la aplicación SEAH (Sistema Experto Asistente para Hattrick) ofrece las siguientes opciones:

SISTEMA DE GESTIÓN DE RECIBOS

Contents. Introduction. Aims. Software architecture. Tools. Example

Sistema de Control Domótico

DISEÑO DE UN MOLDE DE INYECCIÓN DE PIEZAS DE PLÁSTICO MEDIANTE LA UTILIZACIÓN DE TECNOLOGÍAS DE PROTOTIPADO RÁPIDO

Impacto de la metodología de FINCA Costa Rica en las Empresas de Crédito Comunal

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos

SISTEMA DE GESTIÓN Y ANÁLISIS DE PUBLICIDAD EN TELEVISIÓN

"Módulo OOWS para StarUML" INTRODUCCIÓN

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

E-learning: E-learning:

Final Project (academic investigation)

INSTITUTO POLITÉCNICO NACIONAL

JESÚS EDUARDO CORTÉS SÁNCHEZ

Unidad 1. Fundamentos en Gestión de Riesgos

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Universidad Nueva Esparta Facultad de Ciencias de la Informática Escuela de Computación

App para realizar consultas al Sistema de Información Estadística de Castilla y León

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA. Documentación de Motivación del Proyecto. JMit. Java Monitoring by Introspection Tool

ANÁLISIS ESTADÍSTICO DE PORQUE LO JÓVENES EN LA ACTUALIDAD CONSUMEN ALCOHOL

LA DOCENCIA EN CONTABILIDAD ; ANALITICA Y EL APOYO DE LA ; VIRTUALIZACION EN EL MARCO ; DEL ESPACIO EUROPEO DE EDUCACION SUPERIOR

Lista de verificación de Antes de registrarse en Quantum View Outbound

Elementos requeridos para crearlos (ejemplo: el compilador)

UNIVERSIDAD DE LAS AMERICAS Facultad de ingeniería

Sistema!de!iluminación!de!un!longboard!

Sistema de gestión de datos GESTSOFT

6,7,26:(%'(,17(5e6'(1752'(/,(((,3$*,1$6:(%'(,17(5(63$5$0,(0%526<120,(0%526

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

ANÁLISIS DE ELASTICIDADES DE ALIMENTOS Y PRODUCTOS AGRÍCOLAS CHILENOS Y PROYECCIONES DE CONSUMO PARA EL SECTOR PECUARIO

LUIS GERARDO RUIZ AGUDELO

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Eurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES

Año Dirección de Evaluación y Acreditación Universitaria

Esfuerzo. Fig. 1. Gestión de la configuración y esfuerzo destinado durante cada etapa.

PLAN DE MERCADEO PARA LA DISTRIBUCIÓN Y DESARROLLO DE SOFTWARE ADMINISTRATIVO DIRIGIDA A LAS PEQUEÑAS Y MEDIANAS EMPRESAS (DISTRITO CAPITAL)

UNIVERSIDAD TECNOLÓGICA ISRAEL

DISEÑO DE UN CRONOTERMOSTATO PARA CALEFACCIÓN SOBRE TELÉFONOS MÓVILES. Entidad Colaboradora: ICAI Universidad Pontificia Comillas.

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de

Bases de datos. 1. Introducción

GedicoPDA: software de preventa

APLICATIVO WEB PARA LA ADMINISTRACIÓN DE LABORATORIOS Y SEGUIMIENTO DOCENTE EN UNISARC JUAN DAVID LÓPEZ MORALES

Certificación en España según normas UNE-EN-ISO 9000 y 14000

MODELO DE PLAN PRELIMINAR DE VALIDACIÓN Y VERIFICACIÓN PARA EL SISTEMA DE PROTECCIÓN DEL REACTOR CAREM

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta

Servicio de Apoyo a la Investigación. Tutorial EndNoteWeb

Software Útil para Todos. Desarrollado por:

GMF Gestor de incidencias

Pages: 205. Authors: Dr. Carmen Bestué, Ph. D. Dr. Mariana Orozco Jutoran, Ph. D. Chapters: 6

Introduction to Sustainable Construction

De la Integración Continua a la Entrega Continua

VENTAS EFECTIVAS EN UN CALL CENTER CON INTERVALOS DE CONFIANZA

DISEÑO DE UN PLC DOMÉSTICO UTILIZANDO UN MICROCONTROLADOR PIC-18F4550

Práctica 5. Curso

El Cliente y El Ingeniero de Software

AUDITAJE A PROCESOS DE RECOLECCION, VALIDACIÓN Y MINERÍA DE DATOS SOCIALES.

2 EL DOCUMENTO DE ESPECIFICACIONES

Gestión de Ficheros en ruralvía Recibos

ESTUDIO COMPARATIVO DE DIFERENTES TECNOLOGÍAS DE

Máxima flexibilidad en paletizado automático al mejor precio

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Sesión No. 7. Contextualización: Nombre de la sesión: Intelisis Business Intelligence PAQUETERÍA CONTABLE

Programación en Capas.

Tableros de control interactivos para los responsables de la toma de decisiones

Cuadros de mando interactivos para los responsables de la toma de decisiones

La Calidad como determinante de la demanda de servicios de atención médica primaria en México

Descubra las novedades de EasyProf 3.0! Cambios en la filosofía de trabajo

Esta prestación permite enviar las hojas de salario por a nivel de empresas, centros de trabajo o trabajadores.

Louise Harvey, The Handbag Fairy Belfast, Irlanda del Norte

Curso de Java POO: Programación orientada a objetos

El Proceso Unificado de Desarrollo de Software

Gestión de la Configuración

PROGRAMA PARA ANALIZAR DOCUMENTOS Y DETECTAR

Generación de código para Hibernate desde modelos UML

Anteproyecto Fin de Carrera

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler

Un primer acercamiento a la CMDB.

Contratación e Integración de Personal

Implantación de SAP for Banking para la Sección de Crédito de Cofares

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Introducción a Protégé

CONCLUISIONES Y RECOMENDACIONES

PROPUESTA METODOLOGICA PARA LA EDUCCIÓN DE REQUISITOS EN PROYECTOS DE EXPLOTACIÓN DE INFORMACIÓN

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP

Transcripción:

INTEGRACIÓN DE ANÁLISIS DE SEGURIDAD CON EL PROCESO DE DESARROLLO SOFTWARE EN UML PARA APLICACIONES CRÍTICAS DE SEGURIDAD Autora: Ana Mingote Villanueva Directora: Yolanda González Arechavala Entidad Colaboradora: ICAI Universidad Pontificia Comillas Resumen Garantizar la seguridad del software es cada vez más importante. Con este propósito, en este proyecto se ha realizado un detallado estudio del estado del arte en el campo de la seguridad software; se describen los conceptos principales y se señalan algunas de las líneas de investigación más detacadas. De la misma manera también se estudia la notación UML, por ser un estándar muy utilizado para el diseño de sistemas. Tras este estudio, se busca una solución eficiente y novedosa que permita mejorar la seguridad de los sistemas críticos que se desarrollen. La solución que se plantea en este proyecto es integrar los análisis de seguridad en el propio proceso de desarrollo del software, añadiendo información relacionada con la seguridad en el modelo software, utilizando para ello la misma herramienta CASE que para el modelado. De esta manera se consigue enlazar los análisis de seguridad con el desarrollo del software. Con este objetivo, partiendo de la herramienta CASE StarUML para el modelado, se desarrolla un nuevo módulo Safety UML, que implementa un perfil de seguridad para extender la notación UML estándar. También se desarrolla un módulo para la generación automática de informes de seguridad a partir de la información contenida en el modelo realizado. Ambos módulos se integran en la herramienta StarUML. Palabras clave: seguridad software, análisis de seguridad, UML, integración de seguridad. 1. Introducción La seguridad del software ha ido ganando importancia en los últimos años. Esto se debe, en gran medida, a que los sistemas que se desarrollan actualmente son demasiado complejos para estar controlados únicamente por hardware, como ocurría tradicionalmente, cuando incluso sistemas tan críticos como una central nuclear se controlaban por hardware.

Esta importancia creciente de la seguridad en el software ha llevado a adaptar y aplicar técnicas de análisis de seguridad, que antes eran propias del hardware, sobre el software. Esto es lo que proponen algunos investigadores como en [DEMI08], que aplican FMCA y FTA; en [TOWH03], que aplican FTA; y otros como [HASS05], que proponen una combinación de varias técnicas (FFA, FMEA y FTA). Sin embargo, garantizar la seguridad del software es un proceso costoso y complejo; las técnicas de análisis de seguridad del software aún no están muy consolidadas, y debido a que las posibilidades que incluye el software son prácticamente ilimitadas, debido a su carácter flexible, probar todas ellas es una tarea muy costosa. Existen varias líneas de investigación que proponen la integración de los análisis de seguridad en el modelado del software. En este proyecto se ha elegido la línea de [ZOUG06], que propone el desarrollo de un perfil que extienda la notación UML en el área de la seguridad. De esta manera, la información de seguridad se tiene muy en cuenta desde las primeras fases de desarrollo del sistema y durante todo el proceso, al estar esta información incluida directamente en el modelado UML del sistema. En los siguientes apartados de este artículo se profundiza en el trabajo que se ha realizado, distinguiendo las siguientes partes: la sección Trabajo realizado, donde se describe el trabajo que se ha desarrollado en el proyecto. La sección de Resultados, en la que se analizan los objetivos conseguidos y las nuevas aportaciones al área de la seguridad software. A continuación, las Conclusiones, donde se exponen brevemente las conclusiones a las que se ha llegado tras la finalización del proyecto. Por último, las Referencias, donde se lista la bibliografía utilizada. 2. Trabajo realizado En este proyecto, tras el estudio del estado del arte en el campo de la seguridad software y modelado en UML, se desarrolla un perfil que extiende la notación UML con información de seguridad. Para ello, se añaden sobre los diagramas de clases UML, por ser estos de gran importancia en el diseño del sistema, etiquetas semánticas llamadas estereotipos (stereotypes). Los estereotipos permiten añadir a elementos del diagrama, que pueden ser clases, operaciones o relaciones, alguna característica de ese elemento relativa a la seguridad del sistema. Además, una vez asignado un estereotipo, si se han definido en el

perfil tagged values para él, se le pueden asignar los valores oportunos. Los tagged values son atributos que dan información adicional sobre la característica que refleja el estereotipo con el que se ha señalado al elemento concreto del diagrama. Este módulo se integra en una herramienta de modelado de libre distribución, StarUML, permitiendo modelar sistemas críticos de seguridad que, posteriormente, serán almacenados en formato XML, pudiéndose utilizar con diversos fines. Uno de ellos es la generación de manera automática de un informe de seguridad, que permite obtener una visión global de la seguridad del sistema y de aquellos aspectos que destacan por su criticidad, y que también se ha desarrollado en este proyecto. Para generar estos informes de manera automática se ha implementado un módulo programado en Java que desarrolla esta nueva funcionalidad, y que se integra en la herramienta StarUML a través de un nuevo menú. 3. Resultados Como resultado del trabajo realizado en este proyecto, se pueden destacar los siguientes aspectos: Se ha desarrollado un módulo, perfil Safety UML, que permite tener en cuenta los requisitos de seguridad desde las primeras etapas del desarrollo del sistema, ya que se ha conseguido integrar la información de la seguridad del sistema dentro del propio modelado. La integración en un mismo diagrama de modelado y seguridad permite reducir la distancia o gap entre ingenieros de seguridad e ingenieros de desarrollo, quienes típicamente no suelen tener formación específica ni experiencia en aspectos de seguridad. La siguiente figura refleja esta situación:

Requisitos de seguridad Modelo UML Ingeniero de seguridad Ingeniero de desarrollo Ilustración1: Comunicación entre Ingenieros de Seguridad e Ingenieros de Desarrollo [ZOUG06] Se ha desarrollado un módulo en Java que permite, a partir de la información contenida en el fichero XML obtenido del modelo UML, generar de manera automática un Informe de seguridad que será un documento en formato PDF que detallará los aspectos de seguridad más importantes del sistema. Se ha logrado automatizar ambos procesos mediante la integración en una herramienta CASE del perfil de Safety y la integración de la funcionalidad para la generación posterior de manera automática del informe de seguridad. De esta manera se evitan muchos de los posibles errores de interpretación que se producen de manera casi inevitable cuando interviene el factor humano. 4. Conclusiones En los últimos años se están realizando muchos estudios e investigaciones sobre seguridad software, puesto que mejorar la seguridad en el desarrollo de software aporta ventajas, tanto económicas como de calidad. La solución aquí propuesta permite integrar seguridad y modelado, incluyendo de esta manera la seguridad del software en el proceso de desarrollo desde las primeras etapas y durante todo el proceso. De esta manera se consigue también que ante un

cambio se puedan realizar de manera rápida y eficiente los análisis de impacto del cambio. La solución que se ha desarrollado aporta también la ventaja de que, al haberse automatizado el proceso, la información sobre la seguridad del sistema software que se obtiene es totalmente objetiva, reduciéndose de esta manera los posibles errores de interpretación que se producen de manera prácticamente inevitable cuando interviene el factor humano. De la misma manera, al poder incorporar información de seguridad sobre el propio modelado del sistema, se consigue reducir la distancia o gap, entre ingenieros software e ingenieros de seguridad. 5. Bibliografía [DEMI08] de Miguel, M. A., Briones, J. F., Silva, J. P., & Alonso, A. (2008). Integration of safety analysis in model-driven software development. IET Software, 2(3), 260-280. [TOWH03] Towhidnejad, M., Wallace, D. R., & Gallo, A. M. (2003). Fault tree analysis for software design. 27 Th Annual NASA Goddard/IEEE Software Engineering Workshop. [HASS05] Hassan, A., Goseva-Popstojanova, K., & Ammar, H. (2005). UML based severity analysis methodology. IEEE. [ZOUG06] Zoughbi G., Briand L., Labiche Y. (2006). A UML profile for developing airthworthiness- compliant safety-critical software.

INTEGRATION OF SAFETY ANALYSIS IN SOFTWARE DEVELOPMENT PROCESS IN UML FOR SAFETY-CRITICAL APPLICATIONS Author: Ana Mingote Villanueva Director: Yolanda González Arechavala Collaboration Entity: ICAI Universidad Pontificia Comillas Abstract The assurance of software safety is increasingly important. With this aim, in this project, it has been carried out a study of state of the art in the field of software safety. Thus, most important concepts and some investigation lines related to software safety have been described. From a similar way, Unified Modelling Languaje (UML) has been studied because it is a very often used standard for system design. After this study, and with the purpose to improve software safety, an effective and innovating solution has been proposed. This solution consists on integrating the safety analysis with the software development, adding information about safety in the model using the same tool that has been used in the modeling step. This research allows linking safety analysis and software development. With this purpose, a new module Safety UML has been developed. This module implements a safety profile which extends UML standard notation. Moreover, it has been developed another module that allows to generate automatically safety reports about the model realized. Both modules have been integrated in the CASE tool StarUML. Key words: software safety, safety analysis, UML, integration of safety. 1. Introduction Software safety has become increasingly a key aspect over the last years. This is because systems are more complex than they were in the past, when they were only controlled by hardware. It happened not just in simple systems but also in so critical ones as a nuclear central.

In order to improve software safety, many analysis techniques, traditionally applied to hardware, are now been adapted to software. This is the purpose of many research groups like [DEMI08], that apply FMCA and FTA, [TOWH03], that propose FTA, and [HASS05], that propose a mixture of several techniques (FFA, FMEA, and FTA). However, the assurance of software safety is a very difficult and expensive process. There are techniques to analyze software safety but they are not very consolidated. Thus, software has many possibilities to perform, so it is quite cumbersome testing all of them. There are many investigation lines that propose to integrate safety analysis in the model development software. In this project, the approach chosen is [ZOUG06]. This approach proposes the development of a new profile which extends UML standard notation in the field of software safety. This solution achieves that safety information was considered since the beginning and throughout of the development process because this information is just included in the model. The following sections of this paper are focused on the work made in this project. The next three parts can be distinguished: Research, in which the work that has been done is described. Results, where the achieved objectives are analyzed and the research is described. Next, in the Conclusions, the conclusions obtained are summed up. At last, in the References, there is a list of a range of books, journals and magazines that have been used. 2. Research In this project, after studying the state of art in the field of software safety, a new profile has been developed. This profile extends the UML standard notation with safety information. For that, some semantics labels called stereotypes can be added into some class diagram s elements like classes, operations and relationships. Thus, after a stereotype is assigned, more information can be included. This information consists on other labels called tagged values. Tagged values give additional information about a stereotype. This profile is integrated in a free modeling tool, StarUML, that allows modeling safety critical systems. After that, the information contained in the model is converted to

another format, XML. This information is very useful. For example, it is used to generate automatically a safety report about the system. Aimed at the generation of those safety reports, a new module has been developed. It is implemented in Java and integrated in StarUML throw a new menu bar. 3. Results As a result of the work that has been realized in this project, the following aspects can be distinguished: A new profile Safety UML has been development with the goal of integrating safety information with the modeling. This profile allows including safety information in the model since the beginning of the development process. Integration in a unique diagram modeling and safety information, allows reducing the gap between safety engineers and software engineers, who rarely have much knowledge of safety. The following picture shows this situation. Safety requirement Model requirement I l Information Flow u s Safety t engineer Software engineer r a tion1: Communication between software engineers and safety engineers. [ZOUG06]

A new module implemented in Java has been developed. It allows from information contained in the XML file, obtained from UML model, to generate automatically a safety report. This report is a document in PDF format in which there are described the most important aspects related to systems safety. It has achieved to automate both process (including information and generating the safety report) throw the integration of both modules in a CASE tool, StarUML. As a result the interpretation mistakes are avoided. 4. Conclusions Improving software safety gives many advantages like reducing cost and better quality. For that reason, in the last years, researches are coming up with new investigations in this field. The solution proposed in this project allows to integrate safety and modeling. In this way, software safety is included in the development process since the beginning steps of the process. Thus, this approach allows manage better any change that could be necessary. Another advantage of this solution is that is an automatic process, so the information obtained is totally objective, reducing considerably any interpretation mistake. In this way, the gap between software engineers and safety engineers is also reduces. 5. References [DEMI08] de Miguel, M. A., Briones, J. F., Silva, J. P., & Alonso, A. (2008). Integration of safety analysis in model-driven software development. IET Software, 2(3), 260-280.

[TOWH03] Towhidnejad, M., Wallace, D. R., & Gallo, A. M. (2003). Fault tree analysis for software design. 27 Th Annual NASA Goddard/IEEE Software Engineering Workshop. [HASS05] Hassan, A., Goseva-Popstojanova, K., & Ammar, H. (2005). UML based severity analysis methodology. IEEE. [ZOUG06] Zoughbi G., Briand L., Labiche Y. (2006). A UML profile for developing airthworthiness- compliant safety-critical software.