Transcript
Page 1: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

1. Introdução2. Controle de acesso discricionário3. Controle de acesso mandatário4. Controle de acesso baseado em papéis

Segurança de Banco de Dados - Prof. Msc Rodrigo SantosCopyleft

Page 2: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 2

Subsistema de Autorização

Regras de acesso

Política deSegurança

Pedido deAcesso

Autenticação

Negado

Permitido

Requer modificação no pedido

Administração de usuários, grupos, papéis níveis de segurança

Page 3: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Os mecanismos de controle de acesso são usados para implementar as políticas de autorização.

Define quem pode fazer o que em um sistema

Se refere a sistemas grandes (S.O, bancos de dados, prontuários de pacientes em um hospital)

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 3

Matriz de Acesso

Monitor deReferênciaSujeitos Objetos

Três modelos de controle de acesso

Page 4: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Discretionary Access Control (DAC) Os direitos de acesso a cada informação

são manipulados livremente pelo responsável da informação, à sua discrição = sobre controle do usuário – muito comum em sistemas operacionais

Não especifica o que são direitos. Os mais comuns (em S.O.) são : direito de ler o dado/ arquivo (afeta o requisito

de confidencialidade) direito de escrever o dado/ arquivo (afeta os

requisitos de integridade e disponibilidade).Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 4

Page 5: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 5

Pedido deAcesso

O pedido satisfaz as regras de autorização

Regras de autorização

Acesso Permitido Acesso Negado

SIM NÃO

Page 6: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

DAC em BD: baseado em conceder e revogar privilégios (linguagem, ex: SQL) DBA concede aos usuários privilégios

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 6

Page 7: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Em SQL:grant <lista de privilégios> on <nome da tabela ou visao> to <lista de usuário/conta>Ex: grant select on agencia to U1, U2, U3revoke <lista de privilégios> on <nome da tabela ou visao> from <lista de usuário/conta> [restrict | cascade]Ex: revoke select on agencia to U1, U2, U3

cascade

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos 7

DAC: Limitações - vazamentos de informações!!!

Page 8: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

8

Daniella Rodrigo

Fabio

confia

nãoconfia

Faz uma copia do arquivo A de Daniella

Concede o acesso de leitura ao arquivo A para Fabio Confiança não

é transitiva!

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 9: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Cavalo de Tróia Programas que fazem algo útil e roubam

informação, por baixo do pano Programas baixados da rede (Windows) Mesmo sendo confiável, Maria pode ser a fonte de

um vazamento (involuntariamente) Maria é dona do arquivo CUSTO, ao qual não deu

direito de leitura para ninguém. Maria roda o programa MUSICA+ ROUBA que toca

musicas MP3 e, baixo do pano, copia CUSTO para a área de João (ou manda por e-mail)

9Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 10: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Mandatory Access Control (MAC) Administração Centralizada Impõem regras incontornáveis que se acrescentam

às regras discricionárias Usuários e objetos (recursos do sistema) são

etiquetados Um usuário será autorizado a manipular uma

informação do sistema se o direito de leitura é posicionado sob a informação para ele (controle discricionário) e se ele está habilitado a manipulá-la.

10

Níveis de Habilitação ClassificaçãoComparaçãoUsuários Objetos

Page 11: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

11

Pedido deAcesso

O pedido satisfaz as regras de autorização

Classes dos objetos

Acesso Permitido Acesso Negado

SIM NÃO

Habilitação dos usuários

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 12: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

A regra básica do MAC é: Não leia para cima Não escreva para baixo

12

Níveis de Habilitação ClassificaçãoComparaçãoUltra-secreto SecretoLimitadoPúblico

Uma pessoa que se logou com nível de secreto não pode ler dados de alto secreto. Da mesma forma, se uma pessoa se logou com

nível de secreto não pode escrever um arquivo com nível limitado

Ultra-secreto SecretoLimitadoPúblico

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 13: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Controle mandatário elimina o problema de Cavalos de Tróia: Maria se loga com nível secreto. Ela pode acessar o dado CUSTO que

também tem nível secreto. Ela roda o programa MUSICA+ ROUBA, que

tenta copiar CUSTO para a área de João. João tem nível de segurança limitado, e

