Как использовать фильтр seccomp с ebpf?

Я ищу пример eBPF для написания фильтра seccomp, но не могу найти. Может ли кто-нибудь сказать мне, можно ли использовать eBPF для написания фильтра seccomp?


person Maicake    schedule 29.08.2019    source источник


Ответы (2)


Seccomp на данный момент не работает с eBPF (только cBPF).

Недавно было обсуждение этой темы в списке рассылки сетевых рассылок Linux. Сопровождающий eBPF против добавления поддержки eBPF в seccomp.

person Qeole    schedule 29.08.2019
comment
цель открытия BPF для непривилегированных пользователей была оставлена ​​как недостижимая, и что дальнейшая работа в этом направлении не будет принята сопровождающим BPF, тем не менее можно подключить фильтр сокета ebpf к сокету udp без привилегий. Означает ли это утверждение, что это невозможно в будущем? - person Maicake; 30.08.2019
comment
Очень маловероятно, что это сломает пользовательский API. Сообщество Linux придерживается жесткой политики против взлома существующих пользовательских приложений. - person Qeole; 30.08.2019
comment
lists.linuxfoundation.org/pipermail/containers/2018-February/ этот патч слит в какое-то ядро? Как я могу это проверить? В исходном коде моего ядра нет примеров seccomp. - person Maicake; 09.09.2019
comment
Чтобы найти его, вы можете попробовать найти его в журнале git (например, git log --oneline | grep "eBPF Seccomp filters"). Это BPF, поэтому он, вероятно, будет добавлен через дерево bpf-next (но не уверен на 100%, потому что это также затрагивает вопросы безопасности). Но на практике вы можете избавить себя от проблем: я могу вам сказать, что он не был объединен на сегодняшний день. (Полная ветка здесь кстати). - person Qeole; 09.09.2019

Для этого был разработан Kernel Runtime Security Instrumentation (KRSI). Он уже включен в ядро.

person Natan Yellin    schedule 13.11.2020