View
297
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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!!!
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
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
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
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
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
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
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
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
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
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
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
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