Auditoria Base de Datos

50
AUDITORÍA BASES DE DATOS Datos, Bases de datos, Data WareHouse, Minería de Datos, Oracle, SQL, SAS, IBM, Microsoft SQL, My SQL, Postgres 01/05/2010 Auditoría Informática Cristian Andrés Gómez – Silvana Montoya

description

Auditoria Base de Datos

Transcript of Auditoria Base de Datos

Page 1: Auditoria Base de Datos

AUDITORÍA BASES DE DATOS Datos, Bases de datos, Data WareHouse, Minería de Datos, Oracle, SQL, SAS, IBM, Microsoft SQL, My SQL, Postgres 01/05/2010

Auditoría Informática

Cristian Andrés Gómez – Silvana Montoya

Page 2: Auditoria Base de Datos

TABLA DE CONTENIDO

1. Introducción

2. Datos a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

3. Bases de Datos a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

4. Data WareHouse a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

5. Minería de Datos a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

6. ORACLE a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

7. SQL a. Descripción

Page 3: Auditoria Base de Datos

8. SAS a. Descripción

9. Microsoft SQL

a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

10. IBM a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

11. My SQL a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

12. POSTGRES a. Descripción b. Puntos a Evaluar c. Instrumentos y Técnicas d. Herramientas

13. Bibliografía

Page 4: Auditoria Base de Datos

1. INTRODUCCIÓN Una forma de entender el conocimiento es analizando sus diferencias respecto a datos e información.

Un dato es un valor discreto que describe un hecho del mundo. Un dato no está estructurado, no dice nada sobre el porqué de las cosas, ni tampoco sobre su posible interpretación o propósito (por ejemplo, el valor 37).

A diferencia de los datos, la información sí tiene interpretación y propósito (ya que intervienen el emisor y el receptor en el mensaje), es decir, están representados en un contexto, siendo el conjunto de datos estructurados que sirven para por ejemplo, categorizar, analizar, evaluar, etc. Los hechos del mundo que nos rodean (por ejemplo, el valor 37 puede estar representando la temperatura de un paciente).

Finalmente, el conocimiento es mucho más amplio que la información y trata a ésta como instrumento para poder actuar, es decir, es aquella información (adquirida, seleccionada, evaluada, interiorizada, etc.) que nos permite llevar a cabo las acciones para alcanzar nuestros objetivos. Visto de otra manera, el conocimiento es aquella información que ha pasado por un análisis, mediante el cual, dicha información adquiere una relevancia y utilidad para poder actuar y alcanzar nuestros objetivos (por ejemplo, el valor 37de temperatura puede relacionarse con la categoría “fiebre infecciosa” y dicha categoría con la acción “medicar antibiótico” para alcanzar el objetivo “curado”).

Transformación de datos a información y conocimiento

Page 5: Auditoria Base de Datos

Cadena de Transformación de la Información

Para las organizaciones, el conocimiento se puede definir como la Información que posee valor para ella, es decir, aquella información que le permite generar una ventaja competitiva, satisfacer las demandas del mercado o alcanzar las oportunidades a través de la utilización de las competencias distintivas de la organización. Las diferentes categorías de conocimiento para las organizaciones son:

Tácito/Explícito

Observable / No Observable: Es el conocimiento que se ve reflejado en los productos o servicios que ofrece la organización.

Positivo / Negativo: Es el conocimiento generado por el área de I+D en los procesos Desarrollo de Nuevos Productos o Innovación de los Procesos (según el MGIT) particionado en los descubrimientos (positivo) y las aproximaciones no útiles (negativo).

Autónomo / Sistémico: Es el conocimiento que genera valor sin la necesidad de aplicar sensibles modificaciones en la configuración de la organización (autónomo) o el que depende del valor generado por otros componentes de la configuración de la organización (sistémico).

Régimen de Propiedad Intelectual: Es el conocimiento protegido por la Ley de Propiedad Intelectual.

Page 6: Auditoria Base de Datos

2. DATOS El uso de las computadoras y de las redes de datos como medio para almacenar, transferir y procesar información, se ha incrementado desmesuradamente en los últimos años, al grado de convertirse en un elemento esencial para el funcionamiento de cualquier organización.

No hay compañía que no se vea obligada a remitir a otras empresas u organismos públicos o a si misma grandes volúmenes de información. En algunas ocasiones, se tratará meramente de datos económicos o de otro tipo, no susceptibles de mayor protección. Pero ciertamente hay casos en los que se trata de informaciones privadas o personales que requieren de un adecuado blindaje.

En consecuencia, la información en todas sus formas y estados se ha convertido en un activo de altísimo valor, de tal forma que, la empresa no puede ser indiferente y por lo tanto, se hace necesario proteger, asegurar y administrar la información para garantizar su integridad, confidencialidad y disponibilidad, de conformidad con lo establecido por la ley.

Es necesario contar con la seguridad de la Información que a la final es la preservación de la confidencialidad (asegurando que sólo quienes estén autorizados pueden acceder a la información), integridad (asegurando que la información y sus métodos de proceso son exactos y completos) y disponibilidad (asegurando que los usuarios autorizados tienen acceso a la información y a sus activos asociados cuando lo requieran).

A continuación unos aspectos que hay que tener en cuenta para asegurar seguridad a nivel corporativo para garantizar así protección de la información:

Política de seguridad Aspectos organizativos para la seguridad Clasificación y control de activos Seguridad ligada al personal Seguridad física y del entorno Gestión de comunicaciones y operaciones Control de accesos Desarrollo y mantenimiento de sistemas Gestión de incidentes de seguridad de la información Gestión de continuidad de negocio Conformidad

Page 7: Auditoria Base de Datos

OBJETIVOS

Poder identificar como es el proceso del manejo de los recursos informaticos Identificar que protocolos de seguridad usan para garantizar integridad en la red Poder identificar el manejo de los perfiles de usuario y contraseñas. Identificar el manejo que se le da al internet. Evaluar el manejo de perfiles.

PUNTOS A EVALUAR

Documentación sobre políticas de perfiles de usuario. Documentación de manejo de hardware y software. Documentación de manejo de internet. Listado de usuarios con sus roles y privilegios. Reglamento para usuarios de Sistemas. Manejo del internet por parte del administrador y de los usuarios. Planes de contingencia contra ataques. Medidas de seguridad para la información.

INSTRUMENTOS Y TÉCNICAS

Para la recopilación de información:

Cuestionario Entrevista. Inventarios.

Para el análisis y la evolución de la información:

Guías de evaluación. Lista de verificación o chequeo. Confirmación. Comparación.

HERRAMIENTAS

A continuación se presentan unos cuestionarios para evaluar este tema:

Page 8: Auditoria Base de Datos

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Lista de Chequeo

Concepto SI / NO

OBSERVACIONES

1. ¿Tiene definidos e implementados protocolos de

seguridad? 2. ¿Existen planes de contingencia contra ataques de

hackers? 3. ¿Existen planes de contingencia contra virus,

troyanos, etc.? 4. ¿Existe un plan de medidas de seguridad contra

posibles ataques a la información? 5. ¿Se lleva a cabo en su totalidad el plan de seguridad? 6. ¿Existe historial de ataques a los sistemas de la

empresa? 7. ¿Existen reglamento para el uso de los recursos

informáticos de la empresa? 8. ¿Existe un proxy que delimite la navegación por

internet de los usuarios? 9. ¿Existe un correo interno de la empresa, para la

