Bootcamp de Ciberseguridad 8200

© 2026 Bootcamp de Ciberseguridad 8200

Blog post cover

Untitled Post

Koney: Un Marco de Orquestación de Ciber-Engaño para Kubernetes

Autores:
Mario Kahlhofer (Dynatrace Research – mario.kahlhofer@dynatrace.com)
Matteo Golinelli (Universidad de Trento – matteo.golinelli@unitn.it)
Stefan Rass (Universidad Johannes Kepler de Linz – stefan.rass@jku.at)


Tabla de Contenidos

  1. Introducción
  2. Planteamiento del Problema
  3. Terminología de Kubernetes
  4. Políticas de Ciber-Engaño
    4.1 Trampas en Sistemas de Archivos
    4.2 Trampas en Aplicaciones Web
    4.3 Selección de Recursos
  5. El Operador Koney
    5.1 Estrategias de Despliegue de Señuelos
    5.1.1 Estrategia containerExec
    5.1.2 Estrategia volumeMount
    5.1.3 Estrategia de Señuelo con Istio
    5.2 Estrategias de Despliegue de Captores
    5.2.1 Estrategia tetragon
    5.2.2 Estrategia de Captor con Istio
    5.3 Funciones Auxiliares
  6. Evaluación
    6.1 Cobertura de Casos de Uso
    6.2 Compromisos Operativos
    6.3 Rendimiento Operativo
  7. Discusión
    7.1 Extensiones
  8. Trabajo Relacionado
    8.1 Trabajos sobre Engaño en Sistemas de Archivos
    8.2 Trabajos sobre Engaño en Aplicaciones Web
    8.3 Trabajos sobre Políticas y Operadores de Engaño
  9. Conclusión
  10. Ejemplo de Políticas de Ciber-Engaño
    A.1 Ejemplos de Trampas en Sistemas de Archivos
    A.2 Ejemplos de Trampas en Aplicaciones Web
  11. Referencias

Introducción

En el panorama cloud-native que evoluciona rápidamente, el ciber-engaño se presenta como una estrategia prometedora para desbaratar a los adversarios antes de que causen daños reales. Consiste en la colocación estratégica de trampas, señuelos (decoys) o honeytokens en la infraestructura para detectar, retrasar y analizar posibles atacantes. Con plataformas de orquestación de contenedores como Kubernetes, estas técnicas pueden integrarse sin necesidad de modificar el código fuente de las aplicaciones.

Koney es un novedoso marco de orquestación de ciber-engaño diseñado específicamente para Kubernetes. Mediante un modelo de implementación basado en operador, permite a los equipos de operaciones codificar, desplegar, rotar, monitorizar y finalmente retirar un conjunto de técnicas de engaño “como código”. En esta publicación se exploran en detalle su diseño, implementación y casos de uso reales, incluyendo ejemplos en Bash y Python.

Al finalizar, comprenderás:

  • Qué es el ciber-engaño y por qué es esencial en la ciberseguridad moderna.
  • Cómo Koney aplica políticas de engaño como código en clústeres Kubernetes.
  • La interacción entre componentes críticos como las estrategias de despliegue de señuelos y captores.
  • Ejemplos reales y uso por línea de comandos para monitorización continua y detección de explotación.

Planteamiento del Problema

A pesar de los beneficios documentados del ciber-engaño, muchas organizaciones dudan en adoptarlo debido a:

  • Procedimientos de despliegue complejos.
  • Dificultad para extraer y mantener políticas “como código”.
  • Entornos dinámicos sin acceso al código fuente de la aplicación.

Koney aborda dos cuestiones críticas:

  1. ¿Cómo formalizar las técnicas de ciber-engaño como documentos de políticas estructurados?
  2. ¿Cómo desplegar automáticamente estas políticas en un clúster Kubernetes sin necesidad de modificar el código de la aplicación?

El marco aprovecha tecnologías cloud-native (por ejemplo, Istio o eBPF) para integrar el engaño de forma transparente, simplificando mantenibilidad, escalabilidad y rendimiento.


