
Koney
# Koney: фреймворк оркестрации киберобмана для Kubernetes
Авторы:
Mario Kahlhofer (Dynatrace Research – mario.kahlhofer@dynatrace.com)
Matteo Golinelli (University of Trento – matteo.golinelli@unitn.it)
Stefan Rass (Johannes Kepler University Linz – stefan.rass@jku.at)
---
## Содержание
1. [Введение](#введение)
2. [Постановка задачи](#постановка-задачи)
3. [Терминология Kubernetes](#терминология-kubernetes)
4. [Политики киберобмана](#политики-киберобмана)
4.1 [Ловушки в файловых системах](#ловушки-в-файловых-системах)
4.2 [Ловушки в веб-приложениях](#ловушки-в-веб-приложениях)
4.3 [Выбор ресурсов](#выбор-ресурсов)
5. [Оператор Koney](#оператор-koney)
5.1 [Стратегии развёртывания приманок](#стратегии-развёртывания-приманок)
5.1.1 [Стратегия containerExec](#стратегия-containerexec)
5.1.2 [Стратегия volumeMount](#стратегия-volumemount)
5.1.3 [Стратегия istio Decoy](#стратегия-istio-decoy)
5.2 [Стратегии развёртывания перехватчиков](#стратегии-развёртывания-перехватчиков)
5.2.1 [Стратегия tetragon](#стратегия-tetragon)
5.2.2 [Стратегия istio Captor](#стратегия-istio-captor)
5.3 [Вспомогательные функции](#вспомогательные-функции)
6. [Оценка](#оценка)
6.1 [Покрытие сценариев использования](#покрытие-сценариев-использования)
6.2 [Эксплуатационные компромиссы](#эксплуатационные-компромиссы)
6.3 [Производительность](#производительность)
7. [Обсуждение](#обсуждение)
7.1 [Расширения](#расширения)
8. [Связанные работы](#связанные-работы)
8.1 [Литература по обману в файловых системах](#литература-по-обману-в-файловых-системах)
8.2 [Литература по обману в веб-приложениях](#литература-по-обману-в-веб-приложениях)
8.3 [Работы о политиках и операторах обмана](#работы-о-политиках-и-операторах-обмана)
9. [Заключение](#заключение)
10. [Примеры политик киберобмана](#примеры-политик-киберобмана)
A.1 [Примеры ловушек в файловых системах](#примеры-ловушек-в-файловых-системах)
A.2 [Примеры ловушек в веб-приложениях](#примеры-ловушек-в-веб-приложениях)
11. [Список литературы](#список-литературы)
---
## Введение
В бурно развивающемся облачно-нативном мире киберобман становится перспективным подходом, позволяющим нарушать планы злоумышленников до того, как они нанесут реальный ущерб. Киберобман предполагает стратегическое размещение ловушек, приманок или honeytoken-ов по всей инфраструктуре с целью обнаружения, задержки и анализа потенциальных атакующих. Благодаря широкому распространению платформ оркестрации контейнеров, таких как Kubernetes, подобные техники можно внедрять прозрачно — без доступа к исходному коду приложений и без его модификации.
Koney — новый фреймворк оркестрации киберобмана, специально разработанный для Kubernetes. Используя модель оператора, Koney позволяет командам описывать, развёртывать, ротировать, мониторить и, при необходимости, удалять разнообразные техники обмана «как код». В этой статье мы детально рассмотрим внутреннее устройство Koney, его проектирование, реализацию и реальные сценарии применения. Также приведены примеры кода и командной строки (Bash и Python), которые показывают, как разработчики могут интегрировать киберобман в свои кластеры Kubernetes.
После прочтения вы узнаете:
- что такое киберобман и почему он важен в современной кибербезопасности;
- как Koney применяет политики обмана «как код» в кластерах Kubernetes;
- как взаимодействуют ключевые компоненты — стратегии развёртывания приманок и перехватчиков;
- реальные примеры и команды для непрерывного мониторинга и обнаружения эксплуатации.
Материал рассчитан как на новичков, так и на опытных специалистов, желающих применять облачно-нативный обман.
---
## Постановка задачи
Несмотря на очевидные преимущества киберобмана в раннем обнаружении и сдерживании атак, многие организации не спешат внедрять такие технологии. Причины включают:
- опасения перед сложными процедурами развёртывания;
- неуверенность в том, как описывать и поддерживать политики «как код»;
- трудности управления динамичными средами без изменения исходного кода приложений.
Koney отвечает на два критически важных вопроса:
1. Как формализовать техники киберобмана в виде структурированных политик?
2. Как автоматически развёртывать эти политики в Kubernetes-кластере без доступа к исходникам приложений?
Фреймворк использует облачно-нативные технологии (например, сервис-мэш Istio и встроенные eBPF-механизмы ядра) для прозрачного внедрения обмана в существующие контейнерные приложения. Цель — упростить эксплуатационные аспекты: поддерживаемость, масштабируемость и производительность, устранив технические барьеры, мешающие внедрению.
---
## Терминология Kubernetes
Для понимания Koney важно владеть основными терминами Kubernetes.
- **Pod** — минимальная развёртываемая единица, состоящая из одного или нескольких контейнеров с общими сетью и хранилищем.
- **Deployment** — абстракция, управляющая набором реплик pod-ов и поддерживающая требуемое состояние.
- **Operator** — кастомный контроллер, расширяющий функциональность Kubernetes путём автоматизации рутинных действий. Оператор Koney отвечает за развёртывание политик обмана.
- **Service Mesh** — послойная инфраструктура (например, Istio), обеспечивающая безопасное взаимодействие сервисов через сайдкары.
- **eBPF (extended Berkeley Packet Filter)** — технология, позволяющая запускать программы в ядре Linux без его модификации, обеспечивая высокопроизводительный мониторинг и безопасность.
- **Custom Resource Definition (CRD)** — механизм расширения API Kubernetes пользовательскими ресурсами; именно на CRD основывается описание политик обмана в Koney.
### Пример из практики: мониторинг pod-а
```bash
# Просмотр сетевого трафика внутри pod-а
kubectl exec -it <pod-name> -- tcpdump -i eth0 -nn
Эта команда помогает обнаружить аномальные всплески трафика, что может указывать на сканирование или эксфильтрацию данных. Аналогично Koney использует сайдкары и eBPF-пробы для внедрения обмана без нарушения работы приложений.
Политики киберобмана
Политики киберобмана описывают конфигурацию и логику приманок и ловушек. В Koney они хранятся «как код», что позволяет версионировать и рецензировать их стандартными инструментами.
Ловушки в файловых системах
Здесь применяются honeyfile-ы, honeytoken-ы, honeydocument-ы и honeydirectory. Они имитируют ценные активы; доступ к ним сигнализирует о возможной атаке.
Сценарии:
- Honeytoken — небольшой файл с паролями, ключами или псевдокредами.
- Honeydocument — PDF или Office-документ, «содержащий» конфиденциальные данные.
- Honeydirectory — целая иерархия директорий с фиктивными данными.
Пример 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
Ловушки в веб-приложениях
Веб-ловушки нацелены на HTTP-трафик: внедрение фиктивных эндпоинтов, изменение заголовков и тел ответов или подмена страниц.
Фиксированные HTTP-ответы
Предопределённые ответы на несуществующие пути (например, фальшивый /wp-admin) заманивают атакующего.
Модификация HTTP-заголовков
Подмена «Server» может ввести злоумышленника в заблуждение относительно используемого ПО.
Модификация тела HTTP-ответа
Изменение HTML/CSS/JS, например добавление фиктивной строки в robots.txt.
Пример YAML:
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
Выбор ресурсов
Политики задают область применения — по меткам, неймспейсам и т. д.
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
Ловушка разворачивается только в pod-ах с меткой role: sensitive, снижая число ложных срабатываний и издержек.
Оператор Koney
Оператор автоматизирует полный жизненный цикл обмана: установку, ротацию, оповещение и удаление.
Стратегии развёртывания приманок
Стратегия containerExec
Оператор выполняет команды внутри контейнера, создавая файлы или изменяя конфигурацию.
# Создать honeytoken в pod-е
kubectl exec -it <pod-name> -- /bin/sh -c "echo 'dummy data' > /app/honeytoken.txt"
Стратегия volumeMount
Приманка поставляется через отдельный том, подключённый к контейнеру.
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
Стратегия istio Decoy
Используя Istio, оператор перехватывает и модифицирует HTTP-запросы.
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
Стратегии развёртывания перехватчиков
Стратегия tetragon
Tetragon (eBPF) фиксирует системные вызовы и сетевые события.
import json
def parse_tetragon_log(log_file):
with open(log_file, 'r') as f:
for line in f:
try:
event = json.loads(line)
if 'deception_triggered' in event:
print("Подозрительный доступ:", event)
except json.JSONDecodeError:
continue
if __name__ == "__main__":
parse_tetragon_log('/var/log/tetragon/deception.log')
Стратегия istio Captor
Envoy-фильтры собирают метаданные 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(request_handle)
local headers = request_handle:headers()
request_handle:logInfo("Captor Trigger: " .. headers:get("User-Agent"))
end
Вспомогательные функции
- Валидация политик
- Ротация приманок
- Оповещение и отчёты
- Очистка ресурсов
Оценка
Покрытие сценариев использования
Koney охватывает:
- honeyfile-ы в файловых системах;
- фиктивные HTTP-ответы и подмену заголовков;
- динамическое внедрение эндпоинтов через Istio.
В тестовом кластере обнаруживаемость известных техник атак превысила 90 %.
Эксплуатационные компромиссы
- Потребление ресурсов минимально по сравнению с выигрышем в безопасности.
- Ложные срабатывания уменьшаются за счёт точного выбора ресурсов.
- Сложность vs. гибкость: оператор скрывает сложность за YAML-политиками.
Производительность
- Задержка reconciler-а < 100 мс.
- Приманки не влияют на рабочий трафик.
- Tetragon и Envoy работают на линии.
Обсуждение
Расширения
- Поддержка не-HTTP протоколов (FTP, SSH, базы данных).
- Интеграция ML для снижения ложных срабатываний.
- GUI-панели реального времени.
- Экспорт событий в SIEM (Splunk, ELK и др.).
Связанные работы
Литература по обману в файловых системах
…
Литература по обману в веб-приложениях
…
Работы о политиках и операторах обмана
…
Заключение
Koney снижает барьер внедрения киберобмана в облачно-нативные среды, предлагая:
- детальную схему политик для файловых систем и веб-приложений;
- гибкие стратегии (containerExec, volumeMount, Istio);
- эффективные перехватчики для логирования и реагирования.
Примеры политик киберобмана
A.1 Примеры ловушек в файловых системах
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 Примеры ловушек в веб-приложениях
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>Decoy Admin Panel</h2>
<p>Эта страница — приманка. Любой несанкционированный доступ логируется.</p>
</body>
</html>
triggerAlert: true
rotationInterval: "12h"
Оценка: пример интеграции
# Применение политик
kubectl apply -f filesystem-honeytoken.yaml
kubectl apply -f webapp-deception.yaml
# Просмотр логов оператора
kubectl logs -f deployment/koney-operator -n security
Python-скрипты и SIEM-интеграции далее анализируют события и, при необходимости, изолируют pod.
Список литературы
- Документация Kubernetes
- Сайт Istio
- Документация eBPF
- Dynatrace Blog – Cyber Deception
- GitHub – Koney Operator
- Проект Tetragon
- Service Mesh Patterns
Дополнительная литература:
- Научные статьи по стратегиям киберобмана.
- Документация по CRD в Kubernetes.
Koney демонстрирует, как современные техники оркестрации могут сочетаться с приёмами обмана, обеспечивая более проактивную защиту контейнерных сред. Попробуйте Koney в своих кластерах Kubernetes и присоединяйтесь к развитию технологий киберобмана.
Счастливого обмана!
Поднимите свою карьеру в кибербезопасности на новый уровень
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.
