Práctica 5: Visualización y Dashboard de eventos tipo SIEM

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

Proyecto: Mini SIEM en MATLAB

1. Contexto

En un sistema SIEM, la visualización es clave para la toma de decisiones. Los dashboards permiten identificar rápidamente comportamientos anómalos, tendencias y alertas activas.

Después de haber generado, normalizado, analizado y correlacionado eventos, el siguiente paso es representar estos datos de forma visual.

Idea clave: Un SIEM no solo detecta amenazas, debe comunicarlas de forma clara y visual.
---

2. Objetivo

Desarrollar un conjunto de visualizaciones en MATLAB que representen el comportamiento de los eventos de autenticación y las alertas detectadas.

---

3. Precondiciones

---

4. Conceptos clave

---

5. Desarrollo paso a paso

Paso 1: Cargar datos

load('../data/logs_normalizados.mat');
% Cargar alertas si fueron guardadas
---

Paso 2: Gráfica de eventos por resultado

resumen = groupcounts(tabla, 'Resultado');

figure;
bar(categorical(resumen.Resultado), resumen.GroupCount);
title('Eventos por resultado');
xlabel('Resultado');
ylabel('Cantidad');
---

Paso 3: Top 10 usuarios

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

top10 = usuarios(1:10,:);

figure;
barh(categorical(top10.Usuario), top10.GroupCount);
title('Top 10 usuarios');
xlabel('Eventos');
---

Paso 4: Top 10 IPs

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

top10_ips = ips(1:10,:);

figure;
barh(categorical(top10_ips.IP), top10_ips.GroupCount);
title('Top 10 IPs');
xlabel('Eventos');
---

Paso 5: Eventos por aplicación

apps = groupcounts(tabla, 'Aplicacion');

figure;
pie(apps.GroupCount, apps.Aplicacion);
title('Eventos por aplicación');
---

Paso 6: Visualizar alertas

tipos = groupcounts(alertas, 'TipoAlerta');

figure;
bar(categorical(tipos.TipoAlerta), tipos.GroupCount);
title('Alertas detectadas');
ylabel('Cantidad');
---

Paso 7: Dashboard combinado

figure;

subplot(2,2,1);
bar(categorical(resumen.Resultado), resumen.GroupCount);
title('Resultados');

subplot(2,2,2);
barh(categorical(top10.Usuario), top10.GroupCount);
title('Top Usuarios');

subplot(2,2,3);
barh(categorical(top10_ips.IP), top10_ips.GroupCount);
title('Top IPs');

subplot(2,2,4);
bar(categorical(tipos.TipoAlerta), tipos.GroupCount);
title('Alertas');
---

6. Resultado esperado

---

7. Validación

---

8. Preguntas de reflexión

  1. ¿Qué gráfico consideras más útil para detectar anomalías?
  2. ¿Qué ventaja tiene visualizar datos frente a analizarlos en texto?
  3. ¿Qué indicador visual podría alertar de un ataque?
  4. ¿Cómo mejorarías este dashboard?
  5. ¿Qué agregarías en un entorno real?
---

9. Tarea (Teams)

Subir un PDF con:

---

10. Cierre

Con esta práctica se completa el ciclo de un sistema SIEM básico: generación, normalización, análisis, correlación y visualización.

El alumno ha construido un sistema funcional que replica los principios fundamentales de monitoreo de seguridad en entornos reales.