Terminología de Kubernetes

  • Pod: Unidad básica desplegable, que contiene uno o más contenedores que comparten red y almacenamiento.
  • Deployment: Abstracción que gestiona réplicas de pods, asegurando estado deseado y fiabilidad.
  • Operador: Controlador personalizado que extiende la funcionalidad de Kubernetes. El operador Koney automatiza el despliegue de políticas de engaño.
  • Service Mesh: Capa (p.ej. Istio) que habilita comunicación segura entre servicios mediante sidecars.
  • eBPF: Tecnología que permite ejecutar programas en el kernel de Linux para monitorización de alto rendimiento.
  • Custom Resource Definitions (CRD): Permiten introducir nuevos recursos en un clúster; Koney las usa para expresar sus políticas.

Ejemplo de monitorización dentro de un pod:

# Inspeccionar tráfico de red en un pod:
kubectl exec -it <nombre-pod> -- tcpdump -i eth0 -nn

Koney emplea sidecars y sondas eBPF de forma similar para inyectar engaño sin interrumpir la aplicación.


Políticas de Ciber-Engaño

Las políticas definen la configuración y el comportamiento de señuelos y trampas. Koney las describe como código, permitiendo su versionado y revisión.

Trampas en Sistemas de Archivos

Incluyen honeyfiles, honeytokens, honeydocuments y honeydirectories que simulan activos valiosos.

Ejemplo YAML:

apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
  name: honeytoken-policy
spec:
  trapType: fileSystem
  details:
    fileName: "secrets.txt"
    content: "username: admin\npassword: Pa$w0rd123"
    triggerAlert: true

Trampas en Aplicaciones Web

Apuntan al tráfico HTTP: inyección de endpoints, modificación de cabeceras o cuerpos.

Ejemplo YAML:

apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
  name: web-deception-policy
spec:
  trapType: webApplication
  details:
    endpoint: "/wp-admin"
    responseType: fixed
    responseContent: "<html><body><h1>Portal de Admin Falso</h1></body></html>"
    triggerAlert: true

Selección de Recursos

Se pueden definir etiquetas o namespaces para limitar el alcance:

apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
  name: target-specific-policy
spec:
  trapType: fileSystem
  selector:
    matchLabels:
      role: sensitive
  details:
    fileName: "credentials.log"
    content: "dummy-credentials"
    triggerAlert: true

El Operador Koney

Automatiza el ciclo de vida del engaño: despliegue, rotación, alertas y retirada.

Estrategias de Despliegue de Señuelos

Estrategia containerExec

Ejecuta comandos dentro del contenedor para crear archivos o modificar configuraciones.

kubectl exec -it <nombre-pod> -- /bin/sh -c "echo 'datos falsos' > /app/honeytoken.txt"
Estrategia volumeMount

Inyecta artefactos montando un volumen:

apiVersion: v1
kind: Pod
metadata:
  name: decoy-pod
spec:
  containers:
  - name: app
    image: myapp:latest
    volumeMounts:
    - name: deception-volume
      mountPath: /app/decoy-files
  volumes:
  - name: deception-volume
    configMap:
      name: decoy-config
Estrategia de Señuelo con Istio

Utiliza Envoy/Istio para redirigir o modificar tráfico:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: deception-virtual-service
spec:
  hosts:
  - myapp.example.com
  http:
  - match:
    - uri:
        exact: /wp-admin
    route:
    - destination:
        host: decoy-service
        port:
          number: 80

Estrategias de Despliegue de Captores

Estrategia tetragon

Monitoriza llamadas al sistema y accesos a archivos mediante eBPF.

import json, sys
for line in open('/var/log/tetragon/deception.log'):
    try:
        ev = json.loads(line)
        if 'deception_triggered' in ev:
            print("Acceso sospechoso:", ev)
    except json.JSONDecodeError:
        continue
Estrategia de Captor con Istio

