Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1....

39
Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira [email protected] http://si.lopesgazzani.com.br/docentes/marcio/

Transcript of Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1....

Page 1: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Especializaçãoem Segurançada Informação

Segurança em Banco de Dados e Aplicações1. Segurança em Banco de Dados

Márcio Aurélio Ribeiro [email protected]://si.lopesgazzani.com.br/docentes/marcio/

Page 2: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 2 Segurança em Banco de Dados e Aplicações

Objetivos do capítulo

Apresentar a arquitetura padrão dos DBMSApresentar os principais conceitos de DBMSApresentar a arquitetura de processamento

e armazenamento de bancos de dadosMostrar os principais problemas de

segurança de armazenamento dos DBMSApresentar as recomendações para resolver

ou evitar os problemas apresentados

Page 3: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 3 Segurança em Banco de Dados e Aplicações

Arquitetura padrão

Abaixo apresentamos a macro arquitetura padrão dos DBMS ou SGBD:DBMS = Database Management SystemSGBD = Sistema Gerenciador de Banco de

DadosNota: A arquitetura apresentada não tem nenhum foco

em segurança, apenas apresenta os nós envolvidos

Page 4: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 4 Segurança em Banco de Dados e Aplicações

Níveis de segurança dos dados

Humano

Corrupção

Falta de cuidado

EngenhariaSocial

Interfaces

Usuário

Aplicação

Rede

Aplicação DBMS

Sistema Operacional

Físico

Page 5: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 5 Segurança em Banco de Dados e Aplicações

Iterações com o DBMS

Usuário ou formulários:Consultas

Comandos SQL (consultas) em texto plano

Aplicações ou DBA (Database Administrator):Transações

Comandos SQL (procedimentos) em texto plano

Resultados:Result sets: conjuntos resultantes

Normalmente tabelas ou mensagens de retornoTambém em texto plano

Comandos

Dados

Processa-mento

Dados

Mensagens

Page 6: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 6 Segurança em Banco de Dados e Aplicações

Principais conceitos dos DBMS

Data Model (Modelo de Dados):É uma coleção modelos que descrevem os dadosO modelo relacional é o mais utilizado atualmente

Schema (Esquema):É a descrição de uma coleção particular de dados

Modelo relacional:Relação: Equivalente a uma tabelaEsquema: Conjunto de colunasTuplas: LinhasAtributos: Colunas

Tabela X

Coluna A Coluna B

Linha 1: Dado1A Dado1B

Linha 2: Dado2A Dado2B

... ... ...

Linha N: DadoNA DadoNB

Page 7: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 7 Segurança em Banco de Dados e Aplicações

Níveis de abstração

View (visão):Como cada usuário vê os

dados que ele tem direito de acesso

Esquema conceitual:Estrutura lógica dos dados

Esquema físico:Estrutura física dos arquivos

e índices utilizadosBanco de Dados

Esquema Físico

Esquema Conceitual

Visão 1 Visão 2 Visão 3

Page 8: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 8 Segurança em Banco de Dados e Aplicações

Propriedades dos DBMS

Independência dos dados: Independência lógica:

Protege os dados de mudanças na estrutura lógica Independência física:

Protege os dados de mudanças na estrutura física

Transações:Atomicidade: A transação é concluída totalmente ou não é feita.Consistência: Se estava consistente, continuará após a transação. Integridade: Todas as restrições de integridade são respeitadas.Durabilidade: Se a transação for concluída, não será perdida.

Controle de Concorrência: Isolamento: Cada usuário deve “imaginar” que está sozinho.

Page 9: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 9 Segurança em Banco de Dados e Aplicações

Pilares de segurança no DBMS

Confidencialidade:Alguns dados são acessíveis só por alguns usuáriosAtaques (roubos) podem revelar segredos, senhas, etc.

Privacidade:Dados pessoais não podem ser reveladosAtaques podem resultar em ações legais

