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.
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
- Haber completado las prácticas 1 a 4.
- Contar con:
- tabla (logs normalizados)
- alertas (resultado de correlación)
- MATLAB Online funcional.
4. Conceptos clave
- Dashboard: panel visual con indicadores clave.
- Visualización: representación gráfica de datos.
- Indicador (KPI): métrica relevante.
- Anomalía visual: patrón detectable mediante gráficos.
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
- Gráficas claras del comportamiento de eventos.
- Identificación visual de usuarios o IPs anómalas.
- Dashboard consolidado.
7. Validación
- Las gráficas deben generarse correctamente.
- Los datos deben coincidir con los análisis previos.
- El dashboard debe ser legible.
8. Preguntas de reflexión
- ¿Qué gráfico consideras más útil para detectar anomalías?
- ¿Qué ventaja tiene visualizar datos frente a analizarlos en texto?
- ¿Qué indicador visual podría alertar de un ataque?
- ¿Cómo mejorarías este dashboard?
- ¿Qué agregarías en un entorno real?
9. Tarea (Teams)
Subir un PDF con:
- Capturas de todas las gráficas generadas.
- Captura del dashboard completo.
- Identificación visual de:
- Usuario sospechoso
- IP sospechosa
- Respuestas a preguntas.
- Conclusión: importancia de dashboards en ciberseguridad.
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.