Gestão de Controle de Acesso
Modelos de gestão de controle de acesso, é importante perceber que esses modos não são mutualmente exclusivos, uma mesma máquina pode gerenciar mais de um modelo de acesso ao mesmo tempo. É comum que computadores venham com DAC ativado, para que posteriormente um modelo MAC possa ser ativado, tal como o SELinux.
DAC (Discritionary Acess Control)
Cada recurso possui um proprietário (owner) claramente identificado. O usuário que cria um arquivo ou recurso torna-se automaticamente proprietário do recurso e ele decide, a seu critério, quais outros sujeitos podem acessar o recurso.
A característica chave do DAC é justamente a discricionaridade do proprietário na conceção de acesso.
A conformidade com a politica de segurança da organização não é tecnicamente imposta pelo sistema operacional, remete ao próprio usuário proprietário do recurso. O proprietário define quais permissões serão concedidadas, como leitura, escrita ou execução. O proprietário pode criar grupos e também atribuir permissões a grupos. Uma forma comum de implementar o DAC é por meio de ACLs (Access Control List).
A maioria dos sistemas operacionais implementa de forma padrão o DAC pois pressupõe simplicidade no manuseio das permissões de um arquivo.
Em ambientes mais complexos, como empresariais, a administração de permissões quando se lida com muitos usuários e processos torna-se demasiadamente complexa.
Ainda pode dar margem ao que se conhece como privilege creep, que ocorre quando privilégios concedidos a usuários não são revogados quando deixam de ser necessários.
MAC (Mandatory Acess Control)
No MAC, a autorização de acesso é definida e imposta pelo sistema operacional.
O proprietário do recurso não tem poder de decisão sobre quem pode ou não acessar o recurso. Cada recurso recebe um rótulo de segurança que representa a sua sensibilidade, além disso, cada pessoa também recebe um rótulo de segurança que indica seu nível de autorização ou cleareance. Classificações de segurança comuns em ambientes governamentais ou militares incluem top secret, secret, confidential e unclassified. No setor comercial, exemplos de classificações incluem confidential, private, sensitive e public.
As categorias representam agrupamentos relevantes para a organização, como equipes de trabalho, projetos ou unidades de negócio. O sistema, portanto, autoriza o acesso a um objeto apenas se o rótulo do sujeito for igual ou superior ao rótulo do objeto. Portanto, sistemas baseados em MAC são mais seguros que sistemas baseados em DAC, pois reduz o risco de permissões mal configuradas.
A administração do MAC também é mais complexo se compararmos com ao DAC.
A política de segurança é aplicada exclusivamente por meio de rótulos de segurança pelo sistema operacional ou pelo mecanismo de aplicação de políticas. O usuário não pode estabelecer exceções. Um exemplo de sistema operacional que implementa MAC é o SELinux.
A segurança no MAC depende diretamente da correta definição dos rótulos e políticas[1]:.
RBAC (Role-based Access Control)
Neste modelo, o sistema toma decisões de autorização com base no papel (role) atribuído ao sujeito.
No RBAC cada pessoa precisa ser associado a um ou mais papéis. A atribuição de usuários a papéis é realizada pelo administrador do sistema (Esse processo é chamado de user assignment (UA). Cada papel possui permissões associadas a objetos do sistema. A atribuição de permissões aos papéis é chamada de permission assignment (PA).
A administração é simplificada porque usuários são associados a papéis, e não diretamente a permissões de objetos.
Quando um usuário muda de função, basta removê-lo do papel antigo e atribuí-lo a um novo papel. Não é necessário alterar permissões individualmente em todos os objetos acessados anteriormente. Um sujeito pode ser associado a vários papéis simultaneamente. Um mesmo papel pode conter vários sujeitos.
Um papel pode ter múltiplas permissões associadas. A mesma permissão pode ser atribuída a diferentes papéis. Essa estrutura cria uma relação muitos-para-muitos entre sujeitos, papéis e permissões.
Segundo o NIST, o modelo RBAC possui quatro componentes principais.
- O primeiro componente é o flat RBAC.
- O segundo componente é o hierarchical RBAC.
- O terceiro componente é o constrained RBAC.
- O quarto componente é o symmetric RBAC.
Esses componentes definem variações e extensões do modelo RBAC. O RBAC é amplamente adotado por equilibrar controle centralizado, escalabilidade e alinhamento com princípios de segurança.
ABAC (Attribute-based Access Control)
Uma evolução dos modelos de controle de acesso que incorpora regra mais complexas. O ABAC considera fatores além da identidade ou papel do usuário. Alguns exemplos que poderíamos citar seriam localização, horário, restrições temporais nível de risco e informações sobre ameaças.
Neste modelo são levado em consideração atributos associados a sujeitos, objetos e ambiente e um conjunto de políticas associados a esses atributos ou condições.
Uma certa vez visitei a casa da moeda, um dos clientes numa empresa que trabalhei e me impressionou bastante que os acessos a determinados locais eram feitos com uma janela de tempo e se fôssemos lentos ou rápidos demais para acessar uma catraca, era necessário repetir a autorização entrando em contato com a central de segurança ou aguardar liberação em virtude do horário. Assim também procediam com os acessos aos terminais eletrônicos e computadores.
. The complete cybersecurity bootcamp (2nd edition). (2022). Pearson IT Certification. ↩︎