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. 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 AuditTransactional 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.

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 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ónPará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ónTareas 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.

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

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.

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

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:

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 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.

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 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.

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 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.

Siguiente

Sobre la Estructura de Su Base de Datos y el Uso de Relaciones de Tablas

Sobre la Estructura de Su Base de Datos y el Uso de Relaciones de Tablas

Más información

¿Necesita la ayuda de nuestro equipo de soporte?

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

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Información General
Ventas
Servicio al Cliente y Soporte Técnico
Consultas sobre Asociaciones y Alianzas
Información general:
info@datasunrise.com
Servicio al Cliente y Soporte Técnico:
support.datasunrise.com
Consultas sobre Asociaciones y Alianzas:
partner@datasunrise.com