comunicación de los empleados?

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES

10. ¿Existe historial de ataques a los sistemas de la empresa? Y que se realiza con ellos

11. ¿Existen perfiles de usuario para acceder a los sistemas de la empresa? Si es así, ¿Cómo están definidos?

12. ¿Existen políticas para la creación de perfiles de usuario o por el contrario se otorgan los perfiles cada que se considera necesario?

13. ¿El manejo de los password asignados a los usuarios se rige mediante que

Page 9: Auditoria Base de Datos

clase de normas? 14. ¿Cómo garantizan que los datos que

se usan para todos los procesos son usados de la manera correcta?

15. Describa los tipos de monitoreo que llevan a cabo para garantizar la protección de los datos.

Page 10: Auditoria Base de Datos

3. BASES DE DATOS Para la verificación de la seguridad, consistencia y reglas de integridad en cualquier motor de bases de datos es necesario verificar el ambiente de control establecido en la instalación de este; en este contexto se deben tener presente las diferentes características que pueden establecerse en este proceso, además en el manejo de los motores se puede manejar un grado de Seguridad, en el cual se maneja la exactitud, consistencia y confiabilidad de la información; con la privacidad y confidencialidad de los datos; cada motor de Bases de Datos poseen características que pueden ser utilizadas para garantizar la calidad de la información almacenada y procesada, todo con el fin de garantizar la eficiencia y eficacia en el manejo de los datos, es allí donde se encuentran elementos como:

Claves Primarias

: Esta definición determina que para un valor llave primaria solo existirá una tupla o registro en la tabla. Esta situación garantiza que no se tendrá información repetida o discordante para un valor de clave y puede ser usada como control, para evitar la inclusión de información inconsistente o repetida en las tablas. Dominio de los atributos

: El dominio de un atributo define los valores posibles que puede tomar este atributo. Además de los dominios "naturales", usados como tipos de datos. Esta característica, usada en forma correcta, se convierte en mecanismo de control, restricción y validación de los datos a ingresar. Reglas de Integridad

: Son restricciones que definen los estados de consistencia de la Base de Datos. Se debe implementar en especial para verificaciones en cada actualización, para evitar que se caiga en estados de inconsistencia. En particular se debe verificar que se implementen correctamente la regla de la Entidad (un atributo foráneo no puede ser nulo) y reglas de Integridad Referencial, esta ultima garantiza que solo se puedan incluir registros para valores previamente ingresados en otras tablas. Algunos ejemplos de su uso pueden ser:

Impedir incluir novedades de nomina a una persona que no exista como trabajador en el archivo maestro de empleados.

Impedir facturar a un cliente que no esté previamente creado en el archivo de clientes.

Impedir borrar de la lista de clientes un registro cuyo código esté incluido en la relación de cuentas por cobrar.

Page 11: Auditoria Base de Datos

Reglas de integridad del negocio

: Cada negocio funciona en forma diferente y tiene reglas asociadas a su actividad que pueden ser definidas como restricciones en la Base de Datos. Esto implicaría que cualquier operación que se realice debe respetar estas limitantes. Por decir algo, condicionar que solo se otorgan descuentos en ventas superiores a $400.000. Estas son condiciones que la administración coloca a la operación y como principio en el desarrollo de una aplicación, deben ser respetadas por esta, las cuales pueden ser definidas en la base de datos. Vistas

: Sirve como mecanismo de compartimentación de la información almacenada, permitiendo presentar a diferentes usuarios parte de los datos almacenados, según se considere necesario. Según las políticas de seguridad, es usual que gran parte de los usuarios nunca tengan acceso directamente a las tablas completas, sino que lo hagan a través de las vistas, las cuales, por ser un objeto, son sujetas de otras medidas de seguridad. Perfiles de usuario y Acceso

En este proceso de almacenamiento de información se puede utilizar Criptografía de Datos como recurso de seguridad, se puede mezclar o codificar los datos de modo que, al momento de ser almacenados en disco duro o trasmitidos por alguna línea de comunicación, no sean más que bits ininteligibles para aquellos que los accedan por un medio no oficial, o al momento de almacenar en la base de datos algún dato importante (password). La criptografía es de gran importancia en las bases de datos pues la información esta almacenada por largos periodos de tiempo en medios de fácil acceso, como discos duros.

: Asignación de nombres de usuarios, con su respectiva clave de acceso (password) y perfiles asociados. Pueden también ser creados roles que serán concedidos a los usuarios según sus funciones.

Otro elemento que podría otorgar gran ayuda en la protección de la información son los disparadores los cuales son una rutina asociada con una tabla o vista que automáticamente realiza una acción cuando una fila en la tabla o la vista se inserta (INSERT), se actualiza (UPDATE), o borra (DELETE), permiten vigilar y registrar acciones especificas según las condiciones propias del negocio; permitiendo crear logs de auditoría a la medida. Como se puede apreciar los Sistemas de Bases de Datos ofrecen a desarrolladores, administradores y usuarios una gama muy completa de herramientas que permiten garantizar la integridad, consistencia, confidencialidad y en general seguridad de la información almacenada y con un elemento muy importante a favor: Las líneas de código que se requieren por parte del implementador son muy pocas, en ocasiones solo basta con una sencilla sentencia para obligar al DBMS a controlar y mantener las restricciones necesarias.

Page 12: Auditoria Base de Datos

OBJETIVOS

Analizar la documentación existente con respecto a todos los procesos de la Base de Datos.

Evaluar el Soporte y mantenimiento de la Base de Datos. Verificar la red que accede a la Base de Datos. Identificar el manejo que se le da a los datos en la Base de Datos. Identificar si está definido e implementado un Modelo Entidad Relación (MER)

para el modelo de negocios. Identificar el manejo de los perfiles de usuario para la Base de Datos. Identificar de la arquitectura de red con acceso a la Base de Datos.

PUNTOS A EVALUAR

Manejo de datos en la base de datos (tablas, vistas, procedimientos almacenados, triggers, etc.)

Todas las conexiones clientes a la base de datos incluyendo interfaces de red, direcciones IP, conexiones LAN y WAN.

Manejo de espacio en disco. Información de archivos de logs. Documentación de la instalación del motor de Base de Datos. Documentación respaldo y restauración de la base de datos. Documentación de las aplicaciones sobre la base de datos. Modelo Entidad Relación (MER). Seguridad. Listado de usuarios de la base de datos con sus roles y privilegios. Integridad de los datos. Manejo del motor de la base de datos.

INSTRUMENTOS Y TECNICAS

Para la recopilación de información:

Cuestionario. Entrevista. Inventarios.

Para el análisis y la evolución de la información:

Guías de evaluación. Lista de verificación o chequeo. Confirmación. Comparación.

Page 13: Auditoria Base de Datos

HERRAMIENTAS

A continuación se presentan unos cuestionarios para evaluar este tema:

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Lista de Chequeo

Concepto SI / NO

OBSERVACIONES

1. ¿Se maneja un MER (Modelo Entidad Relación) para el modelo de negocios?

2. ¿Se manejan Llaves Primarias para la manipulación de datos dentro de las tablas de la base de datos?

3. ¿Se definen dominios de atributos específicos para cada tipo de dato?

4. ¿Se manejan llaves foráneas en el MER que garanticen que solo se pueden incluir registros para valores previamente ingresados en otras tablas?

5. ¿Se tiene creadas vistas en la BD para evitar que los usuarios vean en su totalidad los datos almacenados?

