
Análisis del Comportamiento del Usuario con Aprendizaje Automático
Introducción
En 2023, el Informe DBIR descubrió que el 86% de las brechas web ocurrieron debido a información de inicio de sesión robada. Dado que prevenir ataques sigue siendo un aspecto vital de las medidas generales de seguridad, DataSunrise ofrece mecanismos mejorados para el monitoreo de comportamientos sospechosos de usuarios de bases de datos.
Las bases de datos a menudo muestran credenciales de usuario comprometidas o sistemas infectados a través de intentos de elevar privilegios o acceder a diferentes bases de datos o esquemas, como ‘pg_catalog’. Una situación común ocurre cuando un usuario intenta acceder a la base de datos desde una dirección IP desconocida. Esto a menudo indica actividad sospechosa, posiblemente debido a credenciales de usuario comprometidas.
La tarea de DataSunrise de Comportamiento Sospechoso del Usuario utiliza herramientas de aprendizaje automático (ML) para monitorear el comportamiento del usuario y abordar casos sospechosos de manera efectiva. Su enfoque de aprendizaje automático facilita la configuración flexible de la herramienta sin la necesidad de configurar manualmente conjuntos de direcciones IP en lista blanca o bases de datos y esquemas permitidos para usuarios específicos. Esto elimina la necesidad de configurar manualmente direcciones IP o bases de datos.
Auditar Actividad de la Base de Datos
Antes de discutir el monitoreo de comportamiento, deberíamos tomar nota de cómo recopilamos los datos de entrenamiento de ML. DataSunrise tiene una herramienta llamada Audit que registra la actividad. Puedes encontrar los registros en Audit → Transactional Trails.
Los registros de Audit de DataSunrise rastrean cómo se comportan típicamente los usuarios de bases de datos y también pueden ayudar a monitorear actividades sospechosas.
Los datos recopilados son basados en texto y a menudo demasiado grandes para analizarlos sin herramientas específicas para el análisis de datos. DataSunrise tiene todo lo que necesitas para procesar grandes cantidades de datos y extraer conclusiones de los conocimientos que proporciona.
Para crear una tarea de Comportamiento Sospechoso del Usuario, necesitas los datos de entrenamiento correctos de los Transactional Trails. También necesitas ejecutar la tarea de análisis de comportamiento dentro del rango de tiempo correcto.
Durante la primera ejecución, la tarea entrena el modelo estadístico. Las ejecuciones posteriores involucran analizar los Transactional Trails desde el final del rango de entrenamiento hasta el final de los Transactional Trails.
Herramientas ML para el Monitoreo del Comportamiento del Usuario: Estudio de Caso
El escenario es el siguiente: La empresa utiliza una aplicación basada en la web con una base de datos para gestionar datos de clientes. La empresa revisará regularmente cualquier actividad inusual en las tablas de la base de datos, ya sea manualmente o cada hora.
Hay tres pasos principales para implementar la tarea de análisis del Comportamiento del Usuario:
Paso 1: Crea una Regla de Audit para monitorear consultas a través del Puerto Proxy a la base de datos de recursos. Encuentra un periodo de tiempo de entrenamiento apropiado basado en los Transactional Trails de las Reglas activas. Este es un paso preliminar necesario para proporcionar el conjunto de datos de entrenamiento.
En una configuración típica de DataSunrise, hay múltiples Reglas de Audit y extensos registros de Transactional Trails. Por lo tanto, el usuario puede verificar que los Transactional Trails para el periodo de tiempo elegido solo muestran actividad de usuario aprobada.
Paso 2: Crea una tarea de Comportamiento del Usuario con un periodo de tiempo de entrenamiento apropiado. Configura la tarea para ejecutarse por primera vez para entrenar el modelo estadístico.
Paso 3: Ejecuta algunas actividades inusuales usando herramientas de terceros como ‘psql’ o ‘DBeaver’. Luego ejecuta manualmente la tarea nuevamente para el análisis. Esto ayuda a asegurar que la regla funcione correctamente.

