Sie sind auf Seite 1von 20

Sentinel: um engenho Java para controle de acesso RBAC

Trabalho de graduao Segurana da Informao CIn / UFPE

Cristiano Lincoln de Almeida Mattos <lincoln@tempest.com.br> Agosto / 2003

Agenda

Motivao do trabalho Objetivos Viso geral de controle de acesso RBAC Role Based Access Control Sentinel arquitetura e funcionalidades Trabalhos futuros

Trabalho de graduao em segurana da informao

Motivao do trabalho
Segurana cada vez mais necessrio em sistemas
computacionais e controle de acesso um aspecto bsico Controle de acesso costuma ser mal dimensionado, arquitetado e implementado em muitas aplicaes Resultados: Permisses excessivas Muito esforo para gerenciamento Arquiteturas restritas e inflexveis Reimplementao
Trabalho de graduao em segurana da informao

Objetivos
O objetivo do Sentinel o de ser um engenho de controle de
acesso que possa ser utilizado em grande variedade de aplicaes Java
Arquitetado pensando em flexibilidade e extensibilidade Integrar-se a diferentes tipos de aplicaes Utilizar modelo RBAC, que vem ganhando grande aceitao

O objetivo deste trabalho foi descrever e caracterizar o


problema, traar os critrios para trat-lo, descrever a arquitetura e implementar o engenho
Trabalho de graduao em segurana da informao

Viso geral de controle de acesso


Acesso pode ser definido como a capacidade de realizar
alguma operao em um recurso computacional Controle de acesso baseia-se em trs princpios
Autenticao: o processo de identificao do usurio Vrios tipos: senhas (algo que voc sabe), tokens (algo que voc possui),
biometria (algo que voc ), etc.

Autorizao: uma vez autenticado, o que esse usurio pode fazer? Auditoria: prover mecanismos de acompanhar os eventos do sistema

Conceitos pertinentes
Sujeito Permisso: objeto + operao
Trabalho de graduao em segurana da informao
5

Modelos e polticas de controle de acesso


Modelos de controle de acesso (autorizao) definem
caractersticas primitivas de um conjunto de regras de autorizao a serem utilizadas definem a semntica bsica Dentro de um modelo podem existir diferentes polticas de controle de acesso declaraes sucintas das propriedades de proteo que um sistema precisa possuir
Polticas para sistemas militares, financeiras, para sade, etc.

Os dois modelos mais conhecidas atualmente so MAC


(Mandatory Access Control) e DAC (Discretionary Access Control) RBAC um modelo que vem ganhando bastante fora
Trabalho de graduao em segurana da informao
6

Modelos e polticas de controle de acesso


DAC: usurios so donos de um recurso e tem o controle sobre quem
deve acess-lo com que permisses
Muito utilizado em sistemas comerciais (UNIX, Windows, etc.)

MAC: usurios no so donos do objeto e no podem definir suas


permisses de acesso, atendo-se poltica implantada pelo administrador
Principalmente utilizado em ambientes restritos como militares, financeiros Exemplo de poltica de acesso multinvel Bell Lapadula Rotulao das informao em nveis classified, confidential, secret, top secret, etc. Usurios possuem rtulos e acessam as informaes de acordo com o rtulo delas Propriedades bsicas:
Usurios s podem ler dados de categorias iguais ou menores que a sua: no read up Usurios s podem escrever dados de categorias menores que a sua: no write down

Trabalho de graduao em segurana da informao

DAC e MAC hoje


O MAC reconhecido por ser potencialmente mais seguro e
controlvel, mas no tem obtido popularidade comercial
Pouco flexvel e adaptado aos processos empresariais

O DAC bastante popular no mundo comercial, mas tambm


tem suas deficincias
Gerenciamento complexo, em sistemas com milhares de usurios e recursos Acaba-se gerando permisses excessivamente relaxadas Grupos costumam ser utilizados para simular papis

Nenhum dos dois modelos prev regras de acesso mais


complexas, como separao de privilgios.
Trabalho de graduao em segurana da informao
8

RBAC Role Based Access Control


DAC e MAC associam usurios a permisses
Usurios
n n

Permissoes

RBAC traz o conceito de papel, intermediando esse acesso


Usurios
n n