6. ¿Existen políticas de seguridad que exijan la creación de vistas?

7. ¿Existe historial y manejo de archivos de auditoría (logs)?

8. ¿Se manejan estándares criptográficos en algún proceso de almacenamiento?

9. ¿Se manejan disparadores en la BD? 10. ¿Se maneja documentación sobre las aplicaciones

que están en la BD? 11. ¿Existen copia de respaldo de las aplicaciones de la

BD? 12. ¿Existen Script’s de las aplicaciones para la BD? 13. ¿Existe documentación sobre respaldo y

restauración de la BD? 14. ¿Se tiene estipulado el espacio en disco que

necesitara la BD a largo plazo? 15. ¿Existen manuales de instalación y manejo del motor

de la base de datos?

Page 14: Auditoria Base de Datos

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 16. ¿Qué base de datos maneja? 17. ¿Qué versión usa? ¿Por qué? 18. ¿Quién tiene acceso a la base de datos

(BD)? 19. ¿Existen perfiles de usuario para acceder a la

BD? Si es así, ¿Cómo están definidos? 20. ¿Existen políticas para la creación de perfiles

de usuario o por el contrario se otorgan los perfiles cada que se considera necesario?

21. El manejo de los password asignados a los usuarios se rige mediante que tipo de normas:

22. ¿Cómo es el manejo de los usuarios en la base de datos?

23. ¿Cómo se asignan los perfiles de acceso a la base de datos?

24. ¿Qué clase de servidores tiene almacenado el motor de la BD?

25. ¿Cómo se maneja el soporte de la BD? 26. Con que periodicidad se hacen las copias de

respaldo 27. ¿Realizan revisiones de flujo de información?

Describa el proceso

.

Page 15: Auditoria Base de Datos

4. DATAWAREHOUSE Un Data Warehouse es un conjunto de datos integrados orientados a una materia, que varían con el tiempo y que no son transitorios, los cuales soportan el proceso de toma de decisiones de la administración. Está orientada al manejo de grandes volúmenes de datos, provenientes de diversas fuentes, de muy diversos tipos. Estos datos cubren largos períodos de tiempo, lo que trae consigo que se tengan diferentes esquemas de los datos fuentes. La concentración de esta información está orientada a su análisis para apoyar la toma de decisiones oportunas y fundamentadas. Previo a su utilización se debe aplicar procesos de análisis, selección y transferencia de datos seleccionados desde las fuentes.

Datos Antiguos:

Tienen gran importancia en los procesos iníciales de población de la base de datos. Son datos de periodos anteriores. Pueden provenir de 20 años atrás, en algunos casos. La dificultad de ubicación, recuperación y transformación a los formatos requeridos (pueden estar incluso en documentos en papel) es uno de los problemas más usuales en proyectos de este tipo.

Datos Operacionales

: Datos operativos actualizados por aplicaciones OLTP (On Line Processing Transaction. Procesamiento de transacciones en línea.). Están almacenados en las bases de datos en producción. Extractores de Datos

: Encargados del copiado y distribución de los datos de acuerdo con el diseño. Se determinan los datos a copiar, desde donde y hacia donde, periodos para las actualizaciones. Se determina si se realiza una regeneración (copia de la fuente de datos en su totalidad) o una actualización (solo se propagan los cambios). Los datos externos son adecuados y limpiados antes de ser sumados a la bodega de datos. Son los enlaces entre los datos en producción y el Data Warehouse (generalmente de tipo relacional) Metadatos:

Los metadatos llevan registros de los datos almacenados, integrados en la misma base de datos. Describen el contenido de los objetos de la bodega de datos: las tablas, índices y el contenido de los datos. Los metadatos definen los formatos, significado y origen de los datos y facilitan el acceso y administración a los datos en la bodega. Contienen la información de la fuente antes de ingresar a la bodega, el mapeo de los datos fuentes a datos en la bodega, historia de las extracciones, lógica y algoritmos usados para los procesos de datos (sumarizacion, organización, etc.) y la historia de los cambios en la bodega.

OBJETIVOS Identificar si la arquitectura del sistema Data Warehouse corresponde a las

necesidades del negocio.

Page 16: Auditoria Base de Datos

Evaluar la identificación de los requerimientos funcionales de información, que generen una ventaja competitiva para la empresa y faciliten la toma de decisiones por parte de la administración.

Identificar si se está tomando en cuenta los riesgos de cada elemento del sistema Data Warehouse.

Evaluar si la organización cuenta con los recursos necesarios para la implementación del sistema Data Warehouse.

PUNTOS A EVALUAR Datos Antiguos. Datos Operacionales. Extractores de Datos. Bodega de Datos. Metadatos. Herramientas de Consultas y Extracción de Información. Usuarios involucrados en el Sistema. Plan de Riesgos. Red.

INSTRUMENTOS Y TECNICAS

Para la recopilación de información:

Cuestionario. Entrevista. Inventarios.

Para el análisis y la evolución de la información:

Guías de evaluación. Lista de verificación o chequeo. Confirmación. Comparación.

HERRAMIENTAS

A continuación se presentan unos cuestionarios para evaluar este tema:

Page 17: Auditoria Base de Datos

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Lista de Chequeo

Concepto SI / NO

OBSERVACIONES

1. ¿Se tiene diseñado un sistema data warehause? 2. ¿Se tiene implementado un sistema data

warehause? 3. ¿Existe documentación que respalde el sistema

data warehause? 4. ¿Se utiliza frecuentemente el sistema data

warehause para la toma de decisiones? 5. ¿La arquitectura implementada en el sistema data

warehause satisface las necesidades del negocio y resalta la ventaja competitiva?

6. ¿Se tienen datos antiguos? 7. ¿Se manejan extractores de datos? 8. ¿La bodega de datos satisface las necesidades

del sistema data warehause? 9. ¿Se tuvo en cuenta las necesidades a futuro? 10. ¿Se tuvo en cuenta el sistema anterior para la

extracción de datos? 11. ¿Han existido perdidas de datos en la extracción? 12. ¿Existen respaldos de los datos almacenados? 13. ¿La información del sistema es correspondiente al

sistema de la empresa?

Page 18: Auditoria Base de Datos

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 14. ¿Cómo capturan las transacciones del

negocio? 15. Describa como es el manejo del “Área de

tráfico de los datos”. 16. Poseen modelos dimensionales? Explique. 17. Describa el Data Mart de su Data

Warehouse 18. ¿Con que herramientas cuenta para el

acceso de los datos por usuarios finales? Descríbalas

19. Describa el modelado de aplicaciones que posee.

20. ¿Se manejan los riesgos de los datos operacionales del sistema data warehause? ¿Cómo?

21. ¿Se presentaron problemas en la implementación del sistema data warehause, como la duplicación de datos u otros?

22. ¿Se tiene plan de contingencia para los riesgos del sistema data warehause?

Page 19: Auditoria Base de Datos

5. MINERÍA DE DATOS

