SISTEMA DE AUDITORIA PARA BASES DE DATOS ORACLE - Fierro Montenegro, Ondyna Lilián (2011)
INTRODUCCIÓN La mayoría de Empresas que almacenan su información en bases de datos Oracle no disponen de herramientas de software que les proporcionen la posibilidad de detectar si se han realizado accesos autorizados pero no adecuados a sus datos, quienes lo han hecho y que información se ha comprometido. La necesidad de las empresas de manejar grandes volúmenes de información de una manera rápida y segura han obligado a los Gerentes a recurrir a soluciones informáticas muy costosas, pero necesarias. Los sistemas implementados con Bases de Datos Oracle disponen de diversas herramientas que permiten el manejo eficaz de los datos importantes de una empresa, pero cuando se trata de auditoría de datos las herramientas degradan su rendimiento. Al mirar esta perspectiva, los gerentes generales, gerentes de sistemas, DBAs, Desarrolladores de Sistemas consideran largo y costoso el tiempo para realizar la tarea de Auditoría de Datos que permita mantener un control rápido y adecuado de los datos de su empresa. A pesar de haberla realizado no se puede conocer sobre una falla al momento en que esto sucede. El sistema SABDO está orientado a Gerentes generales, gerentes administrativos, DBAs y Desarrolladores de Sistemas; permite realizar una auditoría de los datos de una manera eficiente y con un resultado rápido en la entrega de información acerca de los accesos y modificaciones realizadas por los usuarios. Además realiza notificaciones en línea vía e-mail sobre operaciones críticas realizadas sobre la base de datos. Para el desarrollo del proyecto se utilizó metodología RUP (Rational Unified Process), de lo cual obtuvimos los siguientes artefactos que los presentamos en el siguiente orden: Página 3 de 14 1. Visión 2. Plan de Desarrollo del Software 3. Caso de Negocio 4. Lista de Riesgos 5. Glosario 6. Modelo de Casos de Uso y Pruebas 7. Prototipo de Interfaz de Usuario 8. Diccionario de datos 9. Guía de programación 10. Modelo de Implementación 11. Material de Apoyo al Usuario Final Beneficios Luego de poner en producción el sistema SABDO llegamos a las siguientes conclusiones: 1. Mejora la seguridad del sistema y asegura la responsabilidad del sistema. Captura el acceso regular y “back-door” a los sistemas revisados de la base de datos. 2. La administración centralizada facilita la revisión de sistemas múltiples de bases de datos. 3. La interfaz gráfica acorta la curva de aprendizaje por su facilidad de uso. 4. Proporciona informes analíticos que reducen grandes cantidades de datos a resúmenes comprensivos que permiten identificar fácilmente varias violaciones de la seguridad de la base de datos. Página 4 de 14 5. Proporciona los informes analíticos que ayudan a identificar qué procesos y usuarios acaparan los recursos del sistema. 6. Proporciona detalles del rastro de intervención que son inasequibles por parte de utilidades nativas de la base de datos. 7. Proporciona capacidad de generar alarmas en tiempo real vía email a las personas claves, cuando los cambios ocurren en datos sensibles. 8. Libera al DBA de la necesidad de crear y manejar disparadores de base de datos para la revisión de modificaciones en datos. 9. Apoya la flexibilidad para revisión de configuraciones, permitiendo al personal de la seguridad elegir tipos específicos de operaciones de la base de datos y de cambios de los datos que se deban supervisar y registrar en el rastro de intervención. 10. Proporciona a nivel de sistema de manera transparente la revisión de modificaciones de datos sin permitir ningún cambio sobre los mismos. Auditoría Informática La gran difusión de los sistemas de Gestión de Bases de Datos (SGBD) y la importancia de los datos como un recurso fundamental de la institución ha despertado el interés de los temas referentes a su control interno y auditoría. La auditoría informática se aplica de dos formas distintas: Se auditan las principales áreas del departamento de informática: explotación, dirección, metodología de desarrollo, sistema operativo, telecomunicaciones, bases de datos, etc. Se auditan las aplicaciones (Desarrolladas internamente, subcontratadas o adquiridas) que funcionan en la empresa. Página 5 de 14 La información confidencial de los clientes, usuarios, partners y empleados de una institución no le pertenece, las instituciones solo tienen una función fiduciaria sobre esos datos. Por tanto son responsables del manejo interno y externo de los datos que almacenan. Costo y precio Detalle USD Real (USD) Hardware Equipos de Computación Servidor de Aplicación Web Servidor de Base de Datos Equipo con Web Browser 1500 5000 5000 700 0.00 0.00 0.00 0.00 Software Oracle Standard One 10g (1 licencia por procesador) Oracle Developer Suite Release 10g Oracle Application Server 10g, Oracle Forms, Report Server (1 licencia por procesador) 5000 5000 20000 0.00 0.00 0.00 Capacitación a los Desarrollares Cursos y Libros, Asesoramiento 800 800 Proyecto Papelería y Suministros de Oficina 500 500 Subtotal (Parcial) 43500 1300 5% Imprevistos 240 115 Total 43740 1415 Tabla 1 Costo y Precio Descripción Global del Producto El Sistema de Auditoría de Bases de Datos mantendrá un registro de las acciones realizadas sobre la base de datos, haciendo referencia a nombre de objetos modificados, fecha de modificación, usuario que ha realizado la acción, en fin los datos más relevantes para poder llevar a cabo el seguimiento de las acciones realizadas. Se mantendrá un control en tiempo real de las actividades peligrosas realizadas en la base de datos para que sean notificadas inmediatamente a la persona responsable, además las Página 6 de 14 vistas de la auditoría podrán mantenerse actualizadas de acuerdo a los requerimientos del usuario. Auditoría de Conexiones: La auditoría de conexiones permitirá controlar las conexiones a la base de datos tanto las aceptadas como las rechazadas, manteniendo el detalle de los datos de los usuarios que las realizaron. Auditoría de Acciones: La auditoría de acciones comprenderá de un registro detallado de las instrucciones utilizadas, que permiten el manejo de los datos contenidos en los objetos pertenecientes a la base de datos Oracle entre estos mencionaremos los siguientes: Create… Alter… Drop… Rebuild… Compile… Select… Insert… Update… Delete… etc; que crean, borran, alteran, insertan datos, tablas, índices, triggers, etc. Auditoría de Objetos: La auditoría de objetos será un registro de los objetos de bases de datos como son: tablas, vistas, índices, constraints, sinónimos, vistas materializadas, secuencias, procedimientos, funciones, paquetes, triggers propios de la base de datos a los que un usuario ha accesado. Auditoría de Datos: La auditoría de datos representa la información detallada de los datos que han sido modificados, adicionados, borrados manteniendo un registro de los valores anteriores y actuales de los datos. Página 7 de 14 Requisitos del Producto: 1. Requisitos de Sistema: Navegador Java Runtime Environment 1.4 Visor de pdf. 2. Requisitos de Desempeño Una de las principales preocupaciones relacionada con la auditoría de base de datos es su impacto en el desempeño de las aplicaciones entre estas tenemos: Impacto en el tiempo de respuesta de las aplicaciones. Impacto sobre la utilización de los manejadores de base de datos. Impacto sobre el espacio en los servidores. 3. Requisitos de Entorno Servidor de Base de Datos Oracle 10g R2 Servidor de Aplicación Web, Application Server 10g DEFINICIONES: DATOS: INFORMACIÓN Y ORGANIZACIÓN Los datos convertidos en información a través de bases de datos y procesos de negocios representan el negocio. Sin ellos éste no existe. Las organizaciones deben tomar medidas mucho más allá de asegurar sus datos. Deben monitorearse perfectamente a fin de conocer quién o qué les hizo exactamente qué, cuándo y cómo. Las organizaciones deben mitigar los riesgos asociados a la pérdida de datos y a la fuga de información: - Se requiere establecer mecanismos de auditoría de base de datos. Página 8 de 14 - La memoria institucional reside en bases de datos y debe ser cultivada y protegida. AUDITORIA DE BASES DE DATOS: Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las bases de datos incluyendo la capacidad de determinar: - Quién accede a los datos - Cuándo se accedió a los datos. - Desde qué tipo de dispositivo/aplicación. - Desde qué ubicación en la red. - Cuál fue la sentencia SQL ejecutada. - Cuál fue el efecto del acceso a la base de datos. Es uno de los procesos fundamentales para apoyar la responsabilidad delegada a TI por la organización frente a las regulaciones y su entorno de negocios o actividad. ABREVIACIONES Y ACRÓNIMOS. SGBD: Sistemas de Gestión de Bases de Datos. TI: Tecnología de la Información. BD: Base de Datos. L4G: Lenguajes de cuarta generación. SO: Sistema Operativo. ISO: Organización de estándares internacionales. Página 9 de 14 SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD). Entre los componentes del SGBD podemos destacar el núcleo (kernel), el catálogo (componente fundamental para asegurar la seguridad de la base de datos), las utilidades para el administrador de la base de datos (entre la que se pueden encontrar algunas para crear usuario, conceder privilegios y resolver otras cuestiones relativas a la confidencialidad); las que se encargan de la recuperación de la BD: rearranque, copias de respaldo, ficheros diarios (log), etc. Y algunas funciones de auditoría, así como los lenguajes de la cuarta generación (L4G) que incorpora el propio SGBD. En cuanto a las funciones de auditoría que ofrece el propio sistema, prácticamente todos los productos del mercado permiten registrar ciertas operaciones realizadas sobre la base de datos de un fichero (o en un conjunto de tablas) de pistas de auditoría (audit trail). El propio modelo de referencia de gestión de datos -ISO (1993)- considera las pistas de auditoría como un elemento esencial de un SGBD, señalando que “el requisito para la auditoría es que la causa y el efecto de todos los cambios de la base de datos sean verificables”. El auditor deberá revisar, por lo tanto, la utilización de todas las herramientas que ofrece el propio SGBD y las políticas y procedimientos que sobre su utilización haya definido el administrador, para valorar si son suficientes o si deben ser mejorados. SOFTWARE DE AUDITORÍA. Son paquetes que pueden emplearse para facilitar la labor del auditor, en cuanto a la extracción de datos de la base, el seguimiento de las transacciones, datos de Página 10 de 14 prueba, etc. Hay también productos muy interesantes que permiten cuadrar datos de diferentes entornos permitiendo realizar una verdadera “auditoría del dato”. Objetivos generales de la auditoría de bases de datos Disponer de mecanismos que permitan tener trazas de auditoría completas y automáticas relacionadas con el acceso a la base de datos incluyendo la capacidad de generar alertas con el objetivo de: Apoyar el cumplimiento regulatorio Mitigar los riesgos asociados con el manejo inadecuado de los datos Satisfacer los requerimientos de los auditores Evitar acciones criminales Evitar multas por incumplimiento Para conseguir todo esto se deben tener en cuenta cuatro aspectos claves: 1. No se debe comprometer el desempeño de la base de datos: Debe soportar diferentes esquemas de auditoría, tomar en cuenta el tamaño de la base de datos a auditar y los posibles SLA establecidos. 2. Realizar la segregación de funciones: El sistema de auditoría de base de datos no puede ser administrado por los DBA del área de TI 3. Proveer valor a la operación del negocio: Debe proveer de información para auditoría y seguridad, para apoyar la toma de decisiones de la institución, para mejorar el desempeño de la organización. 4. La auditoría debe ser completa y extensiva: Estandarizar los reportes y reglas de auditoría. Página 11 de 14 Características principales de un sistema de auditoría de base de datos El sistema de auditoría de base de datos debe cumplir con ciertas características como las siguientes: 1. SISTEMA CONFIABLE E INTEGRAL Se deben poder garantizar esquemas de auditoría contínua todos los 365 días del año, es decir: El volumen de la información relacionada con las trazas de auditoría puede ser muchas veces más grande que el tamaño de la base de datos a auditar. Se debe poder controlar el acceso y la modificación a las trazas almacenadas. Se debe poder proteger la información almacenada en las trazas de auditoría Se deben poder auditar el acceso a la base de datos desde todas las posibles capas de acceso: Aplicación / Front End: La capa de aplicación es utilizada por usuarios calificados y posiblemente por usuarios maliciosos. Se pueden explotar las debilidades de las aplicaciones. Por ejemplo con la inyección SQL. Servidor de Aplicación / Web Server: Los usuarios con privilegios pueden tener acceso directo utilizando funciones del servidor de aplicaciones. Usuarios maliciosos pueden aprovechar las debilidades de los servidores de aplicaciones. Pueden existir caballos de Troya listos para actuar en el código de las aplicaciones. Manejador de BDD: Pueden realizarse accesos no autorizados ODBC a través de la Red; Accesos no autorizados de usuarios con privilegios. Vulnerabilidades conocidas de los manejadores de base de datos. Página 12 de 14 Sistema Operativo: Tenemos los accesos directos a los archivos en el sistema operativo. 2. CAPAZ DE CONSOLIDAR LAS TRAZAS DE AUDITORÍA Las trazas de auditoría deben tener: Quién realizó la operación Desde donde se realizó la operación ( Dirección IP / Host o Aplicación) Cuándo se realizó la operación Qué se hizo durante la operación (información antes y después) Por qué se hizo la operación (contexto sobre el que se realiza la operación) 3. REGLAS DE AUDITORÍA BASADAS EN NECESIDADES ESPECÍFICAS Las trazas de auditoría pueden llegar a tener tamaños inmanejables (cientos de terabytes de información). Cada proceso de auditoría requiere su propia definición de reglas de auditoría se deben utilizar: Qué método de auditoría Qué Servidor /manejador (Base de Datos / tablas) Qué usuarios ( Objetos, Horas, Acciones) Qué acciones tomar Tipos de eventos a auditar: Eventos tipo DDL (Data Definition Lenguaje): asociados con la creación de usuarios, roles, tablas, etc. Eventos tipo DML (Data Manipulation Lenguaje): insert, update, delete. Eventos tipo Select: consultas de información Recompilaciones de Scripts Auditoría de los usuarios con privilegios de acceso. Página 13 de 14 4. NO SE DEBE AFECTAR EL DESEMPEÑO DE LA BASE DE DATOS. Una de las principales preocupaciones relacionada con la auditoría de base de datos es su impacto en el desempeño de las aplicaciones. Es decir: Impacto en el tiempo de respuesta de las aplicaciones Impacto sobre la utilización de los manejadores de base de datos Impacto sobre el espacio en los servidores 5. CAPAZ DE GENERAR NOTIFICACIONES EN TIEMPO REAL Para lograr esquemas más efectivos de auditoría es necesario poder generar notificaciones en tiempo real. Mediante Email o Sistemas de monitoreo central. 6. CAPACIDAD PARA RETENER TRAZAS POR LARGOS PERÍODOS DE TIEMPO Como el número de trazas puede ser muy grande se necesitan esquemas de archivos y preservación, como son: Compresión de la información Movimiento a cintas Rutinas de eliminación 7. FLEXIBILIDAD PARA CREAR REPORTES Es necesario crear reportes que permitan: Cumplir con los objetivos de los auditores Cumplir con los objetivos de las otras involucradas en el proceso Consolidar información Preparar reportes estadísticos Generar reportes que apoyen la toma de decisión corporativa