Libseccomp: Q: interceptar syscalls do mesmo processo

Criado em 20 mai. 2021  ·  3Comentários  ·  Fonte: seccomp/libseccomp

Estou trabalhando em um sandbox no Linux, o que quero alcançar é interceptar syscalls e retornar valor emulado ou alterar registros / ponteiros e executar syscall com valor modificado.

Eu gostaria de conseguir isso a partir do mesmo processo, meu código já está injetado no processo de destino durante a inicialização.

É possível fazer com seccomp?
Se você tiver algum exemplo que seja útil ou qualquer outra recomendação, talvez haja uma maneira melhor de fazer o mesmo

question

Comentários muito úteis

Você pode sempre verificar o teste abaixo, é bastante simples, mas deve dar uma ideia básica sobre como usá-lo:

Vou encerrar este problema porque acho que a questão foi resolvida, mas se você discordar, sinta-se à vontade para reabrir / comentar.

Todos 3 comentários

Provavelmente, vale a pena mencionar que a tentativa de interceptar syscalls como uma forma de sandboxing de dentro do mesmo espaço de endereço que o processo em sandbox estará sujeito a falhas. Um aplicativo malicioso pode encontrar uma maneira de detectar que está sendo colocado em sandbox e tomar medidas contra o código de sandbox em execução em seu espaço de endereço.

Uma opção melhor seria ir com um filtro de syscall estático mais tradicional, feito por um grande número de ferramentas de sandbox ou criar um processo de supervisor para monitorar e interceptar syscalls usando os recursos de notificação adicionados a seccomp / libseccomp.

Eu sou muito novo no seccomp, um dia antes nem sabia da sua existência, se eu entendi corretamente a adição recente de notificações nos dá a capacidade de lidar com syscalls do modo do usuário.
Você tem um código que eu possa usar como referência para esta tarefa (seccomp notif. Para interceptar syscalls)?

Você pode sempre verificar o teste abaixo, é bastante simples, mas deve dar uma ideia básica sobre como usá-lo:

Vou encerrar este problema porque acho que a questão foi resolvida, mas se você discordar, sinta-se à vontade para reabrir / comentar.

Esta página foi útil?
0 / 5 - 0 avaliações