La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos. El datamining (minería de datos), es el conjunto de técnicas y tecnologías que permiten explorar grandes bases de datos, de manera automática o semiautomática, con el objetivo de encontrar patrones repetitivos, tendencias o reglas que expliquen el comportamiento de los datos en un determinado contexto. Está fuertemente ligado con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos. Básicamente, el datamining surge para intentar ayudar a comprender el contenido de un repositorio de datos. Con este fin, hace uso de prácticas estadísticas y, en algunos casos, de algoritmos de búsqueda próximos a la Inteligencia Artificial y a las redes neuronales. De forma general, los datos son la materia prima bruta. En el momento que el usuario les atribuye algún significado especial pasan a convertirse en información. Cuando los especialistas elaboran o encuentran un modelo, haciendo que la interpretación que surge entre la información y ese modelo represente un valor agregado, entonces nos referimos al conocimiento. Aunque en datamining cada caso concreto puede ser radicalmente distinto al anterior, el proceso común a todos ellos se suele componer de cuatro etapas principales: Determinación de los objetivos. Trata de la delimitación de los objetivos que el

cliente desea bajo la orientación del especialista en data mining. Pre procesamiento de los datos. Se refiere a la selección, la limpieza, el

enriquecimiento, la reducción y la transformación de las bases de datos. Esta etapa consume generalmente alrededor del setenta por ciento del tiempo total de un proyecto de data mining.

Determinación del modelo. Se comienza realizando unos análisis estadísticos de los datos, y después se lleva a cabo una visualización gráfica de los mismos para tener una primera aproximación. Según los objetivos planteados y la tarea que debe llevarse a cabo, pueden utilizarse algoritmos desarrollados en diferentes áreas de la Inteligencia Artificial.

Análisis de los resultados. Verifica si los resultados obtenidos son coherentes y los coteja con los obtenidos por los análisis estadísticos y de visualización gráfica. El cliente determina si son novedosos y si le aportan un nuevo conocimiento que le permita considerar sus decisiones.

Page 20: Auditoria Base de Datos

OBJETIVOS Evaluar las técnicas empleadas en la minería de datos. Evaluar la documentación presentada. Identificar el proceso de minería de datos. Identificar la forma de selección del grupo de datos.

PUNTOS A EVALUAR

Análisis aplicados a las propiedades de los datos. Técnicas de minería de datos empleadas. Documentación existen de minería de datos. Clasificación de los datos. Criterios de selección de datos.

INSTRUMENTOS Y TECNICAS Medio para la recopilación de información:

Cuestionario. Entrevista.

Para el análisis y la evolución de la información:

Guías de evaluación. Lista de verificación o chequeo

HERRAMIENTAS

A continuación se presentan unos cuestionarios para evaluar este tema:

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada Lista de Chequeo Concepto SI

/ NO

OBSERVACIONES

1. ¿Se aplica la minería de datos a las bases de datos del negocio?

2. ¿Se maneja la predicción de datos gracias a la

Page 21: Auditoria Base de Datos

minería de datos?

3. ¿Se clasifican los datos según la minería de datos?

4. ¿Se realiza segmentación de datos?

5. ¿Existen políticas que rijan el proceso de la minería de datos?

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 6. ¿Qué criterios se utilizan para selección

del conjunto de datos para minería de datos?

7. ¿Qué tipos de análisis se realizan a las

propiedades de los datos?

8. ¿Cómo es el proceso de elección de la técnica de minería de datos?

9. ¿Qué documentación existe del proceso

de minería de datos?

10. ¿Monitorean estos procedimientos?

Page 22: Auditoria Base de Datos

6. ORACLE Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando: Soporte de transacciones. Estabilidad. Escalabilidad. Soporte multiplataforma.