Integridade:Os dados devem ser válidos e não corrompidosAtaques (fraudes) causam danos à organização

Disponibilidade:As informações devem estar acessíveis quando necessáriasAtaques ou problemas afetam os resultados do negócio

DBMS

Confidencialidade

Privacidade

Integridade

Disponibilidade

Page 10: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 10 Segurança em Banco de Dados e Aplicações

Segurança em Banco de Dados

Objetivos:Evitar leitura (select), inserção (insert), atualização (update) ou

remoção (delete) não autorizadas

Mecanismos:Definição de um DBA (DataBase Administrator) para:

Criação de contas, concessão ou revogação de direitos e definição do nível de segurança

Autenticação:Um usuário ou grupo de usuários (papéis = roles) precisam de uma

identificação (identidade) única (conta), que deve ser verificada, para acessar o DBMS

Autorização:O DBA pode conceder ou revogar direitos de acesso aos objetos do

DBMS para usuários, grupos de usuários ou papéis (roles)

Page 11: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 11 Segurança em Banco de Dados e Aplicações

Tipos de Controle de Acesso

Discricionário (DAC: Discretionary Access Control): O acesso aos objetos do DBMS são baseadas na identidade dos usuários Exemplos:

A tabela X pode ser lida pelos: A, B e C

Mandatório (MAC: Mandatory Access Control): Cada objeto do DBMS recebe uma classe de segurança (ultra secreto,

secreto, confidencial ou não classificado) Cada usuário ou grupo recebe um nível de acesso às classes de segurança

Baseado em Papéis (RBAC: Role-Based Access Control): Os direitos de acesso aos objetos do DBMS são concedidos a papeis

(roles) Os usuários ou grupos são associados aos papéis Exemplos:

Todas as tabelas podem ser escritas por db_writer Os usuários A, B e C são db_writer

Page 12: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 12 Segurança em Banco de Dados e Aplicações

Comandos de concessão/revogação

Concessão: GRANT operação ON objeto TO identidade [WITH GRANT OPTION]

Revogação: REVOKE operação ON objeto FROM identidade

Operações: SELECT, INSERT, DELETE ou UPDATE [( lista_de_colunas )] CREATE ou EXECUTE [função ou procedimento armazenado] ALTER {TABLE | VIEW | FUNCTION | STORED PROCEDURE}

Objetos: Função (function), Gatilho (trigger), Procedimento (stored procedure),

Tabela (table), Visão (view), etc. Identidades:

Usuário, grupo de usuários ou papel GRANT OPTION:

Concede à identidade o direito de conceder direitos

Page 13: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 13 Segurança em Banco de Dados e Aplicações

Ataques internos ao DBMS

Dados sensíveis:São dados privados (não são de acesso público)

Levam a classificar as bases em 3 grupos:Públicas: Não possuem dados sensíveisPrivadas: Só possuem dados sensíveisMistas: Contem alguns dados sensíveis

Controle de acesso:Tem a missão de limitar o usuário a ter acesso

somente aos dados que eles podem acessar

Page 14: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 14 Segurança em Banco de Dados e Aplicações

Segurança x Precisão

Compartilhamento de dados públicos:Segurança:

Aceitar consultas à dados públicos eRejeitar as de dados privados

Precisão:Proteger os dados privados revelando o máximo

possível dos públicos

Ideal:Máximo de segurança com o máximo de precisãoInfelizmente, isto nem sempre é possível

Page 15: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 15 Segurança em Banco de Dados e Aplicações

SQL Injection

Idéia: injetar código para ganhar acessoExemplo de autenticação:

SELECT *FROM usuariosWHERE usuario = '$usuario' AND senha =

'$senha'

Sintaxe SQL:' (apóstrofo) Terminador de strings-- (2 menos) Comentários (ignora o restante)

O que acontece se digitarmos no campo usuário?x' OR 1=1 --

Page 16: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 16 Segurança em Banco de Dados e Aplicações

