Como um usuário pode executar um programa no modo kernel?

6

É possível que um usuário execute seu próprio programa no modo kernel? Como um usuário poderia fazer isso? Que fraqueza no mecanismo de proteção do sistema eles teriam que ignorar?

Estou pensando que um programa de usuário pode alternar o modo de modo do modo de usuário para o modo kernel no vetor de interrupção e, em seguida, executar qualquer manipulador de interrupção que desejar. Estou no caminho certo?

    
por stevetronix 18.09.2013 / 17:47

2 respostas

2

Os usuários não podem executar seu próprio código no modo kernel. O modo kernel fornece ao programa controle sobre todos os aspectos da máquina (da máquina virtual, se esta for uma). Executar código no modo kernel iria ignorar todas as medidas de segurança.

Você pode executar o código no modo kernel carregando um módulo. Somente o root pode carregar um módulo, é claro (e isso pode ser desabilitado para certas configurações estáticas e de alta segurança).

Eu não sei o que você quer dizer com “um programa de usuário pode mudar o modo de modo do modo de usuário para o modo kernel no vetor de interrupção”. Os programas do usuário não têm controle sobre o vetor de interrupção, o kernel reserva isso para si mesmo.

    
por 19.09.2013 / 02:29
0

você pode ligar a chamada do sistema e adicionar onc que será o seu programa seu programa o executa no modo kernel para adicionar "chamada de sistema" você precisa para adicionar linha ao arquivo /boot/system.map-kernel version para encontrar sua versão do kernel / proc / version A ferramenta LKM pode ajudá-lo a fazer isso

    
por 28.02.2017 / 18:35