Segurança Linux: os perigos da execução de código maligno como usuário padrão

3

Deslizando um usuário (não-root) um pedaço de código maligno que ele ou ela executa pode ser considerado como uma das maiores violações de segurança possíveis. (A única maior que eu posso ver é realmente acessar o usuário root)

O que um invasor pode efetivamente fazer quando recebe um padrão, (digamos que um usuário normal do Ubuntu) para executar código? Para onde um atacante iria de lá? O que essa peça de código fazer?

Digamos que o usuário não seja estúpido o suficiente para ser atraído para entrar a senha root / sudo em um formulário / programa que ela não conhece. Apenas software de fontes confiáveis está instalado.

Do jeito que eu vejo, não há muita coisa que se possa fazer, está lá?

Adição: Eu peço parcialmente isso porque estou pensando em conceder algumas pessoas acessam o shell (non-root) para o meu servidor. Eles deveriam ser capaz de ter acesso normal aos programas. Eu quero que eles sejam capazes de compilar programas com o gcc. Então, definitivamente haverá código arbitrário no espaço do usuário ...

    
por AndreasT 28.01.2011 / 15:29

2 respostas

3

Existem alguns problemas potenciais com um invasor tendo acesso ao shell local ao sistema.

Em primeiro lugar, se você não estiver totalmente atualizado com os patches de segurança, poderá ser possível que o invasor realize um ataque de escalonamento de privilégios nos binários do sistema. Do ponto de vista do Linux, o principal risco seria uma vulnerabilidade em um processo executado como um usuário privilegiado. Houve um número destes no passado ( por exemplo )

Outras maneiras pelas quais um invasor com privilégios locais pode procurar escalonar procurariam credenciais no sistema de arquivos ou outras informações que pudessem ajudá-los a escalonar seus privilégios ou tentassem fazer com que um usuário privilegiado executasse o código criado por eles tem um propósito malicioso.

    
por 28.01.2011 / 22:07
2

Para qualquer usuário normal, pode ser possível executar a negação de serviço por esgotamento de recursos. Por exemplo. o usuário pode usar cat /dev/zero > /tmp/overflow para usar todo o espaço em disco disponível ou intencionalmente lançar uma bifurcação para exaurir a CPU e a RAM, ou inundar sua interface de rede primária com o tráfego de lixo.

Você precisará configurar cuidadosamente todos os tipos de cotas por usuário para evitar esse tipo de ataque.

    
por 28.01.2011 / 23:16