
Publicado: 2 de enero de 2025 | Scientific Reports
Autores: Hazem M. Kotb, Tarek Gaber, Salem AlJanah, Hossam M. Zawbaa, Mohammed Alkhathami, et al.
La ciberseguridad sigue siendo uno de los retos más críticos para las empresas modernas. Aunque tradicionalmente las organizaciones han invertido en medidas de seguridad perimetral como cortafuegos y sistemas de detección de intrusiones (IDS), la creciente prevalencia de amenazas internas ha desplazado el foco hacia la detección de anomalías internas. Las amenazas internas—ya provengan de empleados maliciosos, usuarios negligentes o cuentas comprometidas—representan una porción significativa de los incidentes de ciberseguridad. Además, el auge de la inteligencia artificial generativa ha introducido nuevas complejidades: sistemas automatizados pueden generar perfiles de usuario falsos muy convincentes que imitan el comportamiento legítimo.
En esta publicación exploramos un nuevo modelo de Detección de Intrusiones Internas basado en Síntesis Profunda (DS-IID) que aborda estos desafíos de forma directa. El modelo no solo identifica insiders maliciosos mediante aprendizaje profundo, sino que también distingue entre perfiles reales y generados de manera sintética por IA. Recorreremos los principios subyacentes, los aspectos técnicos, mostraremos fragmentos de código para escenarios reales de detección y discutiremos el rendimiento obtenido con el conjunto de datos CERT de amenazas internas.
Las amenazas internas se originan en entidades internas—empleados, contratistas o dispositivos de confianza—que poseen acceso legítimo a los recursos de la organización. Puesto que estos usuarios ya cuentan con privilegios, su comportamiento anómalo puede eludir las medidas de seguridad tradicionales, lo que dificulta su detección con sistemas de anomalías estándar. Según estudios recientes, las amenazas internas representan hasta el 79 % de los problemas de ciberseguridad en muchas organizaciones.
La situación se vuelve aún más compleja con la aparición de tecnologías de IA generativa. Estos sistemas son capaces de crear datos sintéticos realistas que suplantan el comportamiento legítimo de usuarios. Al generar perfiles falsos automáticamente, los atacantes pueden ocultar actividades maliciosas tras una fachada de autenticidad. Los IDS tradicionales suelen tener dificultades para diferenciar entre actividades genuinas y sintéticas, lo que conduce a posibles fallos de seguridad.
El modelo DS-IID combina la potencia de la síntesis profunda de características, el modelado generativo y el aprendizaje profundo binario para detectar amenazas internas. Este enfoque multifacético permite alcanzar tres objetivos principales:
La DFS es el núcleo del modelo DS-IID. A diferencia de la ingeniería manual, la DFS posibilita la extracción automatizada de perfiles detallados a partir de datos de eventos en bruto. Al sintetizar características complejas de registros, tráfico de red y comportamiento del usuario, el modelo construye una visión integral de la actividad de cada usuario. Esto es clave para:
El modelo DS-IID integra modelos generativos para simular perfiles de usuario reales. Esta simulación es crucial para evaluar la probabilidad de que un perfil sospechoso haya sido generado por IA. Paralelamente, un clasificador binario—entrenado con datos reales y sintéticos—determina si el perfil es legítimo o malicioso. Este enfoque dual permite:
El desbalanceo de datos es común en ciberseguridad: la cantidad de instancias benignas supera con creces la de eventos maliciosos. Para afrontarlo, DS-IID emplea muestreo aleatorio ponderado “on-the-fly”. Esta técnica ajusta dinámicamente el muestreo durante el entrenamiento, asegurando que los eventos maliciosos raros tengan impacto suficiente en el proceso de aprendizaje.
Mediante el muestreo ponderado, DS-IID se enfoca en la clase minoritaria sin sacrificar el rendimiento global, logrando tasas de detección más fiables y reduciendo el riesgo de clasificar erróneamente comportamientos benignos.
El modelo DS-IID se basa en una arquitectura multinivel que integra métodos de procesamiento de datos, extracción de características y clasificación. A continuación se presenta una visión técnica de cada módulo.
DS-IID utiliza conjuntos públicos como el CERT Insider Threat Dataset. El proceso incluye:
Tras el preprocesado, se aplica DFS:
La etapa final es la clasificación:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
# Definir el modelo de clasificación binaria DS-IID
def build_ds_iid_model(input_dim):
model = Sequential()
model.add(Dense(128, activation='relu', input_dim=input_dim))
model.add(Dropout(0.3))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
return model
# Ejemplo de uso
if __name__ == "__main__":
input_dimensions = 30 # Ejemplo de número de características tras DFS
model = build_ds_iid_model(input_dimensions)
model.summary()
#!/bin/bash
# Ruta al archivo de registro (ejemplo: /var/log/auth.log)
LOG_FILE="/var/log/auth.log"
# Patrón para entradas sospechosas: múltiples intentos fallidos, usuarios inválidos, etc.
PATTERN="Failed password|Invalid user"
echo "Escaneando registros en busca de actividad sospechosa..."
grep -E "$PATTERN" "$LOG_FILE" > actividad_sospechosa.log
echo "Resumen de entradas sospechosas:"
wc -l actividad_sospechosa.log
echo "Primeras 10 entradas sospechosas:"
head -n 10 actividad_sospechosa.log
import pandas as pd
import numpy as np
from datetime import datetime
# Función para analizar un archivo de registro y crear un DataFrame estructurado
def parse_log_file(log_file_path):
data = []
with open(log_file_path, 'r') as f:
for line in f:
# Formato de línea de registro de ejemplo:
# "Jan 01 12:34:56 hostname sshd[1234]: Failed password for invalid user"
parts = line.split()
timestamp_str = " ".join(parts[0:3])
try:
timestamp = datetime.strptime(timestamp_str, '%b %d %H:%M:%S')
except ValueError:
continue
log_entry = {
'timestamp': timestamp,
'hostname': parts[3],
'service': parts[4].split('[')[0],
'message': " ".join(parts[5:])
}
data.append(log_entry)
return pd.DataFrame(data)
# Síntesis de características: agregación por hostname y rasgos temporales
def generate_features(df):
# Conteo de eventos sospechosos por hostname
feature_df = df.groupby('hostname').size().reset_index(name='suspicious_count')
# Características basadas en hora (eventos promedio por hora)
df['hour'] = df['timestamp'].dt.hour
hourly_features = df.groupby(['hostname', 'hour']).size().unstack(fill_value=0)
feature_df = feature_df.merge(hourly_features, on='hostname', how='left')
return feature_df
if __name__ == "__main__":
log_df = parse_log_file('actividad_sospechosa.log')
features = generate_features(log_df)
print("Características generadas:")
print(features.head())
# Guardar las características para el entrenamiento del modelo DS-IID
features.to_csv('user_features.csv', index=False)
El rendimiento se midió con nueve métricas:
El muestreo ponderado dinámico permitió mantener un alto desempeño pese al desbalanceo de clases.
A diferencia de los IDS convencionales basados en reglas o clustering no supervisado, DS-IID integra síntesis automática de características y maneja datos sintéticos generados por IA, logrando una ventaja significativa con exactitudes cercanas al 97 %.
El modelo DS-IID supone un avance notable en la detección de amenazas internas, especialmente en la era de la IA generativa. Aprovechando la síntesis profunda de características y el aprendizaje profundo binario, alcanza alta exactitud y eficiencia frente a perfiles tanto tradicionales como sintéticos.
En resumen:
Integrar DS-IID en las infraestructuras de ciberseguridad ofrece un camino prometedor para enfrentar amenazas internas sofisticadas y generadas por IA.
¡Feliz codificación y mantente seguro!
Si encontraste este contenido valioso, imagina lo que podrías lograr con nuestro programa de capacitación élite integral de 47 semanas. Únete a más de 1.200 estudiantes que han transformado sus carreras con las técnicas de la Unidad 8200.