Aluno: Elisandro Mello Corrêa
Professor: Roland Teodorowitsch
Sistemas Linux
O sistema operacional Linux possui algumas centenas de chamadas de sistema, mas a maioria deles não é utilizado por nenhum processo. Essa estrutura possibilita que um processo possa ser “ludibriado” em utilizar outras chamadas de sistema, podendo causar uma vulnerabilidade de segurança que pode resultar no comprometimento de todo o sistema.
O que é os Filtos Seccomp
A filtragem do Linux “seccomp”, permite especificar ao sistema, que um processo deve operar em área reduzida do “kernel”, limitando a área exposta aos aplicativos. Sendo útil para:
O que não é?
A documentação oficial do Kernel.org (2017) nos apresenta que a filtragem não é uma caixa de areia.
Mas sim, uma solução que fornece um mecanismo, claramente definido, para minimizar a área de atuação de um processo ou aplicativo.
A primeira versão do “seccomp” foi adicionada ao “Kernel ” em 2005 no Linux 2.6.12:
habilitando a regra para: /proc/PID/seccomp.
O Processo pode realizar somente 4 chamadas:
A grande mudança ocorreu no "modo Seccomp 2" (ou "modo de filtro Seccomp") que foi adicionado ao Linux 3.5 em 2012.
Apartir, desse modo, os processos podem especificar quais chamadas de sistema são permitidas;
Utilizando um miniprograma no idioma do filtro de pacotes Berkeley (BPF)
Os processos podem restringir as "syscalls" inteiramente ou apenas para determinados valores de argumento;
Kernel.Org (USA).Documentação oficial. Em: https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt>. Acesso em: 02 outubro 2017.
KERRISK, Michael. Linux Programmer’s Manual. Em: < http://man7.org/linux/man-pages/man2/seccomp.2.html>. Acesso em: 02 outubro 2017.
HERLIHY, Maurice; SHAVIT, Nir. The Art of Multiprocessor Programming. Burlington: Morgan Kaufmann Publishers, 2008.