Controle de acesso discricionário
O Controle de Acesso Discricionário ( DAC ) ou controle de acesso definido pelo usuário é um conceito de segurança para sistemas de TI. A decisão de se um recurso pode ser acessado é feita exclusivamente com base na identidade do ator. Isso significa que os direitos de acesso para objetos (de dados) são definidos para cada usuário . O uso de funções de usuário e grupos representa um enfraquecimento desse conceito (consulte Controle de acesso baseado em função ).
O Controle de Acesso Discricionário é o oposto do Controle de Acesso Obrigatório , que permite o acesso com base em regras gerais e informações adicionais sobre o ator.
administração
Formalmente, direitos de acesso em um sistema com controle de acesso discricionário podem ser descritos como uma relação de sujeito, objeto e direito: (S, O, R) → {sim, não}; Isso corresponde a uma matriz de entradas S × O (uma entrada por par sujeito-objeto), onde cada entrada é o conjunto de direitos que o sujeito possui sobre o objeto, ou seja: r (o, s) → R *.
Uma característica especial é que os sujeitos podem passar seus próprios direitos para outros sujeitos, enquanto com o Controle de Acesso Obrigatório apenas uma autoridade administrativa central pode atribuir direitos.
Nesse contexto , os sujeitos são atores , por exemplo , usuários , processos ou programas . Objetos são dados ou recursos (como arquivos , impressoras, etc.) nos quais um sujeito pode realizar operações. Deve-se observar que os assuntos também podem ser objetos: Um administrador (assunto), por exemplo, tem o direito de excluir um usuário (neste contexto, um objeto). Por outro lado, um objeto pode se tornar um assunto, por exemplo, quando um programa é “iniciado”, ou seja, um processo é criado a partir de um arquivo.
Uma forma de representar os direitos de acesso que leva em conta esse fator é a representação como um grafo com arestas rotuladas direcionadas: Cada nó no grafo corresponde a um sujeito ou objeto, cada aresta a uma relação "tem direitos".
No Unix e no Windows , os direitos são atribuídos por meio de uma lista de controle de acesso compartilhada gerenciada pelo administrador, também conhecida como DACL (Lista de Controle de Acesso Discricionário). As entradas nesta lista são abreviadas como ACE (Access Control Entry). As configurações de monitoramento são controladas por meio da SACL (Lista de Controle de Acesso ao Sistema), que contém todas as funções de segurança e gera os eventos quando a DACL é acessada.
desvantagem
Pode ser necessário conceder ao usuário direitos de acesso estendidos para certas operações restritas. Um exemplo disso é quando o usuário muda sua própria senha no Unix .
Para habilitar tais operações, o programa correspondente é fornecido com a chamada bandeira SUID no Unix , para que o programa seja executado sob a identificação do usuário do proprietário do arquivo do programa. Freqüentemente, é o usuário root que tem acesso a todos os recursos do sistema em um sistema Unix.
Isso cria o risco de que uma pessoa não autorizada obtenha controle total do sistema , explorando uma lacuna de segurança .
Por esta razão, extensões foram desenvolvidas para certos sistemas operacionais, como Linux ou FreeBSD , que são baseados em um conceito de segurança diferente. Com esses aprimoramentos, as decisões sobre direitos de acesso não são mais tomadas apenas com base na identificação do usuário sob a qual um programa Unix é executado. Isso evita que um invasor assuma o controle total de um sistema explorando uma falha de segurança.
Veja também
Evidência individual
- ↑ Controles de acesso baseados em funções (PDF; 62 kB), David F. Ferraiolo e D. Richard Kuhn, 15ª Conferência Nacional de Segurança de Computadores, 1992, NIST.