17
Laboratório Laboratório de Banco de de Banco de Dados Dados Aula 02 - Segurança – Autorização Prof. Franklin M. Correia

Aula 02 Segurança e Autorização

Embed Size (px)

DESCRIPTION

Aula 02 da disciplina de Laboratório de Banco de Dados, assunto abordado: Segurança e Autorização

Citation preview

Page 1: Aula 02  Segurança e Autorização

Laboratório Laboratório de Banco de de Banco de

DadosDadosAula 02 - Segurança – Autorização

Prof. Franklin M. Correia

Page 2: Aula 02  Segurança e Autorização

• Proteger o banco de dados contra pessoas não autorizadas

• Envolve questões que incluem:o Questões legais, éticas e de direito ao acesso à informação;o Questões políticas a nível governamental, institucional ou

corporativo;o Questões relacionadas ao nível do sistema (que funções de

segurança devem ser implementadas?)o Necessidades das organizações relativas a níveis de segurança:

(altamente confidencial (top secret), secreto (secret), confidencial (confidential) e não confidencial (unclassified))

Segurança - AutorizaçãoSegurança - Autorização

Page 3: Aula 02  Segurança e Autorização

• Objetivos da segurança (sob constante ameaça)

o Perda de integridade – proteção contra modificação imprópria. A integridade é perdida a partir de modificações intencionais ou não;

o Perda de disponibilidade – Manter o BD disponível para usuário ou programa que tem direito legítimo a ele;

o Perda de confidencialidade – Proteção do BD contra divulgação não autorizada. Pode implicar em questões legais e também perda de confiança pública e constrangimentos.

Segurança - AutorizaçãoSegurança - Autorização

Page 4: Aula 02  Segurança e Autorização

• Medidas para proteção do BD

o Controle de acesso• Mecanismos de acesso discricionário• Mecanismos de acesso obrigatório (mandatory)

o Controle de inferência• Segurança de BDs estatísticos

o Controle de fluxo• Controlar o fluxo das informações

o Criptografia

Segurança - AutorizaçãoSegurança - Autorização

Page 5: Aula 02  Segurança e Autorização

• Papel do DBA

o Concessão de privilégios a usuários autorizadoso Classificação dos usuários e dados de acordo com a política da

organizaçãoo Criação de contaso Revogação de privilégioso Atribuição de nível de segurançao Auditoria do banco de dados, a partir do LOG

Segurança - AutorizaçãoSegurança - Autorização

Page 6: Aula 02  Segurança e Autorização

• Controle de acesso discricionário (concessão e revogação de privilégios)o Tipos de privilégios discricionários:

• O nível de conta – privilégios que a conta tem, independente das relações existentes no BDo Pode incluir CREATE SCHEMA, CREATE TABLE, CREATE

VIEW, DROP, etc. Se aplicam à conta de maneira genérica.

• Nível de relações – O DBA pode controlar privilégio para acessar cada relação ou visão individual.o Especifica para cada usuário as relações individuais nas

quais cada tipo de comando pode ser aplicado. Sempre é atribuída uma conta de proprietário. Quem possui a conta proprietário pode repassar privilégios, como Privilégio SELECT (para recuperação) ou MODIFY (para UPDATE).

Segurança - AutorizaçãoSegurança - Autorização

Page 7: Aula 02  Segurança e Autorização

• Visões são mecanismo importante de autorização discricionário.

• Privilégio discricionário são atribuídos normalmente através das instruções de DDL;o GRANTo REVOKE

Segurança - AutorizaçãoSegurança - Autorização

Page 8: Aula 02  Segurança e Autorização

GRANT/REVOKE

• Cada objeto do banco de dados tem um dono (owner), que é o seu criador

• Apenas o criador ou dono pode acessar os objetos

• SQL oferece um esquema de permissões através dos comandos Grant/Revoke

Segurança - AutorizaçãoSegurança - Autorização

Page 9: Aula 02  Segurança e Autorização

GRANT

Permissão de comandos DDL

GRANT {comando} TO {usuário}

Permissão de objeto

GRANT {comando} ON {object} TO {usuário} [ WITH GRANT OPTION]

- MS SQL Server – (colunas) após {object} - Oracle – (colunas) após {comando}

Segurança - AutorizaçãoSegurança - Autorização

Page 10: Aula 02  Segurança e Autorização

REVOKE

