Segurança em banco de dados

24
SEGURANÇA EM BANCO DE DADOS Francisco Kelve Souza de Aragão Juliany Simplicio Camelo

description

Os dados armazenados no BD precisam ser protegidos de acessos não autorizados, destruição ou alteração insidiosa e perda acidental de inconsistência.

Transcript of Segurança em banco de dados

SEGURANÇA EM

BANCO DE DADOS

Francisco Kelve Souza de Aragão

Juliany Simplicio Camelo

• Possui informações

hoje é ganhar

agilidade,

competitividade,

dinamismo, portanto

possuir informação é

o mesmo que possuir

um diferencial, uma

vantagem competitiva.

2

• Uma informação útil pode ser usada a favor ou contra

você ou sua empresa. Por isso é importante que se

possua informações corretas e uma forma eficiente de

proteger essas informações. Tendo em vista que um

dados alterado ou destruído ou divulgado sem

autorização pode acarretar em prejuízos tanto para a

empresa quanto para seus clientes ou usuários.

3

Introdução

• Os dados armazenados no BD precisam ser protegidos

de acessos não autorizados, destruição ou alteração

insidiosa e perda acidental de inconsistência.

• Examinaremos as formas pelas quais os dados podem

ser mal utilizados.

• Exemplo, a introdução intencional de inconsistências.

• Será apresentado, então, mecanismos para prevenção

de tais ocorrências.

4

Mal uso do BD

• O mal uso do banco de dados pode ser

classificado como intencional (insidioso) ou

acidental.

5

Perda acidental

• A perda acidental de consistência de dados podeser consequência de:

• Quedas durante o processamento detransações.

• Anomalias causadas por acesso concorrenteao banco de dados.

• Anomalias causadas pela distribuição dosdados pelos diversos computadores.

• Erros lógicos que violam as regras impostaspara que as transações preservem asrestrições de consistência do banco de dados.

6

Acesso insidioso

• É mais fácil a proteção contra perda acidental da

consistência dos dados do que se proteger contra o

acesso insidioso ao BD.

• Dentre as formas de acesso insidioso estão as

seguintes:

• Leitura não autorizada de dados (roubo de

informação).

• Modificação não autorizada de dados.

• Destruição não autorizada de dados.

7

Proteção absoluta

• A proteção absoluta do BD contra abusos é impossível,

mas o custo para o criminoso pode tornar-se tão alto que

impedirá a maioria, se não todas elas, das tentativa de

acesso ao BD sem a devida autorização.

8

Segurança x Integridade

• A segurança do banco de dados normalmente refere-se à

proteção contra acesso insidioso, ao passo que a

integridade se refere à precaução contra perda acidental

de consistência.

9

Medidas de segurança

• Para proteger o BD, devemos tomar medidas desegurança em vários níveis.

Físico: O site ou sites contendo os sistemas decomputador devem ser fisicamente seguros contraentradas diretas ou clandestinas de intrusos.

Humano: Os usuários devem ser cuidadosamenteautorizadas para reduzir a chance de qualquerfornecimento de acesso a um intruso em troca desuborno ou outros favores.

Sistemas operacional: Independente de quão seguro osistema de banco de dados seja, a debilidade nasegurança do sistema operacional pode servir comomeio de acesso não autorizado ao banco de dados.

10

Medidas de segurança

Rede: Desde que quase todos os bancos de dados

permite acesso remoto por meio de terminais ou redes,

a segurança em nível de software de rede é tão

importante quanto a segurança física, tanto na Internet

como em redes privadas de empresas.

Sistema de BD: Alguns usuários de sistema de BD

podem ter autorização de acesso somente a uma

porção limitada do BD. Outros usuários podem ser

autorizados a emitir consultas (queries), mas podem

estar proibidos de modificar os dados. É

responsabilidade do sistema de BD garantir que essas

restrições de acesso não sejam violadas.

11

Observação

• A segurança em todos

esses níveis é necessária

