Qual arquivo do Ubuntu Source implementa o gerenciamento do nx bit?

1

Pelo que entendi, o Ubuntu tem um recurso para definir o bit nx para evitar ataques de pilha esmagadora.

Qual arquivo de código-fonte implementa isso, e durante operações normais, qual estrutura de processo / dados lida com a configuração deste bit?

Nota: Esta não é uma questão sobre como escrever proteção nx em programas de terceiros, é uma questão sobre onde eu posso ver a implementação das proteções atuais.

    
por John Dunlap 12.03.2015 / 23:13

1 resposta

2

Você pode tentar iniciar aqui .

Exemplo de como começar

Existe uma linha de código:

#define X86_FEATURE_NX      ( 1*32+20) /* Execute Disable */

Eu já clonei git repo do kernel linux, ele foi clonado quando o último commit em master branch foi 14186fea0cb06bc43181ce239efe0df6f1af260a . Então, algo pode ser mudado agora mesmo.

Tentando encontrar todos os arquivos que usam este X86_FEATURE_NX no repositório git do kernel linux:

$ for i in *; do find "$i" -type f | xargs grep -l "X86_FEATURE_NX"; done
arch/x86/kvm/vmx.c
arch/x86/kvm/svm.c
arch/x86/kernel/head_32.S
arch/x86/include/asm/cpufeature.h
    
por c0rp 23.03.2015 / 16:12