Master Security Framework: mi marco de seguridad multicapa para aplicaciones modernas

Master Security Framework: mi marco de seguridad multicapa para aplicaciones modernas

18/05/2026

MSF

Resumen

Master Security Framework (MSF) es un marco de seguridad integral, multilingüe y multicapa diseñado para proteger aplicaciones modernas en todos los niveles de la pila tecnológica. Implementado en Python y TypeScript, MSF ofrece más de 350 funciones distribuidas en 28 módulos, que cubren todo, desde autenticación y cifrado hasta detección de ataques web, análisis de redes, seguridad en la nube, protección de inteligencia artificial, honeypots adaptativos, defensa activa y cumplimiento empresarial. Este artículo presenta un análisis técnico detallado de cada módulo, función, patrón de diseño y mecanismo de seguridad implementado en el marco.


1. Introducción

1.1. El problema

Las aplicaciones modernas se enfrentan a un espectro de amenazas cada vez más sofisticado. Un solo sistema puede ser blanco de ataques en múltiples capas simultáneamente: inyección de mensajes en modelos de lenguaje, explotación de vulnerabilidades web (XSS, SQLi, SSRF), escaneo de puertos, ataques DDoS, configuraciones erróneas de la nube, contenedores comprometidos, dependencias vulnerables en la cadena de suministro de software y violaciones del cumplimiento normativo.

El enfoque tradicional de la seguridad (resolver cada problema con herramientas aisladas) crea silos de defensa que dejan brechas entre las capas. MSF fue diseñado para resolver este problema ofreciendo una plataforma de seguridad unificada que opera en todas las capas de la aplicación.

1.2. ¿Qué es el marco de seguridad maestro?

MSF es un marco de seguridad de código abierto implementado en dos lenguajes: Python y TypeScript. Cada módulo existe en ambos idiomas con la misma semántica, lo que permite a los equipos multilingües utilizar el mismo conjunto de capacidades de seguridad independientemente de la pila de tecnología.

El marco se estructura en torno a cuatro pilares:

  1. Prevención: validación de entradas, desinfección, cifrado y refuerzo de la configuración.
  2. Detección: Análisis de patrones de ataque, anomalías estadísticas, firmas de malware, comportamiento sospechoso
  3. Respuesta: Alertas autónomas, cuarentena, contención, autocuración
  4. Cumplimiento: Verificación automática de LGPD, GDPR, HIPAA, PCI-DSS

1.3. Métricas del proyecto

  • 243 pruebas automatizadas aprobadas (77 Python + 166 TypeScript)
  • 14 módulos de Python con más de 180 funciones
  • 14 módulos TypeScript con más de 170 funciones
  • Telemetría OpenTelemetry integrada en todas las funciones.
  • Registro estructurado (pin en TypeScript, loguru en Python)
  • Caché en memoria con invalidación automática
  • Motor de políticas para reglas de seguridad configurables.
  • Bus de eventos para comunicación asíncrona entre módulos.

2. Arquitectura marco

2.1. Capa de infraestructura (núcleo)

La base de MSF se compone de seis componentes de infraestructura que son compartidos por todos los demás módulos:

Configuración global: un objeto de configuración centralizado que almacena parámetros de seguridad, umbrales, listas permitidas/bloqueadas y claves criptográficas. La configuración se puede recargar en tiempo real desde variables de entorno sin reiniciar la aplicación.

Policy Engine: un sistema de evaluación de reglas que le permite definir políticas de seguridad como declaraciones estructuradas. El motor admite operadores lógicos, condiciones compuestas y acciones de cumplimiento (permitir, denegar, advertir, registrar).

Event Bus: un sistema de publicación/suscripción asíncrono que permite que los módulos publiquen eventos de seguridad y que otros módulos se suscriban para reaccionar. El bus de eventos incluye un historial de eventos y una cola de mensajes fallidos para eventos que no se pudieron procesar.

Registro de métricas: un sistema de métricas que admite contadores (para recuentos acumulativos), medidores (para valores instantáneos) e histogramas (para distribuciones). Todas las funciones de descubrimiento publican métricas automáticamente.

Administrador de caché: un caché LRU (menos utilizado recientemente) con TTL (tiempo de vida) configurable, que se utiliza para almacenar costosos resultados de validación, listas de IP bloqueadas, huellas digitales de sesión y tokens revocados.

OpenTelemetry: Integración completa con el estándar OpenTelemetry, generando tramos de seguimiento distribuidos para cada operación de seguridad. Esto permite el colorRelacionar eventos de seguridad para solicitar seguimientos en arquitecturas de microservicios.

Registrador estructurado: registro estructurado en formato JSON con pin (TypeScript) y loguru (Python), que incluye contexto automático como ID de seguimiento, gravedad, módulo y metadatos de seguridad.

Manejo de excepciones: una jerarquía de excepciones de seguridad (SecurityError, ValidationError, AuthenticationError, EncryptionError) que permite un manejo granular de errores de seguridad.

2.2. Capa de protección

En cuanto a infraestructura, MSF organiza sus módulos de seguridad en tres capas funcionales:

Capa de entrada: Web, API, autenticación: protege los puntos de entrada de las aplicaciones Capa de infraestructura: red, nube, archivos: protege la infraestructura subyacente Capa inteligente: IA, monitoreo, defensa, Honeypot: proteja con inteligencia y adaptación


3. Módulo de autenticación (Auth)

El módulo de autenticación es el más extenso del framework, con 30 funciones en Python y 7 en TypeScript. Cubre todo el ciclo de vida de la autenticación: generación y validación de tokens, gestión de sesiones, detección de ataques y métodos avanzados de verificación de identidad.

3.1. JWT (tokens web JSON)

MSF implementa un sistema JWT completo que va más allá de la simple generación y validación:

  • generate_jwt crea tokens con asunto, reclamos personalizados, vencimiento configurable y emisor. Admite algoritmos HS256, HS384, HS512, RS256, ES256.
  • validate_jwt verifica la firma, el vencimiento, los reclamos obligatorios y devuelve la carga útil decodificada. El parámetro verify_exp le permite deshabilitar la verificación de vencimiento para casos específicos.
  • revoke_jwt agrega el JTI (JWT ID) del token a una lista negra de revocación. Esto es esencial para cerrar sesión antes de la expiración natural del token.
  • rotate_jwt valida el token antiguo y emite uno nuevo con la misma identidad, lo que permite la rotación silenciosa del token sin interrumpir la sesión del usuario.
  • validate_refresh_token valida los tokens de actualización con verificación de pertenencia al usuario específico, evitando que otro usuario utilice un token de actualización robado.

3.2. Gestión de sesiones

El sistema de sesiones de MSF incluye protección contra el secuestro de sesiones:

  • secure_session crea una sesión que vincula el ID de usuario, la IP, el agente de usuario y la huella digital del dispositivo. Esto le permite detectar cambios sospechosos en el contexto de la sesión.
  • validate_session comprueba si el session_id pertenece al usuario y si la IP actual coincide con la IP registrada al crear la sesión.
  • detect_session_hijack compara la IP actual y el agente de usuario con datos históricos de la sesión. Si la IP se ha movido a una subred diferente o el agente de usuario ha cambiado significativamente, la función devuelve verdadero, lo que indica un posible secuestro.
  • detect_token_replay mantiene un registro de los tokens ya utilizados. Si un token se presenta más de una vez, la función detecta el ataque de repetición.

3.3. Detección de ataques de autenticación

MSF detecta tres tipos principales de ataques contra sistemas de autenticación:

  • detect_credential_stuffing monitorea los intentos de inicio de sesión desde una única IP contra múltiples cuentas de usuario. Si una IP prueba muchos nombres de usuario diferentes en un período de tiempo, se marca como relleno de credenciales.
  • detect_bruteforce monitorea los intentos de inicio de sesión en una sola cuenta. Si el número de intentos excede el umbral en la ventana de tiempo, se marca como fuerza bruta.
  • detect_impossível_travel calcula la distancia entre dos ubicaciones de inicio de sesión consecutivas y la compara con el tiempo transcurrido. Si la velocidad requerida para viajar entre puntos excede los límites físicos razonables (por ejemplo, 900 km/h), la función detecta un viaje imposible.
  • geo_velocity_check extiende la detección de viajes imposibles a múltiples ubicaciones, calculando la velocidad geográfica entre todos los puntos de inicio de sesión consecutivos.

