Segurança dos recursos versus setuid (LD_PRELOAD, etc)

4

Eu sei que se um processo for executado setuid , ele estará protegido contra várias coisas que podem subverter o processo, como < href="https://stackoverflow.com/questions/426230/what-is-the-ld-preload-trick"> LD_PRELOAD e ptrace (depuração). Mas eu não consegui encontrar nada sobre o mesmo sendo feito para capacidades . Suponho que o mesmo tipo de coisas é feito com recursos, pois, do contrário, teria grandes falhas de segurança, mas não consegui encontrá-lo documentado / verificado.

    
por Matthew Cline 10.11.2014 / 05:23

1 resposta

4

Como mencionado nesta mensagem da Lista de Discussão do Kernel , se um processo precisa de segurança extra é verificado em < href="http://lxr.free-electrons.com/source/security/commoncap.c#L593"> cap_bprm_secureexec() do arquivo do kernel security/commoncap.c , que verifica as capacidades. Isso é então exportado para o processo por meio do vetor auxiliar . Isso pode ser acessado / testado por meio de getauxval(AT_SECURE) . Inseri getauxval(AT_SECURE) em um programa de teste e, de fato, retornei 1 quando estava em execução com todos os recursos definidos e utilizáveis, da mesma forma que se executasse o setuid, para que os recursos tivessem as mesmas proteções de segurança que o setuid.

    
por 10.11.2014 / 05:23