El Host de Comportamiento Normal (en el lado izquierdo de la imagen) contiene una aplicación web. Este host típicamente sirve como la instancia de servidor conectada a la base de datos a través del Host Firewall (en el centro). Instalamos DataSunrise en el Host Firewall, y sus Transactional Trails registran las conexiones de base de datos a través del Puerto Proxy de DataSunrise 5432.
Paso 1: Regla de Audit para Acciones Regulares
Para hacer una regla de audit, primero ve a la IU basada en la web de DataSunrise. Luego, haz clic en Audit, luego Rules. Por último, haz clic en +Add Rule si aún no está ahí.
Debes habilitar AuditObject en Sistema de Configuración – Parámetros Adicionales. La regla de Audit debe rastrear solo acciones de usuario aprobadas para entrenamiento. Los usuarios siempre pueden verificarlo en los Transaction Trails más tarde.
Habilita la regla que acabas de crear. Las solicitudes a la base de datos deben aparecer en los eventos de la regla. Durante este paso, analizamos los Transactional Trails y seleccionamos el periodo de tiempo de eventos de actividad normal para usar en el entrenamiento del Comportamiento Sospechoso del Usuario.
Paso 2: Tarea de Comportamiento Sospechoso del Usuario
Ahora que hemos asegurado que los datos de entrenamiento están presentes y hemos seleccionado el periodo de tiempo de entrenamiento, es hora de crear una tarea de Detección de Comportamiento Sospechoso del Usuario. Para hacerlo, navega a Configuración – Tareas Periódicas – +Nueva Tarea.
Desde la lista de Tipos de Tareas, selecciona Detección de Comportamiento Sospechoso del Usuario. La única configuración requerida aquí es definir el rango de eventos del conjunto de datos de entrenamiento. Además, hay una opción de Frecuencia de Inicio para la tarea, pero en nuestro caso, donde ejecutamos la tarea manualmente según sea necesario, podemos dejar la frecuencia en el valor predeterminado (Cada hora).
A continuación se muestra la configuración para el periodo de tiempo de la nueva Tarea de Comportamiento Sospechoso del Usuario.

Definimos el periodo de tiempo durante el cual solo ocurren actividades permitidas en todos los Proxies de la Instancia de la Base de Datos. Estas actividades son las que están en la lista blanca, y seleccionamos los tiempos del primer y último evento durante el análisis en el Paso 1.
Para iniciar el entrenamiento del modelo estadístico de la tarea, guarda la configuración. Esta acción te redirigirá a la sección de Tareas Periódicas. Navega de vuelta a la Tarea de Comportamiento Sospechoso del Usuario haciendo clic en su nombre en la lista. Luego, presiona ‘Ejecutar‘ para ejecutar la tarea y verificar su estado.
No debería haber errores. Durante la primera ejecución de la tarea, no detecta actividad sospechosa ya que se enfoca únicamente en el entrenamiento del modelo estadístico. Dentro del cuadro de diálogo de la tarea durante su ejecución, el usuario puede observar el progreso del entrenamiento en el mensaje de estado.

Esto concluye el Paso 2. Ahora tenemos la red entrenada dentro de la tarea de Comportamiento Sospechoso del Usuario y podemos proceder a registrar realmente la detección de comportamiento sospechoso.
Paso 3: Actividad Sospechosa y Análisis
La actividad sospechosa en nuestro caso implica consultas desde una dirección IP inesperada (Host de Actividad de Malware) accediendo a todos los campos del ‘pg_catalog.pg_enum’.
Para conectarse a la base de datos arbitraria desde la dirección IP sospechosa del Host de Actividad de Malware, se utilizó el comando ‘psql’ desde ese host:
/usr/pgsql-13/bin/psql -h 192.168.10.104 -p 5432 -U ubuser01 -d ubdb02 ubdb02=# select * from pg_catalog.pg_enum
Como resultado, aparece una advertencia de sesión en los resultados de la tarea de Comportamiento Sospechoso del Usuario:

Tenga en cuenta que si el usuario del Host de Actividad de Malware se conecta al proxy usando software como DBeaver u otro software de administración de bases de datos basadas en UI, esta acción también activará advertencias. DBeaver verifica automáticamente la estructura de la base de datos. Ejecuta consultas en tablas y esquemas que no están presentes en los datos de entrenamiento. El sistema puede señalar la actividad inesperada como resultado.

En este escenario, se realizaron consultas a la base de datos dos veces a través del proxy de DataSunrise desde el Host de Aplicación Web de Comportamiento Normal. Posteriormente, se estableció una conexión a la base de datos usando DBeaver desde una dirección IP de confianza. Sin embargo, DBeaver procedió a consultar tablas y esquemas inusuales (pg_catalog). Por lo tanto, hemos marcado estas sesiones como sospechosas.
La Tarea de Comportamiento Sospechoso del Usuario puede generar alertas para todos los proxies de la Instancia de la regla de Audit, o para Reglas e Instancias si hay muchas. Es importante notar que en los Resultados (figura anterior), el número de Puerto de la Base de Datos representa el puerto del servidor de la base de datos establecido en la configuración de la Instancia para la conexión de base de datos protegida. Este no es el Puerto Proxy de esa Instancia.
Para verificar si todos los Proxies de la Instancia están generando alertas de comportamiento sospechoso, los usuarios deben realizar solicitudes sospechosas en todos los Puertos Proxy, asegurar que sean auditadas, y volver a ejecutar la Tarea de Comportamiento Sospechoso del Usuario. Luego, haga clic en el icono de actualización en la lista de resultados de la tarea. A medida que aparecen nuevas consultas, haga clic en el ID de sesión para encontrar el número de puerto del proxy.
Todas las consultas y las filas afectadas están disponibles en los detalles de la sesión cuando se hace clic en la tabla de Resultados de la tarea. Por favor refiérase a la figura a continuación para más detalles.

