least privilege
termoSignifica: principle of least privilege (PoLP)
Dar a cada usuário ou processo apenas o acesso de que precisa para fazer seu trabalho, e nada mais.
O princípio do menor privilégio encolhe o raio de dano de qualquer comprometimento: uma conta que pode fazer pouco vale pouco para um atacante. É simples de enunciar e infinitamente difícil de manter, e é por isso que existem revisões de acesso. O enunciado é o de Saltzer e Schroeder, em The Protection of Information in Computer Systems: todo programa e todo usuário do sistema deveria operar usando o menor conjunto de privilégios necessário para completar o trabalho, com a observação de que a regra militar do need-to-know é um exemplo desse princípio; é um de seus oito princípios de projeto. O glossário do NIST dá a redação moderna da SP 800-53: o princípio de que uma arquitetura de segurança é projetada de modo que cada entidade receba os recursos e autorizações mínimos de que precisa para desempenhar sua função, e o controle AC-6 do catálogo exige que as organizações empreguem o princípio do menor privilégio, permitindo apenas os acessos autorizados a usuários (ou processos agindo em nome de usuários) que sejam necessários para cumprir as tarefas organizacionais atribuídas. O aprimoramento que o mantém verdadeiro ao longo do tempo é o AC-6(7), uma revisão periódica dos privilégios atribuídos, porque privilégios que já foram necessários se acumulam em privilege creep.
O menor privilégio é a regra mais antiga do controle de acesso e a mais enunciada e menos cumprida. O enunciado canônico é o de Saltzer e Schroeder, em The Protection of Information in Computer Systems, o artigo apresentado no Fourth ACM Symposium on Operating System Principles em outubro de 1973 e publicado nas Communications of the ACM em julho de 1974, na edição web citada. Seu princípio (f) diz: todo programa e todo usuário do sistema deveria operar usando o menor conjunto de privilégios necessário para completar o trabalho. Eles explicam que isso limita o dano que um acidente ou um erro pode causar e reduz o número de interações potenciais entre programas privilegiados, e acrescentam que a regra militar do need-to-know é um exemplo desse princípio. Ele está numa lista de oito: economia de mecanismo, padrões seguros em caso de falha, mediação completa, projeto aberto, separação de privilégio, menor privilégio, menor mecanismo comum e aceitabilidade psicológica, e o verbete de segregação de funções retoma o que vem antes dele.
As definições modernas mantêm o sentido. O glossário do NIST dá, da CNSSI 4009 por meio da SP 800-12, um princípio de segurança segundo o qual um sistema deve restringir os privilégios de acesso dos usuários (ou de processos agindo em nome de usuários) ao mínimo necessário para cumprir as tarefas atribuídas, e, da SP 800-53 Rev. 5, o princípio de que uma arquitetura de segurança é projetada de modo que cada entidade receba os recursos e autorizações mínimos de sistema de que precisa para desempenhar sua função. O catálogo de controles transforma o princípio em requisito no AC-6: empregar o princípio do menor privilégio, permitindo apenas os acessos autorizados a usuários (ou processos agindo em nome de usuários) que sejam necessários para cumprir as tarefas organizacionais atribuídas, e sua discussão estende a regra aos processos do sistema, que devem operar em níveis de privilégio não mais altos que o necessário, e manda as organizações criarem processos, papéis e contas adicionais onde é disso que o menor privilégio precisa.
O princípio encolhe o raio de dano de qualquer comprometimento: uma conta que pode fazer pouco vale pouco para um atacante, um processo que só escreve seus próprios arquivos não consegue cifrar os de todo mundo, e um administrador de equipamentos de rede cuja autorização TACACS+ para nos comandos show não pode ser induzido a mudar uma rota. É simples de enunciar e infinitamente difícil de manter, porque os privilégios de que uma pessoa precisa mudam a cada projeto, transferência e emergência, e cada mudança acrescenta e poucas removem. Esse é o assunto do verbete privilege creep, e a resposta do catálogo é o AC-6(7), Review of User Privileges: revisar, numa frequência definida, os privilégios atribuídos a papéis ou classes de usuários para validar a necessidade desses privilégios, e reatribuir ou remover privilégios, se necessário, para refletir corretamente a missão e as necessidades do negócio, porque, na discussão do controle, a necessidade de certos privilégios atribuídos pode mudar com o tempo. O AC-2(3) acrescenta a arrumação, desabilitar contas que expiraram, não estão mais associadas a uma pessoa, violam a política ou ficaram inativas, o que o catálogo diz que sustenta os conceitos de menor privilégio e de menor funcionalidade, que reduzem a superfície de ataque do sistema.
Na prática o menor privilégio é implementado pelos modelos que os verbetes vizinhos descrevem: papéis que embrulham o que uma função precisa e nada mais, atributos que acrescentam condições, segregação de funções que mantém separadas as combinações perigosas, e os protocolos AAA que impõem o resultado numa porta, num equipamento ou numa aplicação. A pergunta a fazer a qualquer concessão é a que Saltzer e Schroeder fizeram: este é o menor conjunto de privilégios necessário para completar o trabalho e, quando o trabalho acaba, quem o retira.
Também conhecido como: least-privilege, polp, principle of least privilege, need-to-know, minimum necessary access
Fontes
- Saltzer and Schroeder, The Protection of Information in Computer Systems (Communications of the ACM 17(7), July 1974, per the web edition read): design principle (f), least privilege, and the need-to-know example (read 2026-10-06)
- NIST CSRC glossary, least privilege: the CNSSI 4009, SP 800-53 Rev. 5 and SP 800-171r3 definitions (read 2026-10-06)
- NIST SP 800-53 Rev. 5 control catalogue, OSCAL edition 5.2.0: AC-6 Least Privilege and its discussion, AC-6(7) Review of User Privileges, AC-2(3) Disable Accounts (read 2026-10-06)