separation of duties
termogovernança e riscosegurançacultura de operações
O controle segundo o qual nenhuma pessoa sozinha deve deter privilégio suficiente para fazer mau uso de um sistema, de modo que concluir uma ação sensível exija duas pessoas, ou dois papéis que a mesma pessoa não pode acumular.
O glossário do NIST, citando a SP 800-192, define a segregação de funções como o princípio de que nenhum usuário deve receber privilégios suficientes para fazer mau uso do sistema sozinho, com o exemplo clássico: a pessoa que autoriza um pagamento de salário não deve ser a mesma que consegue prepará-lo. Ela pode ser imposta estaticamente, definindo papéis conflitantes, isto é, papéis que não podem ser exercidos pelo mesmo usuário, ou dinamicamente, impondo o controle no momento do acesso, que é a separação estática e dinâmica que o modelo RBAC expressa como restrições sobre papéis. O controle AC-5 do catálogo exige que as organizações identifiquem e documentem as funções a separar e definam as autorizações de acesso ao sistema de modo a sustentar a segregação, e explica que o controle trata do potencial de abuso de privilégios autorizados e ajuda a reduzir o risco de atividade maliciosa sem conluio, com o exemplo de que o pessoal de segurança que administra as funções de controle de acesso não administre também as funções de auditoria. O princípio é a separação de privilégio de Saltzer e Schroeder, de 1974, em forma organizacional: um mecanismo de proteção que exige duas chaves para ser aberto é mais robusto e flexível do que um que dá acesso a quem apresenta uma única chave.
A segregação de funções é o controle que se recusa a confiar completamente em qualquer pessoa, e é mais antiga que a computação: quem lança os pagamentos nos livros não assina os cheques. O glossário do NIST, citando a Special Publication 800-192, a define como o princípio de que nenhum usuário deve receber privilégios suficientes para fazer mau uso do sistema sozinho, dá o exemplo canônico, a pessoa que autoriza um pagamento de salário não deve ser a mesma que consegue prepará-lo, e nomeia os dois jeitos de impô-la: estaticamente, definindo papéis conflitantes, isto é, papéis que não podem ser exercidos pelo mesmo usuário, ou dinamicamente, impondo o controle no momento do acesso. A separação estática diz que os dois papéis nunca podem ser atribuídos à mesma pessoa; a dinâmica admite a atribuição mas proíbe que ambos estejam ativos na mesma sessão, de modo que quem pode preparar e aprovar não consiga fazer as duas coisas com a mesma transação.
O ancestral computacional do princípio é o que Saltzer e Schroeder listaram logo antes do menor privilégio. Sua separação de privilégio diz: onde viável, um mecanismo de proteção que exige duas chaves para ser aberto é mais robusto e flexível do que um que dá acesso a quem apresenta uma única chave. Eles creditam a Needham, em 1973, a observação de sua relevância para sistemas de computação, e o raciocínio é o organizacional: uma vez que as duas chaves estejam com programas, organizações ou pessoas diferentes, nenhum acidente, engano ou quebra de confiança isolado basta para comprometer o que elas protegem.
O catálogo de controles o transforma em requisito. O AC-5, Separation of Duties, pede às organizações que identifiquem e documentem as funções que devem ser separadas e que definam as autorizações de acesso ao sistema de modo a sustentar a segregação. Sua discussão explica o objetivo, que o controle trata do potencial de abuso de privilégios autorizados e ajuda a reduzir o risco de atividade maliciosa sem conluio: um controle que uma pessoa consegue derrotar sozinha é derrotado por uma pessoa desonesta ou comprometida, enquanto um controle que precisa de duas as obriga a conspirar, o que é mais difícil, mais raro e mais vezes detectado. Os exemplos que o catálogo dá são os que as equipes de infraestrutura reconhecem: dividir funções de missão ou de negócio e funções de suporte entre indivíduos ou papéis diferentes, conduzir funções de suporte de sistema com indivíduos diferentes e garantir que o pessoal de segurança que administra as funções de controle de acesso não administre também as funções de auditoria. O último é o que mais se perde em equipes pequenas, em que o administrador dos sistemas é também o administrador do servidor de logs que registraria suas ações.
Nos modelos de acesso, a segregação de funções é uma restrição. O modelo RBAC a expressa como papéis mutuamente exclusivos, estáticos ou dinâmicos, e uma política baseada em atributos pode expressá-la como a regra de que quem aprova um registro não pode ser seu autor. Na operação ela é um processo de mudança em que o engenheiro que escreve uma alteração de configuração não é quem a aprova, uma esteira de implantação em que quem pode mesclar código não consegue sozinho promovê-lo à produção, uma cerimônia de chaves que precisa de dois custodiantes e um projeto de contabilização em que as pessoas que administram os equipamentos de rede não conseguem alterar os registros do TACACS+ e do syslog do que fizeram. O privilege creep é seu inimigo lento: uma pessoa que acumula papéis ao longo de transferências acaba detendo as duas metades de uma função segregada sem que ninguém tenha decidido isso, e é por isso que o catálogo diz que a segregação é imposta por meio das atividades de gestão de contas do AC-2 e por isso as revisões de acesso conferem combinações conflitantes além de excessos.
Os verbetes ao lado deste completam o quadro: o menor privilégio para o princípio de que cada pessoa deve deter o mínimo, RBAC e ABAC para os modelos que expressam as restrições, privilege creep para a deriva que as corrói e accounting para os registros que deixam um revisor ver se a segregação se manteve.
Também conhecido como: segregation of duties, sod, separation of duty, two-person rule, four-eyes principle, dual control
Fontes
- NIST CSRC glossary, separation of duty (from NIST SP 800-192): no user given enough privileges to misuse the system alone, the paycheck example, static enforcement by conflicting roles and dynamic enforcement at access time (read 2026-10-06)
- NIST SP 800-53 Rev. 5 control catalogue, OSCAL edition 5.2.0: AC-5 Separation of Duties, abuse of authorized privileges and malevolent activity without collusion, dividing functions, access control and audit administered by different people, enforcement through AC-2 account management (read 2026-10-06)
- 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 (e), separation of privilege, the mechanism that requires two keys, credited to Needham 1973 (read 2026-10-06)