Papel

Permissoes

Apesar de simples, o conceito traz poder expressivo


Usurio tem permisso de acesso somente se pertence a um papel autorizado a essa permisso Organizaes trabalham em cima de papis / cargos. Por isso, papis so mais estveis que usurios e obejtos: com isso, o gerenciamento facilitado Heranas de papis provem um meio sucinto de expressar privilgios gradualmente maiores RBAC vem sendo bastante discutido na academia e no mundo comercial, com estudos que comprovam a sua eficcia na diminuio de custos com gerenciamento
Trabalho de graduao em segurana da informao
9

RBAC Role Based Access Control


Papis no so grupos de usurios
Apesar de grupos rotineiramente serem utilizados para simular papis em sistemas DAC Em RBAC, grupos expressam caractersticas prprias como local (grupo-usurios-recife)

Hierarquia de papis

Trabalho de graduao em segurana da informao

10

RBAC Role Based Access Control


Hierarquia de Papis

Usurios

Atribuio de Usurios

Papis

Atribuio de Permisses

Permisses
rwx-rw-dr----

Recursos

Sesses

Constraints

Constraints so predicados que atuam sobre uma autorizao de acesso, negando-a ou


permitindo-a com base em critrios mais complexos que o de simples operaes
Separao de privilgios esttica: uma mesma pessoa no pode pertencer a papis excludentes Separao de privlgios dinmica: uma pessoa s pode estar logada com um dos papis de um conjunto excludente Autorizao dependente do contexto: exemplos do mdico na UTI e marinheiro no navio Trabalho de graduao em segurana da informao
11

RBAC Role Based Access Control


O NIST padronizou um modelo RBAC, com diferentes nveis de
complexidade Nveis:
RBAC1 Core RBAC: sem hierarquias nem restries (constraints) RBAC2 Hierarchical RBAC: com hierarquias, sem restries RBAC3 Constrained RBAC: com hierarquias, com restries

O modelo RBAC neutro em termos de poltica, podendo ser configurado


para implantar vrios tipos RBAC pode ser considerado mandatrio ou discrecionrio? Nenhum dependendo da poltica configurada, ele pode pender mais para um lado ou o outro

Trabalho de graduao em segurana da informao

12

Sentinel critrios de design


Segurana
Atender s regras de autorizao do modelo RBAC Utilizar tcnicas de programao segura

Flexibilidade
Ser um engenho de controle de acesso independente de aplicao, mas com mecanismos flexveis para integrao a diferentes tipos de aplicao Suporte a diferentes vrios tipos de autenticao login/senha, certificado digital, etc.

Extensibilidade
O Sentinel prov um framework baseado em plugins que permitem estender e customizar as regras de acesso Plugins so utilizados para implementar autenticadores, constraints e operaes que sejam de necessidade especfica da aplicao

Trabalho de graduao em segurana da informao

13

Sentinel arquitetura e funcionalidades


Desenvolvido em Java Puro: amplamente portvel Genrico e dissociado da aplicao
Porm, toda aplicao tem seu conceito prprio do recurso que deve ser protegido e consequentemente as operaes a serem executadas naquele recurso Para tal, necessria uma camada de adaptao para se integrar aplicao: a definio e implementao dos Resources

Integrao atravs do conceito de Recurso


Pode representar funcionalidades, objetos em um sistema de arquivos, colunas em uma tabela de um SGBD, etc. Implementado com uma classe abstrata provida pela aplicao para definir o namespace e a semntica dos objetos
Exemplos: Arquivo: /etc/passwd, c:\windows\win.ini, /lib/abc* Funcionalidades: Funcionalidade001, RelatorioVendasSemestral, funcoes.relats.vendas Outros tipos: .1.3.6.1.2.1.1.1 (OID de SNMP), dados.planilhas.custos-Recife , dados.* Trabalho de graduao em segurana da informao
14

Sentinel arquitetura e funcionalidades


Classes de definio e semntica do Resource ResourceID

Aplicao usuria
Camada de dados Auditoria/ Logging

Chamadas ao Sentinel de diversos pontos da aplicao

Engenho de Autorizao

Usurios Papis Permisses

Plugins de Autenticao
Certificados Digitais

Nome e senha

