Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/11/2014 Banco de Dados - Prof. Jorge Soares 1 Sistemas de Bancos de Dados Prof. Jorge Soares jasoares@uerj.br Tema Segurança e Autorização em SGBDs Relacionais Agenda do dia • Por que segurança em SGBDs? • Ameaças a BDs • Medidas de proteção a BDs • Controle de acesso discricionário • Controle de acesso obrigatório 28/11/2014 Banco de Dados - Prof. Jorge Soares 2 Motivação • Apresentação de técnicas utilizadas para proteger o BD (todo ou partes) do acesso não autorizado. Questões envolvidas • Legais e/ou éticas • Políticas institucionais ou organizacionais • Relacionadas ao nível de sistema 28/11/2014 Banco de Dados - Prof. Jorge Soares 3 Ameaças • Perdas de – Integridade – Disponibilidade – Confidencialidade Medidas de proteção • Controles de – Acesso �Contas de usuário/programas, audit trail, login session – Inferência – Fluxo • Criptografia 28/11/2014 Banco de Dados - Prof. Jorge Soares 4 Controle de acesso discricionário • Concessão e revogação de privilégios • Níveis de atribuição – Conta – Relação Controle de acesso discricionário • Em nível de conta – Privilégios para execução de comandos tais como CREATE, ALTER, DROP, SELECT etc. 28/11/2014 Banco de Dados - Prof. Jorge Soares 5 Controle de acesso discricionário • Controle de acesso em nível de relação Controle de acesso discricionário • Comandos SQL de concessão e revogação (forma básica) – GRANT privilégio(s) ON objeto(s) TO sujeitos(s) – REVOKE privilégio(s) ON objeto(s) FROM sujeitos(s) • Exemplos: GRANT SELECT ON TB1, TB2 TO usr.JoaoSilva REVOKE INSERT, DELETE ON TB3 FROM usr.DanSa 28/11/2014 Banco de Dados - Prof. Jorge Soares 6 Controle de acesso discricionário • Criação de um grafo de concessão de privilégios Controle de acesso discricionário • Propagação de privilégios: GRANT OPTION • Exemplo – DBA cria quatro contas A1, A2, A3 e A4 – A1 ganha o privilégio CREATETAB – A1 cria as seguintes relações: 28/11/2014 Banco de Dados - Prof. Jorge Soares 7 Controle de acesso discricionário Controle de acesso discricionário • A1 quer conceder a A2 o direito de inserir e remover tuplas nas relações EMPREGADO e DEPARTAMENTO, sem direito à propagação GRANT INSERT, DELETE ON EMPREGADO, DEPARTAMENTO TO A2 28/11/2014 Banco de Dados - Prof. Jorge Soares 8 Controle de acesso discricionário • Agora A1 quer conceder a A3 o privilégio de seleção nas duas relações, com direito à propagação GRANT SELECT ON EMPREGADO, DEPARTAMENTO TO A3 WITH GRANT OPTION � O proprietário do objeto tem direito de propagação! Controle de acesso discricionário • A3 propaga o privilégio de seleção nas duas relações para A4, sem que este último também possa propagar GRANT SELECT ON EMPREGADO, DEPARTAMENTO TO A4 28/11/2014 Banco de Dados - Prof. Jorge Soares 9 Controle de acesso discricionário • A1 decide revogar o direito de A3 selecionar tuplas na relação EMPREGADO REVOKE SELECT ON EMPREGADO FROM A3 � Com essa ação, A4 também perdeu o direito de seleção na tabela EMPREGADO !! Controle de acesso discricionário • O uso de visões também é considerado um mecanismo de segurança de SGBDs • Outro exemplo: – A1 quer agora permitir que A3 visualize apenas o nome, data de nascimento e endereços de empregados que possuam o número de departamento NRD = 5 – A3 poderá propagar o privilégio 28/11/2014 Banco de Dados - Prof. Jorge Soares 10 Controle de acesso discricionário • Solução: CREATE VIEW A3EMPREGADO AS (SELECT nome, datanasc, endereco FROM empregado WHERE NRD=5) GRANT SELECT ON A3EMPREGADO TO A3 WITH GRANT OPTION Controle de acesso discricionário • A1 quer agora permitir a possibilidade de A4 atualizar apenas o atributo salário da relação EMPREGADO: GRANT UPDATE ON EMPREGADO(salario) TO A4 28/11/2014 Banco de Dados - Prof. Jorge Soares 11 Controle de acesso obrigatório • Alvo de classificação: sujeitos (S) e objetos (O) • Categorias em ordem crescente de restrição – Não Confidencial – Confidencial – Secreto – Altamente secreto Controle de acesso obrigatório • Restrição � S possui permissão de leitura ou escrita sobre O se Classe(S) >= Classe(O) onde Classe(S) e Classe(O) indicam, os níveis de classificação de acesso/segurança de um sujeito e um objeto.
Compartilhar