SQL Injection - Exemplos

No SQL Server: '; EXEC xp_cmdshell 'net stop sqlserver', no_output --No lugar do comando (net stop ...), podemos colocar:

Net user admin2 /add && net localgroup administrators admin2 /add && net localgroup ORA_DBA admin2 /add

' UNION SELECT id, name, '', 0,'' FROM sysobjects WHERE xtype='U' --

Injeção no get (passagem de parâmetros) em url:http://windefense/index.asp?id=10 UNION SELECT TOP 1

TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25login%25'—

Referências:www.owasp.org/images/7/74/Advanced_SQL_Injection.ppt

Page 17: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 17 Segurança em Banco de Dados e Aplicações

Ataque de inferência

Suponha que o Salário seja um dado privadoPortanto, não pode ser retornado. Será?

Observe as consultas:SELECT COUNT(*) FROM T WHERE Salario > 30000

Retorna a quantidade de pessoas que ganham acima de 30000

SELECT SUM(Salario) FROM T WHERE Salario > 30000 Retorna a soma dos Salários de quem ganha acima de 30000

SELECT Nome FROM T WHERE Salario > 30000 Retorna o nome de quem ganha mais de 30000

SELECT * FROM T WHERE 1/(Salario – 30000) > 0

Se alguém ganhar 30000 dará uma mensagem de erro de divisão por zero

A política de segurança dos dados deve ser muito bem especificada para os elementos do DBMS

Page 18: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 18 Segurança em Banco de Dados e Aplicações

Formas de obtenção de dados

Direta:Obtenção do dado diretamente

Limites:Conhecendo os limites podemos inferir os dados

Resultado negativo:Consulta a um valor negativo revela o dado

Existência:Saber que o dado existe já é um problema

Probabilidade:Determinar a probabilidade de um dado ter um valor

Page 19: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 19 Segurança em Banco de Dados e Aplicações

Abrindo a arquitetura padrão

BrowserWeb

Server

Aplicação

Driver DBMS

Files

Driver Manager

Transaction

Buffer

QueryProcessor

Page 20: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 20 Segurança em Banco de Dados e Aplicações

Processador de consultas

Módulos responsáveis pelas iterações do DBMS:Query Parser:

Analisador de consultas

Query Rewriter:Tradutor de consultas

Query Optimizer:Otimizador de consultas

Query Executor:Executor de consultas

Query Processor

Query Parser

Query Rewriter

Query Optimizer

Query Executor

Page 21: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 21 Segurança em Banco de Dados e Aplicações

Buffer

Módulos do buffer:Buffer Manager:

Gerenciador de buffers

Buffer Pool:Buffer em memória de páginas do

banco de dados no disco

Este sub-sistema é fundamental para o desempenho do gerenciador

Buffer

Buffer Manager

Buffer Pool

Page 22: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 22 Segurança em Banco de Dados e Aplicações

Transaction

Sub-sistema de transações:Transaction Manager:

Gerenciador de transações: Garante: Atomicidade,

Consistência, Integridade e Durabilidade

Gerencia acessos concorrentes: Garante: Isolamento.

Lock Manager:Gerenciador de bloqueios

Lock Tables:Controle (em memória) de tabelas

bloqueadas

Transaction

Transaction Manager

Lock Manager

Lock Tables

Page 23: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 23 Segurança em Banco de Dados e Aplicações

Files

Sub-sistema de arquivos:Storage Manager:

Gerenciador de armazenamento

Files & Access Methods:Gestão dos métodos de acesso e

arquivos do DBMS

Logging & Recovery:Gestão dos arquivos de logs e

recuperação em caso de falhas

Files

StorageManager

Files & Access

Methods

Logging & Recovery

Page 24: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 24 Segurança em Banco de Dados e Aplicações

Simplificação da arquitetura padrão

Processando uma consulta:

BrowserWeb

Server

Buffer

QueryProcessor

Consulta