Resultados del Caso
Podemos identificar sesiones sospechosas examinando parámetros de consultas inusuales, como direcciones IP o nombres de bases de datos. Estos parámetros se desvían de la actividad típica vista durante el entrenamiento en la Tarea de Comportamiento Sospechoso del Usuario.
Las principales conclusiones del caso de prueba son las siguientes:
- El modelo estadístico se enfoca en analizar direcciones IP, tablas, esquemas, etc., dentro de las consultas. No considera el contenido de las consultas en sí. Por ejemplo, el modelo estadístico entrenado en consultas SELECT simples no marcará consultas SELECT complejas o consultas “SELECT all” a la misma tabla como sospechosas. Esto se debe a que provienen de direcciones IP apropiadas y están dirigidas a bases de datos inusuales.
- Las Instancias de la Regla de Audit determinan los posibles Proxies para marcar sesiones entrantes como sospechosas. Es crucial que el conjunto de datos de entrenamiento cubra todas las sesiones regulares razonables para todos los Proxies. Las sesiones de Proxy desconocidas serán marcadas como sospechosas.
- No se requiere una configuración específica para entrenar la tarea de Comportamiento Sospechoso del Usuario en una regla de Audit particular. Todos los registros de transacciones en el conjunto de entrenamiento de auditoría se utilizan para enseñar a la red. Estos registros también ayudan a identificar nuevos eventos y enviarlos a la Tarea de Comportamiento Sospechoso del Usuario para una mayor investigación.
Resolución de Problemas
Aquí, hay algunos puntos a tener en cuenta:
- Usa JVMChecker para verificar si Java está funcionando correctamente (ubicado en /opt/datasunrise/bin).
- Utiliza los registros del Comportamiento del Usuario para analizar si la ejecución de la tarea generó mensajes de error. La tarea de Comportamiento Sospechoso del Usuario tiene un archivo de registro para mensajes de error. Puedes encontrarlo en Sistema de Configuración bajo Registro & Logs, luego Tipo de Logs, y finalmente Detección de Comportamiento Sospechoso del Usuario.
- Recuerda habilitar la propiedad avanzada ‘Audit Objects’ cuando la tarea de Comportamiento del Usuario se ejecute por primera vez.
- Entiende tus datos. El proceso de entrenamiento requiere una cantidad relativamente alta de datos en los registros de auditoría. Es importante analizar la parte de texto de las solicitudes SQL. Esto significa que no habrá alarma para tablas o columnas inusuales en una solicitud SELECT si se realizó a la base de datos correcta, desde la IP correcta, y por el usuario y aplicación correctos.
- Al ejecutar la tarea de Comportamiento del Usuario por primera vez, asegúrate de que el Rastro de Auditoría contenga solo actividad en lista blanca. Si es necesario, el usuario puede recrear fácilmente la Tarea de Comportamiento del Usuario y entrenar su modelo estadístico nuevamente.
Conclusión
La tarea de Comportamiento Sospechoso del Usuario basada en ML ayuda a monitorear el acceso a los datos configurando reglas para diferentes usuarios automáticamente. Esto ahorra tiempo y esfuerzo, especialmente con grandes conjuntos de datos. El firewall de base de datos de DataSunrise aprovecha eficazmente las herramientas de ML para el monitoreo del comportamiento del usuario. A pesar de la complejidad subyacente de los procesos involucrados, la interfaz basada en la web ofrece una interfaz fácil de usar para configurar tareas y analizar sesiones entrantes.
La tarea de Comportamiento Sospechoso del Usuario te permite escanear los Transactional Trails de DataSunrise en busca de cualquier actividad inusual de los usuarios actuales. Esto puede ayudarte a identificar posibles brechas de seguridad. Puedes realizar este escaneo de manera regular o manual. Esta herramienta permite a los usuarios marcar sesiones como sospechosas o normales y realizar pequeños cambios para simplificar la interfaz.
En este artículo, discutimos brevemente la configuración de la tarea de Comportamiento Sospechoso del Usuario. Por favor, no dudes en visitar nuestro sitio web y solicitar una demo en línea para una discusión adicional sobre las soluciones de seguridad de bases de datos de DataSunrise.