Upload
franklin-matos-correia
View
298
Download
0
Embed Size (px)
DESCRIPTION
Aula 02 da disciplina de Laboratório de Banco de Dados, assunto abordado: Segurança e Autorização
Citation preview
Laboratório Laboratório de Banco de de Banco de
DadosDadosAula 02 - Segurança – Autorização
Prof. Franklin M. Correia
• 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
• 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
• 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
• 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
• 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
• 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
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
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
REVOKE
Retira os previlégios
REVOKE {comando} ON {object} FROM {usuário}
Segurança - AutorizaçãoSegurança - 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
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
• 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
• 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
• 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
• 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
• 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