Efeito de nosuid em executáveis dentro do sistema de arquivos montado

3

Que seja sabido que eu mal entendo o que setuid / setgid / whatever é. Eu acho que tem algo a ver com qual usuário um programa é executado. Isso me leva a nosuid .

Em Melhorias de segurança no Android 4.3 , o Google diz

The /system partition is now mounted nosuid for zygote-spawned processes,
preventing Android applications from executing setuid programs.

Não faz sentido dizer que um sistema de arquivos no Linux é montado "para" qualquer coisa, como se a maneira como ele é montado pudesse ser relativa a um processo ou executável. Se a partição do sistema em dispositivos Android for montada com nosuid , como pode qualquer executável principal do sistema ser executado como raiz, o que ele precisa fazer nos primeiros estágios da inicialização?

    
por Melab 21.12.2015 / 23:56

1 resposta

5

Linha possivelmente relevante no mesmo documento:

No setuid/setgid programs. Added support for filesystem capabilities to Android system files and removed all setuid/setguid programs. This reduces root attack surface and the likelihood of potential security vulnerabilities.

Com relação à sua pergunta final:

If the system partition on Android devices is mounted with nosuid, then how can any of the system's core executables run as root, which they need to do in the earliest stages of startup?

nosuid não impede root de executar processos. Não é igual a noexec . Ele apenas impede que o suid bit em executáveis tenha efeito, o que, por definição, significa que um usuário não pode executar um aplicativo que teria permissão para fazer coisas que o usuário não tem permissão para fazer sozinho.

Também relevante aqui é uma compreensão do que o "zigoto" realmente é; tente ler o link

Isenção de responsabilidade: não sou especialista em Android.

    
por 22.12.2015 / 00:10