Este manejador de base de datos relacional hace uso de los recursos del sistema informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en ambientes cargados de información. Es el conjunto de datos que proporciona la capacidad de almacenar y acudir a estos de forma recurrente con un modelo definido como relacional. Además es una suite de productos que ofrece una gran variedad de herramientas. Es el mayor y más usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación, herramientas de reportes y utilitarios. Oracle corre en computadoras personales (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17 idiomas, corre automáticamente en más de 80 arquitecturas de hardware y software distinto sin tener la necesidad de cambiar una sola línea de código. Esto es porque más el 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de sistemas operativos. OBJETIVOS Evaluar el funcionamiento de la Base de Datos ORACLE. Identificar debilidades. Analizar funcionamiento de tablas, campos, etc.

Page 23: Auditoria Base de Datos

PUNTOS A EVALUAR Estructura de base de datos Oracle. Análisis de los Oracle Data Blocks. Enumeración de usuarios. Consultar Ataques de Fuerza bruta o Diccionario a cuentas de usuario. Consultar de intentos del exploit AUTH_ALTER_SESSION Consultar de intentos de iniciar sesiones. Consultar si la Auditoria está habilitada. Consultar información de los inicios de Sesión Consultar de tablas eliminadas Consultar de los logs del Apache.

INSTRUMENTOS Y TECNICAS Como medio para la recopilación de información: Verificación.

Para el análisis y la evolución de la información: Guías de evaluación.

HERRAMIENTAS Se pide al administrador de la Base de Datos Oracle que responda y demuestre lo siguiente:

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 1. Describa la Versión y la liberación del

software de base de datos Oracle y herramientas relacionadas (Oracle Enterprise Manager, Oracle Advanced Security Option, etc) que se implementan.

2. Describa la Versión y lanzamiento del sistema operativo subyacente

3. Número total de usuarios con nombre 4. Que solicitudes y versiones relacionadas

Page 24: Auditoria Base de Datos

tienen acceso a la base de datos (por ejemplo, ERP, web, personalizado)

5. Que utilidades de inicio de sesión es utilizado para administrar la base de datos

6. De detalles del enfoque de evaluación de riesgo asumido en la organización para identificar y priorizar los riesgos

7. ¿Poseen políticas de seguridad de la organización y las normas fundamentales en cuanto a este motor específicamente?

8. ¿Qué tipo de organigramas identifican a los propietarios y encargados del mantenimiento del sistema? Descríbalo.

Pregunta para el administrador de la base de datos: 9. Describa el nivel de concienciación sobre la

seguridad global y el conocimiento de las políticas y procedimientos corporativos

10. ¿Cómo son los procesos para mantenerse actualizados técnicamente?

11. ¿Cuáles son los procesos y herramientas para mantener la seguridad de la base de datos?

Defina y explique: 12. Principales aplicaciones que acceden a la

base de datos 13. Relaciones de confianza 14. Programación, seguridad, control de cambios,

Interfaces, etc. 15. ¿Qué procedimientos usan para la revisión

de perfiles inactivos? 16. Describa el procedimiento de seguimiento y

reporte de errores arrojados por el sistema.

A continuación se presenta una serie de preguntas, consultas y procedimientos que se piden para verificar el estado de la base de datos ORACLE.

1. Análisis de los Oracle Data Blocks, para determinar:

Page 25: Auditoria Base de Datos

Registros eliminados Localizar bloques asignados a tablas (OBJETOS DE INTERÉS) Seguimiento de Objetos creados y eliminados Localización de tablas eliminadas Localización de Funciones eliminadas

2. Obtención del SID de la BD

3. Enumeración de usuarios

4. Consultar Ataques de Fuerza bruta o Diccionario a cuentas de usuario

5. Consulta de Ataques de Fuerza Bruta a la cuenta SYS

6. Consulta de intentos del exploit AUTH_ALTER_SESSION 7. Consulta de intentos de iniciar una sesión la base de datos a través de XML (XDB)

8. Consulta del archivo sqlnet.log,Agntsrvc.log, spfilesid.ora, o el init.ora todas las

ubicaciones referentes a estos parámetros:

9. Consulta de archivos Log Listener

10. Revisión de los LOGS de sentencias

11. Consultando información de los inicios de Sesión:

12. Consultar una lista de usuarios y roles, usuarios con función de DBA, para buscar inconsistencias, o usuarios creados por un atacante y la generación de contraseñas fuertes con la validación de los hash, cuentas bloqueadas, tiempos de password

13. Consultar una lista de objetos y privilegios en el sistema

14. Consulta de tablas eliminadas

15. Consulta de Directorios, archivos datos, archivos externos, tablas externas, buscando elementos perdidos o ubicados en sitios diferentes por el atacante.

16. El Monitor del Sistema (SMON) MON_MOD$ Table

17. Revisión de Triggers al encendido, apagado, inicio y terminación de sesión

18. Consulta de librerías, que puedan estar ejecutando código arbitrario(malicioso)

Page 26: Auditoria Base de Datos

19. Consultas de Flashback (nuevos privilegios, derechos asignados, nuevos objetos, objetos eliminados) entre la tabla actual y la anterior en un tiempo determinado.

20. Consulta de los logs del Apache (Oracle Application Server)

21. Ingresar el siguiente comando SELECT * FROM SYS.DBA_TAB_PRIVSWHERE TABLE_NAME = 'ALL_SOURCE; , para garantizar que los usuarios no tienen acceso a la vista ALL_SOURCE.

22. Lleve a cabo funciones de INSERT, UPDATE o DELETE para revisar las funciones que se llevan a cabo y discutir los requisitos de negocio para este tipo de acceso.

Page 27: Auditoria Base de Datos

7. SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas peraciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalización hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI será interpretable por cualquier motor de datos. El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. Existen dos tipos de comandos SQL: DLL que permiten crear y definir nuevas bases de datos, campos e índices. DML que permiten generar consultas para ordenar, filtrar y extraer datos de la

base de datos

Comandos DDL:

Comando Descripción CREATE Utilizado para crear nuevas tablas, campos e índices DROP Empleado para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la

definición de los campos.

Comandos DML:

Comando Descripción SELECT Utilizado para consultar registros de la base de datos que satisfagan un

criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una única

operación. UPDATE Utilizado para modificar los valores de los campos y registros

especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos

Page 28: Auditoria Base de Datos

Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea

seleccionar o manipular.

Cláusulas:

Comando Descripción FROM Utilizada para especificar la tabla de la cual se van a seleccionar los

registros WHERE Utilizada para especificar las condiciones que deben reunir los registros

que se van a seleccionar GROUP BY

Utilizada para separar los registros seleccionados en grupos específicos

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY

Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico

Operadores Lógicos:

Operador Uso AND Es el “y” lógico. Evalúa dos condiciones y devuelve un

valor de verdad sólo si ambas son ciertas.

OR Es el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

Operadores de Comparación:

Operador Uso < Menor que > Mayor que <> Distinto de <= Menor ó Igual que >= Mayor ó Igual que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparación de un modelo In Utilizado para especificar registros de una base de datos

Page 29: Auditoria Base de Datos

Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de

registros para devolver un único valor que se aplica a un grupo de registros.

Funciones de Agregado:

Comando Descripción AVG Utilizada para calcular el promedio de los valores de un campo

determinado COUNT Utilizada para devolver el número de registros de la selección SUM Utilizada para devolver la suma de todos los valores de un campo

determinado MAX Utilizada para devolver el valor más alto de un campo especificado MIN Utilizada para devolver el valor más bajo de un campo especificado

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.

Page 30: Auditoria Base de Datos

8. SAS SAS es un sistema integrado de productos software proporcionados por SAS Institute Inc. Que permite a los programadores realizar: Entrada de datos , recuperación , gestión , y minería Informe escrito y gráfico Análisis estadístico Planificación empresarial , previsión y apoyo a las decisiones Investigación de operaciones y gestión de proyectos Mejora de la calidad Aplicaciones de desarrollo Almacenamiento de datos ( extracción, transformación, carga ) Independiente de la plataforma y la informática a distancia

Además, SAS negocia muchas soluciones que permiten a escala dar soluciones de software para áreas como la administración de TI, gestión de recursos humanos, gestión financiera, inteligencia empresarial, gestión de relaciones con clientes y mucho más. SAS es impulsada por los programas que definen una secuencia de operaciones que se efectúan en los datos almacenados en tablas. Los componentes de SAS exponen sus funcionalidades a través de interfaces de programación de aplicaciones, en forma de declaraciones y procedimientos. Un programa SAS se compone de tres partes principales:

1. DATA 2. Pasos de procedimiento (en realidad, todo lo que no está encerrado en un paso

DATA) 3. Un lenguaje de macros

SAS Motores Biblioteca y Servicios de Bibliotecas a distancia permite el acceso a los datos almacenados en las estructuras de datos externas y en las plataformas de ordenador remoto. La sección de paso DATA de un programa SAS, al igual que otros de cuarta generación de lenguajes orientada a la programación de bases de datos como SQL, asume por defecto una estructura de archivos, y automatiza el proceso de identificar los archivos en el sistema operativo, abriendo el archivo de entrada, la lectura del registro siguiente, abriendo el archivo de salida, escribiendo el siguiente registro, y cerrando los archivos. Esto permite al usuario/programador concentrarse en los detalles de trabajar con los datos de cada registro.

Page 31: Auditoria Base de Datos

Todas las otras tareas se llevan a cabo mediante procedimientos que operan en el conjunto de datos. Tareas típicas incluyen la impresión o la realización de análisis estadístico, y sólo podrá exigir al usuario/programador identificar el conjunto de datos. Los procedimientos no están restringidos a una sola conducta y por lo tanto permiten una amplia personalización, controlada por el mini-lenguajes definidos dentro de los procedimientos. SAS también tiene un amplio procedimiento SQL, permitiendo a los programadores de SQL utilizar el sistema con el conocimiento adicional mínimo. En comparación con los lenguajes de programación de propósito general, esta estructura permite que el usuario/programador pueda concentrarse menos en los detalles técnicos de los datos y cómo se almacenan, y más en la información contenida en los datos. Esto desdibuja la línea entre el usuario y el programador, apelando a las personas que entran más en el área de "negocio" o "investigación" y menos en la zona de "tecnología de la información”, de tal forma que centraliza un enfoque estructurado a los datos y la gestión de infraestructuras. SAS se ejecuta en mainframes de IBM, máquinas Unix, OpenVMS Alfa, y Microsoft Windows, y el código que circula entre estos entornos es casi transparente. Las versiones anteriores se han apoyado en PC-DOS, Macintosh de Apple, SLB, VM / CMS, datos generales del AM y OS/2.

Page 32: Auditoria Base de Datos

9. MICROSOFT SQL Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (SGBD) basado en el lenguaje Transact-SQL, y específicamente en Sybase IQ, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea, Soporte de transacciones.

Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL

Soporte de transacciones.

Características:

Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye también un potente entorno gráfico de administración, que permite el uso

de comandos DDL y DML gráficamente. Permite trabajar en modo cliente-servidor, donde la información y datos se alojan

en el servidor y las terminales o clientes de la red sólo acceden a la información. Además permite administrar información de otros servidores de datos.

Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos Windows. OBJETIVOS

Evaluar el funcionamiento de la Base de Datos SQL Server. Identificar debilidades. Analizar funcionamiento de tablas, campos, etc.

Page 33: Auditoria Base de Datos

PUNTOS A EVALUAR

Estructura de base de datos SQL Server. Añadir campos a una tabla. Triggers y Tablas Espejo. Manejar datos de auditoría. Archivamiento.

INSTRUMENTOS Y TECNICAS

Para la recopilación de información:

Verificación.

Para el análisis y la evolución de la información:

Guías de evaluación.

HERRAMIENTAS

Primero es necesario saber las siguientes respuestas:

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 1. Describa la Versión y la liberación del

software de base de datos Oracle y herramientas relacionadas (Oracle Enterprise Manager, Oracle Advanced Security Option, etc) que se implementan.

2. Describa la Versión y lanzamiento del sistema operativo subyacente

3. Número total de usuarios con nombre 4. Que solicitudes y versiones relacionadas

tienen acceso a la base de datos (por ejemplo, ERP, web, personalizado)

5. Que utilidades de inicio de sesión es utilizado para administrar la base de datos

Page 34: Auditoria Base de Datos

6. De detalles del enfoque de evaluación de riesgo asumido en la organización para identificar y priorizar los riesgos

7. ¿Poseen políticas de seguridad de la organización y las normas fundamentales en cuanto a este motor específicamente?

8. ¿Qué tipo de organigramas identifican a los propietarios y encargados del mantenimiento del sistema? Descríbalo.

Pregunta para el administrador de la base de datos: 9. Describa el nivel de concienciación sobre la

seguridad global y el conocimiento de las políticas y procedimientos corporativos

10. ¿Cómo son los procesos para mantenerse actualizados técnicamente?

11. ¿Cuáles son los procesos y herramientas para mantener la seguridad de la base de datos?

Defina y explique: 12. Principales aplicaciones que acceden a la

base de datos 13. Relaciones de confianza 14. Programación, seguridad, control de cambios,

Interfaces, etc. 15. ¿Qué procedimientos usan para la revisión

de perfiles inactivos? 16. Describa el procedimiento de seguimiento y

reporte de errores arrojados por el sistema.

Para auditar una base de datos SQL se puede hacer de diferentes maneras:

Añadir campos a una tabla

Triggers y Tablas Espejo:

Crear una tabla espejo con los mismo campos que contiene la tabla auditada pero con campos adicionales, como el usuario que haya hecho el cambio, la fecha y la operación realizada que puede ser fila agregada, fila modificada o fila eliminada.

Page 35: Auditoria Base de Datos

Añadir triggers INSERT, UPDATE y DELETE a la tabla origen, de modo que al efectuarse cualquiera de las operaciones indicadas, grabe el mismo registro en la tabla de auditoría, incluyendo los campos de auditoría (usuario, fecha, tipo de operación).

Manejar datos de auditoría

Archivamiento

Page 36: Auditoria Base de Datos

10. IBM DB2 UDB es un sistema para administración de bases de datos relacionales (RDBMS) multiplataforma, especialmente diseñada para ambientes distribuidos, permitiendo que los usuarios locales compartan información con los recursos centrales.

DB2 (R) Universal Database, es una base de datos universal, es completamente escalable, veloz y confiable, corre en modo nativo en casi todas las plataformas, como Windows NT (R), Sun Solaris, HP-UX, AIX(R), OS/400 y OS/2(R).

DB2 incluye todo lo necesario para implementar una solución de replicación de datos en cualquier tipo de ambiente distribuido o heterogéneo, pues permite enviar los datos a cualquier sitio para cubrir todos los requerimientos de una empresa, desde oficinas centrales a sucursales, usuarios móviles, proveedores, clientes y socios de negocios. Gracias a su alcance global y de bajo costo, Internet puede ser una solución de negocios muy poderosa para realizar operaciones comerciales garantizando un nivel de seguridad y confiabilidad con sus servicios de autorización y autenticación integrados a redes y sistema operativos, soportando el network−compuRng uRlizando Java y JDBC, incluyendo capacidad naRva de almacenar varios tipos de datos: alfanuméricos, video, imagen, audio y los definidos por el usuario. DB2 y SQL Server tenían grandes compañías detrás con otros negocios que les permitió aguantar la política agresiva de Oracle. Recientemente IBM adquirió Informix con lo que el mercado de las bases de datos comerciales en UNIX (Linux) quedó entre IBM y Oracle.

Permite agilizar el tiempo de respuestas de esta consulta

Ventajas:

Recuperación utilizando accesos de sólo índices. Predicados correlacionados. Tablas de resumen Tablas replicadas Uniones hash DB2 utiliza una combinación de seguridad externa y control interno de acceso a

proteger datos. DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes

tipos de usuarios y aplicaciones. DB2 guarda sus datos contra la pérdida, acceso desautorizado, o entradas

inválidas. Usted puede realizar la administración de la DB2 desde cualquier puesto de

trabajo.

Page 37: Auditoria Base de Datos

La tecnología de replicación heterogénea en SQL Server permite la publicación automática de los datos en otros sistemas que no sean SQL Server, entre los que se incluyen DB2.

La mayoría de los que utilizan equipos IBM utilizan DB2 porque es confiable y tiene un muy buen soporte técnico".

El DB2 se basa en dos ejes que lo hacen fuerte en su rendimiento: utiliza un sistema multiprocesador (SMP) simétrico y un sistema de procesador paralelo masivo.

OBJETIVOS

Evaluar el funcionamiento de la Base de Datos DB2. Identificar debilidades. Analizar funcionamiento de tablas, campos, etc.

PUNTOS A EVALUAR

Estructura de base de datos DB2. Añadir campos a una tabla. Triggers y Tablas Espejo. Software especializado.

INSTRUMENTOS Y TECNICAS

Medio para la recopilación de información:

Verificación.

Para el análisis y la evolución de la información:

Guías de evaluación.

HERRAMIENTAS

Primero se requiere respuestas a las siguientes cuestiones:

Page 38: Auditoria Base de Datos

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 1. Describa la Versión y la liberación del

software de base de datos Oracle y herramientas relacionadas (Oracle Enterprise Manager, Oracle Advanced Security Option, etc) que se implementan.

2. Describa la Versión y lanzamiento del sistema operativo subyacente

3. Número total de usuarios con nombre 4. Que solicitudes y versiones relacionadas

tienen acceso a la base de datos (por ejemplo, ERP, web, personalizado)

5. Que utilidades de inicio de sesión es utilizado para administrar la base de datos

6. De detalles del enfoque de evaluación de riesgo asumido en la organización para identificar y priorizar los riesgos

7. ¿Poseen políticas de seguridad de la organización y las normas fundamentales en cuanto a este motor específicamente?

8. ¿Qué tipo de organigramas identifican a los propietarios y encargados del mantenimiento del sistema? Descríbalo.

Pregunta para el administrador de la base de datos: 9. Describa el nivel de concienciación sobre la

seguridad global y el conocimiento de las políticas y procedimientos corporativos

10. ¿Cómo son los procesos para mantenerse actualizados técnicamente?

11. ¿Cuáles son los procesos y herramientas para mantener la seguridad de la base de datos?

Defina y explique: 12. Principales aplicaciones que acceden a la

base de datos 13. Relaciones de confianza 14. Programación, seguridad, control de cambios,

Page 39: Auditoria Base de Datos

Interfaces, etc. 15. ¿Qué procedimientos usan para la revisión

de perfiles inactivos? 16. Describa el procedimiento de seguimiento y

reporte de errores arrojados por el sistema.

Para verificar procesos más profundos se es necesario:

Para ver los registros de auditoría en la Base de datos DB2 de auditoría utilizamos dos vistas de Trust Authority. Al emplear estas vistas de base de datos, se puede ver todos los registros de auditoría almacenados actualmente en la base de datos. Los registros de auditoría se almacenan en la tabla de bases de datos, audit_log.

Las dos vistas son las siguientes:

viewar: Esta es la vista básica que proporciona acceso a todas las descripciones textuales sin truncamientos.

viewar_t: Esta vista es la misma que viewar, exceptuando que todas las columnas de texto se truncan a 40 caracteres.

Nombre de columna Descripción Tipo de datos serial_num El número de serie del

informe de auditoría Entero

Sourcetime El indicador de la fecha y la hora en que el cliente generó el evento de auditoría

indicador de fecha y hora

createtime El indicador de la fecha y la hora en que se creó el informe de auditoría

indicador de fecha y hora

event El nombre del evento varchar source El cliente de auditoría que

generó el evento de auditoría

varchar

source El cliente de auditoría que generó el evento de auditoría

varchar

component El tipo de componente del cliente de auditoría que generó el evento de auditoría

varchar

Page 40: Auditoria Base de Datos

auth_entity La entidad que autorizó el evento de auditoría

π varchar

auth_role La función de la entidad que autorizó el evento de auditoría

varchar

affected_entity La identidad de la entidad afectada por el evento de auditoría

varchar

affected_entity_type El tipo de la entidad afectada

varchar

storage_media El medio de almacenamiento asociado al evento de auditoría

varchar

extra_info Información adicional asociada al evento de auditoría

varchar

Ver los informes de la base de datos de auditoría:

1. Inicie la sesión como el usuario de Trust Authority (el usuario que instaló Trust Authority).

2. Inicie una sesión interactiva de línea de mandatos de DB2. 3. En la línea de mandatos de DB2, entre el mandato siguiente para conectar con la

base de datos de auditoría:

Connect to nombre_de_su_base_de_datos_de_auditoría

4. Consulte la base de datos empleando una de las vistas de Trust Authority del modo siguiente:

a. Para consultar la vista viewvar, entre este mandato: "select * from viewvar"

b. Para consultar la vista viewvar_t, entre este mandato: "select * from viewvar_t"

5. Para filtrar la vista de los informes de auditoría, utilice la cláusula where SQL. Por ejemplo, para consultar informes para un determinado intervalo de fechas, entre el mandato siguiente:

"select * from viewar where sourcetime between '1999-07-01- 8.00.00' and '1999-07-02-08.00.00'"

Page 41: Auditoria Base de Datos

11. MYSQL MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.

Lenguajes de programación:

Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), entre otros.

