Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1058

SMEP / SMAP

O que é SMEP / SMAP?

SMEP / SMAPSMEP e SMAP sao funcionalidades da CPU que impedem o kernel de executar ou aceder a paginas do espaco do utilizador, bloqueando tecnicas comuns de escalada local de privilegios.


Supervisor Mode Execution Prevention (SMEP) e Supervisor Mode Access Prevention (SMAP) sao extensoes x86_64 introduzidas pela Intel em Ivy Bridge (SMEP, 2012) e Broadwell (SMAP, 2014); a ARM oferece PXN e PAN. O SMEP faz a CPU lancar falha se o kernel tentar executar instrucoes de uma pagina do utilizador, derrotando ret2usr. O SMAP lanca falha em qualquer leitura ou escrita do kernel em paginas do utilizador, salvo se EFLAGS.AC for temporariamente posto via stac/clac (Linux: wrappers copy_from_user). Juntos removem uma grande classe de exploits do kernel e complementam KASLR, kCFI, KPTI e CET.

Exemplos

  1. 01

    Numa CPU com SMEP, um exploit do kernel gera #PF ao saltar para shellcode em espaco do utilizador.

  2. 02

    No Linux com SMAP, copy_from_user usa stac/clac para aceder a buffers do utilizador.

Perguntas frequentes

O que é SMEP / SMAP?

SMEP e SMAP sao funcionalidades da CPU que impedem o kernel de executar ou aceder a paginas do espaco do utilizador, bloqueando tecnicas comuns de escalada local de privilegios. Pertence à categoria Segurança de aplicações da cibersegurança.

O que significa SMEP / SMAP?

SMEP e SMAP sao funcionalidades da CPU que impedem o kernel de executar ou aceder a paginas do espaco do utilizador, bloqueando tecnicas comuns de escalada local de privilegios.

Como funciona SMEP / SMAP?

Supervisor Mode Execution Prevention (SMEP) e Supervisor Mode Access Prevention (SMAP) sao extensoes x86_64 introduzidas pela Intel em Ivy Bridge (SMEP, 2012) e Broadwell (SMAP, 2014); a ARM oferece PXN e PAN. O SMEP faz a CPU lancar falha se o kernel tentar executar instrucoes de uma pagina do utilizador, derrotando ret2usr. O SMAP lanca falha em qualquer leitura ou escrita do kernel em paginas do utilizador, salvo se EFLAGS.AC for temporariamente posto via stac/clac (Linux: wrappers copy_from_user). Juntos removem uma grande classe de exploits do kernel e complementam KASLR, kCFI, KPTI e CET.

Como se defender contra SMEP / SMAP?

As defesas contra SMEP / SMAP costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para SMEP / SMAP?

Nomes alternativos comuns: SMEP, SMAP, PXN, PAN.

Termos relacionados