login
Tue 03 of Oct, 2023 (21:17 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

Métodos de Controle de Acesso

Criada por: Frederico Madeira, última modificação em: Sun 20 of May, 2012 (15:21 UTC)
Introdução


O Controle de acesso a sistemas e a redes de computadores, são fundamentais para garantir a confiabilidade,integridade e disponibilidade destes. Estas três importantes características são conhecidas por CIA (Confidentiality, integrity, availability)

  • Confidencialidade
Uma data informação/rede não será acessada por uma pessoa ou processo que não possua autorização para realizar este acesso.

  • Integridade
Para descrever esta característica, o faremos através de três objetivos:
- Prevenir contra a modificação da informação por usuários não autorizados
- Prevenir contra a modificação (não autorizada ou não intencional) por usuários autorizados
- Preservação da consistência interna e externa da informação
Interna: os dados são consistentes, ou seja a quantidade de objetos indicados em um sistema, coincide com a quantidade de objetos existentes no mundo real
Externa: garante que os objetos indicados no sistema são exatamente os objetos existentes no mundo real

  • Disponibilidade
Garante que um usuário do sistema/rede que seja autorizado, terá seu acesso garantido de forma ininterrupta as informações deste sistema/rede

Os controles de acesso são importantes não apenas para evitar que invasores tenham acesso, mas também para limitar o acesso de usuários autorizados aos dados do sistema/rede.

Durante o planejamento/implementação do controle de acesso, deve ser considerado as em relação ao mecanismo adotado:

  • As ameaças (Threat) ao sistema
  • As vulnerabilidades (Vulnerability) do sistema a essas ameaças
  • O Risco (Risk) dessas ameaças realmente ocorrerem.

Neste cenário, definimos os termos acima da seguinte forma:

  • Ameaças (Threat): um evento ou atividade que tem potencial para causar dano ao sistema de informação ou a rede
  • Vulnerabilidade (Vulnerability): Uma fraqueza ou falta de proteção que pode ser explorada por uma ameaça causando dano ao sistema de informação ou a rede
  • Risco (Risk): Medida da possibilidade de perda ou dano a um sistema de informação ou rede. Probabilidade que uma data vulnerabilidade se torne real

Controles


São implementados para mitigar o risco e reduzir o potência de perda. Os mecanismos podem ser:

  • preventivos (preventive): a implementação do controle é feita par evitar/inibir ocorrências que causem algum dano ao sistema ou rede
  • detectivos (detective): utilizado para descobrir ocorrências que causaram algum dano ao sistema ou rede
  • corretivos (corrective): utilizado para restaurar o sistema que foi vitima de um ataque

A implementação destes controles pode ser administrativa, lógica ou técnica, onde:

  • controles administrativos incluem politicas e procedimentos, treinamentos de segurança. checagens em background, verificações de hábitos de trabalho e aumento da supervisão
  • controles lógicos ou técnicos estão relacionados a restrição de acesso a um sistema e a proteção da informação. Exemplos desses controles são: cifragem de dados, smart cards, utilização de ACL (access control lists) e protocolos de transmissão.
  • Controles físicos estão relacionados a guarda e segurança de ambientes de forma geral, como por exemplo, trancar as portas, proteger a sala dos servidores ou notebooks, proteção de cabos, etc..

Em geral, um grupo de processos que compartilham acesso ao mesmo recurso é chamado de domínio de proteção (protection domain)

Modelos de controle de acesso


Controlar a acessos de uma pessoa ou processo a um objeto (ex: um arquivo) necessita a configuração de regras de acesso. Estas regras são classificadas em três categorias ou modelo:

  • Mandatory Access Control (MAC) - Acesso de controle mandatório

Baseado em labels que definem a autorização de acesso a informação dependendo de sua classificação ou criticidade. Um exemplo clássico deste método é a forma como os militares classificam seus documentos:


Um usuário no sistema só poderia ter acesso de leitura a um objeto se o seu clearance for maior ao igual à classificação do objeto. Para exemplificar, imagine que um usuário receba autorização para acesso a informações secretas e confidenciais, então ele terá acesso de leitura aos documentos que possuam a classificação secreta e a todos os níveis abaixo.

Para evitar que um usuário com uma classificação alta, altere a classificação indevidamente de um documento (SECRET -> CONFIDENTIAL) permitindo a leitura do mesmo por níveis inferiores, a escrita também é controlada, de forma que um usuário só poderá alterar uma informação se sua autorização for menor ou igual a classificação atual do documento. Desta forma, um usuário com classificação secreta, jamais conseguiria alterar a classificação para confidencial.

Este modelo prevê que usuários individuais não tenham escolha em relação a que permissões de acesso eles possuem ou a que objetos podem acessar.

Neste modelo, os usuários individuais não são considerados donos dos objetos, e não podem definir suas permissões – isso é realizado pelos administradores do sistema.

  • Discretionary Access Control (DAC)- Controle de acesso discrecionário

Neste modelo, o usuário possui autoridade, para definir quais objetos são acessíveis. Um exemplo dessa característica, seria a utilização de ACL's (access control lists).

Uma lista de acesso (ACL) é uma lista que possui as autorizações de usuários em relação aos objetos que se deseja controlar. Uma ACL contem os usuários que terão acesso aos objetos e quais privilégios terão sobre eles.

Neste modelo, os usuários individuais são “donos” do objetos, tendo controle (discreção) total em quem deve ter permissões para acessar o objeto. Um usuário transforma-se em dono do objeto ao criá-lo.

Atualmente, o DAC é o modelo mais popular de controle de acesso, pela sua utilização em grande escala em sistemas operacionais comerciais. Todas as variantes do UNIX, o Netware e a série Windows NT, 2000 e XP utilizam o modelo DAC como seu modelo básico de controle de acesso. Estes sistemas operacionais utilizam extensamente a técnica de listas de controle de acesso para conceber a implementar as suas checagens de autorização, dispondo também do conceito de grupos de usuários para facilitar na administração e concessão de permissões.

O modelo DAC possui uma fraqueza inerente: o fato de que informação pode ser copiada de um objeto para outro, de modo que acesso a uma cópia é possível mesmo que o dono do objeto original não tenha provido acesso ao original. Usuários que possuem acesso ao objeto original podem inadvertidamente permitir a realização de cópias não-autorizadas, ao executar um programa “cavalo de tróia” que faça a cópia dos dados do objeto sem a explícita autorização ou cooperação do usuário.
Essa fraqueza do modelo DAC tornou-o insuficiente para sistemas militares, em que a informação precisava ter um alto nível de controle e ser resistente a ataque por cavalos de tróia, fomentando a criação do modelo MAC.

  • Role-Based Access Control (RBAC) - Controle de Acesso baseado em papéis

Este modelo também é conhecido como Controle de acesso não discrecionário (Non-Discretionary Access Control), onde uma autoridade central determina/gerencia quais usuários podem ter acesso aos objetos controlados. A autorização é dada baseando-se no papel (role) que o usuário desempenha na organização (role-based) ou responsabilidades deste usuário na organização(task-based)

Em organizações em que temos mudanças constantes de funcionários, o modelo RBAC ajuda no sentido em que o perfil de acesso dos novos usuários será definido pelo titulo, papel ou responsabilidades deste usuária dentro da organização.

Papéis são criados para as várias funções de negócio da organização, e os usuários são associados a esses papéis de acordo com suas responsabilidades e qualificações. Usuários podem ser facilmente reassociados de um papel para outro. Papéis podem receber novas permissões de acesso à medida que novas aplicações ou funcionalidades são adicionadas ao sistema, e permissões podem ser revogadas sempre que necessário.

No modelo DAC temos que associar um usuário a cada um dos objetos, já no modelo RBAC, associamos o papel(role) ao objeto, tornando muito mais fácil e escalável a administração/gerenciamento do sistema de controle de acesso.

Referências


  • Krutz, Ronald; Vines, Russel. The Cissp Prep Guide. Wiley, 2004. 2a Edição. Capítulo 2.
  • Mattos, Cristiano. Sentinel: um engenho Java para controle de acesso RBAC. Universidade Federal de Pernambuco. Centro de Informática, 2003
  • Puryear, Dustin. Comparing Access Control in Windows and Linux. NetworkWorld Website, 2010

Comentários