Aplicaciones

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.

:

Características de la versión 5.0.22

Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataforma Procedimientos almacenados Disparadores (triggers) Cursores Vistas actualizables Soporte a VARCHAR INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como

parte de esto, utilizando el motor InnoDB de Oracle Motores de almacenamiento independientes (MyISAM para lecturas rápidas,

InnoDB para transacciones e integridad referencial) Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster;

puntos de recuperación (savepoints) con InnoDB Soporte para SSL Query caching

Page 42: Auditoria Base de Datos

Sub-SELECTs (o SELECTs anidados) Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte

automático para múltiples maestros por esclavo. Soporte completo para Unicode Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster Shared-nothing clustering through MySQL Cluster

OBJETIVOS

Evaluar el funcionamiento de la Base de Datos MySQL. Identificar debilidades. Analizar funcionamiento de tablas, campos, etc

PUNTOS A EVALUAR

Estructura de base de datos MySQL. Añadir campos a una tabla. Triggers y Tablas Espejo. Software especializado.

INSTRUMENTOS Y TECNICAS

Para la recopilación de información:

Verificación.

Para el análisis y la evolución de la información:

Guías de evaluación.

HERRAMIENTAS

MySQL ofrece niveles de acceso y permisos, que incluyen las operaciones CRUD y las vistas. Es posible combinar criterios de acceso y así restringir los permisos operativos sobre algunas tablas en particular.

