2. • 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
3. • 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
4. • 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
5. • 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ítica da
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çãoSegurança - Autorização
6. • 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çãoSegurança - Autorização
7. • 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çãoSegurança - Autorização
8. 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
9. 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
11. 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
12. 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
13. • 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
14. • 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
15. • 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
16. • 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
17. • 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