Sumário Exploração de bases de dados Segurança Integridade

16
1 Gabriel David FEUP - Rua dos Bragas, 4050-123 Porto - PORTUGAL Tel. 351-222041842 - Fax: 351-222000808 Email: [email protected] URL: http://www.fe.up.pt Sumário Exploração de bases de dados Segurança Integridade

description

Sumário Exploração de bases de dados Segurança Integridade. Gabriel David FEUP - Rua dos Bragas, 4050-123 Porto - PORTUGAL Tel. 351-222041842 - Fax: 351-222000808. Email: [email protected] URL: http://www.fe.up.pt. Segurança e integridade. Protecção dos dados direito à privacidade - PowerPoint PPT Presentation

Transcript of Sumário Exploração de bases de dados Segurança Integridade

1

Gabriel DavidFEUP - Rua dos Bragas, 4050-123 Porto - PORTUGALTel. 351-222041842 - Fax: 351-222000808

Email: [email protected]: http://www.fe.up.pt

Sumário Exploração de bases de dados Segurança Integridade

Exploração - 2

Segurança e integridade

Protecção dos dados direito à privacidade direito de propriedade direito à informação

Segurança protecção da BD contra a consulta, alteração ou destruição não

autorizadas ilegalidade

Integridade manutenção da correcção dos dados, quer sob o aspecto da

validade quer da consistência coerência

Exploração - 3

Segurança - sobre o utilizador

Normas de acesso ao centro de computação, arquivos de dados e terminais

Código de identificação e password

Num grande SGBD o processo das autorizações deve ser mais selectivo e flexível

Exploração - 4

Exemplo de acesso

Dados na BD de uma empresa EMPREGADO( nr, nome, morada, dept, salário, avaliação)

Tipos de acesso desejáveis acesso livre a toda a relação, para todas as operações acesso apenas à própria informação, sendo permitida a alteração

de apenas alguns valores acesso interdito acesso aos atributos nr, nome e salário, podendo alterar

salário, mas apenas entre as 9H e as 17H, num terminal do Serviço de Pessoal

possibilidade de aplicação de operadores estatísticos ao atributo salário, mas com interdição de consulta de registos individuais

autorização de consulta a toda a relação, mas com possibilidade de alteração apenas do atributo avaliação dos empregados que pertençam ao departamento de que o utilizador é director

Exploração - 5

Perfis

Excesso de restrições de acesso implica sobrecarga no SGBD verificação de autorização afecta todos os acessos

Habitualmente definem-se perfis de utilização aos quais se associam os utilizadores fundamental o recurso a vistas que funcionam como tabelas

virtuais e fornecem um nível de independência dos dados possibilidade de definição de procedimentos de autorização ou

de restrições específicos para um utilizador que se combinem com os genéricos e permitam controlo fino sobre o acesso

para além da segurança, criar um ambiente agradável ao utilizador, filtrando o irrelevante

uso de sinónimos (CREATE SYNONYM x FOR user.tabela)

Exploração - 6

Instrução SQL GRANT

Esta instrução define o tipo de acesso dos utilizadores aos objectos da BD que não criaram o criador de um objecto tem habitualmente todos os direitos

sobre ele

Exploração - 7

Privilégios de objectos

Exemplo GRANT UPDATE (telefone, salario) ON intranet.tabEmpregados

TO chefePessoal WITH GRANT OPTION

Privilégio de objecto Tabela Vista Sequência

Funções, Pacotes

Tipos de utilizador

ALTER X X DELETE X X EXECUTE X X INDEX X INSERT X X READ REFERENCES X SELECT X X X UPDATE X X

Exploração - 8

Papéis

Os papéis funcionam como conjuntos de privilégios de objectos ou de sistema que se podem conceder em bloco a um utilizador estruturam a definição dos perfis podem conceder-se (sub)papéis a papéis

Exploração - 9

Privilégios de sistema Exemplos de privilégios

CREATE SESSION - ligar à BD ALTER SESSION - mudar parâmetros da sessão CREATE ANY TABLE - criar tabelas DELETE ANY TABLE DROP ANY TABLE CREATE USER CREATE VIEW

privilégio pode ser dado a um utilizador directamente ou através de um papel

Exploração - 10

Segurança - sobre os dados

Senhas para acesso a ficheiros ou atributos, dependendo da operação a efectuar

estabelecimento de combinações sensíveis de características dos dados, associadas a condições a satisfazer pelo utilizador

programa de arbitragem de alta prioridade e bem protegido para autorizar cada acesso

Exploração - 11

BD estatísticas

Pretende-se obter informações de síntese sobre grandes subconjuntos de dentidades, sem ter acesso a dados individuais recenseamentos BD clínicas

Exemplos “percentagem de doentes cancerígenos fumadores?” SIM “o senhor Silva tem um cancro?” NÃO

Regra impedir impressão de resultados derivados de pequenos

conjuntos de dados

Exploração - 12

Exemplo Pergunta

select salario from empwhere nome=‘Antão’ resultado vetado, dimensão(resultado) < n

Pergunta kselect avg(salario) Mx, count(*) Nx from empwhere dept=‘Manutenção’ -- Nx > mínimo

Pergunta k+1select avg(salario) My, count(*) Ny from empwhere dept=‘Manutenção’ or nome=‘Antão’ -- Ny > mínimo salário(Antão) = Ny My - Nx Mx

Regra refinada impedir respostas com intersecções muito grandes com

perguntas anteriores (memorizar k perguntas)

Exploração - 13

Identificação parcial

Compromisso grau de segurança/sobrecarga

Respostas deliberadamente erradas a perguntas inválidas

Outra abordagem - pesquisa por identificação parcial registos com a média dos rendimentos de um pequeno grupo de

cidadãos com características semelhantes chave composta

pergunta só pode especificar 12 bits (menor relação: 222-212 = 1024) IRS dos homens de Gaia, Porto SIM (11 bits) IRS dos médicos de Aveiro com Rover NÃO (15 bits)

4 6 6 51distrito sexo

localidade profissãocarro

IRS

Exploração - 14

Segurança - sobre infiltradores

Vão para além do uso “normal” do sistema curto-circuito da aplicação e/ou do SGBD intercepção de mensagens nas linhas de comunicação roubo de um disco

Contra-medidas encriptação das mensagens encriptação das partes críticas da BD

• criptografia pode ser implementada em HW ou SW

Princípio dos sistemas de segurança situar o “custo” da violação dos dados ao mesmo nível do

benefício obtido confidencialidade + integridade + disponibilidade

Exploração - 15

Integridade

Protecção quanto a operações inválidas restrições de integridade são extensões à LDD

fazem parte do modelo de dados associadas a conjuntos de dados e certas operações de manipulação escritas na LMD ou numa linguagem hospedeira

validação gamas de valores (restrições CHECK) integridade das entidades (chave primária sem valores nulos) integridade referencial (inserção/apagamento)

consistência dependências funcionais (3NF + chave) valores calculados

Exploração - 16

Recomendações

Bom projecto procedimentos específicos para cada operação

restrições, triggers

rotinas de detecção de erros

Bom senso!