Page 43: Auditoria Base de Datos

Otro concepto a considerar será usar los procedimientos almacenados y/o disparadores en las tablas. Los disparadores por ejemplo son ideales para crear mecanismos de auditoría sobre operaciones no autorizadas en tablas específicas.

El lenguaje de programación es importante también. Sin importar si se trata de lenguajes de scripting en servidor como (PHP,RoR,Python, etc) o aplicaciones de escritorio, siempre la combinación del lenguaje de programación con las consultas SQL necesarias te permitirán en momentos determinados crear logs de auditoría que hagan volcados sobre ficheros o tablas en bases de datos acerca de las operaciones de los usuarios.

Y la última opción para conseguir el monitoreo es con algunas herramientas de Software, como Monyog, que es un monitor de estado para servidores mysql, entre otras opciones mide los riesgos e intentos de hackeo, problemas de seguridad y privilegios excesivos, entre otros.

La versión comercial de MySQL ofrece unos completos sistemas de monitoreo de carga y acceso.

Existen también monitores de servicios de red, open source que pueden tener complementos para monitoreo de bases de datos como Nagios

Una posible guía para evaluar su estado es la que se presenta a continuación:

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 1. Describa la Versión y la liberación del

software de base de datos Oracle y herramientas relacionadas (Oracle Enterprise Manager, Oracle Advanced Security Option, etc) que se implementan.

2. Describa la Versión y lanzamiento del sistema operativo subyacente

3. Número total de usuarios con nombre 4. Que solicitudes y versiones relacionadas

tienen acceso a la base de datos (por ejemplo, ERP, web, personalizado)

5. Que utilidades de inicio de sesión es utilizado para administrar la base de datos

Page 44: Auditoria Base de Datos

6. De detalles del enfoque de evaluación de riesgo asumido en la organización para identificar y priorizar los riesgos

7. ¿Poseen políticas de seguridad de la organización y las normas fundamentales en cuanto a este motor específicamente?

8. ¿Qué tipo de organigramas identifican a los propietarios y encargados del mantenimiento del sistema? Descríbalo.

Pregunta para el administrador de la base de datos: 9. Describa el nivel de concienciación sobre la

seguridad global y el conocimiento de las políticas y procedimientos corporativos

10. ¿Cómo son los procesos para mantenerse actualizados técnicamente?

11. ¿Cuáles son los procesos y herramientas para mantener la seguridad de la base de datos?

Defina y explique: 12. Principales aplicaciones que acceden a la

base de datos 13. Relaciones de confianza 14. Programación, seguridad, control de cambios,

Interfaces, etc. 15. ¿Qué procedimientos usan para la revisión

de perfiles inactivos? 16. Describa el procedimiento de seguimiento y

reporte de errores arrojados por el sistema.

Page 45: Auditoria Base de Datos

12. POSTGRESS PostgreSQL es un potente sistema de base de datos relacional libre (opensource, su código fuente está disponible) liberado bajo licencia BSD. Tiene más de 15 años de activo desarrollo y arquitectura probada que se ha ganado una muy buena reputación por su confiabilidad e integridad de datos. Funciona en todos los sistemas operativos importantes, incluyendo Linux, UNIX (AIX, BSD, HP-UX, SGIIRIX, Mac OSX, Solaris, Tru64) y Windows.

El desarrollo de PostgreSQL es realizado por un equipo de desarrolladores (voluntarios en su mayoría) dispersos alrededor del mundo y comunicados vía Internet. Este es un proyecto de la comunidad y no es controlado por ninguna compañía. Para integrarse al proyecto vea el FAQ de los desarrolladores: http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html.

