Segurança no mundo Apple: controle de acesso obrigatório

Diabinho falando ao celular

É, atrasamos um pouquinho de novo — mas a gente chega lá. 😛

·   ·   ·

Diabinho falando ao celularControle de acesso é um dos itens da segurança da informação e é formado pelos processos de autenticação, autorização e auditoria — conceito abordado inicialmente pelo famoso Orange Book. Na implementação da etapa de autorização, podemos citar:

  • Controle de acesso discricionário (Discretionary Access Control – DAC), política determinada pelo proprietário do objeto (arquivo, diretório, socket, segmento de memória…). O proprietário define quem terá permissão de acesso e qual privilégio. Um exemplo de DAC são as permissões tradicionais do sistema Unix.
  • Controle de acesso obrigatório (Mandatory Access Control – MAC), política determinada pelo sistema e não pelo proprietário do objeto.

O controle de acesso obrigatório é reconhecidamente o mais importante e mais complexo dos itens documentados pela especificação POSIX.1e. É o mecanismo que permite a implantação do que se conhece como Layer-Based Security, ou segurança baseada em camadas. Implementado no Mac OS X a partir da versão 10.5 (Leopard), o kernel inclui uma implementação do framework TrustedBSD Mandatory Access Control (MAC).

Pontos de destaque do Projeto TrustedBSD:

  • Framework de autorização extensível e auditável, que suportam módulos de controle de acesso. Ele oferece o subsistema de labels e definições de objetos (objects) e sujeitos (subjects), com gerência centralizada de política de segurança e acesso a uma vasta gama de eventos de segurança.
  • Módulos de controle imperativo de acesso, que suportam uma variedade grande de modelos de controle, incluindo políticas de ponto flutuante e fixo com label BIBA para políticas de integridade, políticas de confidencialidade MLS, imposição de tipos (Type Enforcement) e outras políticas customizadas.
  • Melhorias no subsistema de privilégios do sistema operacional para minimizar o risco de funções comuns associadas a gerência do sistema.
  • Lista de Controle de Acesso (ACLs) em sistemas de arquivos e outros recursos do kernel, permitindo controle requintado e gerenciável de DAC.

A função do controle de acesso obrigatório é estabelecer políticas que não podem ser substituídas — elas definem restrições de segurança a objetos. De forma imperativa, pode revogar qualquer que seja o privilégio, impondo política própria e adequada de controle de acesso. Ou seja, o controle de acesso obrigatório é imperativo e tem precedência sobre qualquer controle de acesso discricionário. Em alguns casos, nem o root (system administrator) pode ter controle sobre um determinado objeto que possui uma política aplicada.

Recursos presentes no OS X — incluindo sandboxing, Controles Parentais (Parental Controls), Preferências Gerenciadas (Managed Preferences) e backups em rede feitos pelo Time Machine — utilizam controle de acesso obrigatório para estabelecerem suas políticas de controle e segurança.

Quem se interessar sobre o assunto, na próxima semana compartilharei no meu Twitter [@deadrop] um script que implementará políticas de controle de acesso obrigatório, evitando que programas maliciosos se instalem no seu sistema. 😉

Posts relacionados

Comentários