3.4. Autenticación adaptativa y basada en riesgos

  • adaptive_auth ajusta los requisitos de autenticación según la puntuación de riesgo del contexto. Es posible que un inicio de sesión desde un dispositivo conocido en una ubicación conocida solo requiera una contraseña, mientras que un inicio de sesión desde un dispositivo nuevo en un país diferente puede requerir MFA adicional.
  • behavioral_auth utiliza biometría del comportamiento (patrón de escritura, movimiento del mouse, ritmo de navegación) para verificar la identidad del usuario con respecto a la línea de base de comportamiento registrada.
  • risk_based_auth calcula una puntuación de riesgo compuesta a partir de múltiplespor factores: ubicación, dispositivo, hora, comportamiento, reputación de IP y devuelve una decisión de autenticación con un nivel de confianza.

3.5. TOTP y códigos de respaldo

  • generate_totp genera códigos de contraseña de un solo uso basados en el tiempo siguiendo RFC 6238, con dígitos y puntos configurables.
  • validate_totp valida tokens TOTP con tolerancia a la deriva del reloj (parámetro drift), compensando la desincronización entre el servidor y el dispositivo del usuario.
  • verify_backup_code verifica y consume códigos de respaldo/recuperación, eliminándolos de la lista válida después de su uso para evitar su reutilización.

3.6. WebAuthn y claves de acceso

  • passkey_auth valida las autenticaciones FIDO2/WebAuthn comprobando la firma criptográfica del autenticador, los datos del autenticador y los datos del cliente JSON.
  • webauthn_verify realiza una verificación completa de la aserción de WebAuthn, incluida la validación del origen, el ID de RP (ID de la parte que confía) y la firma criptográfica con la clave pública registrada.
  • phishing_proof_auth comprueba si un método de autenticación es resistente al phishing y requiere FIDO2 nivel 2 o superior con certificación verificada.

3.7. Seguridad de contraseña

  • password_entropy calcula la entropía de Shannon de una contraseña, midiendo su complejidad informativa en bits. Las contraseñas con una entropía inferior a 40 bits se consideran débiles.
  • detect_weak_password combina el análisis de entropía con la verificación de listas de contraseñas comunes (rockyou, top 10000, etc.).
  • password_breach_check comprueba si aparece un hash de contraseña en una base de datos de infracciones conocidas (Have I Been Pwned y similares).
  • secure_password_hash crea hashes de contraseñas con sal criptográfica y estiramiento de claves (iteraciones), admitiendo algoritmos como PBKDF2, bcrypt, scrypt y Argon2.
  • verify_password_hash compara una contraseña con un hash almacenado mediante una comparación segura en tiempo constante.

3.8. Huellas digitales del dispositivo y del navegador

  • device_fingerprint genera un identificador de dispositivo único a partir de atributos como agente de usuario, resolución de pantalla, zona horaria, idiomas y plataforma.
  • browser_fingerprint utiliza técnicas avanzadas de toma de huellas digitales basadas en características de representación: hash de lienzo 2D, hash de WebGL, hash de contexto de audio y lista de fuentes instaladas.
  • biometric_validation compara datos biométricos (huella digital, reconocimiento facial, iris) con una plantilla almacenada con un umbral de similitud configurable.

4. Módulo de criptografía (Crypto)

El módulo de cifrado implementa algoritmos de cifrado modernos simétricos, asimétricos y poscuánticos, centrándose en la autenticación y la integridad.

4.1. Cifrado autenticado

  • encrypt_data utiliza cifrado autenticado con datos asociados (AEAD), compatible con AES-256-GCM y ChaCha20-Poly1305. Los datos asociados (AAD) le permiten vincular metadatos no cifrados a texto cifrado de forma autenticada.
  • decrypt_data realiza un descifrado autenticado, verificando la etiqueta de autenticación antes de devolver el texto sin formato. Si la etiqueta no coincide, el descifrado falla, lo que evita ataques de manipulación de texto cifrado y relleno de Oracle.
  • encrypt_file y decrypt_file extienden el cifrado autenticado a archivos en el disco, administrando nonce, salt y metadatos de forma segura.

4.2. Criptografía híbrida

  • hybrid_encrypt combina cifrado asimétrico (para el intercambio de claves) con cifrado simétrico (para la carga útil). La clave simétrica se genera aleatoriamente, se utiliza para cifrar la carga útil y luego se cifra con la clave pública del destinatario.
  • hybrid_decrypt invierte el proceso: descifra la clave simétrica con la clave privada y luego descifra la carga útil.

4.3. Criptografía poscuántica

El MSF implementa los algoritmos post-cuánticos estandarizados por NIST:

  • pqc_encrypt y pqc_decrypt utilizan ML-KEM (anteriormente Kyber) para cifrado cuántico resistente a computadoras.
  • kyber_key_exchange implementa el protocolo de intercambio de claves Kyber para el establecimiento de claves compartidas poscuánticas.
  • dilithium_sign utiliza ML-DSA (anteriormente Dilithium) para firmas digitales poscuánticas.
  • sphincs_sign utiliza SPHINCS+, un esquema de firma basado en funciones hash, como una alternativa post-cuántica sin estado.
  • falcon_sign utiliza Falcon, un esquema de firma basado en celosía con firmas compactas.

4.4. HMAC y verificación de firma

  • generate_hmac produce un Hash-bCódigo de autenticación de mensaje ased utilizando HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 o HMAC-SHA3-256.
  • verify_hmac compara el HMAC calculado con el HMAC esperado mediante una comparación de tiempo constante.
  • verify_signature verifica las firmas digitales (Ed25519, ECDSA, RSA-PSS) con un mensaje y una clave pública.

4.5. Utilidades criptográficas

  • secure_random genera bytes criptográficamente seguros usando os.urandom() (Python) o crypto.getRandomValues() (TypeScript).
  • secure_memory_erase sobrescribe con ceros las regiones de memoria que contienen datos confidenciales, evitando que los datos permanezcan en la memoria después de su uso.
  • anti_timing_compare compara dos secuencias de bytes en tiempo constante, iterando sobre todos los bytes independientemente de dónde ocurre la primera diferencia, evitando ataques de tiempo.

5. Módulo Web

El módulo Web es el más extenso en cuanto a detección de ataques, con 30 funciones en Python y 35 en TypeScript. Cubre todas las categorías de vulnerabilidad web enumeradas en OWASP Top 10 y más allá.

5.1. Secuencias de comandos entre sitios (XSS)

  • detect_xss analiza la entrada para patrones XSS que incluyen: etiquetas <script>, controladores de eventos (onload, onclick, onerror), javascript: URI, DOM XSS (innerHTML, document.write) y XSS a través de SVG/MathML. La función toma un conjunto de patrones de expresiones regulares y calcula una puntuación de confianza basada en la cantidad de patrones coincidentes. severity_threshold le permite ajustar la sensibilidad de detección.
  • sanitize_html elimina etiquetas y atributos no permitidos de HTML, utilizando una lista permitida de etiquetas seguras (<p>, <br>, <strong>, <em>, etc.) y atributos seguros (href, src, alt, title, etc.). Las etiquetas no permitidas se eliminan por completo y los atributos peligrosos como "on*" se filtran.
  • sanitize_svg desinfecta SVG eliminando elementos peligrosos como <script>, <foreignObject>, <animate> y atributos de eventos.
  • sanitize_markdown desinfecta Markdown eliminando HTML peligroso incrustado y al mismo tiempo preserva el formato nativo de Markdown.
  • sanitize_css elimina propiedades CSS peligrosas como expression(), url(javascript:), behavior y -moz-binding.
  • sanitize_js elimina patrones de JavaScript peligrosos, incluidos eval(), Function(), setTimeout/setInterval con cadena, document.write, document.cookie, manipulación DOM insegura y métodos de ejecución de código.

5.2. Inyección SQL y NoSQL

  • detect_sqli detecta patrones de inyección SQL que incluyen: consultas basadas en UNION (UNION SELECT), ciegas (AND 1=1, OR '1'='1'), basadas en tiempo (SLEEP(), WAITFOR DELAY), basadas en errores y apiladas. La función también detecta técnicas de evasión como codificación hexadecimal, comentarios (--, /* */) y concatenación de cadenas.
  • detect_nósqli detecta inyección en bases de datos NoSQL (principalmente MongoDB) identificando operadores peligrosos en la entrada: $gt, $gte, $lt, $lte, $ne, $in, $nin, $regex, $where, $exists.

