
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
- Introducción
- Planteamiento del Problema
- Terminología de Kubernetes
- 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 - 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 - Evaluación
6.1 Cobertura de Casos de Uso
6.2 Compromisos Operativos
6.3 Rendimiento Operativo - Discusión
7.1 Extensiones - 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 - Conclusión
- 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 - 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:
- ¿Cómo formalizar las técnicas de ciber-engaño como documentos de políticas estructurados?
- ¿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
- Documentación oficial de Kubernetes
- Sitio oficial de Istio
- Documentación de eBPF
- Dynatrace Blog – Ciber-Engaño
- GitHub – Repositorio del Operador Koney
- Proyecto Tetragon
- 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
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.
