Jorge Salazar Heredia, CISA, CIA
Las Pistas de Auditoría o “Audit Trail” son un
conjunto de transacciones que reflejan los cambios hechos a una base de datos. A
partir del análisis de esta información se puede llegar a determinar la forma
en la que los datos o elementos obtuvieron su valor actual. Son un componente
fundamental para la implementación del “accountability” o rendición de cuentas.
En una base de datos de una aplicación estándar de una
organización, se pueden generar pistas de auditoría para:
- Conexiones a la base de datos.
- Modificaciones al modelo de datos.
- Modificaciones a los datos.
Las pistas de auditoría, al contrario de lo que se
podría suponer por su nombre, no son de utilidad únicamente para el auditor. El
uso más provechoso es para proactivamente monitorear la seguridad de la base de
datos. Esto puede ser realizado por el administrador de la base de datos o por
usuarios finales de las aplicaciones, dependiendo de la forma en la que éstas
sean presentadas y la facilidad para su uso y consulta.
En una base de datos es posible definir distintos
tipos de pistas de auditoría, cada una de ellas con diferente costo de
almacenamiento, costo de implementación, facilidad de uso, etc. La definición
del tipo de pistas de auditoría a utilizar depende de la organización, la
criticidad de los datos y los estándares de seguridad establecidos. Los tipos
de pistas de auditoría que encontramos en una base de datos son los siguientes:
a. Logs
de base de datos: generalmente
provistas con opciones que se configuran directamente en la base de datos
(dependiendo del motor) e incluyen acciones como auditoría de sentencias,
auditoría de privilegios y auditoría de objetos de la base de datos. La
información generada se guarda en archivos propios de la base de datos. Es una
opción costosa en recursos de almacenamiento y para revisar la información
generada usualmente se requieren recursos adicionales tales como una
herramienta para identificar y monitorear los eventos verdaderamente críticos.
b. Registros
de auditoría: requeridos
únicamente cuando se modifican los datos en una tabla maestra o transaccional. A
diferencia de los logs de base de datos son registros de “historia” y no se
utilizan para registrar las conexiones a la base de datos o modificaciones al
modelo de datos, sino que se enfocan en las modificaciones a los datos
originadas desde cualquier origen. Su implementación es a través de “triggers”,
típicamente antes o después de los eventos “insert”, “delete” o “update”. Se
guarda la imagen del registro antes y después del evento, existiendo la opción
de registrar la imagen de la fila entera, o registrar únicamente las columnas
que han cambiado durante la operación. El crecimiento de los registros de
auditoría estará determinado por la cantidad de transacciones que se realicen
sobre los registros.
c. Pistas
de auditoría basadas en aplicación: se implementan a través de procedimientos almacenados
invocados desde las aplicaciones o directamente en el código de las
aplicaciones. Consisten en agregar, y modificar cuando sea necesario, los
siguientes campos en cada una de las tablas (maestras o transaccionales) de una
aplicación:
- creado_por – nombre o código de identificación del usuario que creó el registro
- fecha_creación – fecha y hora en la que el registro fue creado
- modificado_por – nombre o código de identificación del último usuario que modificó el registro
- fecha_modificación – fecha y hora de la última modificación del registro
- origen – nombre de la función de la aplicación desde la que se realizó la última acción sobre el registro.
Para su funcionamiento se requiere que nunca
se eliminen registros de la base de datos, sino que únicamente se les cambie el
estado, de tal forma que para el usuario final estos registros ya no existan
pero físicamente seguirán en la base de datos. No crecen con las transacciones
que se realizan, ya que son campos fijos que se definen al crear las tablas en
las bases de datos.
La comparación de los tres tipos de pistas de
auditoría en bases de datos es:
Logs
de Base de Datos
|
Registros
de Auditoría
|
Pistas
basadas en aplicación
|
|
Alcance
|
Conexiones a la base de datos,
Modificaciones al modelo de datos,
Modificaciones a los datos
|
Modificaciones a los datos
|
Modificaciones a los datos
|
Almacenamiento
requerido
|
Creciente, por
cada conexión a la base de datos, por cada modificación al modelo de datos y
por cada transacción sobre los registros.
|
Creciente, por
cada transacción sobre los registros.
|
Fijo, columnas
definidas en la creación de las tablas
|
Costo de almacenamiento
|
Alto, por el volumen de información que se
guarda
|
Mediano
|
Bajo, espacio adicional fijo por cada
registro
|
Costo
de implementación
|
Alto
|
Mediano
|
Bajo
|
Tipo de Herramienta para su Revisión
|
Software especializado para monitoreo y revisión de
archivos logs
|
Pantalla de consulta (con navegación)
|
Pantalla de consulta (simple)
|
De
utilidad para
|
Administrador de Base de Datos,
Auditor de TI
|
Usuario Final, Auditor
|
Usuario Final, Auditor
|
Utilidad para análisis de fraudes
|
Alto, si se almacena toda la información necesaria
|
Mediano
|
Bajo, solo se almacenan datos de la primera y la
última acción
|
Utilidad
para supervisión y control
|
Bajo, por la dificultad para analizar los datos
críticos
|
Alto, información disponible en formato adecuado para
la supervisión
|
Alto, , información disponible en formato adecuado
para la supervisión
|
Facilidad de uso
|
Bajo, por la dificultad de análisis
|
Alto, a través de interfaz gráfica de
usuario
|
Alto, a través de interfaz gráfica de
usuario
|
Se puede concluir que como una buena práctica, por su
facilidad de uso e implementación, todas las tablas de las bases de datos
deberían contar con pistas basadas en aplicación. En el caso de los registros
de auditoría, se aconseja su uso para datos críticos o sensibles y para
información cuya evolución se requiera revisar periódicamente. Los logs de base
de datos son útiles, pero la decisión del volumen de información y el medio de
almacenamiento dependerá de los requerimientos y restricciones existentes en la
organización.
¿Te ha gustado el post? ¡Compártelo con otro auditor
interno!
Personalmente la auditoria basada en la aplicacion no me gusta, me parece inseguro si se modifica desde fuera de la aplicacion, incompleta ya que guarda la ultima modificacion, y ademas teniendo en cuenta los costos de almacenamientos actuales me parece una tecnica obsoleta. Por lo demas es un articulo excelente
ResponderEliminarquisiera poder contactanrme con usted
ResponderEliminarApreciado Fernando, si deseas contactarme solo tienes que enviarme un email a nahun.frett@gmail.com,
EliminarSaludos,