Filtra y registra tráfico HTTP:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: captor-filter
spec:
  workloadSelector:
    labels:
      app: myapp
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: SIDECAR_INBOUND
    patch:
      operation: INSERT_BEFORE
      value:
        name: envoy.filters.http.lua
        typed_config:
          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
          inlineCode: |
            function envoy_on_request(r)
              r:logInfo("Captor UA: " .. r:headers():get("User-Agent"))
            end

Funciones Auxiliares

  • Validación de políticas
  • Gestión de rotación
  • Alertas e informes
  • Limpieza de recursos

Evaluación

Cobertura de Casos de Uso

Se probó en un clúster con múltiples microservicios; la tasa de detección superó el 90 %.

Compromisos Operativos

  • Consumo de recursos vs. seguridad
  • Falsos positivos
  • Complejidad vs. flexibilidad

Rendimiento Operativo

  • Latencia añadida <100 ms.
  • Sobrecarga mínima en tráfico.
  • Monitorización a velocidad de línea.

Discusión

Extensiones

  • Soporte para protocolos no HTTP (FTP, SSH, DB).
  • Integración con ML para reducir falsos positivos.
  • Interfaces de usuario avanzadas.
  • Interoperabilidad con SIEM (Splunk, ELK).

Trabajo Relacionado

Se resumen investigaciones previas en engaño de sistemas de archivos, aplicaciones web y políticas como código, destacando la aportación de Koney al automatizar estas técnicas en Kubernetes.


Conclusión

Koney democratiza el ciber-engaño en entornos cloud-native mediante:

  • Esquema de políticas completo para sistemas de archivos y web.
  • Estrategias flexibles (containerExec, volumeMount, Istio).
  • Captores eficientes que registran cada interacción.

Invitamos a experimentar con Koney y contribuir a la evolución del ciber-engaño.


Ejemplo de Políticas de Ciber-Engaño

A.1 Ejemplos de Trampas en Sistemas de Archivos

apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
  name: filesystem-honeytoken
spec:
  trapType: fileSystem
  selector:
    matchLabels:
      app: sensitive-data
  details:
    fileName: "credentials.txt"
    content: |
      user: admin
      password: L0ngR@nd0mP@ss
    triggerAlert: true
    rotationInterval: "24h"

A.2 Ejemplos de Trampas en Aplicaciones Web

apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
  name: webapp-deception
spec:
  trapType: webApplication
  selector:
    matchLabels:
      app: my-web-app
  details:
    endpoint: "/admin"
    responseType: fixed
    responseContent: |
      <html>
      <body>
        <h2>Panel de Admin Señuelo</h2>
        <p>Esta página es un señuelo. Todo acceso es registrado.</p>
      </body>
      </html>
    triggerAlert: true
    rotationInterval: "12h"

Ejemplo de Integración en el Mundo Real

# 1. Desplegar políticas
kubectl apply -f filesystem-honeytoken.yaml
kubectl apply -f webapp-deception.yaml

# 2. Monitorizar interacciones
kubectl logs -f deployment/koney-operator -n security

Scripts de análisis y flujos de respuesta pueden aislar pods comprometidos automáticamente.


Referencias

  1. Documentación oficial de Kubernetes
  2. Sitio oficial de Istio
  3. Documentación de eBPF
  4. Dynatrace Blog – Ciber-Engaño
  5. GitHub – Repositorio del Operador Koney
  6. Proyecto Tetragon
  7. Patrones de Service Mesh

¡Feliz Engaño!

Palabras clave: Ciber-Engaño, Kubernetes, Operador Koney, Honeypots, Honeytokens, Istio, eBPF, DevSecOps, Seguridad de Contenedores, Políticas como Código

🚀 ¿LISTO PARA AVANZAR?

Lleva tu Carrera de Ciberseguridad al Siguiente Nivel

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.

97% Tasa de Colocación Laboral
Técnicas de Élite de la Unidad 8200
42 Laboratorios Prácticos