PostgreSQL es un servidor de base de datos relacional libre, liberado bajo la licencia BSD. Es una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2.

Soporta casi toda la sintaxis SQL tiene soporte total para foreign keys, joins, views, triggers, y stored procedures (en multiples lenguajes).

Características

Integridad transaccional, obedece completamente a la especificación ACID. Acceso concurrente multiversión, MVCC Control de Concurrencia MultiVersión

(MultiVersion Concurrency Control), no se bloquean las tablas, ni siquiera las filas, cuando un proceso escribe. Es la tecnología que PostgreSQL usa para evitar bloqueos innecesarios. Mediante el uso de MVCC, PostgreSQL evita el problema de que procesos lectores estén esperando a que se termine de escribir. En su lugar, PostgreSQL mantiene una ruta a todas las transacciones realizadas por los usuarios de la base de datos. PostgreSQL es capaz entonces de manejar los registros sin necesidad de que los usuarios tengan que esperar a que los registros estén disponibles.

Cliente / Servidor

: PostgreSQL usa una arquitectura proceso-por-usuario cliente / servidor. Esta es similar al método del Apache 1.3.x para manejar procesos. Hay un proceso maestro que se ramifica para proporcionar conexiones adicionales para cada cliente que intenteconectar a PostgreSQL. Write Ahead Logging (WAL): La característica de PostgreSQL conocida como Write Ahead Logging incrementa la dependencia de la base de datos al registro de cambios antes de que estos sean escritos en la base de datos. Esto garantiza que

Page 46: Auditoria Base de Datos

en el hipotético caso de que la base de datos se caiga, existirá un registro de las transacciones a partir del cual podremos restaurar la base de datos. Esto puede ser enormemente beneficioso en el caso de caída, ya que cualesquiera cambios que no fueron escritos en la base de datos pueden ser recuperados usando el dato que fue previemante registrado. Una vez el sistema ha quedado restaurado, un usuario puede continuar trabajando desde el punto en que lo dejó cuando cayó la base de datos.

Lenguajes Procedurales

: PostgreSQL tiene soporte para lenguajes procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL. Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como lenguaje procedural embebido. Además de en C, C++ y Java. Interfaces con lenguajes de programación

. La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Estas interfaces incluyen Object Pascal, Python, Perl, PHP, ODBC, Java / JDBC, Ruby, TCL, C/C++, Pike, etc. Herencia de tablas:

Puntos de recuperación a un momento dado, tablespaces, replicación asincrónica, transacciones jerarquizadas (savepoints), backups en línea.

Incluye la mayoría de los tipos de datos SQL92 y SQL99 (INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL y TIMESTAMP), soporta almacenamiento de objetos grandes binarios, además de tipos de datos y operaciones geométricas.

Un sofisticado analizador / optimizador de consultas. Soporta juegos de caracteres internacionales, codificación de caracteres multibyte.

OBJETIVOS

Evaluar el funcionamiento de la Base de Datos Postgress.

Identificar debilidades.

Analizar funcionamiento de tablas, campos, etc.

PUNTOS A EVALUAR

Estructura de base de datos Postgress.

Añadir campos a una tabla. Triggers y Tablas Espejo.

Manejar datos de auditoría.

Page 47: Auditoria Base de Datos

Archivamiento.

INSTRUMENTOS Y TECNICAS

Para la recopilación de información:

Verificación.

Para el análisis y la evaluación de la información:

Guías de evaluación.

HERRAMIENTAS

Para auditar una base de datos Postgress se puede hacer de diferentes maneras:

Añadir campos a una tabla:

Triggers y Tablas Espejo:

Manejar datos de auditoría

Archivamiento

Grupo Auditor Silvana Montoya Cristian Gómez

Herramienta Utilizada

Entrevista

Concepto RESPUESTA OBSERVACIONES 1. Describa la Versión de base de datos SQL

Server y herramientas relacionadas que se implementan.

2. Describa la Versión y lanzamiento del sistema operativo subyacente

3. Número total de usuarios con nombre 4. Que solicitudes y versiones relacionadas

tienen acceso a la base de datos (por ejemplo, ERP, web, personalizado)

5. Que utilidades de inicio de sesión utilizado para administrar la base de datos

6. ¿Existe una metodología de diseño de la base de datos? Descríbala

7. ¿Evalúan los riesgos que puede tener la información de la base de datos? ¿Cómo lo

Page 48: Auditoria Base de Datos

hacen? 8. ¿Cómo determinan los privilegios de

administrados de bases de datos? 9. ¿Han existido ataques externos registrados? 10. ¿El administrador de la base de datos, sabe

quiénes son los que están teniendo acceso a la información y que privilegios tiene cada uno?

11. ¿Existen módulos que lleven a cabo revisiones de precisión, suficiencia y autorización de captura en el ingreso de datos?

12. ¿Se cuenta con una plantilla de tareas para el manejo de la base de datos? Explique.

13. ¿Se cuenta con una arquitectura de información? Descríbala

14. ¿Con cuanta capacidad cuenta actualmente su base de datos?

15. ¿Qué protocolos y procedimientos existen para la transferencia de datos? ¿Se garantiza la confidencialidad de los datos?

Page 49: Auditoria Base de Datos

BIBLIOGRAFÍA

Oracle Database Security, Audit and Control Features. Audit Program and Internal Control Questionnaire. Recuperado: Mayo 2010.

Data Warehousing. Recuperado: Mayo 2010. Disponible en: http://www.sqlmax.com/dataw1.asp

Data WareHouse. Recuperado: Mayo 2010. Disponible en: http://www.monografias.com/trabajos17/data-warehouse/data-warehouse.shtml

Bases de datos. Recuperado: Mayo 2010. Disponible en: http://www.monografias.com/trabajos11/basda/basda.shtml

Datos. Recuperado: Mayo 2010. Disponible en: http://www.freenetpages.co.uk/hp/alan.gauld/spanish/tutdata.htm

¿Qué es ORACLE? Recuperado: Mayo 2010. Disponible en: http://www.desarrolloweb.com/articulos/840.php

SQL. Recuperado: Mayo 2010. Disponible en: http://personal.lobocom.es/claudio/sql001.htm

Sistema del SAS. Recuperado: Mayo 2010. Disponible en: http://www.worldlingo.com/ma/enwiki/es/SAS_System

DB2 IBM. Recuperado: Mayo 2010. Disponible en: http://www.monografias.com/trabajos27/d-b-dos/d-b-dos.shtml

Postgres sql. Recuperado: Mayo 2010. Disponible en: http://danielpecos.com/docs/mysql_postgres/x15.html

Sistemas de bases de datos. Recuperado: Mayo 2010. Disponible en: http://www.wikilearning.com/curso_gratis/sistemas_de_bases_de_datosdefinicion_y_caracteristicas_de_un_sbd/3621-1

Definición de my sql. Recuperado: Mayo 2010. Disponible en: http://www.definicionabc.com/tecnologia/mysql.php

Page 50: Auditoria Base de Datos

Dataminig minería de datos. Recuperado: Mayo 2010. Disponible en:

http://www.sinnexus.com/business_intelligence/datamining.aspx

¿Qué son las bases de datos? Recuperado: Mayo 2010. Disponible en:

http://www.maestrosdelweb.com/principiantes/¿que-son-las-bases-de-datos/