5.3. Falsificación de solicitudes del lado del servidor (SSRF)

  • detect_ssrf compara las URL con una lista de dominios permitidos e IP bloqueadas. La función detecta técnicas de omisión de SSRF que incluyen: redirecciones a localhost, uso de reenlace de DNS, URL con codificación (%00, %0d%0a) y acceso a puntos finales de metadatos en la nube (169.254.169.254, metadata.google.internal).

5.4. Ejecución remota de código (RCE) e inyección de comandos

  • detect_rce identifica patrones de ejecución remota de código, incluidas llamadas a eval(), exec(), system(), passthru(), popen(), comillas invertidas y operadores de canalización.
  • detect_command_injection detecta la inyección de comandos del sistema operativo mediante operadores de shell: ;, |, ||, &&, comillas invertidas, $() y redirecciones (>, >>).

5.5. Inclusión de archivos y recorrido de ruta

  • detect_lfi detecta la inclusión de archivos locales identificando secuencias de recorrido de ruta (../, ..\), recorrido codificado (%2e%2e%2f) y protocolos peligrosos (php://filter, php://input, data://, expect://).
  • detect_rfi detecta la inclusión remota de archivos cuando se pasan URL externas como parámetros de inclusión/requisito.
  • detect_path_traversal comprueba si una ruta se resuelve dentro de una base_path permitida, detectando recorrido absoluto y relativo.

5.6. Inyección de plantilla

  • detect_template_injection detecta la inyección de plantilla del lado del servidor (SSTI) para Jinja2 ({{ 7*7 }}, {% for %}), EJS (<%= %>), Manillares ({{#each}}), Pug, Twig, Moustache y un modo genérico que detecta la sintaxis de plantilla común.

5.7. Deserialización yAbrir redireccionamiento

  • detect_deserialization_attack identifica la deserialización insegura comprobando las clases permitidas y los patrones de dispositivos conocidos (serialización de Java, Python pickle, deserialización de PHP, deserialización de YAML).
  • detect_open_redirect comprueba si una URL de redireccionamiento apunta a un host en la lista blanca, evitando redireccionamientos a dominios maliciosos.

5.8. Protección CSRF, CORS y CSP

  • csrf_protect y validate_csrf verifican los tokens CSRF de solicitud con los tokens de sesión mediante una comparación segura.
  • validate_cors valida las solicitudes CORS comparando el origen, los métodos y los encabezados con las listas permitidas.
  • generate_csp genera encabezados Content-Security-Policy a partir de la configuración de la directiva (script-src, style-src, img-src, connect-src, frame-ancestors, etc.).
  • validate_csp valida un encabezado CSP existente con una política de seguridad definida.
  • secure_headers genera un conjunto completo de encabezados de seguridad: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy y Content-Security-Policy.

5.9. Cookies seguras y clickjacking

  • secure_cookie genera encabezados Set-Cookie con indicadores Secure, HttpOnly, SameSite (Estricto o Lax), alcance de dominio, ruta y edad máxima.
  • detect_clickjacking comprueba la presencia de encabezados X-Frame-Options y ancestros de marcos CSP para detectar la vulnerabilidad de clickjacking.
  • validate_origin y validate_referer validan los encabezados Origin y Referer contra los dominios esperados.

5.10. Ganchos web

  • webhook_signature genera firmas HMAC para cargas útiles de webhook, incluida la marca de tiempo para la prevención de reproducción.
  • webhook_replay_protection verifica la firma del webhook y la marca de tiempo, rechazando solicitudes fuera de la ventana de tiempo configurada.

6. Módulo API

El módulo API protege los puntos finales de API contra una amplia gama de ataques y abusos.

6.1. Validación y desinfección de entradas

  • validate_json_schema valida los datos con respecto a las definiciones del esquema JSON con un modo estricto opcional que rechaza campos adicionales no definidos en el esquema.
  • validate_input valida la entrada de API según reglas de tipo (cadena, número, booleano, matriz, objeto), tamaño mínimo/máximo, patrón de expresiones regulares, enumeración de valores permitidos y profundidad máxima de anidamiento (predeterminado: 5 niveles).
  • sanitize_json desinfecta los datos JSON eliminando los tipos no permitidos y truncando las cadenas que exceden la longitud máxima configurada (predeterminado: 10,000 caracteres).

6.2. Limitación de tasa

  • api_rate_limit implementa limitación de velocidad usando un algoritmo de ventana deslizante, manteniendo un registro de las marcas de tiempo de las solicitudes por cliente y punto final. Cuando el número de solicitudes en la ventana excede el límite, la solicitud se rechaza.
  • adaptive_rate_limit ajusta dinámicamente los límites de tarifas según el comportamiento del cliente. Los clientes con un historial limpio reciben límites más generosos, mientras que los clientes con patrones sospechosos reciben límites más restrictivos.

6.3. Detección de abuso de API

  • detect_api_abuse analiza patrones de solicitudes para detectar: scraping (solicitudes secuenciales a muchos recursos), enumeración (intentos de identificación secuenciales), fuzzing (solicitudes con diferentes cargas malformadas) y automatización maliciosa (alta frecuencia con patrones regulares).
  • detect_shadow_api identifica puntos finales no documentados que reciben tráfico comparando los puntos finales a los que se accede con la lista de API documentadas.

6.4. Autorización a nivel de objeto roto (BOLA/IDOR)

  • detect_bola comprueba si el usuario está autorizado a acceder al recurso solicitado, comparando el resource_id con el ownership_map que asigna los recursos a sus propietarios. Si el usuario no es el propietario y no tiene permisos delegados, la función devuelve verdadero.

6.5. Autenticación rota y asignación masiva

  • detect_broken_auth verifica la presencia y validez del token de autenticación, los alcances requeridos por el punto final y la correspondencia entre el token y el usuario solicitado.
  • detect_mass_assignment comprueba si la entrada de API contiene campos que no están en el modelo (model_fields) o que están en la lista de campos de solo lectura (readonly_fields), evitando que los atacantes modifiquen campos protegidos como is_admin, role o balance.

6.6. Seguridad GraphQL

  • graphql_ Depth_limit analiza la profundidad de las consultas GraphQL, rechazando consultas que exceden el límite configurado (predeterminado: 10 niveles). Esto previene ataques queries recursivos que pueden provocar denegación de servicio.
  • graphql_cost_analysis calcula el costo computacional de una consulta GraphQL en función de la complejidad de cada campo (configurable a través de complexity_map) y el nivel de anidamiento. Las consultas con un costo superior al límite (predeterminado: 1000) se rechazan.
  • graphql_abuse_detection analiza múltiples consultas en una ventana de tiempo para detectar inundaciones de consultas, abuso de introspección (consultas que explotan el esquema para mapear la API) y patrones de abuso repetitivos.

6.7. Seguridad de gRPC y WebSocket

  • grpc_security_validation valida la seguridad de las solicitudes de gRPC comprobando metadatos, encabezados obligatorios e información TLS (conjunto de cifrado, protocolo, certificado de pares).
  • secure_websocket configura conexiones WebSocket seguras con validación de origen y subprotocolos permitidos.
  • websocket_origin_validation y websocket_flood_protection protegen contra conexiones WebSocket maliciosas e inundaciones de conexiones.

6.8. Gestión de claves API

  • api_key_rotation genera nuevas claves API con hash seguro (SHA3-256), prefijo identificable y fecha de vencimiento configurable.
  • api_key_validation valida las claves API con un registro de claves conocidas, verificando alcances, vencimiento y límites de tasa individuales.

7. Módulo de Inteligencia Artificial (IA)

El módulo AI es uno de los más innovadores de MSF y ofrece protección completa para aplicaciones que utilizan modelos de lenguaje grandes (LLM).

7.1. Inyección rápida y protección contra jailbreak

  • detect_prompt_injection analiza indicaciones para patrones de inyección como "ignorar instrucciones anteriores", "olvidar todas las reglas", "sistema:", "usted es ahora", "ignorar todo lo anterior", "anular las instrucciones del sistema", "evitar la seguridad", "actuar como si lo fuera", "fingir que lo es", "de ahora en adelante lo es", "modo de desarrollador:" y patrones de marcado que intentan simular instrucciones del sistema. La función utiliza más de 20 patrones de expresiones regulares y calcula una puntuación de confianza en función del número de coincidencias y la duración del mensaje.
  • detect_jailbreak detecta intentos de jailbreak dirigidos específicamente a eludir las restricciones de seguridad de LLM, que incluyen: modo DAN, "hacer cualquier cosa ahora", "desactivar la seguridad", "modo sin restricciones", "sin restricciones", "ignorar tus pautas de seguridad", "no tienes que seguir tus reglas", "juego de roles sin restricciones", "escenario hipotético donde puedes", "en este universo alternativo" y patrones "solo con fines educativos" utilizados como justificación para eludir.

7.2. Protección de datos sensibles

  • detect_SENSITIVE_LEAK escanea texto en busca de datos confidenciales, incluidos: SSN/CPF, números de tarjetas de crédito (con validación de suma de comprobación de Luhn), correos electrónicos, números de teléfono, claves API (AWS, GCP, GitHub, estándares Stripe), contraseñas, tokens JWT, claves privadas (encabezados PEM) y direcciones de billeteras de criptomonedas.
  • detect_prompt_leak detecta intentos de extraer el mensaje del sistema LLM comparando el contenido del mensaje del usuario con el mensaje del sistema usando similitud de texto. Si el usuario intenta reproducir o inferir partes del mensaje del sistema, la función lo marca.
  • detect_data_exfiltración analiza la salida de LLM en busca de datos confidenciales que puedan haberse incluido inadvertidamente en la respuesta.

7.3. Sanitización

  • sanitize_prompt elimina los patrones bloqueados del mensaje del usuario y aplica el límite de longitud.
  • sanitize_llm_output elimina scripts, controladores de eventos y datos confidenciales de la salida de LLM, aplicando truncamiento si es necesario.
  • ai_memory_sanitizer desinfecta las entradas de la memoria de IA según la política de retención, eliminando datos confidenciales y entradas caducadas.

7.4. Detección de abuso de modelos y agentes

  • detect_model_abuse analiza patrones de solicitudes para detectar abuso del modelo: repetición excesiva (el mismo mensaje enviado varias veces), alta tasa de solicitudes (más de 30 por minuto) y complejidad anormal (consultas muy profundas o largas). La puntuación de abuso se calcula como una combinación ponderada de coincidencia de patrones, repetición, tasa y complejidad.
  • detect_agent_abuse monitorea el comportamiento de los agentes de IA verificando si las acciones realizadas están dentro de las políticas definidas (acciones permitidas, límites de llamadas, restricciones de acceso).

7.5. LLM Firewall y motor de políticas

  • llm_firewall evalúa la entrada frente a un conjunto de reglas de firewall LLM con acciones configurables (bloquear, advertir, registrar). Cada regla especifica un patrón, una condición y una acción.
  • ai_policy_engine evalúatanto el mensaje como el resultado de LLM frente a un conjunto de políticas de seguridad, que incluyen: prohibición de generar código malicioso, prohibición de revelar información personal, requisito de fuentes para afirmaciones fácticas y restricciones específicas de dominio.

7.6. RAG y alucinaciones

  • rag_source_validation valida la credibilidad de las fuentes utilizadas en los sistemas RAG (Recuperación-Generación Aumentada), verificando si los dominios de origen están en la lista confiable y aplicando reglas de validación como verificar la fecha, el autor y la reputación.
  • hallucination_risk evalúa el riesgo de alucinaciones en el resultado del LLM analizando: puntuaciones de confianza bajas, declaraciones no verificadas, inconsistencias fácticas y patrones de lenguaje indicativos de incertidumbre.

7.7. Validación de llamadas de herramientas y barandillas

  • ai_output_guard aplica barreras de seguridad y reglas de redacción a la salida de LLM, eliminando contenido prohibido y redactando datos confidenciales.
  • tool_call_validation valida las llamadas a herramientas (llamadas a funciones) comprobando si la herramienta está en la lista permitida y si los argumentos corresponden al esquema esperado.
  • multi_agent_isolation valida las políticas de aislamiento y comunicación entre múltiples agentes de IA, evitando que un agente comprometa a otro.

7.8. Monitoreo

  • ai_token_monitor monitorea el uso de tokens LLM contra límites definidos (por solicitud, por minuto, por día, por costo), generando alertas cuando se acercan o exceden los límites.
  • ai_behavior_monitor monitorea el comportamiento de la IA en busca de desviaciones de la línea de base establecida, detectando cambios en los patrones de respuesta, aumento de errores o comportamiento inesperado.

8. Módulo de red

El módulo de red proporciona detección de amenazas a nivel de red, abarcando todo, desde escaneo de puertos hasta comunicación de comando y control.

8.1. Detección de escaneo

  • detect_port_scan analiza las conexiones desde una IP de origen para detectar escaneos de puertos. La función cuenta los puertos únicos a los que se accede, calcula la velocidad de conexión (conexiones por segundo) y analiza los patrones de indicadores TCP (inundación SYN, patrones SYN-RST). Los tipos de escaneo detectados incluyen: escaneo SYN, escaneo FIN, escaneo XMAS, escaneo NULL y escaneo UDP. El umbral configurable le permite ajustar la sensibilidad (predeterminado: 20 puertos individuales en 60 segundos).
  • detect_dns_tunneling analiza las consultas DNS para detectar túneles, calcula la entropía de Shannon de los subdominios (los datos codificados en las consultas DNS tienen una alta entropía), mide el tamaño promedio de los subdominios y cuenta la frecuencia de las consultas para un dominio específico.

8.2. Detección de anomalías de tráfico

  • detect_traffic_anomaly compara las métricas de tráfico actuales (bytes por segundo, paquetes por segundo, conexiones por segundo, distribución de protocolos) con una línea de base histórica utilizando puntuación z estática. Las desviaciones por encima del umbral (predeterminado: 2,0 desviaciones estándar) se marcan como anomalías.
  • detect_ddos detecta ataques de denegación de servicio distribuido analizando picos en bytes/paquetes por segundo con respecto a la línea de base, con umbral y ventana de tiempo configurables.

8.3. Detección de proxy, VPN y Tor

  • detect_proxy comprueba los encabezados HTTP indicativos del proxy (X-Forwarded-For, Via, X-Real-IP, Forwarded) y analiza los patrones de comportamiento de las conexiones proxy.
  • detect_vpn compara la IP de origen con una base de datos de IP de proveedores de VPN conocidos.
  • detect_tor comprueba si la IP pertenece a la red Tor comparándola con listas de nodos y nodos de salida de la red Tor.

8.4. Validación de IP y dominio

  • validate_ip valida las direcciones IPv4 contra rangos y bloques permitidos mediante coincidencia CIDR. Admite notación CIDR (por ejemplo, 192.168.1.0/24) y rangos individuales.
  • validate_domain valida dominios comparando el TLD con una lista permitida (por ejemplo, solo .com, .org, .br) y el dominio completo con una lista bloqueada.

8.5. Detección de suplantación de identidad y envenenamiento por ARP

  • detect_spoofing analiza los datos del paquete contra las fuentes esperadas y la topología de la red para detectar la suplantación de IP, verificando si la IP de origen es consistente con la ruta esperada.
  • detect_arp_poisoning compara la tabla ARP actual con las asignaciones esperadas de IP a MAC, detectando cuando una dirección MAC responde a múltiples IP o cuando una asignación cambia inesperadamente.

8.6. Huellas dactilares TLS

  • tls_fingerprint genera una huella digital TLS a partir del protocolo de enlace (conjuntos de cifrado, extensiones, curvas elípticas, formatos de puntos) y la compara cona una base de datos de huellas dactilares conocidas para identificar al cliente.
  • ja3_fingerprint genera un hash JA3 ClientHello específico de TLS, que es un estándar de la industria para identificar clientes TLS en función de los parámetros de negociación.

8.7. Balizamiento y Detección C2

  • beaconing_detection detecta el comportamiento de balizamiento (comunicación periódica con comando y control) analizando la regularidad de los intervalos entre conexiones. Las conexiones con intervalos muy regulares (baja fluctuación) y una alta correlación de intervalos son indicativas de balizamiento.
  • command_and_control_detection analiza patrones de tráfico frente a indicadores conocidos de C2: comunicación con dominios DGA (Algoritmo de generación de dominio), tráfico en puertos no estándar, patrones de balizas y uso de protocolos de túnel (DNS, ICMP, HTTP).

8.8. Movimiento lateral y análisis de redes.

  • lateral_movement_detection detecta movimiento lateral analizando patrones de acceso entre hosts de la red: accesos a hosts a los que el usuario normalmente no accede, uso de protocolos de administración remota (RDP, SSH, WMI) para hosts inusuales y propagación del acceso en un patrón gráfico.
  • network_entropy_analysis analiza la entropía de los paquetes de red para detectar tráfico cifrado o codificado (una entropía alta indica datos aleatorios o cifrados).
  • traffic_behavior_analysis analiza el comportamiento del tráfico frente a líneas de base establecidas en una ventana de tiempo, detectando cambios en el patrón de comunicación.
  • protocol_anomaly_detection detecta anomalías en los protocolos comparando los datos del protocolo con las especificaciones esperadas (campos obligatorios, valores válidos, secuencia de mensajes).

9. Módulo de nube

El módulo de nube protege las infraestructuras de nube en AWS, GCP y Azure, abarcando contenedores, Kubernetes, almacenamiento, IAM, IaC y cadena de suministro.

9.1. Seguridad de contenedores

  • validate_dockerfile valida Dockerfiles según las mejores prácticas de seguridad: no use la etiqueta latest, no lo ejecute como root, incluya HEALTHCHECK, no incluya secretos codificados, use imágenes base mínimas (alpinas, sin distribución) y no exponga puertos innecesarios.
  • detect_container_escape detecta posibles vectores de escape de contenedores comprobando: modo privilegiado, capacidades peligrosas (SYS_ADMIN, SYS_PTRACE, NET_ADMIN), montaje sensible de hostPath (/, /etc, /proc, /sys), falta de perfiles seccomp/AppArmor y uso compartido del espacio de nombres del host.
  • runtime_container_protection analiza los eventos del contenedor en tiempo de ejecución frente a las reglas de amenazas y realiza acciones automáticas (bloquear, alertar, aislar, finalizar, registrar).
  • container_image_scan escanea las capas de imágenes del contenedor en busca de vulnerabilidades conocidas (CVE) y verifica las firmas de las imágenes (Cosign, Notary).

9.2. Seguridad de Kubernetes

  • validate_k8s_rbac valida las configuraciones de Kubernetes RBAC según los principios de privilegio mínimo: detecta ClusterRoles con comodín (*), ServiceAccounts con permisos excesivos, enlaces que otorgan acceso a secretos y roles que permiten la ejecución en pods.
  • validate_kubernetes_manifest valida los manifiestos de Kubernetes contra las políticas de seguridad de pods y las políticas de red: detecta pods que se ejecutan como root, sin límites de recursos, con hostNetwork/hostPID/hostIPC, sin readOnlyRootFilesystem y sin securityContext.
  • runtime_k8s_anomaly detecta comportamiento anómalo en eventos de tiempo de ejecución de Kubernetes: creación de pods en espacios de nombres inusuales, cambios en RBAC, acceso a secretos no estándar y comunicación entre pods que normalmente no se comunican.

9.3. Almacenamiento y IAM

  • detect_public_bucket detecta depósitos de almacenamiento en la nube de acceso público comprobando: políticas de depósito con Primario: "*", ACL públicas, bloqueo de acceso público deshabilitado y configuraciones de sitios web que exponen el depósito.
  • validate_s3_permissions valida los permisos del depósito S3 según los requisitos de seguridad: verifica que no haya permisos de escritura públicos, que el cifrado esté habilitado, que el control de versiones esté activo y que el registro esté configurado.
  • validate_iam_policy valida las políticas de IAM contra listas de acciones permitidas y denegadas, detectando permisos excesivos: acciones con comodines (s3:*, *), acceso a recursos de todos los servicios y ausencia de condiciones de restricción.

9.4. Infraestructura como código

  • validate_terraform valida los planes de Terraform según las políticas de seguridad: detecta recursos con cifrado deshabilitado, grupos de seguridad con reglas de entrada abiertas (0.0.0.0/0), depósitos públicos, bases de datos sin respaldo y recursos sin etiquetas de identificación.
  • detect_cloud_misconfig detecta configuraciones erróneas de la infraestructura de la nube comparando la configuración actual con una línea de base de seguridad por proveedor (AWS, GCP, Azure).

9.5. Secretos y cadena de suministro

  • validate_secrets_manager valida la configuración del administrador de secretos: rotación automática habilitada, cifrado en reposo con KMS, políticas de acceso restrictivas y registro de acceso habilitado.
  • supply_chain_validation valida las dependencias de software contra fuentes confiables y bases de datos de vulnerabilidades, detectando paquetes de fuentes no verificadas, versiones con CVE conocidos y dependencias con licencias restrictivas.
  • sbom_generator genera una lista de materiales del software en formatos SPDX o CycloneDX, enumerando todos los componentes con nombre, versión, tipo, licencia y hash.
  • dependency_audit audita las dependencias contra la base de datos de vulnerabilidades con filtro de gravedad.
  • detect_typósquatting detecta ataques de typósquatting comparando nombres de paquetes con paquetes conocidos usando similitud de cadenas (Levenshtein, intercambio de caracteres, separación de palabras).

9.6. Puntuación e identidad

  • cloud_security_score calcula una puntuación general de seguridad en la nube basada en puntos de referencia CIS y ponderaciones configurables por categoría (IAM, almacenamiento, red, registro, cifrado).
  • workload_identity_validation valida la configuración de identidad de la carga de trabajo (IRSA en AWS, Workload Identity en GKE, Managed Identity en Azure).
  • confidential_computing_validation valida la certificación informática confidencial para TEE (Intel SGX/TDX, AMD SEV-SNP, AWS Nitro Enclaves, Azure CVM).

10. Módulo de Monitoreo

El módulo de monitoreo ofrece capacidades avanzadas de detección, correlación y respuesta a incidentes.

10.1. Registro a prueba de manipulaciones

  • secure_log crea entradas de registro seguras con integridad criptográfica utilizando una cadena hash: cada entrada incluye el hash de la entrada anterior, lo que hace imposible cambiar entradas pasadas sin invalidar toda la cadena.
  • tamperproof_logs comprueba la integridad de una cadena de registros validando que cada hash apunte correctamente a la entrada anterior.

10.2. Puntuación estadística

  • anomaly_score calcula una puntuación de anomalía utilizando la puntuación z estadística: para cada métrica, calcula cuántas desviaciones estándar tiene el valor actual del promedio histórico. Las puntuaciones individuales se combinan con ponderaciones configurables para producir una puntuación compuesta.
  • threat_score calcula una puntuación de amenaza compuesta de eventos de seguridad e inteligencia de amenazas, ponderados por gravedad, criticidad del objetivo y confianza en la fuente de inteligencia.
  • risk_score calcula una puntuación de riesgo para un usuario específico en función de eventos recientes, contexto actual e historial (promedio de riesgo anterior, número de incidentes, días desde el último incidente).

10.3. Correlación y alertas

  • correlate_events correlaciona eventos de seguridad dentro de una ventana de tiempo utilizando reglas de correlación definidas por el usuario. Por ejemplo: "si hay 3 eventos de inicio de sesión fallidos desde la misma IP seguidos de un evento exitoso, correlacione lo más posible con fuerza bruta".
  • realtime_alert evalúa eventos comparándolos con reglas de alerta y genera alertas en tiempo real con notificaciones configurables (correo electrónico, Slack, PagerDuty, webhook).
  • adaptive_alerting implementa alertas adaptativas con prevención de fatiga de alertas: si el número de alertas por hora excede una línea base, el sistema agrupa alertas similares y reduce la frecuencia de notificación.

10.4. Análisis de ataques

  • attack_path_analysis analyzes potential attack paths through the network based on security events and network topology, identifying sequences of actions that an attacker could use to reach a critical target.
  • threat_graph crea un gráfico de conocimiento de amenazas a partir de eventos, entidades (usuarios, hosts, aplicaciones) y relaciones (accedidas, comprometidas, comunicadas).
  • attack_chain_mapping asigna eventos de seguridad al marco MITRE ATT&CK (técnicas y tácticas) y a Cyber ​​​​Kill Chain (reconocimiento, armamento, entrega, explotación, instalación, C2, acciones sobre objetivos).

10.5. Análisis de Comportamiento y UEBA

  • behavioral_analysis analiza el comportamiento del usuario comparándolo con líneas de base establecidas: tiempos de inicio de sesión típicos, ubicaciones comunes, volumen de eventos por hora y tipos de acciones típicos.
  • ueba_analysis realizaAnálisis de comportamiento de usuarios y entidades comparando el comportamiento de los usuarios con el grupo de pares (grupo de usuarios con un perfil similar), detectando desviaciones estadísticas.
  • detect_account_takeover detecta intentos de apropiación de cuentas basándose en indicadores de comportamiento: inicio de sesión desconocido en un dispositivo, ubicación inusual, hora atípica, cambio de contraseña seguido de transferencia de datos y acceso a recursos no estándar.

10.6. Respuesta autónoma y análisis forense

  • autonomous_response realiza una respuesta autónoma a incidentes basada en la gravedad de la amenaza y las reglas de respuesta: bloquear IP, deshabilitar cuenta, aislar host, revocar tokens y escalar al equipo de seguridad.
  • forensic_snapshot crea una instantánea forense del estado del sistema con cadena de custodia de evidencia, incluido el hash criptográfico de todos los artefactos recopilados.
  • incident_timeline crea una línea de tiempo cronológica de incidentes a partir de eventos de seguridad, ordenándolos por marca de tiempo y agrupando por fase de ataque.
  • autonomous_triage realiza una clasificación autónoma de alertas utilizando reglas de clasificación y datos de enriquecimiento (información sobre amenazas, contexto del usuario, historial de falsos positivos).

11. Módulo de Defensa Activa (Defensivo)

El módulo defensivo implementa mecanismos de defensa activos que protegen el marco y el tiempo de ejecución de la aplicación.

11.1. Antidepuración y antimanipulación

  • runtime_self_protection habilita mecanismos de autoprotección en tiempo de ejecución: comprobaciones periódicas de integridad, detección de depuración y supervisión continua del estado del proceso.
  • anti_debugging_detection detecta intentos de depuración activos comprobando: estado de ptrace (si se está rastreando el proceso), señales del depurador en el entorno (variables de entorno, archivos de depuración) y anomalías en tiempo de ejecución (las pausas inesperadas indican puntos de interrupción).
  • anti_tampering comprueba la integridad binaria comparando hashes criptográficos (SHA-256, SHA3-256) con los valores esperados. Si el hash ha cambiado, el binario ha sido modificado.
  • memory_integrity_check comprueba la integridad de las regiones de memoria comparando el estado actual con el estado esperado y comprobando las firmas de las regiones críticas.
  • process_integrity_check verifica la integridad del proceso, incluidos: módulos cargados (detectando archivos DLL no autorizados), país de la cadena de proceso (detectando si el proceso fue iniciado por un padre inesperado) y permisos del proceso.

11.2. Validación binaria y de arranque

  • code_signing_validation valida el certificado de firma de código binario frente a un almacén de certificados confiables y verifica que el certificado no haya sido revocado.
  • binary_integrity_validation valida la integridad de un binario por sección (.text, .data, .rsrc, .reloc) calculando hashes individuales para cada sección y comparándolos con los hashes esperados.
  • secure_boot_validation valida la cadena de arranque seguro comprobando las medidas del TPM (Trusted Platform Module) y los valores de los PCR (Platform Configuration Registers) que registran cada etapa de arranque.
  • secure_update_validation valida los paquetes de actualización comprobando: firma criptográfica del paquete, integridad del contenido, versión (evitando ataques de degradación) y canal de distribución.

11.3. Técnicas de detección avanzadas

  • anti_hook_detection detecta enlaces de funciones en la memoria comprobando: enlace IAT (modificando la tabla de direcciones de importación), enlace en línea (modificando las primeras instrucciones de una función) y enlace SSDT (modificando la tabla de descriptores de servicios del sistema en el kernel).
  • anti_injection_detection detecta la inyección de código en el espacio de la memoria del proceso comprobando: módulos cargados sin firma, bibliotecas cargadas desde rutas sospechosas y firmas de técnicas de inyección conocidas (vaciado de procesos, inyección de DLL, carga de DLL reflectante).
  • anti_rootkit_detection detecta indicadores de rootkit analizando: llamadas al sistema que devuelven resultados inconsistentes, módulos del kernel sin firmar y procesos ocultos (procesos que aparecen en la lista de procesos del kernel pero no en la lista del sistema operativo).
  • anti_vm_detection detecta la ejecución en un entorno virtual comprobando: información de hardware indicativa de la VM (fabricante de BIOS, modelo de procesador, dirección MAC), comprobaciones de tiempo (instrucciones que se ejecutan más lentamente en las VM) y artefactos de la VM (archivos, servicios, controladores específicos de VMware, VirtualBox, Hyper-V).
  • anti_emulación_deteccióndetecta entornos de emulación comprobando: disponibilidad de API que los emuladores a menudo no implementan, sincronización de las operaciones (los emuladores son más lentos) y comprobaciones del entorno (cantidad de procesos, espacio en disco, memoria RAM).

11.4. Objetivo en movimiento y autocuración

  • moving_target_runtime implementa la defensa de objetivos móviles rotando los puntos finales del servicio, aleatorizando el diseño de la memoria y variando los tiempos de respuesta para dificultar la explotación de la vulnerabilidad.
  • dynamic_attack_surface ajusta dinámicamente la superficie de ataque según el nivel de amenaza: en el nivel bajo, todos los puntos finales están disponibles; en el nivel medio, los puntos finales no esenciales están deshabilitados; en el nivel alto, solo los puntos finales críticos permanecen activos.
  • runtime_policy_engine evalúa y aplica políticas de seguridad en tiempo de ejecución con un modo de aplicación configurable (auditoría, advertencia, aplicación).
  • self_healing_security detecta y se recupera automáticamente de incidentes de seguridad: si un servicio se ve comprometido, el sistema puede reiniciar el servicio, restaurar la configuración original y notificar al personal.
  • adaptive_threat_response realiza una respuesta adaptativa a las amenazas en función de las características de la amenaza y los manuales de respuesta predefinidos.
  • autonomous_containment contiene amenazas activas de forma autónoma utilizando reglas de contención y topología de red: aísla los hosts comprometidos, bloquea la comunicación C2 y segmenta la red para limitar la propagación.

12. Módulo Honeypot

El módulo honeypot implementa técnicas de engaño para atraer, detectar y analizar atacantes.

12.1. Servicios falsos

  • fake_admin_panel implementa un panel de administración falso y realista con rutas de inicio de sesión, panel, administración de usuarios y configuraciones del sistema. Todas las interacciones se registran para su análisis.
  • fake_database crea una base de datos falsa con un esquema realista (usuario, pedido, tablas de pago) y registros de ejemplo que parecen legítimos pero son completamente ficticios.
  • fake_api implementa una API REST falsa con puntos finales realistas (/api/users, /api/orders, /api/paids) que devuelven cargas útiles convincentes pero ficticias.
  • fake_filesystem crea un sistema de archivos falso con una estructura de directorios plausible (/etc, /var/log, /home/user, /opt/app) y archivos con contenido realista.
  • fake_ssh_service implementa un servicio SSH falso que acepta conexiones, muestra un banner realista y registra todos los intentos de autenticación y comandos ejecutados.
  • fake_rdp_service implementa un servicio RDP falso para detectar y rastrear ataques a escritorios remotos.
  • fake_kubernetes_cluster implementa una API de clúster de Kubernetes falsa para atraer atacantes centrados en contenedores respondiendo a consultas sobre pods, servicios, implementaciones y secretos.
  • fake_s3_bucket crea un depósito S3 falso con objetos realistas (documentos, configuraciones, copias de seguridad) y políticas de acceso que parecen legítimas.
  • fake_login_page implementa una página de inicio de sesión convincente con una marca personalizable para capturar los intentos de envío de credenciales.
  • fake_debug_panel implementa un panel de depuración/desarrollo falso que parece exponer información interna del sistema (variables de entorno, configuraciones de bases de datos, registros).

12.2. Honeytokens y engaño

  • fake_secrets genera y gestiona secretos falsos (claves API, tokens de bases de datos, credenciales SSH) que alertan cuando se utilizan fuera de contextos autorizados.
  • honeytoken_generación genera tokens rastreables de diferentes tipos (URL, claves API, credenciales, archivos) que activan alertas cuando se accede a ellos.
  • honeycredential_detection comprueba las credenciales enviadas con la base de datos de tokens de miel conocidos, detectando cuando un atacante está utilizando credenciales falsas.
  • deceived_routes registra rutas engañosas que parecen puntos finales de API legítimos pero activan alertas cuando se accede a ellas.
  • decoy_endpoints genera una lista de puntos finales de API señuelo que imitan puntos finales de servicio reales.
  • deceived_responses genera respuestas engañosas contextualmente apropiadas basadas en la solicitud y el perfil del atacante, manteniendo al atacante involucrado mientras recopila información.

12.3. Análisis y Adaptación

  • adaptive_honeypot ajusta dinámicamente la configuración del honeypot según el tráfico observado y el nivel de amenaza: si el atacante está explotando vulnerabilidades web, el honeypot aumenta la superficie de los servicios web; si escanea puertas, abre más puertas falsas.
  • attacker_behavior_tracking rastrea y analiza los patrones de comportamiento de los atacantes dentro de la sesión del honeypot: comandos ejecutados, archivos accedidos, credenciales intentadas y tiempo dedicado a cada servicio.
  • adaptive_deception ajusta dinámicamente las tácticas de engaño según el perfil del atacante (script kiddie, atacante automatizado, APT) y las métricas de efectividad (cuánto tiempo permaneció el atacante, cuántas acciones realizó).
  • moving_target_defense implementa defensa de objetivos móviles en el contexto de honeypots, rotando configuraciones de servicios (puertos, banners, respuestas) para dificultar la toma de huellas dactilares del entorno.

13. Módulo de archivo (Archivo)

El módulo de archivos protege contra amenazas transmitidas por archivos: cargas maliciosas, documentos con macros, archivos PDF con JavaScript, archivos políglotas, bombas zip y malware.

13.1. Subir Validación

  • secure_upload valida y procesa la carga de archivos de forma segura en múltiples capas: verifica la extensión con la lista permitida, valida el tipo MIME mediante bytes mágicos, verifica el tamaño máximo y analiza el contenido en busca de malware.
  • validate_extension comprueba si la extensión del archivo está en la lista de extensiones permitidas.
  • validate_mime valida el tipo MIME del archivo usando detección mágica de bytes (firmas de formato de archivo en los primeros bytes), evitando la suplantación de extensiones (por ejemplo, un archivo .jpg que en realidad es un ejecutable).

13.2. Detección de amenazas en archivos

  • detect_polyglot_file detecta si un archivo contiene múltiples firmas de formato de archivo, lo que indica un ataque de archivo políglota (un archivo que es válido en dos o más formatos simultáneamente, como un GIF que también es JavaScript válido).
  • detect_zip_bomb detecta bombas zip analizando la relación de compresión y el tamaño sin comprimir declarado. Una proporción superior a 100:1 o un tamaño sin comprimir superior a 1 GB se considera una posible bomba zip.
  • detect_office_macro detecta macros VBA en documentos de Office (Word .doc/.docx, Excel .xls/.xlsx, PowerPoint .ppt/.pptx) que pueden ejecutar código malicioso al abrir el documento.
  • detect_pdf_javascript detecta JavaScript incrustado en archivos PDF que pueden realizar acciones maliciosas como descargar malware o phishing.
  • detect_executable_payload detecta cargas útiles ejecutables incrustadas en archivos no ejecutables (por ejemplo, un PDF que contiene un encabezado PE ejecutable de Windows).
  • detect_embedded_script detecta scripts incrustados en archivos: JavaScript en PDF, VBScript en documentos de Office, PowerShell en archivos de texto y scripts de Python en archivos de datos.

13.3. Escaneo de malware

  • malware_scan escanea archivos en busca de malware utilizando la coincidencia de firmas (comparación con firmas de malware conocidas) y reglas YARA (coincidencia de patrones avanzada con condiciones complejas).
  • yara_scan escanea archivos usando reglas YARA con soporte de espacio de nombres para organizar reglas por categoría (malware, exploit, sospechoso, etc.).
  • heuristic_scan realiza un análisis heurístico para detectar comportamientos sospechosos en archivos que no coinciden con firmas conocidas pero que tienen características indicativas de malware (ofuscación, antidepuración, empaquetado).

13.4. Análisis avanzado

  • entropy_analysis calcula la entropía de Shannon de los datos del archivo en bloque para detectar el cifrado o la compresión. Los archivos con una entropía superior a 7,5 bits por byte se consideran altamente aleatorios (lo que indica cifrado o empaquetado).
  • detect_steganography detecta esteganografía en archivos de imagen utilizando múltiples técnicas: análisis LSB (bit menos significativo), detección de datos añadidos, análisis de entropía de bloques y análisis de histograma de color.
  • detect_obfuscation detecta contenido ofuscado en archivos usando múltiples técnicas: detección de cadenas base64, codificación hexadecimal, concatenación de cadenas, alta entropía en secciones específicas y patrones de flujo de control ofuscados.

13.5. Sanitización y Cuarentena

  • sanitize_filename desinfecta los nombres de archivos eliminando caracteres peligrosos (/, \, .., :, *, ?, ", <, >, |) y secuencias de recorrido de ruta.
  • quarantine_file mueve archivos maliciosos a un directorio de cuarentena con seguimiento de metadatos (motivo de la cuarentena, marca de tiempo, hash del archivo, cargador).
  • sandbox_execute ejecuta archivos en un entorno aislado para análisis de comportamiento, monitoreo: llamadas al sistema, acceso a la red, modificación de archivos y creación de procesos secundarios. -secure_tempfile crea archivos temporales seguros con permisos restringidos (solo lectura/escritura por parte del propietario) y autoeliminación opcional al cerrar.
  • immutable_storage_check comprueba la integridad de los archivos en el almacenamiento inmutable comparando el hash actual con el hash esperado.

14. Módulo Empresarial

El módulo empresarial comprueba el cumplimiento de las normas de protección de datos y seguridad de la información.

14.1. Cumplimiento normativo

  • lgpd_check verifica el cumplimiento de la Ley General de Protección de Datos (LGPD, Ley 13.709/2018) de Brasil: consentimiento del titular, designación de DPO (Responsable de Datos), derechos de los titulares (acceso, rectificación, supresión, portabilidad), registro de operaciones de procesamiento, informe de impacto en protección de datos personales y notificación de incidencias a la ANPD.
  • gdpr_check verifica el cumplimiento del Reglamento General de Protección de Datos (GDPR, Reglamento UE 2016/679): base legal para el procesamiento, designación de DPO, minimización de datos, limitación de finalidad, exactitud, limitación de almacenamiento, integridad y confidencialidad, derecho al olvido, portabilidad de datos y notificación de violaciones dentro de las 72 horas.
  • hipaa_check verifica el cumplimiento de la Ley de Responsabilidad y Portabilidad del Seguro Médico de EE. UU. (HIPAA): cifrado de PHI (Información de salud protegida) en reposo y en tránsito, controles de acceso (identificación única de usuario, acceso de emergencia, cierre de sesión automático), controles de auditoría (registros de auditoría, controles de integridad) e integridad de los datos de PHI.
  • pci_check verifica el cumplimiento del Estándar de seguridad de datos de la industria de tarjetas de pago (PCI-DSS): cifrado de los datos de la tarjeta en tránsito y en reposo, segmentación de la red (separación del entorno de la tarjeta), control de acceso (necesidad de saber, ID únicos, MFA), monitoreo de redes y sistemas y pruebas de seguridad periódicas.

14.2. Informes y panel

  • compliance_report genera un informe de cumplimiento integral a partir de múltiples resultados de verificación, que incluyen: resumen ejecutivo, brechas identificadas, recomendaciones de remediación, cronograma de cumplimiento y puntuación por categoría.
  • realtime_security_dashboard genera un panel de seguridad en tiempo real que muestra: métricas de seguridad (amenazas detectadas, bloqueos, falsos positivos), alertas activas, tendencias históricas y puntuación de riesgo general.

14.3. Auditoría y Política

  • audit_trail genera una pista de auditoría inmutable a partir de eventos de seguridad, acciones del usuario y cambios de datos, que incluyen: quién hizo qué, cuándo, desde dónde y cuál fue el impacto.
  • policy_as_code evalúa y aplica políticas de seguridad definidas como código, permitiendo versionar, revisar y probar automáticamente las políticas de seguridad.

14.4. Multiinquilino y multiregión

  • tenant_isolation comprueba y aplica el aislamiento de inquilinos en un entorno multiinquilino: separación de datos, aislamiento de red, control de acceso entre inquilinos y prevención de fuga de información entre inquilinos.
  • multi_region_security evalúa la postura de seguridad multirregional y el cumplimiento de la residencia de datos: verificación de que los datos de regiones específicas permanezcan en la región, cifrado consistente entre regiones y cumplimiento de las regulaciones locales en cada región.

15. Módulo de Integraciones

El módulo de integraciones proporciona adaptadores para marcos y plataformas populares.

15.1. Marcos web de Python

  • fastapi_security_dependency crea una dependencia de seguridad para FastAPI con OAuth2, validación JWT, limitación de velocidad y protección de entrada.
  • django_security_middleware crea middleware de seguridad para Django con CSP, CSRF, encabezados de seguridad y protección de entrada.
  • flask_security_extension crea una extensión de seguridad para Flask con envoltorios de seguridad, protección de solicitudes y validación de entradas.
  • celery_security_monitor crea un monitor de seguridad para las tareas de Celery con validación de argumentos, limitación de velocidad por tarea y registro de auditoría.
  • sqlalchemy_query_protection aplica protección a las consultas SQLAlchemy con seguridad a nivel de fila, filtrado de permisos y prevención de inyección de consultas.

15.2. Marcos web de TypeScript

  • expressSecurityMiddleware crea middleware de seguridad para Express.js con protección de entrada, limitación de velocidad, CORS, CSRF y encabezados de seguridad.
  • fastifySecurityMiddleware crea middleware de seguridad para Fastify con enlaces de validación, limitación de velocidad y protección de carga útil.
  • nestjsSecurityModule crea un módulo de seguridad para NestJS con guardias de autenticación, interceptores de validación y decoradores de autorización.
  • nextjsSecurityHeaders configura encabezados de seguridad para Next.js (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy).

15.3. Borde y tiempo de ejecución

  • cloudflareEdgeProtection configura la protección perimetral en Cloudflare con reglas WAF, limitación de velocidad, administración de bots y trabajadores de seguridad personalizados.
  • denoSecurityPlugin crea un complemento de seguridad para Deno con control de permisos (lectura, escritura, red, entorno, ejecución) y sandboxing.
  • bunSecurityPlugin crea un complemento de seguridad para Bun con optimización de seguridad y control de acceso a las API del sistema.
  • browserRuntimeProtection configura la protección del tiempo de ejecución del navegador con restricciones de CSP, iframe sandbox y API.
  • serviceWorkerSecurity configura la seguridad de los Service Workers con alcance restringido, permisos limitados y validación de origen.
  • wasmSecurityRuntime crea un tiempo de ejecución de seguridad para WebAssembly con límites de memoria (inicial, máxima, compartida) y restricciones de llamadas al sistema.

15.4. Tubería y motor

  • async_threat_pipeline crea un canal de detección de amenazas asíncrono con procesadores configurables (validación, detección, puntuación, alertas) y canales de salida (registro, métricas, webhook).
  • yara_realtime_engine crea un motor de escaneo YARA en tiempo real con vigilancia de archivos (monitoreo de directorios) y coincidencia continua de reglas.
  • ai_threat_classifier crea un clasificador de amenazas de IA utilizando un modelo entrenado y un umbral de confianza para decisiones automatizadas.
  • secure_cli_runtime crea un tiempo de ejecución CLI seguro con desinfección de entradas, validación de argumentos y tiempos de espera de ejecución.
  • python_runtime_guard crea una protección de tiempo de ejecución de Python con lista blanca de importación (solo se pueden importar módulos permitidos) y espacio aislado (sistema de archivos, red y restricciones de acceso al sistema).

16. Telemetría y Observabilidad

MSF integra la observabilidad en todas sus operaciones, siguiendo los tres pilares de la observabilidad: registros, métricas y seguimientos.

16.1. Registros estructurados

Todos los módulos utilizan registros estructurados en formato JSON. Cada entrada del registro incluye:

  • marca de tiempo: fecha y hora ISO 8601
  • nivel: gravedad (depuración, información, advertencia, error, crítico)
  • module: nombre del módulo que generó el log
  • traceId: ID de seguimiento de OpenTelemetry para correlación
  • contexto: metadatos específicos de la operación (por ejemplo, detectado, confianza, gravedad, coincidencias)

16.2. Métricas

Metrics Registry admite tres tipos de métricas:

  • Contadores: valores acumulativos que solo se incrementan. Ejemplos: jwt_validations, xss_detections, sqli_detections, port_scan_detections, ddos_detections, malware_scans.
  • Medidores: valores instantáneos que pueden aumentar o disminuir. Ejemplos: active_sessions, cache_hit_ratio.
  • Histogramas: distribuciones de valores. Ejemplos: anomaly_scores, threat_scores, detection_latency_ms.

Cada métrica puede incluir etiquetas (etiquetas) para una dimensionalidad adicional, como "módulo", "gravedad", "detectado", "proveedor de nube".

16.3. Seguimiento distribuido

Cada rol de seguridad crea un intervalo de OpenTelemetry con:

  • Nombre de la operación (por ejemplo: msf.web.detect_xss)
  • Atributos: parámetros de entrada, resultado, duración.
  • Eventos: hitos significativos durante la ejecución
  • Estado: ok o error con descripción

Los tramos se exportan a backends compatibles con OpenTelemetry (Jaeger, Zipkin, AWS X-Ray, Google Cloud Trace, Azure Application Insights).

16.4. Autobús de eventos

Event Bus permite la comunicación asíncrona entre módulos:

  • Publicación: cualquier módulo puede publicar eventos con tipo, gravedad, mensaje y metadatos.
  • Suscripción: los módulos pueden suscribirse a tipos específicos de eventos y realizar acciones cuando se publican eventos.
  • Historial: el bus de eventos mantiene un historial de los últimos N eventos para su consulta.
  • Cola de mensajes fallidos: los eventos que no se procesan se mueven a una cola de mensajes fallidos para su posterior reprocesamiento.

17. Patrones de diseño y principios de ingeniería.

17.1. Patrones utilizados

  • Singleton: para componentes de infraestructura (PolicyEngine, MetricsRegistry, EventBus, CacheManager).
  • Factory: para crear objetos de resultados estandarizados (DetectionResult, ValidationResult, ScanResult).
  • Estrategia: para algoritmos de detección intercambiables (diferentes patrones de detección para XSS, SQLi, etc.).
  • Observador:al bus de eventos, donde los módulos buscan eventos publicados por otros módulos.
  • Cadena de Responsabilidad: para canales de validación donde cada paso puede aprobar o rechazar la entrada.
  • Decorador: para agregar características de seguridad a funciones existentes (registro, métricas, seguimiento).

17.2. Principios de seguridad

  • Defensa en profundidad: múltiples capas de protección para que, si una falla, las demás sigan funcionando.
  • Mínimo Privilegio: cada función y módulo opera con los permisos mínimos necesarios.
  • Fail Secure: en caso de error interno, las funciones devuelven resultados que niegan el acceso (fallo cerrado).
  • Comparación segura: todas las comparaciones secretas utilizan una comparación de tiempo constante para evitar ataques de tiempo.
  • Desinfección de insumos: todos los insumos se tratan como no confiables y se desinfectan antes de procesarlos.
  • Registro de seguridad: todas las operaciones de seguridad se registran para auditoría y detección de incidentes.

18. Conclusión

Master Security Framework representa un enfoque integral y unificado para la seguridad de las aplicaciones modernas. Con más de 350 funciones distribuidas en 28 módulos, MSF cubre todo el espectro de amenazas que enfrentan las aplicaciones hoy en día: desde ataques web tradicionales (XSS, SQLi, SSRF) hasta amenazas emergentes (inyección rápida en LLM, ataques a la cadena de suministro, fugas de contenedores).

La implementación dual en Python y TypeScript permite a los equipos multilingües utilizar el mismo conjunto de capacidades de seguridad, mientras que la integración con OpenTelemetry, el registro estructurado y el bus de eventos garantiza que todas las operaciones de seguridad sean observables y auditables.

Los módulos de defensa activa (antidepuración, antimanipulación, autorreparación) y los honeypots adaptativos añaden capas de protección proactiva que van más allá de la detección reactiva, mientras que el módulo de cumplimiento empresarial automatiza el escaneo LGPD, GDPR, HIPAA y PCI-DSS.

El marco es de código abierto, extensible a través de Policy Engine y Event Bus y está diseñado para evolucionar con el panorama de amenazas. Cada función se prueba automáticamente (se aprueban 243 pruebas), se documenta con cadenas de documentación y JSDoc y se instrumenta con telemetría para la operación de producción.


Referencias

  • OWASP Top 10: https://owasp.org/www-project-top-ten/
  • Marco MITRE ATT&CK: https://attack.mitre.org/
  • Marco de ciberseguridad del NIST: https://www.nist.gov/cyberframework
  • Criptografía poscuántica del NIST: https://csrc.nist.gov/projects/post-quantum-cryptography
  • RFC 6238 - TOTP: https://datatracker.ietf.org/doc/html/rfc6238
  • RFC 7519 - JWT: https://datatracker.ietf.org/doc/html/rfc7519
  • Puntos de referencia CIS: https://www.cisecurity.org/cis-benchmarks
  • LGPD (Ley 13.709/2018): https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm
  • GDPR (Reglamento UE 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
  • HIPAA: https://www.hhs.gov/hipaa/index.html
  • PCI-DSS: https://www.pcisecuritystandards.org/