Computer Security, Security Auditing Architecture - Español
Computer Security, Security Auditing Architecture - Español
Requisitos
Directrices de implementación
Bibliotecas interponibles
seguimiento de auditoría
Momento
Revisión de auditoría
OBJETIVOS DE APRENDIZAJE
La auditoría de seguridad es una forma de auditoría que se centra en la seguridad de los activos
de tecnología de la información (TI) de una organización. Esta función es un elemento clave en la seguridad
informática. La auditoría de seguridad puede:
1 definidas
Dos conceptos clave son las auditorías de seguridad y las pistas de auditoría de seguridad,
en la Tabla 18.1.
1995) señala que algunos expertos en seguridad hacen una distinción entre una pista de auditoría y
un registro de auditoría de la siguiente manera: Un registro es un registro de eventos realizados por un software en particular
paquete, y una pista de auditoría es un historial completo de un evento, posiblemente utilizando varios registros.
Sin embargo, el uso común dentro de la comunidad de seguridad no hace uso de este
definición. No hacemos ninguna distinción en este libro.
actividades para determinar la idoneidad de los controles del sistema, garantizar el cumplimiento de
El objetivo básico de la auditoría es establecer la responsabilidad de las entidades del sistema que inician
o participar en eventos y acciones relevantes para la seguridad. Por lo tanto, se necesitan medios para
generar y registrar una pista de auditoría de seguridad y revisar y analizar la pista de auditoría para
Registro de auditoría de seguridad Un registro cronológico de las actividades del sistema que es suficiente
actividades que rodean o conducen a una operación, procedimiento o evento en una transacción
El proceso de generación de información de auditoría arroja datos que pueden ser útiles en tiempo
real para la detección de intrusiones; Este aspecto se analiza en el Capítulo 8. En el presente
capítulo, nos ocupamos de la recopilación, el almacenamiento y el análisis de datos relacionados
con la seguridad de TI. Comenzamos con una mirada general a la arquitectura de auditoría de seguridad
y cómo se relaciona con la actividad complementaria de detección de intrusiones. A
continuación, analizamos los diversos aspectos de los registros de auditoría, también conocidos
como registros de auditoría. Luego discutimos el análisis de los datos de auditoría.
Machine Translated by Google
2
La Recomendación UITT X.816 desarrolla un modelo que muestra los elementos de la función de auditoría de
seguridad y su relación con las alarmas de seguridad. La figura 18.1 muestra el modelo. Los elementos clave son los siguientes:
Discriminador de eventos: esta es una lógica integrada en el software del sistema que monitorea la actividad del sistema
y detecta eventos relacionados con la seguridad para los que ha sido configurado.
Registrador de auditoría: Para cada evento detectado, el discriminador de eventos transmite la información a un registrador
de auditoría. El modelo representa esta transmisión en forma de mensaje. La auditoría también podría realizarse registrando
el evento en un área de memoria compartida.
Procesador de alarmas: algunos de los eventos detectados por el discriminador de eventos se definen como eventos de
alarma. Para tales eventos, se emite una alarma a un procesador de alarmas. El procesador de alarmas realiza alguna acción
en función de la alarma. Esta acción es en sí misma un evento auditable, al igual que lo es
transmitido al registrador de auditoría.
Pista de auditoría de seguridad: el registrador de auditoría crea un registro formateado de cada evento y lo almacena en el
registro de auditoría de seguridad.
Analizador de auditoría: el rastro de auditoría de seguridad está disponible para el analizador de auditoría, que, según un
patrón de actividad, puede definir un nuevo evento auditable que se envía al registrador de auditoría y puede generar una
alarma.
Archivador de auditoría: este es un módulo de software que extrae periódicamente registros del seguimiento de auditoría
para crear un archivo permanente de eventos auditables.
Archivos: Los archivos de auditoría son un almacén permanente de eventos relacionados con la seguridad en este sistema.
Proveedor de auditoría: El proveedor de auditoría es una aplicación y/o interfaz de usuario para la pista de auditoría.
Machine Translated by Google
Examinador de seguimiento de auditoría: El examinador de seguimiento de auditoría es una aplicación o usuario que examina
el seguimiento de auditoría y los archivos de auditoría en busca de tendencias históricas, con fines informáticos forenses y para
otros análisis.
Informes de seguridad: el examinador de seguimiento de auditoría prepara informes de seguridad legibles por humanos.
Este modelo ilustra la relación entre las funciones de auditoría y las funciones de alarma. La función de auditoría crea un registro
de eventos que el administrador de seguridad define como relacionados con la seguridad. De hecho, algunos de estos eventos pueden
Estos eventos se alimentan de una función de detección de intrusiones o de cortafuegos mediante alarmas.
Como fue el caso con la detección de intrusiones, una función de auditoría distribuida en la que se crea un repositorio centralizado
puede resultar útil para los sistemas distribuidos. Se necesitan dos componentes lógicos adicionales para un servicio de auditoría
Recopilador de pistas de auditoría: módulo en un sistema centralizado que recopila registros de pistas de auditoría de otros
Despachador de auditoría: módulo que transmite los registros de seguimiento de auditoría desde su sistema local al recopilador
de seguimiento de auditoría centralizado.
Es útil observar otro desglose de la función de auditoría de seguridad, desarrollada como parte de la especificación de Criterios Comunes
[CCPS12a]. La Figura 18.3 muestra un desglose de la auditoría de seguridad en seis áreas principales, cada una de las cuales tiene
Generación de datos: identifica el nivel de auditoría, enumera los tipos de eventos auditables e identifica el conjunto
mínimo de información relacionada con la auditoría proporcionada. Esta función también debe abordar el conflicto entre
seguridad y privacidad y especificar para qué eventos se incluye la identidad del usuario asociado a una acción en los datos
generados como resultado de un evento.
Selección de eventos: Inclusión o exclusión de eventos del conjunto auditable. Esto permite que el
El sistema debe configurarse en diferentes niveles de granularidad para evitar la creación de un registro de auditoría difícil
de manejar.
incluye medidas para proporcionar disponibilidad y evitar la pérdida de datos de la pista de auditoría.
Respuesta automática: define las reacciones tomadas después de la detección de eventos que son indicativos de una posible violación
de seguridad.
Análisis de auditoría: Proporcionado a través de mecanismos automatizados para analizar la actividad del sistema y auditar datos
en busca de violaciones de seguridad. Este componente identifica el conjunto de eventos auditables cuya ocurrencia o ocurrencia
acumulada indica una posible violación de seguridad. Para tales eventos, se realiza un análisis para determinar si ha ocurrido una
Revisión de auditoría: Disponible para usuarios autorizados para ayudar en la revisión de datos de auditoría. La revisión de auditoría
El componente puede incluir una función de revisión seleccionable que brinda la capacidad de realizar búsquedas basadas
en un único criterio o en múltiples criterios con relaciones lógicas (es decir, y/o), ordenar datos de auditoría y filtrar datos de auditoría
Requisitos
Al revisar la funcionalidad sugerida por las Figuras 18.1 y 18.3, podemos desarrollar un conjunto de requisitos para la auditoría
de seguridad. El primer requisito es la definición del evento. El administrador de seguridad debe definir el conjunto de eventos
que están sujetos a auditoría. Entraremos en más detalles en la siguiente sección, pero incluimos aquí una lista sugerida en [CCPS12a]:
Introducción de objetos dentro de la parte del software relacionada con la seguridad en el espacio de direcciones de un sujeto
Eliminación de objetos
Verificaciones de políticas realizadas por el software de seguridad como resultado de una solicitud de un sujeto
Acciones relacionadas con la seguridad tomadas por un operador y/o usuario autorizado (por ejemplo, supresión de un mecanismo
de protección)
Importación/exportación de datos desde/hacia medios extraíbles (por ejemplo, resultados impresos, discos magnéticos u ópticos,
Un segundo requisito es que los ganchos apropiados deben estar disponibles en la aplicación y el software del sistema para permitir
la detección de eventos. Es necesario agregar software de monitoreo al sistema y a los lugares apropiados para capturar la
actividad relevante. A continuación se necesita una función de grabación de eventos , que incluya la necesidad de proporcionar un
almacenamiento seguro resistente a la manipulación o la eliminación. Se pueden utilizar interfaces, herramientas y software de
análisis de seguimiento de eventos y auditoría para analizar los datos recopilados, así como para investigar tendencias y
rastro, pero todo el software de auditoría y el almacenamiento intermedio deben protegerse contra derivaciones o
manipulaciones. Finalmente, el sistema de auditoría debería tener un efecto mínimo sobre la funcionalidad.
Directrices de implementación
3
ISO 27002 (Código de prácticas para la gestión de la seguridad de la información, octubre de 2013) proporciona un
conjunto útil de directrices para las consideraciones de auditoría de sistemas de información:
3Organización Internacional de Normalización. Consulte el Apéndice C para obtener una discusión sobre este y otros estándares.
organizaciones fabricantes y la Lista de documentos NIST e ISO.
1. Los requisitos de auditoría para el acceso a sistemas y datos deben acordarse con las autoridades apropiadas.
gestión.
2. Debe acordarse y controlarse el alcance de las pruebas de auditoría técnica.
3. Las pruebas de auditoría deben limitarse al acceso de sólo lectura al software y a los datos.
4. Sólo se debe permitir un acceso distinto del de solo lectura para copias aisladas de archivos del sistema, que
deben borrarse cuando se complete la auditoría, o brindarles la protección adecuada si existe la obligación de
conservar dichos archivos según los requisitos de documentación de la auditoría.
5. Se deben identificar y acordar los requisitos para el procesamiento especial o adicional.
6. Las pruebas de auditoría que podrían afectar la disponibilidad del sistema deben realizarse fuera del horario comercial.
7. Todo acceso debe ser monitoreado y registrado para producir un rastro de referencia.
Machine Translated by Google
Los registros de auditoría mantienen un registro de la actividad del sistema. Esta sección analiza cuestiones relacionadas con las pistas de auditoría.
Qué coleccionar
La elección de los datos a recopilar está determinada por una serie de requisitos. Una cuestión es la cantidad de datos a
recopilar, que está determinada por la variedad de áreas de interés y por la granularidad de la recopilación de datos. Aquí hay
un equilibrio entre cantidad y eficiencia. Cuantos más datos se recopilen, mayor será la penalización en el rendimiento del sistema.
Grandes cantidades de datos también pueden sobrecargar innecesariamente los diversos algoritmos utilizados para examinar y analizar
los datos.
Además, la presencia de grandes cantidades de datos crea la tentación de generar informes de seguridad excesivos en número o
extensión.
Teniendo en cuenta estas precauciones, la primera orden del día en el diseño de pistas de auditoría de seguridad es la
selección de los elementos de datos que se van a capturar. Estos pueden incluir:
Eventos relacionados con el uso del software de auditoría (es decir, todos los componentes de la Figura 18.1).
Cualquier evento que se recopile para su uso por los diversos mecanismos de prevención y detección de seguridad.
Estos incluyen elementos relevantes para la detección de intrusiones y elementos relacionados con el firewall.
operación.
Acceso al sistema operativo (por ejemplo, a través de llamadas al sistema como las enumeradas en la Tabla 8.2).
Eventos relacionados con la seguridad relacionados En lo que respecta a los servicios de seguridad individuales, los siguientes
con una conexión específica eventos relacionados con la seguridad son importantes
incluir al menos
— Auditoría: deseleccionar evento para auditoría
Acceso denegado
— Auditoría: cambiar los criterios de selección de eventos de auditoría
— Autenticar
— Cambiar atributo
Crear objeto
— Eliminar objeto
— Modificar objeto
— Usar privilegio
Un ejemplo es una lista sugerida de elementos auditables en X.816, que se muestra en la Tabla 18.2. La norma señala
que es posible que sea necesario auditar tanto las condiciones normales como las anormales; por ejemplo, cada solicitud
de conexión, tal como una solicitud de conexión TCP, puede ser objeto de un registro de seguimiento de auditoría de
seguridad, independientemente de si la solicitud fue anormal o no e independientemente de si la solicitud fue aceptada
o no. Éste es un punto importante. La recopilación de datos para auditoría va más allá de la necesidad de generar
alarmas de seguridad o proporcionar información a un módulo de firewall. Los datos que representan el comportamiento
que no activa una alarma se pueden utilizar para identificar patrones de uso normales versus anormales y así servir
como entrada para el análisis de detección de intrusiones. Además, en caso de un ataque, puede ser necesario un análisis
de toda la actividad de un sistema para diagnosticar el ataque y llegar a contramedidas adecuadas para el
futuro.
Otra lista útil de eventos auditables (ver Tabla 18.3) está contenida en ISO 27002. Al igual que X.816, el estándar ISO detalla
eventos autorizados y no autorizados, así como eventos que afectan las funciones de seguridad del sistema.
a. ID de usuario
c. fechas, horas y detalles de eventos clave, por ejemplo, inicio y cierre de sesión
y protocolos de red
metro. Activación y desactivación de sistemas de protección, como sistemas antivirus y de detección de intrusos.
sistemas
A medida que el administrador de seguridad diseña una política de recopilación de datos de auditoría, resulta útil organizar
la pista de auditoría en categorías con el fin de elegir los elementos de datos que se recopilarán. A continuación, analizamos
categorías útiles para el diseño de pistas de auditoría.
Las pistas de auditoría a nivel del sistema se utilizan generalmente para monitorear y optimizar el rendimiento del sistema,
pero también pueden cumplir una función de auditoría de seguridad. El sistema aplica ciertos aspectos de la política de
seguridad, como el acceso al propio sistema. Un seguimiento de auditoría a nivel del sistema debe capturar datos como los
intentos de inicio de sesión, tanto exitosos como fallidos, los dispositivos utilizados y las funciones del sistema operativo
realizadas. Otras funciones a nivel del sistema pueden ser de interés para la auditoría, como el funcionamiento del sistema
y los indicadores de rendimiento de la red.
La Figura 18.4a, de NIST SP 80012 (Introducción a la seguridad informática: Manual del NIST, octubre de 1995), es un ejemplo
de un seguimiento de auditoría a nivel de sistema en un sistema UNIX. El comando de apagado finaliza todos los
procesos y lleva el sistema al modo de usuario único. El comando su crea un shell UNIX.
28 de enero 09:46:53 host1 su: 'su root' tuvo éxito para el usuario1 en /dev/ttyp0
Machine Translated by Google
28 de enero 09:53:24 host1 su: 'su root' tuvo éxito para el usuario1 en /dev/ttyp1
12 de febrero 08:53:22 host1 su: 'su root' tuvo éxito para el usuario1 en /dev/ttyp1
17 de febrero 13:22:52 host1 su: 'su root' tuvo éxito para el usuario1 en /dev/ttyp0
(a) Archivo de registro del sistema de muestra que muestra mensajes de autenticación
(c) Registro de usuario que muestra una lista cronológica de comandos ejecutados por los usuarios
Se pueden utilizar pistas de auditoría a nivel de aplicación para detectar violaciones de seguridad dentro de una aplicación o para
detectar fallas en la interacción de la aplicación con el sistema. Para aplicaciones críticas, o aquellas que manejan datos confidenciales,
un registro de auditoría a nivel de aplicación puede proporcionar el nivel deseado de detalle para evaluar las amenazas y los
impactos en la seguridad. Por ejemplo, para una aplicación de correo electrónico, una pista de auditoría puede registrar al
remitente y al destinatario, el tamaño del mensaje y los tipos de archivos adjuntos. Un seguimiento de auditoría para una interacción
de base de datos que utiliza consultas SQL (lenguaje de consulta estructurado) puede registrar el usuario, el tipo de
transacción e incluso tablas, filas, columnas o elementos de datos individuales a los que se accede.
La figura 18.4b es un ejemplo de una pista de auditoría a nivel de aplicación para un sistema de entrega de correo.
Un seguimiento de auditoría a nivel de usuario rastrea la actividad de usuarios individuales a lo largo del tiempo. Puede utilizarse
para responsabilizar a un usuario por sus acciones. Estas pistas de auditoría también son útiles como entrada para un programa
Un seguimiento de auditoría a nivel de usuario puede registrar las interacciones del usuario con el sistema, como los comandos
emitidos, los intentos de identificación y autenticación, y los archivos y recursos a los que se accede. La pista de auditoría también
La Figura 18.4c es un ejemplo de una pista de auditoría a nivel de usuario en un sistema UNIX.
Las pistas de auditoría pueden ser generadas por equipos que controlan el acceso físico y luego las transmiten a un host central para
su posterior almacenamiento y análisis. Algunos ejemplos son los sistemas de tarjetallave y los sistemas de alarma. NIST SP 80012
Se debe registrar la fecha y hora en que se intentó o realizó el acceso, al igual que el portón o puerta a través del cual se intentó o
Los intentos no válidos deben ser monitoreados y registrados mediante pistas de auditoría no informáticas, tal como se hacen
con las pistas de auditoría de sistemas informáticos. Se debe informar a la gerencia si alguien intenta obtener acceso durante
horas no autorizadas.
La información registrada también debe incluir intentos de agregar, modificar o eliminar privilegios de acceso físico (por
ejemplo, otorgar acceso al edificio a un nuevo empleado o otorgar a los empleados transferidos acceso a su nueva
Al igual que con los registros de auditoría de sistemas y aplicaciones, se puede implementar la auditoría de funciones
no informáticas para enviar mensajes al personal de seguridad indicando intentos válidos o no válidos de obtener acceso a
espacios controlados. Para no insensibilizar a un guardia o monitor, todo acceso no debe resultar en el envío de mensajes a
RFC 2196 (Site Security Handbook, 1997) enumera tres alternativas para almacenar registros de auditoría:
El registro del sistema de archivos es relativamente fácil de configurar y requiere menos recursos. Se puede acceder a los registros al
instante, lo que resulta útil para contrarrestar un ataque en curso. Sin embargo, este enfoque es muy vulnerable. Si un atacante obtiene
Un DVDROM o un método de almacenamiento similar es mucho más seguro pero menos conveniente. Se necesita un suministro
Los registros impresos proporcionan un rastro en papel, pero no son prácticos para capturar datos de auditoría detallados en sistemas
grandes o sistemas en red. RFC 2196 sugiere que el registro en papel puede ser útil cuando se requiere un registro permanente y
La protección de la pista de auditoría implica tanto integridad como confidencialidad. La integridad es particularmente importante
porque un intruso puede intentar eliminar evidencia de la intrusión alterando la pista de auditoría. Para el registro del sistema de
Los dispositivos de escritura única, como DVDROM o papel, proporcionan integridad automáticamente. Un fuerte control de acceso
La confidencialidad es importante si el registro de auditoría contiene información del usuario que es confidencial y no debe revelarse a
todos los usuarios, como información sobre cambios en el salario o el estado de la categoría salarial.
Un fuerte control de acceso ayuda en este sentido. Una medida eficaz es el cifrado simétrico (por ejemplo, utilizando AES [Advanced
Encryption Standard] o triple DES [Data Encryption Standard]). La clave secreta debe estar protegida y sólo disponible para el software
Tenga en cuenta que las medidas de integridad y confidencialidad protegen los datos de la pista de auditoría no sólo en el almacenamiento
incluya ganchos o puntos de captura que activen la recopilación y el almacenamiento de datos a medida que ocurren eventos
preseleccionados. Esta función de registro o recopilación de auditoría depende de la naturaleza del software y variará según el
sistema operativo subyacente y las aplicaciones involucradas. En esta sección, analizamos enfoques para implementar la
función de registro para pistas de auditoría a nivel de sistema y de usuario, por un lado, y pistas de auditoría a nivel de aplicación, por
el otro.
operativo. En esta sección, analizamos la función del sistema operativo Windows y luego la función syslog que se encuentra en los
Un evento en el Registro de eventos de Windows es una entidad que describe algún suceso interesante en un sistema
informático. Los eventos contienen un código de identificación numérico, un conjunto de atributos (tarea, código de operación, nivel,
versión y palabras clave) y datos opcionales proporcionados por el usuario. Windows está equipado con tres tipos de registros de
eventos:
Registro de eventos del sistema: utilizado por aplicaciones que se ejecutan en cuentas de servicios del sistema (servicios del
sistema instalados), controladores o un componente o aplicación que tiene eventos relacionados con el estado del sistema
informático.
Registro de eventos de la aplicación: eventos para todas las aplicaciones a nivel de usuario. Este registro no está protegido y
está abierto a cualquier aplicación. Las aplicaciones que registran información extensa deben definir un registro
específico de la aplicación.
Registro de eventos de seguridad: el registro de auditoría de Windows. Este registro de eventos es para uso exclusivo
de la Autoridad de seguridad local de Windows. Los eventos de usuario pueden aparecer como auditorías si son
Para todos los registros de eventos o pistas de auditoría, la información de los eventos se puede almacenar en formato XML. La tabla
18.4 enumera los elementos de información almacenados para cada evento. La Figura 18.5 es un ejemplo de datos exportados
Valores de propiedad de un evento que contiene datos binarios El preprocesador de seguimiento del software LevelName de Windows
canales
Datos binarios proporcionados por el nivel de registro de eventos de Windows que se representarán para un evento
publicado
Datos complejos para un parámetro proporcionado por Campo de seguimiento de depuración de FormattedString WPP utilizado en la depuración
ComponentName Campo de seguimiento de depuración de WPP Mensaje de evento representado para un evento
Computadora en la que ocurrió el evento Código de operación que se representará para un evento
Dos valores de 128 bits que se pueden utilizar para encontrar La actividad o un punto dentro de una actividad que la aplicación
Nombre del elemento de datos del evento que causó una Elementos que definen un evento de instrumentación
Datos que constituyen una parte del tipo de datos complejos Información sobre el proveedor del evento que publicó el
Datos para un parámetro proporcionado por el proveedor del Editor del evento que publicó el evento representado
evento.
Valores de propiedad del seguimiento del software de Windows Información que se presentará para un evento.
Código de error que apareció cuando había El identificador de seguridad del usuario.
Una pieza de información estructurada que describe Campo de seguimiento de depuración de SequenceNum WPP utilizado en eventos
Número de identificación del evento SubComponentName Campo de seguimiento de depuración de WPP utilizado en
Información sobre el proceso y el hilo en Información que el sistema completa automáticamente cuando el
Datos de eventos binarios para el evento que causó Tarea que se representará para un evento
procesada
el evento ocurrió en
Campo de seguimiento de depuración de FileLine WPP utilizado Información sobre la hora en que ocurrió el evento.
FlagsName Campo de seguimiento de depuración de WPP Parte definida por el proveedor que puede consistir en cualquier XML válido
utilizado en eventos de depuración en canales de depuración Contenido que comunica información del evento.
Campo de seguimiento de depuración de KernelTime WPP utilizado Campo de seguimiento de depuración de UserTime WPP utilizado en eventos de depuración en
ID de evento: 517
Fecha: 6/03/2006
Tiempo: 14:56:40
Computadora: KENT
Windows permite al usuario del sistema habilitar la auditoría en nueve categorías diferentes:
Eventos de inicio de sesión de cuenta: actividad de autenticación del usuario desde la perspectiva del sistema que
validó el intento. Ejemplos: autenticación concedida; la solicitud del ticket de autenticación falló;
cuenta asignada para iniciar sesión; La cuenta no se pudo asignar para iniciar sesión. Acciones individuales en este
categoría no son particularmente instructivos, pero una gran cantidad de fallas pueden indicar escaneo
eliminación de cuentas individuales y grupos de usuarios. Ejemplos: cuenta de usuario creada; cambiar
intento de contraseña; cuenta de usuario eliminada; se agregó un miembro del grupo global con seguridad habilitada;
Acceso al servicio de directorio: acceso a nivel de usuario a cualquier objeto de Active Directory que tenga un sistema
Lista de control de acceso definida. Una SACL crea un conjunto de usuarios y grupos de usuarios para los cuales
Eventos de inicio de sesión: actividad de autenticación del usuario, ya sea en una máquina local o a través de una red, desde
el sistema que originó la actividad. Ejemplos: inicio de sesión de usuario exitoso; error de inicio de sesión,
nombre de usuario desconocido o contraseña incorrecta; error de inicio de sesión porque la cuenta está deshabilitada; iniciar sesión
fracaso, porque la cuenta ha caducado; error de inicio de sesión, el usuario no tiene permiso para iniciar sesión en esta computadora;
Acceso a objetos: acceso a nivel de usuario al sistema de archivos y objetos de registro que tienen acceso al sistema
Listas de Control definidas. Proporciona una forma relativamente sencilla de realizar un seguimiento del acceso de lectura, así como de los cambios,
a archivos confidenciales, integrados con el sistema operativo. Ejemplos: objeto abierto; objeto eliminado.
Cambios de política: cambios administrativos en las políticas de acceso, configuración de auditoría y otros
configuraciones a nivel del sistema. Ejemplos: derecho de usuario asignado; nuevo dominio de confianza; política de auditoría
cambió.
Uso de privilegios: Windows incorpora el concepto de derecho de usuario, permiso granular para
realizar una tarea determinada. Si habilita la auditoría de uso de privilegios, registra todas las instancias de usuarios
Machine Translated by Google
ejercer su acceso a funciones particulares del sistema (crear objetos, depurar código ejecutable o realizar copias de
seguridad del sistema). Ejemplos: se agregaron privilegios específicos al token de acceso de un usuario (durante
el inicio de sesión); un usuario intentó realizar una operación de servicio del sistema privilegiada.
Seguimiento de procesos: genera información de auditoría detallada cuando los procesos comienzan y finalizan,
se activan programas o se accede a objetos indirectamente. Ejemplos: se creó un nuevo proceso; proceso
salido; los datos auditables estaban protegidos; los datos auditables estaban desprotegidos; El usuario intentó instalar
un servicio.
Eventos del sistema: registra información sobre eventos que afectan la disponibilidad e integridad del sistema, incluidos
los mensajes de inicio y el mensaje de apagado del sistema. Ejemplos: el sistema se está iniciando; Windows se
está cerrando; agotamiento de recursos en el subsistema de explotación forestal; algunas auditorías se perdieron;
registro de auditoría borrado.
SISTEMA
Syslog es el mecanismo de registro de propósito general de UNIX que se encuentra en todas las variantes de UNIX y
Linux. Consta de los siguientes elementos:
syslog(): una interfaz de programa de aplicación (API) a la que hacen referencia varias utilidades estándar del
sistema y disponible para los programas de aplicación.
registrador: un comando UNIX utilizado para agregar entradas de una sola línea al registro del
sistema /etc/syslog.conf: el archivo de configuración utilizado para controlar el registro y el enrutamiento del registro del sistema
eventos
syslogd: el demonio del sistema utilizado para recibir y enrutar eventos de registro del sistema desde llamadas
syslog() y comandos de registro .
Las diferentes implementaciones de UNIX tendrán diferentes variantes de la función syslog y no existen formatos de registro
del sistema uniformes en todos los sistemas. El Capítulo 25 examina la función syslog de Linux. Aquí, proporcionamos una
breve descripción general de algunas funciones relacionadas con syslog y analizamos el protocolo syslog.
El servicio básico que ofrece UNIX syslog es un medio para capturar eventos relevantes, una instalación de
almacenamiento y un protocolo para transmitir mensajes syslog desde otras máquinas a una máquina central que actúa
como servidor syslog. Además de estas funciones básicas, hay otros servicios disponibles, a menudo como paquetes
de terceros y, en algunos casos, como módulos integrados. NIST SP 80092 (Guía para la gestión de registros de seguridad
informática, septiembre de 2006) enumera las siguientes funciones adicionales más comunes:
Filtrado sólido: las implementaciones originales de syslog permitieron que los mensajes se manejaran de manera
diferente según su instalación y prioridad únicamente; no se permitió ningún filtrado más detallado. Algunas
implementaciones actuales de syslog ofrecen capacidades de filtrado más sólidas, como manejar mensajes de
manera diferente según el host o programa que generó un mensaje, o una expresión regular que coincida con el
contenido del cuerpo de un mensaje. Algunas implementaciones también permiten aplicar múltiples filtros a un solo
mensaje, lo que proporciona capacidades de filtrado más complejas.
Machine Translated by Google
Análisis de registros: originalmente, los servidores syslog no realizaban ningún análisis de los datos de registro; simplemente
proporcionaron un marco para registrar y transmitir datos de registro. Los administradores podrían utilizar programas
complementarios independientes para analizar los datos de syslog. Algunas implementaciones de syslog ahora tienen
capacidades limitadas de análisis de registros integradas, como la capacidad de correlacionar múltiples entradas de registro.
Respuesta al evento: algunas implementaciones de syslog pueden iniciar acciones cuando se detectan ciertos eventos.
Ejemplos de acciones incluyen enviar capturas SNMP, alertar a los administradores a través de páginas o correos
electrónicos e iniciar un programa o script independiente. También es posible crear un nuevo mensaje syslog que indique
que se detectó un determinado evento.
Formatos de mensajes alternativos: algunas implementaciones de syslog pueden aceptar datos en formatos que no son
syslog, como las capturas SNMP. Esto puede resultar útil para obtener datos de eventos de seguridad de hosts que no
admiten syslog y no se pueden modificar para hacerlo.
Cifrado de archivos de registro: algunas implementaciones de syslog se pueden configurar para cifrar archivos de registro
rotados automáticamente, protegiendo su confidencialidad. Esto también se puede lograr mediante el uso de un sistema
operativo o programas de cifrado de terceros.
Almacenamiento de bases de datos para registros: algunas implementaciones pueden almacenar entradas de registros tanto en
archivos syslog tradicionales como en una base de datos. Tener las entradas del registro en formato de base de datos puede resultar
Limitación de velocidad: algunas implementaciones pueden limitar la cantidad de mensajes syslog o conexiones
TCP de una fuente particular durante un cierto período de tiempo. Esto es útil para evitar una denegación de
servicio para el servidor syslog y la pérdida de mensajes syslog de otras fuentes. Debido a que esta técnica está
diseñada para provocar la pérdida de mensajes de una fuente que abruma al servidor syslog, puede provocar que se
pierdan algunos datos de registro durante un evento adverso que genera una cantidad inusualmente grande de mensajes.
El protocolo syslog proporciona un transporte para permitir que una máquina envíe mensajes de notificación de eventos a través
de redes IP a recolectores de mensajes de eventos, también conocidos como servidores syslog. Dentro de un sistema, podemos
ver el proceso de captura y registro de eventos en términos de varias aplicaciones e instalaciones del sistema que envían
mensajes a syslogd para su almacenamiento en el registro del sistema. Debido a que cada proceso, aplicación e
implementación del sistema operativo UNIX puede tener diferentes convenciones de formato para los eventos registrados, el
protocolo syslog proporciona sólo un formato de mensaje muy general para la transmisión entre sistemas. Una versión común
del protocolo syslog se desarrolló originalmente en las implementaciones del sistema UNIX/TCP/IP de Berkeley Software
Distribution (BSD) de la Universidad de California. Esta versión está documentada en RFC 3164 (Protocolo
BSD Syslog, 2001).
Posteriormente, el IETF emitió el RFC 5424 (The Syslog Protocol 2009), que pretende ser un estándar de Internet y que
difiere en algunos detalles de la versión BSD. En lo que sigue, nosotros
describir la versión BSD.
PRI: Consiste en un código que representa los valores de Instalaciones y Severidad del mensaje, que se describen a
continuación.
Encabezado: Contiene una marca de tiempo y una indicación del nombre de host o dirección IP del dispositivo.
Mensaje: Consta de dos campos: El campo TAG es el nombre del programa o proceso que generó el mensaje; el
CONTENIDO contiene los detalles del mensaje. La parte del mensaje
Machine Translated by Google
Tradicionalmente ha sido un mensaje de formato libre de caracteres imprimibles que brinda información
detallada del evento.
La Figura 18.6 muestra varios ejemplos de mensajes syslog, excluyendo la parte PRI.
Todos los mensajes enviados a syslogd tienen una facilidad y una gravedad (consulte la Tabla 18.5). La
instalación identifica la aplicación o componente del sistema que genera el mensaje. La gravedad, o nivel del
mensaje, indica la gravedad relativa del mensaje y se puede utilizar para algunos filtrados rudimentarios.
autenticación
Inicio de sesión de programas de autorización , son , y getty
Descripción de gravedad
Machine Translated by Google
emerger Mensajes más graves, como el cierre inmediato del sistema.
aviso Situación inusual que amerita investigación; Un evento significativo que típicamente es parte del día normal.
operación de hoy
información
Mensajes informativos
La auditoría a nivel del sistema no proporciona el nivel de detalle para detectar errores de lógica de la aplicación.
comportamiento. Además, los sistemas de detección de intrusiones buscan firmas de ataques o comportamientos anómalos.
eso no aparecería con ataques basados en errores de lógica de aplicación. Tanto para la detección como
fines de auditoría, puede ser necesario capturar en detalle el comportamiento de una aplicación, más allá
su acceso a los servicios del sistema y sistemas de archivos. La información necesaria para detectar el nivel de aplicación.
Machine Translated by Google
Los ataques pueden faltar o ser demasiado difíciles de extraer de la información de bajo nivel incluida en los seguimientos
de llamadas del sistema y en los registros de auditoría producidos por el sistema operativo.
En el resto de esta sección, examinamos dos enfoques para recopilar datos de auditoría de aplicaciones:
bibliotecas interponibles y reescritura binaria dinámica.
Bibliotecas interponibles
Una técnica descrita en [KUPE99] y [KUPE04] proporciona auditoría a nivel de aplicación mediante la creación de
nuevos procedimientos que interceptan llamadas a funciones de biblioteca compartidas para instrumentar la actividad. La
interposición permite la generación de datos de auditoría sin necesidad de recompilar ni las bibliotecas del sistema ni la
aplicación de interés. Por lo tanto, los datos de auditoría se pueden generar sin cambiar las bibliotecas compartidas del
sistema ni necesitar acceso al código fuente del ejecutable en el que se realizará la interposición. Este enfoque se puede
utilizar en cualquier variante de UNIX o Linux y en algunos otros sistemas operativos.
La técnica aprovecha el uso de bibliotecas dinámicas en UNIX. Antes de examinar la técnica, proporcionamos una breve
descripción general de las bibliotecas compartidas.
BIBLIOTECAS COMPARTIDAS
El sistema operativo incluye cientos de funciones de biblioteca C en bibliotecas de archivo. Cada biblioteca consta de un
conjunto de variables y funciones que se compilan y vinculan entre sí. La función de enlace resuelve todas las referencias
de memoria a datos y códigos de programa dentro de la biblioteca, generando direcciones lógicas o relativas. Una
función se puede vincular a un programa ejecutable, bajo demanda, durante la compilación. Si una función no forma parte
del código del programa, el cargador de enlaces busca en una lista de bibliotecas y vincula el objeto deseado al ejecutable
de destino. Al cargar, se carga una copia separada de la función de biblioteca vinculada en la memoria virtual del programa.
Este esquema se conoce como bibliotecas vinculadas estáticamente.
Un esquema más flexible, introducido por primera vez con UNIX System V Release 3, es el uso de bibliotecas compartidas
vinculadas estáticamente. Al igual que con las bibliotecas vinculadas estáticamente, el cargador de vínculos
incorpora el objeto compartido al que se hace referencia en el ejecutable de destino en el momento del vínculo. Sin
embargo, a cada objeto en una biblioteca compartida vinculada estáticamente se le asigna una dirección virtual fija.
El cargador de enlaces conecta objetos externos referenciados a su definición en la biblioteca asignando sus direcciones
virtuales cuando se crea el ejecutable. Por lo tanto, sólo existe una copia de cada función de biblioteca. Además, la función
se puede modificar y permanece en su dirección virtual fija. Sólo es necesario recompilar el objeto, no los programas
ejecutables que hacen referencia a él. Sin embargo, la modificación generalmente debe ser menor; los cambios deben
realizarse de tal manera que la dirección de inicio y la dirección de cualquier variable, constante o etiqueta de programa en
el código no cambien.
UNIX System V Release 4 introdujo el concepto de bibliotecas compartidas vinculadas dinámicamente. Con
Machine Translated by Google
bibliotecas vinculadas dinámicamente, la vinculación a rutinas de biblioteca compartida se difiere hasta el momento de la carga. En
este momento, el contenido de la biblioteca deseado se asigna al espacio de direcciones virtuales del proceso. Por lo tanto, si
se realizan cambios en la biblioteca antes del tiempo de carga, cualquier programa que haga referencia a la biblioteca no se
verá afectado.
Para bibliotecas compartidas vinculadas estática y dinámicamente, las páginas de memoria de las páginas compartidas deben
marcarse como de solo lectura. El sistema utiliza un esquema de copia en escritura si un programa realiza una actualización
de memoria en una página compartida: el sistema asigna una copia de la página al proceso, que puede modificar sin afectar a
otros usuarios de la página.
La figura 18.7a indica el modo normal de operación cuando un programa invoca una rutina en bibliotecas compartidas
vinculadas dinámicamente. En el momento de la carga, la referencia a la rutina foo en el programa se resuelve en la dirección
de memoria virtual del inicio de foo en la biblioteca compartida.
Machine Translated by Google
Con la interpolación de bibliotecas, se construye una biblioteca interposable especial de modo que, en el momento de
la carga, el programa se vincule a la biblioteca interposable en lugar de a la biblioteca compartida. Para cada
función de la biblioteca compartida para la que se va a invocar la auditoría, la biblioteca interponible contiene una
función con el mismo nombre. Si la función deseada no está contenida en la biblioteca interpuesta, el cargador continúa
su búsqueda en la biblioteca compartida y se vincula directamente con la función de destino.
Machine Translated by Google
El módulo interpuesto puede realizar cualquier función relacionada con la auditoría, como registrar el hecho de
la llamada, los parámetros pasados y devueltos, la dirección de retorno en el programa que llama, etc.
adelante. Normalmente, el módulo interpuesto llamará a la función compartida real (consulte la Figura 18.7b) , por lo que
que el comportamiento de la aplicación no se altere, sólo se instrumente.
Esta técnica permite la interceptación de ciertas llamadas a funciones y el almacenamiento de estado entre
dichas llamadas sin requerir la recompilación del programa que realiza la llamada ni de los objetos compartidos.
[KUPE99] ofrece un ejemplo de una función de biblioteca interponible escrita en C (consulte la Figura 18.8). El
función se puede describir de la siguiente manera:
1 /******************************************
3 ****************************************/
8 AUDIT_CALL_START;
11
12 AUDIT_USAGE_WARNING(“strcpy”);
13
14 retval=((*fptr)(dst,src));
15
dieciséis retorno(retval);
17 }
(a) Definición de función (los elementos en mayúsculas representan macros definidas en otros lugares)
1 #definir AUDIT_LOOKUP_COMMAND(t,n,p,e)
2 p=(t)dlsym(RTLD_NEXT,n);
3 si (p==NULL) {
4 perror(“comando de búsqueda”);
6 retorno(e);
7}
Machine Translated by Google
La reescritura binaria dinámica es una técnica de poscompilación que cambia directamente el código binario de los
ejecutables. El cambio se realiza en el momento de la carga y modifica sólo la imagen de memoria de un programa,
no el archivo del programa binario en el almacenamiento secundario. Al igual que con la técnica de interposición, la
reescritura binaria dinámica no requiere la recompilación del binario de la aplicación. La selección del módulo de auditoría
se pospone hasta que se invoca la aplicación, lo que permite una selección flexible de la configuración de auditoría.
La técnica se implementa en Linux utilizando dos módulos: un módulo de kernel cargable y un demonio de monitoreo.
Linux está estructurado como una colección de módulos, algunos de los cuales se pueden cargar y descargar
automáticamente según demanda. Estos bloques relativamente independientes se denominan módulos cargables [GOYE99].
En esencia, un módulo es un archivo objeto cuyo código se puede vincular y desvincular del kernel en tiempo de ejecución.
Normalmente, un módulo implementa alguna función específica, como un sistema de archivos, un controlador de dispositivo
o alguna otra característica de la capa superior del núcleo.
Machine Translated by Google
Un módulo no se ejecuta como su propio proceso o subproceso, aunque puede crear subprocesos del núcleo para
diversos fines según sea necesario. Más bien, un módulo se ejecuta en modo kernel en nombre del proceso
actual.
La figura 18.9 muestra la estructura de este enfoque. El módulo del kernel garantiza una instrumentación no
omitible al interceptar la llamada al sistema execve() . La función execve() carga un nuevo ejecutable en un
nuevo espacio de direcciones de proceso y comienza a ejecutarlo. Al interceptar esta llamada, el módulo del
kernel detiene la aplicación antes de que se ejecute su primera instrucción y puede insertar las rutinas de
auditoría en la aplicación antes de que comience su ejecución.
La instrumentación real de una aplicación la realiza el demonio de monitoreo, que es un proceso de espacio de
usuario privilegiado. El demonio gestiona dos repositorios: un repositorio de parches y un repositorio de auditoría.
El repositorio de parches contiene el código para instrumentar las aplicaciones monitoreadas. El
repositorio de auditoría contiene el código de auditoría que se insertará en una aplicación.
El código tanto en el repositorio de auditoría como en el de parches está en forma de bibliotecas dinámicas. Al
utilizar bibliotecas dinámicas, es posible actualizar el código en las bibliotecas mientras el demonio aún
se está ejecutando. Además, pueden existir varias versiones de las bibliotecas al mismo tiempo.
Se desarrolló un lenguaje especial para simplificar el proceso de creación de códigos de auditoría y parches. En esencia,
los parches se pueden insertar en cualquier punto de la llamada de función a una rutina de biblioteca compartida. El
parche puede invocar rutinas de auditoría y también invocar la rutina de biblioteca compartida, de una manera lógicamente
similar a la técnica de interposición descrita anteriormente.
Machine Translated by Google
Preparación
Para realizar un análisis de auditoría útil, el analista o administrador de seguridad necesita comprender la información
disponible y cómo se puede utilizar. NIST SP 80092 ofrece algunos consejos útiles en
El administrador de seguridad (u otra persona que revise y analice los registros) debe comprender el contexto que rodea
las entradas de los registros individuales. La información relevante puede residir en otras entradas del mismo registro,
entradas en otros registros y fuentes ajenas al registro, como entradas de gestión de configuración. El administrador
debe comprender la posibilidad de que se produzcan entradas no confiables, como las de un paquete de seguridad
que genera frecuentes falsos positivos cuando busca actividad maliciosa.
La mayoría de los formatos de archivos de auditoría contienen una combinación de lenguaje sencillo y mensajes o
códigos crípticos que son significativos para el proveedor de software, pero no necesariamente para el administrador. El
administrador debe hacer el esfuerzo de descifrar tanto como sea posible la información contenida en las entradas del registro.
En algunos casos, el software de análisis de registros realiza una tarea de reducción de datos que reduce la carga del
administrador. Aun así, el administrador debe tener un conocimiento razonable de los datos brutos que alimentan el
software de análisis y revisión para poder evaluar la utilidad de estos paquetes.
La forma más eficaz de obtener una comprensión sólida de los datos de registro es revisar y analizar partes de ellos con
regularidad (por ejemplo, todos los días). El objetivo es llegar a comprender la base de las entradas de registro típicas,
que probablemente abarquen la gran mayoría de las entradas de registro del sistema.
ENTENDIENDO EL CONTEXTO
Para realizar revisiones y análisis efectivos, los administradores deben tener un conocimiento sólido de cada uno de los
siguientes aspectos a partir de capacitación o experiencia práctica:
Machine Translated by Google
Las políticas de la organización con respecto al uso aceptable, para que los administradores puedan reconocer
violaciones de las políticas.
El software de seguridad utilizado por sus hosts, incluidos los tipos de eventos relacionados con la seguridad que cada
programa puede detectar y el perfil de detección general de cada programa (por ejemplo, falsos positivos conocidos).
Los sistemas operativos y las principales aplicaciones (por ejemplo, correo electrónico, Web) utilizados por sus hosts,
en particular las capacidades y características de seguridad y registro de cada sistema operativo y de las
principales aplicaciones.
Las características de las técnicas de ataque comunes, especialmente cómo se puede registrar el uso de estas técnicas en
cada sistema.
El software necesario para realizar análisis, como visores de registros, scripts de reducción de registros y herramientas
Momento
Los seguimientos de auditoría se pueden utilizar de varias formas. El tipo de análisis depende, al menos en parte, de cuándo se
Revisión de seguimiento de auditoría después de un evento: este tipo de revisión se activa por un evento observado, como un
problema conocido de software de aplicación o sistema, una violación conocida de la política de seguridad existente por
parte de un usuario, o algún problema de usuario o sistema inexplicable. La revisión puede recopilar información para
elaborar lo que se sabe sobre el evento, diagnosticar la causa o el problema y sugerir acciones correctivas y
contramedidas futuras. Este tipo de revisión se centra en las entradas de la pista de auditoría que son relevantes para el
evento específico.
Revisión periódica de los datos de la pista de auditoría: este tipo de revisión analiza todos los datos de la pista de auditoría o
subconjuntos definidos de datos y tiene muchos objetivos posibles. Ejemplos de objetivos incluyen buscar eventos o patrones que
sugieran un problema de seguridad, desarrollar un perfil de comportamiento normal y buscar comportamiento anómalo, y
desarrollar perfiles por usuario individual para mantener un registro permanente por usuario.
Análisis de auditoría en tiempo real: las herramientas de análisis de auditoría también se pueden utilizar en tiempo real o
casi en tiempo real. El análisis en tiempo real es parte de la función de detección de intrusiones.
Revisión de auditoría
A diferencia del análisis de datos de seguimiento de auditoría utilizando herramientas de análisis y reducción de datos, se encuentra
el concepto de revisión de auditoría. Una capacidad de revisión de auditoría permite a un administrador leer información de
registros de auditoría seleccionados. La especificación de Criterios Comunes [CCPS12a] exige una capacidad que permita la
selección de auditoría previa o posterior al almacenamiento e incluya la capacidad de revisar selectivamente lo siguiente:
Machine Translated by Google
Las acciones de uno o más usuarios (por ejemplo, identificación, autenticación, entrada al sistema y acciones de control de
acceso)
Las acciones realizadas en un objeto o recurso del sistema específico. Todas o un
conjunto específico de excepciones auditadas. Acciones
asociadas con un sistema o atributo de seguridad específico.
La revisión de auditoría puede centrarse en registros que coincidan con ciertos atributos, como usuario o grupo de usuarios, ventana
de tiempo, tipo de registro, etc.
Una herramienta automatizada que puede resultar útil en la revisión de auditoría es la priorización de los registros de auditoría en
función de las aportaciones del administrador. Los registros se pueden priorizar en función de una combinación de factores.
Los ejemplos incluyen los siguientes:
Tipo de entrada (p. ej., código de mensaje 103, clase de mensaje CRÍTICO)
Novedad del tipo de entrada (es decir, ¿ha aparecido este tipo de entrada en los registros antes?)
Origen del
registro Dirección IP de origen o destino (por ejemplo, dirección de origen en una lista negra; dirección de destino de un sistema
crítico; eventos previos que involucran una dirección IP particular)
Hora del día o día de la semana (por ejemplo, una entrada puede ser aceptable durante ciertas horas pero no permitida durante
otras)
Frecuencia de la entrada (por ejemplo, x veces en y segundos)
Puede haber varios propósitos posibles para este tipo de revisión de auditoría. La revisión de auditoría puede permitir a un
administrador tener una idea del funcionamiento actual del sistema y el perfil de los usuarios y aplicaciones en el sistema, el nivel
de actividad de ataque y otros eventos relacionados con el uso y la seguridad. La revisión de auditoría se puede utilizar para
comprender después de un incidente de ataque y la respuesta del sistema al mismo, lo que lleva a cambios en el software y
los procedimientos.
El espectro de enfoques y algoritmos utilizados para el análisis de datos de auditoría es demasiado amplio para tratarlo aquí de
manera efectiva. En cambio, damos una idea de algunos de los enfoques principales, basados en la discusión en [SING04].
ALERTAS BÁSICAS
La forma más sencilla de análisis es que el software dé una indicación de que ha ocurrido un evento interesante en
particular. Si la indicación se da en tiempo real, puede servir como parte de un sistema de detección de intrusos. Para eventos
que pueden no alcanzar el nivel de desencadenar una alerta de intrusión, una indicación posterior de actividad sospechosa puede
conducir a un análisis más detallado.
BASE
Machine Translated by Google
La línea de base es el proceso de definir eventos y patrones normales versus inusuales. El proceso implica medir un conjunto de
datos conocidos para calcular un rango de valores normales. Estos valores de referencia pueden luego compararse con nuevos
datos para detectar cambios inusuales. Ejemplos de actividades hasta la línea de base incluyen los siguientes:
Cantidad de tráfico de red por protocolo: HTTP total, correo electrónico, FTP, etc.
Gestión de direcciones del Protocolo de configuración dinámica de host (DHCP), solicitudes de DNS
Por ejemplo, un gran aumento en el tráfico FTP podría indicar que su servidor FTP ha sido comprometido y está siendo
Una vez que se establecen las líneas de base, es posible realizar un análisis con respecto a ellas. Un enfoque, que se analiza
con frecuencia en este texto, es la detección de anomalías. Un ejemplo de un enfoque simple para la detección de anomalías es
4
el controlador de detección de anomalías nunca antes visto (NBS) gratuito. La herramienta implementa una búsqueda de cadenas en la
base de datos muy rápida y le indica si una cadena determinada está en la base de datos (es decir, si ya ha sido vista).
4Consulte el sitio web del libro para encontrar el enlace a este software.
Considere el siguiente ejemplo que involucra DHCP. DHCP se utiliza para una fácil configuración TCP/IP de hosts dentro de una red.
Al iniciarse el sistema operativo, el host del cliente envía una solicitud de configuración que es detectada por el servidor DHCP. El
servidor DHCP selecciona los parámetros de configuración apropiados (dirección IP con máscara de subred adecuada y otros
parámetros opcionales, como la dirección IP de la puerta de enlace predeterminada, direcciones de servidores DNS, nombre de
dominio, etc.) para las estaciones cliente. El servidor DHCP asigna direcciones IP a los clientes dentro de un alcance predefinido
durante un período determinado (tiempo de concesión). Si se desea conservar una dirección IP, el cliente debe solicitar una extensión
del período de tiempo antes de que expire el contrato de arrendamiento. Si el cliente no ha requerido una ampliación del tiempo
de arrendamiento, la dirección IP se considera libre y puede ser asignada a otro cliente. Esto se realiza de forma automática y
transparente. Con NBS, es fácil monitorear las redes de la organización para detectar nuevas combinaciones de control de acceso al
medio/IP (MAC/IP) alquiladas por servidores DHCP. El administrador se entera inmediatamente de que se están alquilando nuevas
MAC y nuevas direcciones IP que normalmente no se alquilan. Esto puede tener o no implicaciones de seguridad. NBS también
puede buscar registros con formato incorrecto, consultas de clientes novedosos y una amplia gama de otros patrones.
Otra forma de análisis de referencia es el establecimiento de umbrales. El umbral es la identificación de datos que exceden un valor
de referencia particular. El umbral simple se utiliza para identificar eventos, como conexiones rechazadas, que ocurren más de un cierto
número de veces. El establecimiento de umbrales puede centrarse en otros parámetros, como la frecuencia de los eventos, en lugar
La ventana es la detección de eventos dentro de un conjunto determinado de parámetros, como dentro de un período de tiempo
determinado o fuera de un período de tiempo determinado; por ejemplo, establecer una referencia a la hora del día en que cada usuario
inicia sesión y marcar los inicios de sesión que quedan fuera de ese rango.
Correlación
Otro tipo de análisis es el de correlación, que busca relaciones entre eventos. Un ejemplo simple de correlación es, dada la presencia
de un mensaje de registro particular, alertar sobre la presencia de un segundo mensaje particular. Por ejemplo, si Snort (ver
Sección 8.9) informa un intento de desbordamiento del buffer desde un host remoto, un intento razonable de correlación tomaría cualquier
mensaje que contenga la dirección IP del host remoto. O el administrador podría querer anotar cualquier cambio de usuario
(su) en una cuenta en la que se inició sesión desde un host remoto nunca antes visto.
Machine Translated by Google
NIST SP 800137 (Monitoreo continuo de seguridad de la información (ISCM) para organizaciones y sistemas de
información federales, septiembre de 2011), entre otros estándares, reconoce la necesidad de dichos sistemas como
control de seguridad clave. [TARA11] señala que se puede configurar un sistema SIEM para ayudar a implementar
muchos de los "20 controles críticos" desarrollados por SANS y otros, que mencionamos en el Capítulo 12.
Sistemas SIEM
El software SIEM es un paquete de software de registro centralizado similar a syslog, pero mucho más complejo. Los
sistemas SIEM proporcionan una instalación de almacenamiento de pistas de auditoría uniforme y centralizada y un
conjunto de programas de análisis de datos de auditoría. NIST SP 80092 analiza la gestión de registros y los sistemas
SIEM. Señala que existen dos enfoques de configuración generales y que muchos productos ofrecen una combinación
de ambos:
Sin agente: el servidor SIEM recibe datos de los hosts generadores de registros individuales sin necesidad de
tener ningún software especial instalado en esos hosts. Algunos servidores extraen registros de los hosts, lo que
generalmente se hace haciendo que el servidor se autentique en cada host y recupere periódicamente sus
registros. En otros casos, los hosts envían sus registros al servidor, lo que generalmente implica que cada host se
autentique en el servidor y transfiera sus registros con regularidad. Luego, el servidor SIEM realiza filtrado y
agregación de eventos y normalización y análisis de registros en los registros recopilados.
Basado en agente: se instala un programa de agente en el host generador de registros para realizar filtrado
y agregación de eventos y normalización de registros para un tipo particular de registro, luego transmitir los
datos de registro normalizados a un servidor SIEM, generalmente en tiempo real o casi. base en tiempo real
para análisis y almacenamiento. Si un host tiene varios tipos de registros de interés, es posible que sea
necesario instalar varios agentes. Algunos productos SIEM también ofrecen agentes para formatos genéricos.
Machine Translated by Google
como syslog y SNMP. Un agente genérico se utiliza principalmente para obtener datos de registro de una fuente para la
cual no están disponibles un agente de formato específico ni un método sin agente. Algunos productos también permiten
a los administradores crear agentes personalizados para manejar fuentes de registro no compatibles.
El software SIEM es capaz de reconocer una variedad de formatos de registro, incluidos los de una variedad de sistemas
operativos, software de seguridad (por ejemplo, IDS y firewalls), servidores de aplicaciones (por ejemplo, servidores web
y servidores de correo electrónico) e incluso dispositivos de control de seguridad física. como lectores de credenciales. El
software SIEM normaliza estas diversas entradas de registro para que se utilice el mismo formato para el mismo elemento
de datos (por ejemplo, dirección IP) en todas las entradas. El software puede eliminar campos en las entradas del registro
que no son necesarios para la función de seguridad y entradas del registro que no son relevantes, lo que reduce en gran
medida la cantidad de datos en el registro central. El servidor SIEM analiza los datos combinados de múltiples
fuentes de registro, correlaciona eventos entre las entradas del registro, identifica y prioriza eventos importantes e inicia
respuestas a eventos si se desea. Los productos SIEM suelen incluir varias funciones para ayudar a los usuarios, como las
siguientes:
Interfaces gráficas de usuario (GUI) diseñadas específicamente para ayudar a los analistas a identificar problemas
potenciales y revisar todos los datos disponibles relacionados con cada problema. Una base de
conocimientos de seguridad, con información sobre vulnerabilidades conocidas, el significado probable de ciertos
mensajes de registro y otros datos técnicos; Los analistas de registros a menudo pueden personalizar la base
de conocimientos según sea
necesario. Capacidades de seguimiento y generación de informes de incidentes, a veces con funciones
sólidas de flujo de trabajo. Almacenamiento y correlación de información de activos (por ejemplo, dar mayor prioridad a un
ataque dirigido a un sistema operativo vulnerable o a un host más importante).
Los sistemas SIEM bien implementados pueden constituir un componente crítico en la infraestructura de seguridad de
una organización. Sin embargo, muchas organizaciones no planifican, instalan y gestionan adecuadamente dichos
sistemas. [HADS10] señala que un proceso apropiado incluye definir amenazas, documentar respuestas y configurar
informes estándar para cumplir con los requisitos de auditoría y cumplimiento.
Los apéndices de este documento proporcionan ejemplos de cada uno de estos que pueden adaptarse y ampliarse para
una organización determinada. Todo esto se puede hacer como parte de un proceso más amplio de evaluación de riesgos
de seguridad de TI que analizamos en los Capítulos 14 y 15. Este documento también enumera una serie de proveedores de
productos SIEM.
Machine Translated by Google
Términos clave
auditoría de seguimiento de
de anomalías
revisión de auditoría
pista de auditoría
análisis de seguimiento de
auditoría línea
auditoría de seguridad
vinculada estáticamente
sistema
usuario
ventanas
Preguntas de revisión
18.1 Explique la diferencia entre un mensaje de auditoría de seguridad y una alarma de seguridad.
18.2 Enumerar y describir brevemente los elementos de un modelo de auditoría y alarmas de seguridad.
18.4 ¿En qué áreas (categorías de datos) se deben recopilar datos de auditoría?
18.5 Enumere y explique las diferencias entre cuatro categorías diferentes de pistas de auditoría.
18.6 ¿Cuáles son los elementos principales de una instalación syslog de UNIX?
18.7 Explique cómo se puede utilizar una biblioteca interposable para la auditoría a nivel de aplicación.
Problemas
18.1 Compare las tablas 18.2 y 18.3. Discuta las áreas de superposición y las áreas que no se superponen y su significado.
a. ¿Hay elementos que se encuentran en la Tabla 18.2 y que no se encuentran en la Tabla 18.3 ? Discutir su
justificación.
b. ¿Hay elementos que se encuentran en la Tabla 18.3 y que no se encuentran en la Tabla 18.2 ? Discutir su
justificación.
18.2 En la Tabla 18.6 se muestra otra lista de eventos auditables, de [KUPE04] . Compare esto con las tablas 18.2 y 18.3.
eventos de inicio de sesión fallidos Actividad de CPU en todo el sistema errores de escritura
(carga)
intentos de inicio de sesión exitosos intervalos de escritura
archivo leído
terminal usado múltiples localizaciones
espacio de memoria
nombre paquete recibido
permisos longitud
nombres de comandos y argumentos
banderas
tiempo de pared transcurrido
puerto abierto
archivos accedidos
puerto cerrado
número de archivos accedidos
conexión
memoria máxima utilizada
solicitado
conexión cerrada
reajuste de conexion
máquina en marcha
abajo
a. ¿Hay elementos que se encuentran en las Tablas 18.2 y 18.3 que no se encuentran en la Tabla 18.6 ? Conversar
su justificación.
b. ¿Hay elementos que se encuentran en la Tabla 18.6 que no se encuentran en las Tablas 18.2 y 18.3? Conversar
su justificación.
18.3 Argumente las ventajas y desventajas de los enfoques de software SIEM con y sin agente
descritos en la Sección 18.5 .