Как остановить открытие файла с помощью Ebpf?

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

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

Всего 1 ответ


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


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

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


Есть идеи?

10000