SISTEMAS DE AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS SYSTEM OF AUDIT TO MANAGEMENT SYSTEMS OF DATABASE Fernando Ricardo Romero1, Delis Ise Morales2, Luis Eduardo Gallardo Concepción3 Yeilenia Iris Pérez Vázquez4, Liera González 1 Universidad de las Ciencias Informáticas, Cuba fricardo@uci.cu, 10400 2 Universidad de las Ciencias Informáticas, Cuba, dise@uci.cu 3 Universidad de las Ciencias Informáticas, Cuba, legallardo@uci.cu 4 Universidad de las Ciencias Informáticas, Cuba, yiperez@uci.cu 5 Empresa de Telecomunicaciones de Cuba, Cuba liera.gonzalez@etecsa.cu RESUMEN: El aumento de información en el mundo se hace considerable a medida que pasa el tiempo. Asimismo, emerge un incremento de los ataques informáticos a la información que se almacena, en todos los sentidos. Con el objetivo de mantener los datos sensibles lo más protegidos posibles, las empresas realizan auditorías a sus sistemas gestores de bases de datos. La Empresa de Telecomunicaciones de Cuba (ETECSA), no está exenta de esto. La misma cuenta con un departamento de Seguridad Informática y en conjunto con la Universidad de las Ciencias Informáticas (UCI) desarrolla un producto llamado SASGBD. El software permite automatizar el proceso de auditorías de ETECSA, ya que este era bastante engorroso y se llevaba mucho tiempo. Está desarrollado en el lenguaje de programación JAVA, cuenta con soporte para tres tipos de Sistemas Gestores de Base de Datos en varias de sus versiones. SASGBD está compuesto por dos herramientas que dependen una de la otra. El módulo de base de datos es el encargado de gestionar la auditoria, mientras que el portable realiza las pruebas de seguridad al sistema gestor de base de datos, dando un resultado, que luego se gestiona para conformar un informe de la aplicación auditada, donde se detalla las vulnerabilidades con que cuenta el Sistema Gestor de Base de Datos. Palabras Clave: Auditorías, Base de Datos, Seguridad Informática. ABSTRACT: Increasing world information becomes considerable as time passes. It also emerges an increase in cyber attacks to information that is stored in every way. In order to keep sensitive data protected as much as possible, companies conduct audits of its management systems databases. The Telecommunications Company of Cuba (ETECSA), is not exempt from this. It has a department of Information Security and in conjunction with the University of Information Science (UCI) has developed a product called SASGBD. The software automates the process of ETECSA audito-laugh, because this was quite cumbersome and took too long. It is developed in the Java programming language, with support for three types of Management Systems Database in several versions. SASGBD consists of two tools depend on each other. The database module is responsible for managing the audit, while the portable safety tests performed to manager database system, giving a result which then manages to form a report by the appli-cation audited, where vulnerabilities available to the Database Manager System is detailed. KeyWords: Audits, Database, Computer Security. “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” 1. INTRODUCCIÓN En la actualidad, dados los altos niveles de complejidad que han alcanzado los procesos tecnológicos dentro de las empresas y la importancia de los sistemas de información, se ha incrementado la necesidad de supervisar los sistemas informáticos. Una de las empresas de mayor importancia en Cuba en cuanto al manejo de información, es La Empresa de Telecomunicaciones de Cuba (ETECSA). La misma, está destinada a brindar servicios de telecomunicación a todo el territorio de Cuba, no está exenta de este proceso de supervisión tecnológica que tiene como objetivo velar por la integridad, disponibilidad y confidencialidad de los datos almacenados, así como de que exista una correcta gestión de sus recursos informáticos. Por tanto, la empresa cuenta con un Departamento de Seguridad Informática con especialistas dedicados a velar por la seguridad de la información y de los usuarios a los que esta les ofrece servicios. Se realizan auditorías planificadas a los sistemas operativos de los servidores anfitriones, las aplicaciones y a los sistemas que gestionan las bases de datos en todas sus entidades para velar por la integridad de los datos que se almacenan en estos activos informáticos. Para la realización de auditorías a los Sistemas Gestores de Base de Datos (SGBD), el departamento contaba con una serie de guías de revisión que contienen sentencias que eran ejecutadas manualmente por un especialista. Todo esto en conjunto con otro documento que constaba una matriz de revisión y que contiene aspectos de los parámetros tales como: mejores prácticas, el riesgo, entre otros datos necesarios para la realización de las auditorías. Además de analizar los documentos antes mencionados que podían ser bastante extensos, el auditor debía devolver los resultados para que el supervisor realizara la matriz de resultado y así conformar el informe final. El proceso podía volverse demasiado engorroso, y llevarse mucho tiempo la realización de una auditoria, además de toda la información generar una gran cantidad de documentación. Todo lo que anteriormente se menciona dio paso a que ETECSA decidiera automatizar sus procesos de auditoria a los SGBD. Por tanto, en conjunto con la Universidad de Las Ciencias Informáticas (UCI) surge el proyecto SASGBD, desarrollado en el Centro Telemática de la Facultad 2. El software desarrollado en java, cuenta con dos aplicaciones: Modulo de Base de Datos (ModuloBD) y Portable. Actualmente SASGBD cuenta con soporte para tres SGBD: PostgresSQL, MySQL, SQLServer. Oracle es además uno de los SGBD que están concebidos para incorporar al sistema. Para cada uno de los SGBD 2. CONTENIDO 2.1 Metodología de desarrollo Las metodologías de desarrollo son un conjunto de procedimientos, técnicas y normas que ayudan al proceso de desarrollo de software, así como a su documentación. Existen diferentes metodologías para hacer un software, y cada una se adapta a determinada situación, sin embargo, para proyectos grandes y complejos muchos autores recomiendan el uso de RUP1. [1]. Para guiar el desarrollo del producto SASGBD se utilizó como guía de desarrollo la metodología RUP. Una de las principales características que tiene RUP es que es dirigido por caso de usos, está centrado en la arquitectura y es iterativo incremental. Esta metodología genera una exhaustiva documentación, por lo que fueron generados un conjunto de artefactos. Cuando la UCI alcanza el nivel 2 de CMMI algunos de estos artefactos fueron cambiando y se fue adaptando los expedientes de proyecto a una nueva versión emitida por el Grupo de Calidad de la institución. CMMMI es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Es-tos niveles sirven para conocer la madurez de los procesos que se realizan para producir software. [2] Actualmente SASGBD cuenta con un expediente de proyecto actualizado, teniendo en cuenta todo lo que platea en nivel de CMMI en que se encuentra la UCI. 2.2 Estructura de SASGBD. En el proceso de auditorías del departamento de seguridad informática de ETECSA existen dos intermediarios, que serían los supervisores (encargados de gestionar las auditorías) y los auditores (administradores de las bases de datos, de las aplicaciones que serán auditadas). En la figura 1 se detalla la composición del SASGBD. El ModuloBD está compuesto por: Auditorías: incluye las funcionalidades asociadas a parámetros, indicadores, fichero de parámetros y análisis de resultados. Administración: incluye las funcionalidades 1 Rational Unified Process, por sus siglas en inglés. “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” asociadas a la gestión de los usuarios del sistema, permisos y privilegios. Por su parte el Portable está diseñado para que se comporte como un asistente para la realización del diagnóstico a una Base de Datos determinada. El ModuloBD. El supervisor le entrega personalmente el script al administrador de la Base de Datos a supervisar. El mismo ejecuta el script correspondiente a la Base de Datos a auditar en el Portable, una vez que ejecuta el script, obtiene los resultados de la supervisión en otro script. El administrador entrega el script de resultados para su posterior análisis en el ModuloBD. Una vez cargado el fichero de resultado se procede a completar la Matriz la cual realiza una descripción de todas las vulnerabilidades detectadas. Por último, se elabora un Informe general que sintetiza los resultados de la supervisión. 2.3 Arquitectura del sistema. Figura 1 Estructura de SASGBD A continuación, se detalla en una tabla los actores que intervienen en el negocio de la aplicación. Actor Objetivo Supervisor Realiza supervisiones a los SGBD que se encuentran hospedados en los servidores de ETECSA y confecciona el Informe General de auditoría. Administrador de BD Ejecuta el script2 para cada SGBD a auditar y obtiene el script de resultados. Tabla 1 Actores del sistema El negocio inicia cuando se determina por la planificación, realizar una supervisión a uno o varios SGBD instalados. Una vez seleccionado el SGBD se procede a seleccionar el script correspondiente para realizar la supervisión, el cual es generado mediante El diseño está estrechamente ligado a la arquitectura que se utiliza para el desarrollo. Siendo la arquitectura multicapas la seleccionada para la elaboración del SASGBD, la cual posee ventajas en la descentralización del sistema, organización del modelo de diseño en capas y facilidad en la detección y corrección de errores, además de ofrecer una mayor transparencia y entendimiento del sistema. La arquitectura en capas reduce las dependencias, lo cual se refleja en que los componentes de una capa sólo pueden hacer referencia a componentes en capas inmediatamente inferior o superior. La siguiente figura muestra como quedó estructurada la arquitectura del sistema. Figura 2 Arquitectura del sistema. La capa GUI es la capa que contendrá las interfaces gráficas mediante las cuales los usuarios harán uso de la aplicación. La misma tendrá una carpeta UI que almacenará las interfaces gráficas, una segunda lla- 2 Los scripts son programas, usualmente pequeños o simples, para realizar generalmente tareas muy específicas. “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” mada Implementación donde estarán las implementaciones para controlar los eventos de las interfaces gráficas. La capa Entorno, es una capa de abstracción entre la capa GUI y la capa de Negocio, es la encargada de establecer la comunicación entre ambas capas. Es el contenedor de los datos de las vistas de la aplicación. La capa de Negocio contendrá toda la lógica de negocio, es quien implementa las funciones de la aplicación. La misma tiene una carpeta Interfaces que es donde estarán las clases interfaces que definirán el comportamiento de las clases del negocio. Tendrá además una carpeta Implementación donde estarán las clases que implementarán las interfaces del negocio. Esta capa se comunica con la capa de Acceso a Datos (AD). La capa AD (Acceso a Datos) manejará todo lo relacionado con el acceso a los datos, es una capa que abstrae al negocio del modo en que la aplicación se conectará a la Base de Datos, esto permitirá que la Base de Datos pueda cambiar en un futuro y no haya que hacer muchos cambios en el negocio. Esta capa también contendrá una carpeta Interfaces donde estarán las clases de interfaces correspondientes y una carpeta Implementación que tendrá las clases que implementarán las interfaces. La capa Comunicador, es una capa vertical que tendrá la interfaz de comportamiento que deberá ser implementada por cada uno de los plugins. La capa Plugins, es una capa vertical que tendrá dentro los plugins para el análisis de los resultados de los diferentes SGBD, los cuales serán accedidos a través de la capa Comunicador. Figura 3 Autenticación El principal actor en el ModuloBD es el supervisor, que una vez dentro de la aplicación tendría la posibilidad de gestionar, la parte de administración que contiene usuarios, roles y privilegios. Además, podrá también visualizar cada uno de los parámetros de cada gestor en la aplicación mediante un menú desplegable que se encuentra en la parte izquierda de la aplicación como se muestra en la figura 4 2.4 Sistema Como ya fue mencionado antes SASGBD cuenta con dos roles esenciales, ambos pueden acceder al ModuloBD, con sus respectivos privilegios mediante una interfaz principal de autenticación que se muestra en la figura 3 Figura 4 Interfaz del ModuloBD El supervisor podrá también hacer búsquedas avanzadas de matrices e informes almacenados en la base de datos de la aplicación. Vea la figura 5 “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” Figura 7 Interfaz del ModuloBD Figura 5 Interfaz del ModuloBD En la siguiente imagen se muestra un ejemplo de la interfaz donde se carga el fichero de resultados que entrega el auditor al supervisor. Luego de haber mostrado algunos ejemplos de interfaces del ModuloBD se muestra a continuación la herramienta Portable que es utilizada por el auditor. Una vez ejecutada se muestra una primera interfaz de inicio de la aplicación como se puede apreciar en la figura … Figura 6 Interfaz del ModuloBD Una vez cargados los ficheros de resultados se elaboran las matrices con los resultados y evaluación de cada parámetro. Ya concluida se le asigna un riesgo que es calculado teniendo el impacto y la evaluación de los parámetros. En la figura … se puede ver un ejemplo. Estas matrices son utilizadas para elaborar el informe final, vale destacar que un informe final puede ser generado utilizando una o varias matrices existentes en el sistema. Además de que para generar los informes tienen que estar concluidas, por lo que no puede quedar ningún parámetro sin evaluar y debe tener al menos una vista informe y una recomendación. Figura 8 Interfaz del Portable Posteriormente de que es entregado el script de revisión al auditor este pasa a cargarlo como se muestra en la figura… “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” Listar los SGBD existentes en la aplicación. Gestionar usuarios, roles y privilegios del sistema. Generar script. Importar script. Realizar auditoria aun SGBD determinado. Generar informe. 2.6 Resultados del sistema Figura 9 Interfaz del Portable Para que la herramienta Portable funcione debe conectarse a el servidor donde se encuentra el SGBD, y teniendo en cuenta si el script contiene algún parámetro de tipo comando (este tipo de parámetro evalúa aspectos que salen por el sistema operativo), se procede a establecer la conexión con el sistema operativo, o no. En la siguiente figura se muestra un ejemplo mediante una imagen de lo anteriormente mencionado. Automatización del proceso de auditorías a SGBD de departamento de Seguridad Informática de ETECSA. El producto es utilizado por ETECSA. Fórums nacionales de ETECSA. 3. CONCLUSIONES Tras haber culminado el presente trabajo se puede arribar a las siguientes conclusiones: El proceso de auditorías a SGBD de ETECSA se automatizó ahorrándole tiempo y esfuerzo al personal del Departamento de Seguridad Informática. Se obtuvo una herramienta con la calidad requerida, para comercializar. La UCI cuenta con una herramienta que puede ser objetivo de muchas instituciones que les interese la seguridad de sus SGBD. 4. AGRADECIMIENTOS Merecidos reconocimientos tienen los compañeros que han formado parte del proyecto que desarrolló este producto, por su incansable trabajo y esfuerzo. Al personal del Departamento de Seguridad Informática de ETECSA. 5. REFERENCIAS BIBLIOGRÁFICAS Figura 10 Interfaz del Portable 2.5 Objetivos generales del sistema Gestionar los Indicadores. Gestionar los parámetros. 1. IngenieroSoftware. [En línea] http://www.ingenierosoftware.com/calidad/cmmcmmi.php. 2. Mendoza, Maria A. Sanchez. Metodologías De Desarrollo De Software. 2004. “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información” Ricardo, F. | “AUDITORIA A SISTEMAS GESTORES DE BASE DE DATOS” 6. BIBLIOGRAFÍA 7. SÍNTESIS CURRICULARES DE LOS AUTORES TLM_AuditBD_Manual de Usuario_ModuloBD. TLM_AuditBD_Manual de Usuario_Herramienta Colaborativa. Tesis de Diploma, Sistema para la realización de auditorías a Sistemas Gestores de Bases de Datos. Tesis de Diploma, Herramienta Web para la Gestión de Auditorías a Sistemas gestores de Base de Datos . El autor Fernando Ricardo Romero, de 25 años de edad, nació el 18 de marzo de 1990. Su dirección oficial radica en Banes, provincia Holguín. Posee nivel universitario, específicamente ‘’Ingeniería en Ciencias Informáticas’’, el cual obtuvo en el año 2014 en la Universidad de las Ciencias Informáticas. Actualmente es desarrollador principal del proyecto AuditBD, perteneciente al Centro de Telemática de la universidad antes mencionada. Su experiencia laboral consta de un año, pues acaba de comenzar su segundo año. Cuenta con experiencia, en otros proyectos, como Platsi, pues su tesis de pregrado fue realizada en ese proyecto. Detalles de contacto: fricardo@uci.cu “XII Seminario Iberoamericano de Seguridad en las Tecnologías de la Información”