Biometria

LDAP

Arq texto Syslog SGBDR

Filesystem XML SGBDR

...

Trabalho de graduao em segurana da informao

15

Sentinel componentizao
Plugins de autenticao
Implementao de classe com interface bem-definida Caso autenticado, recebe uma credencial de acesso que deve ser utilizada em cada pedido de autorizao

Plugins de constraints
Sob a relao usurio papel: acionados na alterao entre usurio e papel, recebe o ID do usurio e o papel envolvidos Sob a relao papel permisses: acionado em um pedido de autorizao, recebe o ID do papel, do objeto e das permisses desejadas No estabelecimento da sesso: acionado no momento do login, recebe o ID do usurio, papel e informaes de origem do usurio

Plugins de operaes
Podem ser implementadas operaes mais complexas e apropriadas a uma determinada aplicao: dbito e crdito ao invs de leitura, escrita e remoo
Trabalho de graduao em segurana da informao
16

Sentinel Integrao opcional


Arquiteturalmente, o Sentinel um Prs: Mais fcil de implementar ou
componente independente dentro da aplicao Cada funcionalidade da aplicao pergunta ao Sentinel se o usurio atual est autorizado a usar uma funcionalidade
Usurios
Configuraes Relatrios Consultas Entrada de Dados Sentinel

retroequipar, no altera significativamente a arquitetura da aplicao Cons: O programador escrever cdigo para perguntar ao Sentinel a cada operao
Usurios Papis Permisses

Fachada

Trabalho de graduao em segurana da informao

17

Sentinel Integrao estilo kernel


O ncleo da aplicao exporta APIs para
Prs: Mais seguro: o desenvolvedor
execuo das funcionalidades com controle de acesso j previamente autorizado no Sentinel As funcionalidades usam-se dessas APIs para implementarem suas tarefas

no tem como esquecer de checar permisses Cons: Requer repensar ou reestruturar radicalmente a aplicao (ou que ela j tenha sido projetada assim)

Usurios

Kernel ou Ncleo
Fachada
Configuraes Relatrios
Stub Stub Stub Stub Usurios Papis Permisses

APIs de Baixo Nvel da App

Consultas
Entrada de Dados

Sentinel

APIs do Sistema Operacional

Trabalho de graduao em segurana da informao

18

Sentinel concluses e trabalhos futuros


Controle de acesso parece simples, mas o campo cheio de sutilezas e
preocupaes prticas (segurana, performance, extensibilidade, gerenciamento, etc.) O campo de RBAC possui teoria bem embasada, mas poucas experincias na modelagem, arquitetura e implementao de engenhos. O Sentinel um passo para suprir essa lacuna e agregar a experincia. Trabalhos futuros
Funcionamento do Sentinel como servio de autorizao em rede. Um autorizador central de um ambiente distribudo Possivelmente utilizando CORBA ou Web Services como interface de acesso Segurana no transporte, e credenciais de acesso resistentes a spoofing Implementao de constraints utilizando princpios de especificao formal do conceito Construo de biblioteca robusta e extensa de plugins de autenticao e constraints para serem utilizados no framework definido pelo Sentinel Melhorias na camada de dados e interfaces de configurao Trabalho de graduao em segurana da informao
19

Referncias
Ross Anderson, Security Engineering: a guide to building dependable
distrited systems, Wiley Computer Publishing, 2001 Ravi S. Sandhu, Edward J. Coyne, Hal L. Feinstein & Charles E. Youman. Role-based access control models. IEEE Computer, 29(2):38-47, February 1996. Michael P. Gallaher, Alan C. OConnor & Brian Kropp, The Economic Impact of Role-Based Access Control, Mar/2002, National Institute of Standards and Technology, US Department of Commerce11 David Ferraiolo & Richard Kuhn, Role-Based Access Control, 1992, Proceedings of 15th National Computer Security Conference David Ferraiolo, Ravi Sandhu, Serban Gavrila, Richard Kuhn & Ramaswamy Chandramouli, Proposed NIST Standard for Role-Based Access Control, August 2001, ACM Transactions on Information and System Security, Vol. 4, No. 3 ...
Trabalho de graduao em segurana da informao
20

Das könnte Ihnen auch gefallen