segurança em banco de dados

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

Upload: kelve-aragao

Post on 02-Jul-2015

553 views

Category:

Technology


5 download

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

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