Files

Página 1...

Página 2...

Página 3...

Página n...

Página 4...

Consulta Consulta

Página 3...

Página 3...

RespostaRespostaResposta

Page 25: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 25 Segurança em Banco de Dados e Aplicações

Perspectiva de segurança atual

BrowserWeb

Server

Buffer

QueryProcessor

Consulta

Files

Página 1...

Página 2...

Página 3...

Página n...

Página 4...

Consulta Consulta

Página 3...

Página 3...

RespostaRespostaResposta

Área insegura:Texto Plano

Abrangência:Usuário

Área ≈ segura:Pode ser cifrada

Abrangência:Usuário(s)

Área ≈ segura:Pode ser cifrada

Abrangência:Todos as

Transações

Área insegura:Texto Plano

Abrangência:Todos os Dados

Page 26: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 26 Segurança em Banco de Dados e Aplicações

Estratégia de segurança no servidor

Riscos: Inspeção de memória:

Pegar páginas na memóriaPegar chaves usadas no armazenamento:

Compromete todos os dados

Produtos: Oracle, DB2, SQL Server, Sybase, Informix, etc.

BrowserWeb

Server

Buffer

QueryProcessor

Files

Página 1...

Página 2...

Página 3...

Página n...

Página 4...

Página i...

Página j...

Armazenar

Páginas

Criptografadas

Processar

Consultas em

Texto Plano

Manter

Páginas em

Texto Plano

Page 27: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 27 Segurança em Banco de Dados e Aplicações

Estratégia de segurança média

Riscos:Inspeção de memória:

Pegar dados das consultasPegar chaves usadas no

armazenamento: Compromete todos os dados

BrowserWeb

Server

Buffer

QueryProcessor

Files

Página 1...

Página 2...

Página 3...

Página n...

Página 4...

Página i...

Página j...

Armazenar

Páginas

Criptografadas

Processar

Consultas em

Texto Plano

Manter

Páginas

Cifradas

Page 28: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 28 Segurança em Banco de Dados e Aplicações

Estratégia de segurança máxima

Benefício:Ausência de exposição

Custo:Implementação complexaQueda de performance

BrowserWeb

Server

Buffer

QueryProcessor

Files

Página 1...

Página 2...

Página 3...

Página n...

Página 4...

Página i...

Página j...

Armazenar

Páginas

Criptografadas

Processar

Consultas

Cifradas

Manter

Páginas

Cifradas

Page 29: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 29 Segurança em Banco de Dados e Aplicações

Custo do processamento cifrado

Execução de SELECT:Seqüencial: Por índice:

Proposto em 2002 por Márcio, João e IlmérioPesa o processamento, mas está se viabilizando2006: Ainda era experimental Fonte: Tingjian Ge and Stan Zdonik

Page 30: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 30 Segurança em Banco de Dados e Aplicações

Ameaças à segurança do DBMS

T.ACCESS:Acesso não autorizado à base de dados

T.DATA:Acesso não autorizado à informações

T.RESOURCE:Consumo excessivo de recursos

T.ATTACK:Ataque não detectado

T.ABUSE.USER:Abuso no uso de privilégios dos usuários

Page 31: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 31 Segurança em Banco de Dados e Aplicações

Objetivos de segurança

O.I&A.TOE:Toda operação no DB deve ser Identificada e Autenticada

O.ACCESS:O DBA e os usuários têm direito de acesso a seus objetos

O.AUDIT:O DBMS deve registrar eventos de segurança relevantes

O.RESOURCE:O DBMS deve controlar o uso dos recursos do DB

O.ADMIN.TOE:O DBMS deve prover recursos de administração ao DBA

Page 32: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 32 Segurança em Banco de Dados e Aplicações

Objetivos de segurança x Ameaças

Ameaças O.I&A.TOE O.ACCESS O.AUDIT O.RESOURCE O.ADM.TOE

T.ACCESS YES YES YES YES

