
Koney Framework
Koney: Um Framework de Orquestração de Cyber Deception para Kubernetes
Autores:
Mario Kahlhofer (Dynatrace Research – mario.kahlhofer@dynatrace.com)
Matteo Golinelli (Universidade de Trento – matteo.golinelli@unitn.it)
Stefan Rass (Universidade Johannes Kepler Linz – stefan.rass@jku.at)
Índice
- Introdução
- Enunciado do Problema
- Terminologia do Kubernetes
- Políticas de Cyber Deception
4.1 Armadilhas em Sistemas de Arquivos
4.2 Armadilhas em Aplicações Web
4.3 Seleção de Recursos - O Operador Koney
5.1 Estratégias de Implantação de Decoys
5.1.1 Estratégia containerExec
5.1.2 Estratégia volumeMount
5.1.3 Estratégia istio Decoy
5.2 Estratégias de Implantação de Captors
5.2.1 Estratégia tetragon
5.2.2 Estratégia istio Captor
5.3 Funções Auxiliares - Avaliação
6.1 Cobertura de Casos de Uso
6.2 Trade-offs Operacionais
6.3 Desempenho Operacional - Discussão
7.1 Extensões - Trabalhos Relacionados
8.1 Trabalhos sobre Deception em Sistemas de Arquivos
8.2 Trabalhos sobre Deception em Aplicações Web
8.3 Trabalhos sobre Políticas e Operadores de Deception - Conclusão
- Exemplos de Políticas de Cyber Deception
A.1 Exemplos de Armadilhas em Sistemas de Arquivos
A.2 Exemplos de Armadilhas em Aplicações Web - Referências
Introdução
No cenário cloud-native que evolui rapidamente, a cyber deception (ou engano cibernético) surge como uma abordagem promissora para desorganizar adversários antes que qualquer dano real seja causado. Cyber deception envolve a colocação estratégica de armadilhas, decoys ou honeytokens por toda a infraestrutura para detectar, atrasar e analisar possíveis invasores. Com a adoção de plataformas de orquestração de contêineres, como o Kubernetes, essas técnicas podem ser integradas de forma transparente—sem exigir acesso ou modificações ao código-fonte das aplicações.
Koney é um framework de orquestração de cyber deception criado especificamente para Kubernetes. Com seu modelo de implantação baseado em operador, o Koney permite que operadores definam, implantem, girem, monitorem e, por fim, removam uma variedade de técnicas de engano “como código”. Neste post, exploramos o funcionamento interno do Koney em detalhes, discutindo seu design, implementação e aplicações no mundo real. Também incluímos trechos de código e exemplos de linha de comando em Bash e Python para ajudar desenvolvedores a enxergar como integrar cyber deception em seus clusters Kubernetes.
Ao final deste artigo, você entenderá:
- O que é cyber deception e por que ela é essencial na cibersegurança moderna
- Como o Koney aplica políticas de engano como código em clusters Kubernetes
- A interação de componentes críticos, como estratégias de implantação de decoys e captors
- Exemplos reais e uso em linha de comando para monitoramento contínuo e detecção de exploração
Este post é um guia abrangente para iniciantes e usuários avançados que desejam aproveitar a deception cloud-native.
Enunciado do Problema
Apesar dos benefícios bem documentados da cyber deception para detecção precoce e remediação de ataques, muitas organizações ainda hesitam em adotar tal tecnologia. Os motivos incluem:
- Preocupação com procedimentos de implantação complexos
- Dúvidas sobre como extrair e manter documentos de política como código
- Administração de ambientes dinâmicos sem modificações no código-fonte
Koney aborda as seguintes questões críticas:
- Como formalizar técnicas de cyber deception em documentos de política estruturados?
- Como implantar automaticamente essas políticas em um cluster Kubernetes, considerando as restrições comuns (por exemplo, ausência de acesso ao código-fonte das aplicações)?
O framework aproveita tecnologias cloud-native (por exemplo, service mesh como Istio e mecanismos in-kernel como eBPF) para integrar métodos de engano de forma transparente em aplicações conteinerizadas existentes. O objetivo principal é simplificar aspectos operacionais—como manutenção, escalabilidade e desempenho—afastando-se dos desafios técnicos que dificultam a adoção.
Terminologia do Kubernetes
Compreender o Koney exige familiaridade com conceitos-chave do Kubernetes. A seguir, alguns termos essenciais:
- Pod: Unidade básica implantável no Kubernetes, contendo um ou mais contêineres que compartilham namespace de rede e armazenamento.
- Deployment: Abstração de mais alto nível que gerencia réplicas de pods para garantir estado desejado e confiabilidade.
- Operator: Controlador personalizado que estende funcionalidades do Kubernetes encapsulando conhecimento operacional em código. O operador Koney automatiza a implantação de políticas de engano.
- Service Mesh: Camada de infraestrutura dedicada (por exemplo, Istio) que permite comunicação segura entre serviços, com políticas aplicadas via sidecars.
- eBPF (extended Berkeley Packet Filter): Tecnologia que permite programas rodarem no kernel Linux sem alterar seu código-fonte, possibilitando monitoramento de alto desempenho e enforcement de segurança.
- Custom Resource Definitions (CRD): Definições que permitem introduzir novos recursos ao cluster, fundamentais para o Koney expressar políticas de cyber deception.
Exemplo Prático: Monitoramento de Pods com eBPF
Suponha que você deseje monitorar anomalias de rede dentro de um pod usando eBPF. Um comando típico seria:
# Inspecionar tráfego de rede em um pod:
kubectl exec -it <pod-name> -- tcpdump -i eth0 -nn
Este comando permite ao defensor identificar picos suspeitos de tráfego, possivelmente indicando varredura ou exfiltração. Da mesma forma, o Koney utiliza sidecars e sondas eBPF para injetar engano sem interromper a funcionalidade normal da aplicação.
Políticas de Cyber Deception
Políticas de cyber deception descrevem a configuração e o comportamento de decoys e armadilhas que serão implantados na infraestrutura. No Koney, essas políticas são definidas como código, o que permite versionar e revisar usando ferramentas padrão.
Armadilhas em Sistemas de Arquivos
Armadilhas em sistemas de arquivos envolvem a criação de honeyfiles, honeytokens, honeydocuments e até honeydirectories. Esses arquivos de engano imitam ativos de alto valor. Um invasor que acessar tais artefatos gera logs e alertas, expondo seu interesse ou atividade.
Casos de Uso
- Honeytokens: Arquivos pequenos com senhas, chaves ou credenciais falsas.
- Honeydocuments: PDFs ou documentos Office que parecem confidenciais.
- Honeydirectories: Estruturas de diretório inteiras com dados fictícios.
Exemplo de YAML para política de engano em sistema de arquivos:
apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
name: honeytoken-policy
spec:
trapType: fileSystem
details:
fileName: "secrets.txt"
content: "username: admin\npassword: Pa$w0rd123"
triggerAlert: true
Armadilhas em Aplicações Web
Armadilhas em aplicações web alvo-am tráfego HTTP injetando endpoints enganosos, modificando cabeçalhos ou corpos de resposta, ou até falsificando páginas inteiras.
Respostas HTTP Fixas
Definindo respostas para endpoints inexistentes, atacantes são guiados a páginas fake de admin ou dados falsos.
Modificação de Cabeçalhos
Alterar, por exemplo, o cabeçalho “Server” pode iludir o atacante sobre o servidor real.
Modificação do Corpo HTTP
Manipulando HTML/CSS/JS para redirecionar ou confundir quem está testando. Um exemplo clássico é adicionar rotas falsas no robots.txt.
Exemplo de política de engano web:
apiVersion: koney/v1
kind: DeceptionPolicy
metadata:
name: web-deception-policy
spec:
trapType: webApplication
details:
endpoint: "/wp-admin"
responseType: fixed
responseContent: "<html><body><h1>Fake Admin Login Portal</h1></body></html>"
triggerAlert: true
Seleção de Recursos
Os documentos de política também especificam o escopo exato onde o engano será aplicado. É possível direcionar pods com rótulos específicos ou namespaces designados.
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
O Operador Koney
O Koney atua como um operador dentro do ecossistema Kubernetes, automatizando o ciclo de vida de deploy, rotação, alerta e teardown de enganos.
Estratégias de Implantação de Decoys
Estratégia containerExec
Executa comandos diretamente dentro do contêiner para criar honeyfiles ou modificar respostas web.
# Criar honeytoken dentro de um pod
kubectl exec -it <pod-name> -- /bin/sh -c "echo 'dummy data' > /app/honeytoken.txt"
Estratégia volumeMount
Injeta artefatos de engano montando um volume dedicado.
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
Estratégia istio Decoy
Usa Istio para interceptar/modificar requisições HTTP em tempo real.
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
Estratégias de Implantação de Captors
Estratégia tetragon
Ferramenta baseada em eBPF para monitorar syscalls, acessos a arquivos e eventos de rede.
import json
def parse_tetragon_log(log_file):
with open(log_file) as f:
for line in f:
try:
event = json.loads(line)
if 'deception_triggered' in event:
print("Acesso suspeito:", event)
except json.JSONDecodeError:
continue
Estratégia istio Captor
Monitora interações HTTP via Envoy filters.
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(request_handle)
local headers = request_handle:headers()
request_handle:logInfo("Captor Trigger: " .. headers:get("User-Agent"))
end
Funções Auxiliares
- Validação de políticas
- Gerenciamento de rotação
- Alertas e relatórios
- Limpeza de recursos
Avaliação
Cobertura de Casos de Uso
O Koney cobre:
- Honeyfiles
- Respostas HTTP fixas e tampering de cabeçalho
- Injeção dinâmica de endpoints via Istio
Em laboratório, a taxa de detecção foi >90% para táticas conhecidas.
Trade-offs Operacionais
- Consumo de recursos vs. segurança
- Falsos positivos minimizados via seleção de recursos
- Complexidade abstraída por documentos YAML simples
Desempenho Operacional
- Loop de reconciliação <100 ms
- Overhead mínimo em tráfego de aplicação
- Monitoramento em velocidade de linha mesmo em serviços de alta taxa
Discussão
Extensões
- Suporte a protocolos não-HTTP (FTP, SSH, DB)
- Integração com machine learning para redução de falsos positivos
- Dashboards interativos
- Integração com SIEMs populares (Splunk, ELK)
Trabalhos Relacionados
Deception em Sistemas de Arquivos
Pesquisas sobre honeytokens/honeyfiles—Koney traz escalabilidade via Kubernetes.
Deception em Aplicações Web
Técnicas de respostas fixas e manipulação de payload—Koney integra Istio para automação.
Políticas e Operadores
“Policy-as-code” em segurança—Koney automatiza todo o ciclo de vida, reduzindo barreiras.
Conclusão
O Koney democratiza cyber deception em ambientes cloud-native. Ao formalizar políticas como código e automatizar via operador, reduz barreiras para equipes de segurança.
Principais pontos:
- Esquema de política detalhado para arquivos e web
- Estratégias flexíveis de deploy (containerExec, volumeMount, Istio)
- Captura eficiente de interações com decoys
Ferramentas como Koney oferecem agilidade para ficar à frente dos atacantes. Esperamos que este guia forneça o insight necessário para você integrar deception em seus clusters Kubernetes.
Exemplos de Políticas de Cyber Deception
A.1 Exemplos de Armadilhas em Sistemas de Arquivos
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 Exemplos de Armadilhas em Aplicações 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>Painel Admin de Engano</h2>
<p>Esta página é um decoy. Todo acesso não autorizado é registrado.</p>
</body>
</html>
triggerAlert: true
rotationInterval: "12h"
Avaliação: Exemplo de Integração Real
-
Implantar políticas:
kubectl apply -f filesystem-honeytoken.yaml kubectl apply -f webapp-deception.yaml -
Monitorar interações:
kubectl logs -f deployment/koney-operator -n security -
Analisar logs com Python (script acima).
-
Fluxo de resposta: integração com SIEM para isolar pods suspeitos.
Referências
- Documentação Oficial do Kubernetes
- Site Oficial do Istio
- Documentação eBPF
- Dynatrace Blog – Cyber Deception
- Repositório GitHub – Koney Operator
- Projeto Tetragon
- Padrões de Service Mesh
Leituras adicionais:
- Artigos e pesquisas sobre estratégias de cyber deception
- Documentação de CRDs no Kubernetes
A abordagem do Koney marca uma evolução significativa na proteção de ambientes conteinerizados. Experimente em seus clusters Kubernetes e contribua para a evolução dessa tecnologia.
Feliz Deception!
Palavras-chave: Cyber Deception, Kubernetes, Operador Koney, Cibersegurança, Honeypots, Honeytokens, Istio, Service Mesh, eBPF, DevSecOps, Segurança de Contêineres, Policy-as-code
Leve Sua Carreira em Cibersegurança para o Próximo Nível
Se você achou este conteúdo valioso, imagine o que você poderia alcançar com nosso programa de treinamento de elite abrangente de 47 semanas. Junte-se a mais de 1.200 alunos que transformaram suas carreiras com as técnicas da Unidade 8200.
