DataSunrise Logra el Estado de Competencia en AWS DevOps en AWS DevSecOps y Monitoreo, Registro, Rendimiento

Análisis del Comportamiento del Usuario con Aprendizaje Automático

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. Como la prevención de ataques sigue siendo un aspecto vital de las medidas de seguridad general, DataSunrise ofrece mecanismos mejorados para el monitoreo del comportamiento sospechoso de los usuarios de bases de datos.

Las bases de datos a menudo manifiestan 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 Comportamiento Sospechoso del Usuario de DataSunrise 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 una configuración flexible de la herramienta sin necesidad de configurar manualmente conjuntos de IPs en lista blanca o bases de datos y esquemas permitidos para usuarios específicos. Esto elimina la necesidad de configurar direcciones IP o bases de datos con precisión de forma manual.

Auditoría de la Actividad de la Base de Datos

Antes de discutir el monitoreo del comportamiento, debemos notar cómo recolectamos los datos de entrenamiento de ML. DataSunrise tiene una herramienta llamada Audit que registra la actividad. Puedes encontrar los registros en AuditTransactional Trails.

Los registros de auditoría de DataSunrise rastrean cómo se comportan típicamente los usuarios de la base de datos y también pueden ayudar a monitorear cualquier actividad sospechosa.

Los datos recolectados son de texto y a menudo demasiado grandes para analizarlos sin herramientas específicas de análisis de datos. DataSunrise tiene todo lo que necesitas para procesar grandes cantidades de datos y sacar conclusiones de las ideas 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 implican analizar los Transactional Trails desde el final del rango de entrenamiento hasta el final de los Transactional Trails.

Herramientas de ML para el Monitoreo del Comportamiento del Usuario: Estudio de caso

El escenario es el siguiente: La empresa utiliza una aplicación web con una base de datos para gestionar los datos de los clientes. La empresa revisará regularmente cualquier actividad inusual en las tablas de la base de datos, ya sea a mano o cada hora.

Hay tres pasos principales para implementar la Tarea de Análisis del Comportamiento del Usuario:

Paso 1: Crear una Regla de Auditoría para monitorear consultas a través del Puerto Proxy a la base de datos de recursos. Encuentra un tiempo de entrenamiento apropiado basado en los Transactional Trails de 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 Auditoría y extensos registros de Transactional Trails. Por lo tanto, el usuario puede verificar que los Transactional Trails para el período de tiempo elegido solo muestren actividad de usuario aprobada.

Paso 2: Crear una Tarea de Comportamiento del Usuario con un intervalo de tiempo de entrenamiento apropiado. Configurar la Tarea para ejecutarse por primera vez para entrenar el modelo estadístico.

Paso 3: Ejecutar algunas actividades inusuales utilizando herramientas de terceros como ‘psql’ o ‘DBeaver’. Luego, ejecutar manualmente la tarea nuevamente para el análisis. Esto ayuda a garantizar que la regla funcione correctamente.

Figura 1 – Configuración del estudio de caso. Tanto el host de Comportamiento Normal como el host de Actividad de Malware se conectan al host de DataSunrise (Firewall).

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 del servidor conectado a la base de datos a través del Host de Firewall (en el centro). Instalamos DataSunrise en el Host de Firewall, y sus Transactional Trails registran las conexiones de la base de datos a través del Puerto Proxy de DataSunrise 5432.

Paso 1: Regla de Auditoría para Acciones Regulares

Para hacer una regla de auditoría, primero, ve a la interfaz web de DataSunrise. Luego, haz clic en Audit, luego en Rules. Finalmente, haz clic en +Add Rule si no está ya ahí.

Deberías habilitar AuditObject en System SettingsAdditional Parameters. La Regla de Auditoría debería rastrear solo las acciones de usuario aprobadas para el entrenamiento. Los usuarios siempre pueden verificarlo en los Transactional Trails más tarde.

Habilita la regla que acabas de crear. Las solicitudes a la base de datos deberían aparecer en los eventos de la regla. Durante este paso, analizamos los Transactional Trails y seleccionamos el intervalo 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 seleccionamos el intervalo de tiempo de entrenamiento, es hora de crear una tarea de Detección de Comportamiento Sospechoso del Usuario. Para hacer esto, navega a ConfigurationPeriodic Tasks+New Task.

Desde la lista de tipo de tarea, 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 intervalo de tiempo de la nueva tarea de Comportamiento Sospechoso del Usuario.

Figura 2 – Configuración de la tarea de Comportamiento Sospechoso del Usuario (truncado).

Definimos el intervalo de tiempo durante el cual solo ocurren actividades permitidas en todos los Proxies de la Instancia de Base de Datos. Estas actividades son las permitidas y seleccionamos los tiempos de los primeros y últimos eventos 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 ‘Run‘ 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 solo se enfoca en entrenar el modelo estadístico. Dentro del diálogo de la tarea durante la ejecución de la tarea, el usuario puede observar el progreso del entrenamiento en el mensaje de estado.

