Práctica 3: Análisis de eventos y consultas tipo SIEM

Centro Universitario UAEM Nezahualcóyotl - Ingeniería en Sistemas Inteligentes

Proyecto: Mini SIEM en MATLAB

1. Contexto

Después de generar y normalizar los logs, el siguiente paso en un sistema SIEM es el análisis. En esta etapa se realizan consultas sobre los datos para identificar comportamientos relevantes, tendencias y posibles anomalías.

En herramientas reales, esta etapa corresponde a búsquedas en motores como Log Analytics, Ariel o motores de correlación. En esta práctica, MATLAB será utilizado como motor de análisis de eventos.

Idea clave: Un SIEM no solo almacena datos, los interpreta mediante consultas y agregaciones.
---

2. Objetivo

Realizar consultas sobre los eventos normalizados para obtener métricas relevantes como usuarios más activos, IPs más frecuentes, distribución de eventos y detección de patrones básicos.

---

3. Precondiciones

---

4. Conceptos clave

---

5. Desarrollo paso a paso

Paso 1: Cargar datos normalizados

load('../data/logs_normalizados.mat');

disp(tabla(1:10,:));
---

Paso 2: Conteo total de eventos

total_eventos = height(tabla);
fprintf('Total de eventos: %d\n', total_eventos);
---

Paso 3: Eventos por resultado

resumen_resultado = groupcounts(tabla, 'Resultado');
disp(resumen_resultado);
---

Paso 4: Top usuarios

usuarios_top = groupcounts(tabla, 'Usuario');
usuarios_top = sortrows(usuarios_top, 'GroupCount', 'descend');

disp(usuarios_top(1:10,:));
---

Paso 5: Top direcciones IP

ips_top = groupcounts(tabla, 'IP');
ips_top = sortrows(ips_top, 'GroupCount', 'descend');

disp(ips_top(1:10,:));
---

Paso 6: Eventos por aplicación

apps = groupcounts(tabla, 'Aplicacion');
disp(apps);
---

Paso 7: Filtrar eventos fallidos

fallidos = tabla(strcmp(tabla.Resultado, 'failure'), :);

fprintf('Eventos fallidos: %d\n', height(fallidos));
---

Paso 8: Identificar usuarios con más fallos

fallos_usuario = groupcounts(fallidos, 'Usuario');
fallos_usuario = sortrows(fallos_usuario, 'GroupCount', 'descend');

disp(fallos_usuario(1:10,:));
---

6. Resultado esperado

El alumno debe ser capaz de generar indicadores clave del comportamiento de autenticación dentro del sistema.

---

7. Validación

---

8. Preguntas de reflexión

  1. ¿Qué indicador consideras más relevante para detectar actividad sospechosa?
  2. ¿Un usuario con muchos eventos es necesariamente sospechoso? Justifica.
  3. ¿Qué significa que una IP tenga muchos eventos?
  4. ¿Qué diferencia existe entre analizar por usuario y por IP?
  5. ¿Qué limitaciones tiene este tipo de análisis básico?
---

9. Tarea (Teams)

Subir un PDF con:

---

10. Cierre

En esta práctica se han generado indicadores clave a partir de eventos normalizados. Este análisis representa la base para la detección de anomalías.

En la siguiente práctica se implementarán mecanismos de correlación para detectar comportamientos sospechosos como ataques de fuerza bruta o credential stuffing.