Как остановить открытие файла с помощью Ebpf? - PullRequest
1 голос
/ 09 февраля 2020

Я хочу использовать EBPF и поместить зонд в открытый системный вызов, поэтому, когда пользователь захочет открыть определенный файл, я проверю его имя, и если это целевое имя, я остановлю его открытие. Единственное, я не знаю, как на самом деле достичь этой цели.

Кроме того, я был бы признателен, если бы вы могли указать, работает ли определенное решение с датчиком uprobe или root. Большое спасибо.

1 Ответ

1 голос
/ 10 февраля 2020

TL; DR. В настоящее время нет способа сделать это с помощью BPF.


В настоящее время в ядре Linux нет опции для применения политик на Системные вызовы с использованием eBPF. Это может измениться с введением LSM на основе eBPF (Linux Модули безопасности), хотя (см. Инструментарий защиты ядра во время выполнения , KRSI - другой модуль безопасности BPF и KRSI и проприетарные программы BPF ).

Однако вы можете применять политики для syscalls с seccomp-bpf , но вместо eBPF используется cBPF, старый байт-код BPF. Тем не менее, невозможно проверить аргументы системного вызова, передаваемые указателями с seccomp-bpf , по соображениям безопасности ; так что вы не сможете проверить имя открываемого файла.

...