Figura 3 – Primera ejecución de la tarea de Comportamiento Sospechoso del Usuario. El estado “Tarea completada con éxito” es importante para el análisis de actividades posteriores.

Esto concluye el Paso 2. Ahora tenemos la red entrenada dentro de la tarea de Comportamiento Sospechoso del Usuario y podemos proceder a registrar 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 única en los resultados de la tarea de Comportamiento Sospechoso del Usuario:

Figura 4 – DataSunrise informa sobre la primera actividad sospechosa. La imagen muestra la alerta resultante de la segunda ejecución de la tarea de Comportamiento Sospechoso del Usuario. La sesión ya ha sido marcada como ‘Sospechosa’ por el usuario.

Tenga en cuenta que si el usuario del Host de Actividad de Malware se conecta al proxy utilizando software como DBeaver u otro software basado en UI para la gestión de bases de datos, esta acción también desencadenará 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 marcar la actividad inesperada como resultado.

Figura 5 – Resultados de la Tarea de Comportamiento Sospechoso del Usuario para la conexión de DBeaver desde la máquina host.

En este escenario, se hicieron consultas a la base de datos dos veces a través del proxy de DataSunrise desde el Host de Aplicaciones Web de Comportamiento Normal. Posteriormente, se estableció una conexión a la base de datos usando DBeaver desde una 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 Reglas de Auditoría de la base de datos, 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 configurado en la configuración de Instancia para la conexión protegida de la base de datos. 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 Proxies, asegurarse de que sean auditadas, y ejecutar nuevamente la Tarea de Comportamiento Sospechoso del Usuario. Luego, hacer clic en el icono de actualización en la lista de resultados de la tarea. A medida que aparezcan nuevas consultas, haz 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, consulta la figura a continuación para obtener más detalles.

Figura 6 – Herramientas de ML para el Monitoreo del Comportamiento del Usuario: Sesión sospechosa generada por DBeaver. Tenga en cuenta que listamos todas las consultas e indicamos la IP y el número de puerto del proxy como 0.0.0.0:5433.

Resultados del Caso

Podemos identificar sesiones sospechosas examinando parámetros de consulta 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 centra 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 simples SELECT no marcará consultas SELECT complejas o consultas “SELECT all” a la misma tabla como sospechosas. Esto se debe a que se originan de direcciones IP apropiadas y están dirigidas a bases de datos inusuales.
  • Las Instancias de Reglas de Auditoría determinan los posibles Proxies para marcar sesiones de entrada 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 Auditoría particular. Todos los registros de transacciones en el conjunto de entrenamiento de auditoría se usan 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 su posterior investigación.

Solución de Problemas

Aquí hay algunos puntos a tener en cuenta:

  • Utiliza JVMChecker para verificar si Java está funcionando correctamente (ubicado en /opt/datasunrise/bin).
  • Aprovecha los registros de Comportamiento de Usuario para analizar si la ejecución de la tarea produjo algún mensaje de error. La tarea de Comportamiento Sospechoso del Usuario tiene un archivo de registro para mensajes de error. Puedes encontrarlo en System Settings bajo Logging & Logs, luego Logs Type, y finalmente User Suspicious Behavior Detection.
  • Recuerda habilitar la propiedad avanzada ‘Audit Objects’ cuando se ejecute la Tarea de Comportamiento del Usuario por primera vez.
  • Entiende tus datos. El proceso de entrenamiento requiere una cantidad relativamente alta de datos en los registros de auditoría. Analizar la parte del texto de las solicitudes SQL es importante. Esto significa que no habrá alarma para tablas o columnas inusuales en una solicitud SELECT si se hizo a la base de datos correcta, desde la IP correcta, y por el usuario y la aplicación correctos.
  • Al ejecutar la tarea de Comportamiento del Usuario por primera vez, asegúrate de que el Registro de Auditoría contenga solo actividad permitida. 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 estableciendo reglas para diferentes usuarios automáticamente. Esto ahorra tiempo y esfuerzo, especialmente con grandes conjuntos de datos. El firewall de bases 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 web ofrece una interfaz amigable para configurar tareas y analizar sesiones entrantes.

La tarea Comportamiento sospechoso del usuario le permite escanear los registros transaccionales de DataSunrise en busca de cualquier actividad inusual de los usuarios actuales. Esto puede ayudarlo a identificar posibles violaciones de seguridad. Puede 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, analizamos brevemente la configuración de la tarea Comportamiento sospechoso del usuario. No dude en visitar nuestro sitio web y solicitar una demostración en línea para obtener más información sobre las soluciones de seguridad de bases de datos de DataSunrise.

Siguiente

Aprende Más Sobre la Estructura de tu Base de Datos y las Relaciones entre Tablas

Aprende Más Sobre la Estructura de tu Base de Datos y las Relaciones entre Tablas

Más información

¿Necesita la ayuda de nuestro equipo de soporte?

Nuestros expertos estarán encantados de responder a sus preguntas.

Información general:
[email protected]
Servicio al Cliente y Soporte Técnico:
support.datasunrise.com
Consultas sobre Asociaciones y Alianzas:
[email protected]