para garantir a segurança

do BD como um todo.

• A debilidade em um nível

mais baixo (físico ou

humano) permite enganar

fortes medidas de

segurança de alto nível

(banco de dados).

12

Autorização de acesso a dados

• Um usuário pode ter várias formas de autorização sobre

partes do banco de dados. Dentre elas estão as

seguintes:

• Autorização read permite a leitura, mas não a modificação, dos

dados.

• Autorização insert permite a inserção de novos dados, mas não a

modificação de dados existentes.

• Autorização update permite a modificação, mas não a remoção, de

dados, de dados.

• Autorização delete permite a remoção de dados.

• Um usuário pode receber todos, nenhum ou uma

combinação desses tipos de autorização.

13

Autorização para modificar esquemas

• Além dessas formas de autorização de acesso aos

dados, pode ser concedida autorização a um usuário

para modificar esquemas do banco de dados:

• Autorização index permite a criação e remoção de índices.

• Autorização resource permite a criação de novas relações.

• Autorização alteration permite a adição ou remoção de atributos

em uma relação.

• Autorização drop permite a remoção de relações.

14

Visões (Views)

• Conceito de visões – um meio de fornecer ao usuário um

modelo personalizado do banco de dados.

• Uma visão pode esconder dados que um determinado

usuário não precisa ver.

15

Visões (Views)

• Serve para:

• Simplificar o uso do sistema

• É permitido ao usuário restringir a atenção aos dados

de interesse.

• Melhorar a segurança

• É negado o acesso direto de um usuário a uma

relação.

• É permitido ao usuário acessar parte daquela relação

por meio de uma visão.

• Combinação de segurança em nível relacional e

segurança em nível de visão para limitar o acesso do

usuário especificamente aos dados que necessita.

16

Visões (Views)

17

• Exemplo bancário:

Um caixa precisa dos nomes de todos os

clientes que tem empréstimo em cada

agência.

Esse caixa não está autorizado a ver

informações relacionadas aos empréstimos

específicos dos clientes.

• Por tanto deve ser negado ao caixa o

acesso direto à relação empréstimo.

Visões em SQL

• Mas o caixa deve ter acesso à referida informação!

• Deve ser concedido ao caixa acesso à visão

cliente_empréstimo, que consiste somente dos nomes

clientes e das agências nas quais eles têm um

empréstimo.

18

Concessão de privilégios• Pode-se permitir a um usuário conceder a outros

usuários alguma forma de autorização a ele

concedida.

• Devemos ser cuidadosos sobre como a autorização

pode ser repassada entre usuários.

• Garantir que tal autorização possa ser revogada

em algum tempo futuro.

19

Criptografia e Segurança em Banco de

Dados• A palavra criptografia vem das palavras gregas que

significam “escrita secreta”, ou seja, é a arte de escrever

mensagens em código.

20

Visão Geral - Criptografia

• Confidencialidade da mensagem

• Integridade da Mensagem

• Autenticação do remetente

• Disponibilidade

• Não-repúdio ou irretratabilidade do emissor

21

Algoritmos Criptográficos• MD2 – (Message-Digest algorithm 2)

• MD4 – (Message-Digest algorithm 4)

• SHA – (Secure Hash algorithm)

• Hash – Função Hash

• MD5 – (Message-Digest algorithm 5)

• MD6 – Não utilizável (Message-Digest algorithm 6)

22

Auditoria em Banco de Dados

• É um conjunto de ações para

verificar o que os usuários

estão fazendo.

• Muitas empresas fazem isso

para os fins de segurança. Isso

é para garantir que usuários

não autorizados não estão

acessando uma parte do

banco de dados ou a estrutura

principal que não é permitida.

23

• A maioria das informações críticas de uma

empresa, 90% ou mais, é mantida no banco de

dados.

• É por isso que a auditoria do banco de dados é

tão crucial para a proteção da segurança.

• Se determinada informação é comprometida, ela

pode ser crítica para suas operações.

24