portanto a regra “não escreva para baixo” se aplica: alguém com nível secreto não pode escrever para alguém com nível limitado.

13Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 14: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Controle de acesso obrigatório tem uma inconveniência: As pessoas precisam definir com que nível de acesso elas se

“logam” no sistema. P. ex., como Maria (com nível segredo), pode mandar um mail para

João (com nível limitado) para marcar um almoço? (não pode escrever para baixo!)

Para falar com João, Maria precisa se logar com nível igual ao de João, neste caso limitado. Porém, quando ela se loga com nível limitado, passa a não ter acesso aos seus dados de nível segredo!

Controle de acesso obrigatório não tem o problema de transitividade de confiança. A empresa é que decide que João, depois de provar sua confiabilidade, passa a ter acesso de nível secreto (não há vazamento de informação)

14Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 15: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

MAC – muito rígido DAC- Muito pouco protegido Alternativa – RBAC (Role Based Access Control) Requer que direitos de acesso sejam atribuídos a

papéis e não a usuários Modelo

Existem pessoas (usuários). Existem papéis ou funções (médico, programador, analista de

credito) Existem direitos (acessar o dado A, rodar o programa X, escrever

na tabela Y do banco de dados Z). Existe uma tabela que relaciona usuários com os papéis que eles

podem assumir Existe uma tabela que relaciona os direitos que cada papel tem.

15Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 16: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Uma pessoa pode assumir mais que um papel. João é programador em C, programador em Java, administrador de rede, e funcionário do depto. de sistemas.

Papéis estão organizados em hierarquias de herança (mais específico herda do mais geral) para facilitar. Médico tem vários direitos, cardiologista herda osdireitos de médico e acrescenta mais alguns (ordenar teste ergonométrico, ordenar cardio- Doppler, etc). Um papel normalmente tem vários direitos: programadores em C

podem usar vários compiladores, podem escrever nos diretórios g:/ projetos/ C/, qualquer funcionário pode ler e- mail, etc.

As pessoas se identificam para o sistema e decidem que papel elas executarão.

16Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 17: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Para o administrador definir o papel (define): Grupo de operações ou privilégios Grupo de objetos que o papel terá acesso Grupo de usuários ou papéis que farão parte deste papel

específico Para criar o papel, o usuário deve ter o privilégio.

grant create role to <usuário> create role <nome do papel> [identified by <senha>] create role lancamento_contabil create role libera_pagamento identified by senhadificil grant privilegio(s) on tabela(s) to rolename grant select, insert, delete, update on lancamentos to

lancamentos_contabeis grant lancamentos_contábeis to Paulo

17Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 18: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

Como no obrigatório, é a organização que decide que direitos cada papel tem, e quem pode assumir que papéis

Uma vez definidas as tabelas, o gerenciamento é fácil. Um funcionário foi contratado, crie seu usuário e liste os papéis dele. Um funcionário foi promovido, acrescente novos papéis ao usuário dele na tabela

RBAC está sendo considerado como uma inovação importante em segurança e administração.

O NIST organiza a padronização desta tecnologia. http://csrc.nist.gov/rbac/

Windows NT já tem componentes de RBAC, bancos de dados também

18Segurança de Banco de Dados - Prof. Msc Rodrigo Santos

Page 19: 1. Introdução 2. Controle de acesso discricionário 3. Controle de acesso mandatário 4. Controle de acesso baseado em papéis Segurança de Banco de Dados

19

Gerente de Agência

Ger. Pessoa Física Ger. Pessoa Jurídica

CaixaContas

P. Física

CaixaPoupançaP. Física

CaixaContas

P. Jurídica

CaixaPoupançaP. Jurídica

ver_saldo (P.Fis)depositar (P.Fis)transferencia (P.Fis)

ver_saldo (P.Jur)depositar (P.Jur.)transferencia (P.Jur.)

ver_saldo (P.Jur)depositar (P.Jur.)transferencia(P.Jur.)abrir_conta (P.Jur.)

Tudo o que Ger. Pessoa Física e Ger. Pessoa Jurídica podem fazer

Segurança de Banco de Dados - Prof. Msc Rodrigo Santos


Recommended