
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)
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:
A pesar de los beneficios documentados del ciber-engaño, muchas organizaciones dudan en adoptarlo debido a:
Koney aborda dos cuestiones críticas:
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.
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.
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.
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
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
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
Automatiza el ciclo de vida del engaño: despliegue, rotación, alertas y retirada.
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"
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
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
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
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
Se probó en un clúster con múltiples microservicios; la tasa de detección superó el 90 %.
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.
Koney democratiza el ciber-engaño en entornos cloud-native mediante:
Invitamos a experimentar con Koney y contribuir a la evolución del ciber-engaño.
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"
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"
# 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.
¡Feliz Engaño!
Palabras clave: Ciber-Engaño, Kubernetes, Operador Koney, Honeypots, Honeytokens, Istio, eBPF, DevSecOps, Seguridad de Contenedores, Políticas como Código
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.