T.DATA YES YES YES

T.RESOURCE YES YES YES YES

T.ATTACK YES YES YES YES

T.ABUSE.USER YES YES YES YES

P.ACCESS YES YES

P.ACCOUNT YES YES

Fonte: Database Management System Protection Profile (DBMS PP) P.ACESS:

Política de Acesso ao banco de dados P.ACCOUNT:

Política de gestão (Administração: DBA e Objetos: Proprietário)

Page 33: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 33 Segurança em Banco de Dados e Aplicações

Recomendações de segurança

Todas as mencionadas em Segurança em Aplicações continuam válidas

Adicionais – “BRAVE”:Backup and recovery:

Além do backup, devemos fazer journal (log) e archive

RAID: Performance e disponibilidade

Authorization: Concessão de privilégios adequadosDevemos usar também a Autenticação de usuários

Views: Cada perfil deve ter suas visões

Encryption: Criptografe dados sensíveis

Page 34: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 34 Segurança em Banco de Dados e Aplicações

Recomendações gerais 1

Ligue a auditoria para dados sensíveis:Audite e verifique os acessos

Use pelo menos 2 níveis de logs e archives:Salve estes arquivos em storages separados

Crie honey tokens para atrair os atacantesUse a detecção de intrusos no DBMSRemova as scripts, procedimentos e utilitários

desnecessários (ex: setpwd.exe)

Page 35: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 35 Segurança em Banco de Dados e Aplicações

Recomendações gerais 2

Use controle de acesso mandatório ou RBAC (Role Based Access Control)

Mantenha a segurança da infra-estrutura:SO, rede, firewalls, storages, backups, etc.

Use checklists:Na seleção e compra do DBMSNa administração do DBMS

Page 36: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 36 Segurança em Banco de Dados e Aplicações

Referências

Cenys, et al. Implementation of HoneyToke Module in DBMS Oracle 9iR2EE For Internal Malicius Activity Detection. IEEE. DIMVA. Jul-2005.

Christopher Clack. Selected Database Issues. Security. Lecture 1. Lecture 2. Lecture 3. UCL - CSD. Mar-2008.

ChengXiang Zhai. DBMS Architecture. University of Illinois. Sep-2006.

Common Criteria. Database Management System Protection Profile (DBMS PP). CC Portal. 2000.

Page 37: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 37 Segurança em Banco de Dados e Aplicações

Referências

Jerry Keesee and Jonathan Leffler. IBM Informix Dynamic Server 10.00 Security and Column-Level Encryption. IBM. Mar-2005.

Luc Bouganim and Philippe Pucheral. Chip-Secured Data Access: Confidential Data on Untrusted Servers. VLDB. 2002.

Márcio Moreira, João Nunes and Ilmério Silva. A Multi-User Key and Data Exchange Protocol to Manage a Secure Database. SBBD. 2002.

Michael McGrattan. Data Security - Encryption Strategies for Data at Rest. Blue Oasis. 2005.

Page 38: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 38 Segurança em Banco de Dados e Aplicações

Referências

Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3rd Edition. McGraw-Hill. 2002.

SUN. Best Practices in Information Lifecycle Management Security. SUN. Feb-2006.

Susan Davidson. Physical Storage. University of Pennsylvania. Nov-2007.

Tingjian Ge and Stan Zdonik. Fast, Secure Encryption for Indexing in a Column-Oriented DBMS. Brown University. 2006.

Page 39: Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 1. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br.

Márcio Moreira 1. Segurança em Banco de Dados – Slide 39 Segurança em Banco de Dados e Aplicações

Referências

UNIRAS. Current Advice - Mitigating the risk of Malicious Software. NISCC. 2004.

UNIRAS. NISCC Technical Note 01/03: Understanding Database Security. NISCC. 2004.

Zheng-Fei, Jing, Wei and Bai-le. Fast Query Over Encrypted Character Data in Database. CIS. 2004.