O documento discute segurança e autorização em bancos de dados, abordando mecanismos como controle de acesso discricionário e obrigatório, controle de fluxo, criptografia e o papel do administrador de banco de dados na concessão e revogação de privilégios.
O documento discute segurança e autorização em bancos de dados, abordando mecanismos como controle de acesso discricionário e obrigatório, controle de fluxo, criptografia e o papel do administrador de banco de dados na concessão e revogação de privilégios.
O documento discute segurança e autorização em bancos de dados, abordando mecanismos como controle de acesso discricionário e obrigatório, controle de fluxo, criptografia e o papel do administrador de banco de dados na concessão e revogação de privilégios.
Segurança - • Autorização Proteger o base 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çã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çã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 BDsestatísticos o Controle de fluxo • Controlar o fluxo das informações o Criptografia Segurança - Autorização • Papel do DBA
o Concessão de privilégios a usuários autorizados
o Classificação dos usuários e dados de acordo com a políticada organização o Criação de contas o Revogação de privilégios o Atribuição de nível de segurança o Auditoria do banco de dados, a partir do LOG Seguranç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 BD o 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çã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 GRANT o REVOKE Seguranç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ção GRANT
Permissão de comandos DDL
GRANT {comando} TO {usuário}
Permissão de objeto
GRANT {comando} ON {object} TO {usuário} [ WITHGRANT
OPTION]
- MS SQL Server –(colunas) após {object}
- Oracle –(colunas) após {comando} Segurança - Autorização
REVOKE
Retira os previlégios
REVOKE {comando} ON {object} FROM {usuário}
Seguranç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 topublic;
(ORACLE)
OBS. GRANT sobre objetos promove a propagação de
autorizações Seguranç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çã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 Snão tem permissão de acesso sobre um objeto O a menos que sua classe(S) >=Classe(O). • Propriedade estrela –Um sujeito Snã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çã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çã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çã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çã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.