Retira os previlégios

REVOKE {comando} ON {object} FROM {usuário}

Segurança - AutorizaçãoSegurança - Autorização

Page 11: Aula 02  Segurança e Autorização

GRANT (exemplos)

grant alter tables to as01equipe01;

grant select, insert, update, delete on empregado to as01equipe01;

grant all on empregado to as01equipe01;

grant select on empregado (nome, codproj) to public; (SQL Server)

grant select (nome, coddepart) on empregado to public; (ORACLE)

OBS. GRANT sobre objetos promove a propagação de autorizações

Segurança - AutorizaçãoSegurança - Autorização

Page 12: Aula 02  Segurança e Autorização

REVOKE (exemplos)

revoke delete on empregado from as01equipe01;

revoke all on empregado from anderson;

revoke all on empregado from public;

Segurança - AutorizaçãoSegurança - Autorização

Page 13: Aula 02  Segurança e Autorização

• Mecanismos de acesso obrigatório (mandatory)

o Ainda não comum nos SGBDs atuais, mais comuns em ambientes de segurança multinível.

o Estabelece classes como top secret (AS), secret (S), confidential (C) e unclassified (NC), onde AS é o nível mais alto.

o Classifica cada sujeito (usuário, conta, programa) e objeto (relação, tupla, coluna, visão, operação) em uma classificação:• Propriedade de segurança simples - Um sujeito S não tem

permissão de acesso sobre um objeto O a menos que sua classe(S) >= Classe(O).

• Propriedade estrela – Um sujeito S não tem permissão de escrever um objeto O a menos que classe(S) <= classe(O) – evita que informações fluam para classificações mais baixas que a do sujeito.

Segurança - AutorizaçãoSegurança - Autorização

Page 14: Aula 02  Segurança e Autorização

• Políticas de Controle de acesso para e-Commerce e para Web

o Mecanismo deve ser flexível para dar suporte a um amplo espectro de objetos heterogêneos

o As políticas de controle devem permitir a inclusão de condições baseadas no conteúdo do objeto

o As políticas devem levar em consideração os perfis de usuários e dr suporte à noção de credenciais. Um credencial é um conjunto de propriedades referentes a um usuário que são relevantes para o propósito de segurança (ex. idade, posição na organização, etc).

o Política de segurança a ser melhor estudada, juntamente com XML.

Segurança - AutorizaçãoSegurança - Autorização

Page 15: Aula 02  Segurança e Autorização

• Segurança em BDs estatísticos

o Não podem permitir acesso a dados individuais.o Devem permitir acesso apenas a consultas que envolvem consultas

estatísticas como: COUNT, SUM, MIN, MAX, etc.o Precisa-se ter cuidado, pois através de consultas estatísticas,

indiretamente pode-se ter acesso a dados (através do WNERE).

Segurança - AutorizaçãoSegurança - Autorização

Page 16: Aula 02  Segurança e Autorização

• Controle de Fluxo

o A transferência de informação de um remetente para um destinatário somente é permitida se a classe de segurança do receptor for pelo menos tão privilegiada quanto a classe do remetente.

o Política de fluxo – especifica os canais pelos quais a informação pode se mover.

o Exemplo usando a mais simples: Confidencial (C) e não confidencial (NC), permite todos os fluxos, exceto de C para NC.

o Canais secretos (covert channel) – Permitem uma transferência de um nível de classificação mais alto para um mais baixo por meios indevidos. Precisam ser controlados e evitados.

Segurança - AutorizaçãoSegurança - Autorização

Page 17: Aula 02  Segurança e Autorização

• Criptografia e chave pública

o Mesmo o intruso tendo acesso ao dado, não deve poder decodificá-lo.o Consiste em aplicar um algoritmo de criptografia.o Utiliza-se uma chave de criptografia e uma de decriptografia.o Padrão mais comum é o DES – Data Encryption Standard, desenvolvido

pelo governo americano.o Criptografia de chave pública – Apresentada em 1976 por Diffie e

Hellman.• Consiste de 2 chaves para codificação-decodificação• Se uma for usada para cifrar, a outra é usada para decifrar.• Se um remetente quiser enviar uma mensagem, ele cifra a

mensagem com a chave pública do destinatário.• É baseado em funções matemáticas em vez de operações sobre

modelos de bits.

Segurança - AutorizaçãoSegurança - Autorização