eBPF / Tetragon (ядерный резерв)
Источник ebpf — это половина противодействия уклонению карты R/RW. Там, где
кооперативный путь видит то, что агент сообщает, этот видит то, что ядро
сделало — чтения/записи файлов и исходящие соединения — даже когда агент
отключает собственную телеметрию, потому что он работает вне контроля агента.
Его определяют два проектных решения, и оба они и есть его поза безопасности:
- Он не загружает программы eBPF сам. Tetragon
выполняет захват в ядре, развёрнутый как отдельный укреплённый сервис,
держащий
CAP_BPF+CAP_PERFMON. Коннектор — это потребитель с нулевыми возможностями, только для чтения экспорта событий JSON Tetragon (общий файл/FIFO, режим0600, или stdin). - Он слеп к телам TLS и полезным нагрузкам. Он наблюдает отношения доступа — никогда содержимое.
Репозиторий поставляет эталонное развёртывание в connectors/ebpf/deploy/:
укреплённый DaemonSet Tetragon, две TracingPolicy (доступ к файлам, сеть) и
вариант Compose для одиночных хостов.
Что он эмитирует
Заголовок раздела «Что он эмитирует»| Поле | Значение |
|---|---|
| Источник сигнала | ebpf |
| Режим | файл read / write, рёбра сетевых соединений (connect) |
| Инициатор | идентичность времени выполнения (процесс/контейнер) — вид identity, никогда не разрешённый агент |
| Достоверность | всегда approximate — см. ниже |
| Уровень охвата | ядерный резерв |
Слово approximate здесь точное, а не скромное: доступ — это достоверность
ядра (системный вызов произошёл); то, что ядро не может дать, — это агент: оно
знает процесс и cgroup, но не то, каким управляемым агентом это было. Модуль карты
доступа повышает атрибуцию, когда источник идентичности привязывает идентичность
времени выполнения к агенту.
1. Разверните Tetragon (сенсор)
Заголовок раздела «1. Разверните Tetragon (сенсор)»В Kubernetes примените поставляемый DaemonSet и TracingPolicy:
kubectl apply -f connectors/ebpf/deploy/tetragon-daemonset.yamlkubectl apply -f connectors/ebpf/deploy/tracingpolicy-file-access.yamlkubectl apply -f connectors/ebpf/deploy/tracingpolicy-network.yamlTetragon пишет свой экспорт JSON в общий том
(/var/run/olivares/tetragon.log); коннектор читает его с другой стороны. На
одиночном хосте connectors/ebpf/deploy/docker-compose.yaml — это то же
разделение без Kubernetes. Полная архитектура и заметки об укреплении находятся в
connectors/ebpf/deploy/README.md.
2. Объявление источника
Заголовок раздела «2. Объявление источника»{ "sources": [{ "name": "node-kernel-backstop", "kind": "ebpf", "tenant": "<tenant-id>", "config": { "events_path": "/var/run/olivares/tetragon.log", "detect_evasion": "true" } }]}| Ключ | По умолчанию | Значение |
|---|---|---|
events_path | - (stdin) | поток событий JSON Tetragon — файл, FIFO или stdin |
follow | true | продолжать чтение по мере роста потока |
detect_evasion | false | opt-in: помечать известный процесс агента, чья кооперативная телеметрия замолкает, пока ядро всё ещё видит его действия |
evasion_window | 5m | льготный период до того, как пропавшее кооперативное соединение будет помечено |
agent_signatures | claude,claude-code | имена исполняемых файлов, классифицируемые детектором как кооперативные агенты |
otlp_endpoints | 127.0.0.1:4317,127.0.0.1:4318 | конечные точки кооперативной телеметрии, чьи соединения детектор коррелирует |
Коннектор потребляет события Tetragon ProcessKprobe (файловые операции и
сетевые соединения) и ProcessExit (состояние детектора); ProcessExec
используется для контекста атрибуции и никогда не эмитируется как ребро.
3. Что вы увидите в консоли
Заголовок раздела «3. Что вы увидите в консоли»Ядерные рёбра присоединяются к карте доступа с атрибуцией к идентичностям времени
выполнения, всегда помеченные approximate. Вывод детектора оседает в
Security как findings — сессия, которая перестаёт эмитировать, пока ядро всё
ещё видит активность, — это в точности тот случай, ради которого существует этот
источник:
Честные ограничения
Заголовок раздела «Честные ограничения»- Его сквозная глубина атрибуции всё ещё подтверждается. Кооперативный путь и собственный аудит хранилища — это проверенные сигналы высокой точности; относитесь к ядерному резерву как к подъёмнику нижней границы, а не как к завершённому первичному источнику (Честность и ограничения).
- Область охвата Tetragon — это его TracingPolicy. Поставляемые политики покрывают доступ к файлам и сетевые соединения; то, что они не трассируют, не существует в экспорте.
- Процесс ≠ агент. Без привязки идентичности каждое ядерное ребро остаётся
approximate— по замыслу, а не по случайности.
Связанное
Заголовок раздела «Связанное»- Подключение Claude Code — кооперативная половина, которую это резервирует.
- SSO/SCIM и источники идентичности — как повышается атрибуция.
- Укрепление безопасности — где резерв вписывается в оборонительную позу.