Upload
abia
View
37
Download
0
Embed Size (px)
DESCRIPTION
Segurança no Armazenamento 7. Segurança em Banco de Dados. Márcio Aurélio Ribeiro Moreira [email protected] http://si.lopesgazzani.com.br/docentes/marcio /. Objetivos do capítulo. Apresentar a arquitetura padrão dos DBMS Apresentar os principais conceitos de DBMS - PowerPoint PPT Presentation
Citation preview
Especializaçãoem Segurançada Informação
Segurança no Armazenamento7. Segurança em Banco de Dados
Márcio Aurélio Ribeiro [email protected]://si.lopesgazzani.com.br/docentes/marcio/
Márcio Moreira 6. Segurança em Banco de Dados – Slide 2 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 3 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 4 Segurança no Armazenamento de Informações
Níveis de segurança dos dadosHumano
Corrupção
Falta de cuidado
EngenhariaSocial
Interfaces
Usuário
Aplicação
Rede
Aplicação DBMS
Sistema Operacional
Físico
Márcio Moreira 6. Segurança em Banco de Dados – Slide 5 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 6 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 7 Segurança no Armazenamento de Informaçõ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 utilizados Banco de Dados
Esquema Físico
Esquema Conceitual
Visão 1 Visão 2 Visão 3
Márcio Moreira 6. Segurança em Banco de Dados – Slide 8 Segurança no Armazenamento de Informaçõ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.
Márcio Moreira 6. Segurança em Banco de Dados – Slide 9 Segurança no Armazenamento de Informações
Abrindo a arquitetura padrão
Browser Web Server
Aplicação
Driver DBMS
Files
Driver Manager
Transaction
Buffer
QueryProcessor
Márcio Moreira 6. Segurança em Banco de Dados – Slide 10 Segurança no Armazenamento de Informações
Processador de consultas
Módulos responsáveis pelas iterações do DBMS:Query Parser:
Analisador de consultasQuery Rewriter:
Tradutor de consultasQuery Optimizer:
Otimizador de consultasQuery Executor:
Executor de consultas
Query Processor
Query Parser
Query Rewriter
Query Optimizer
Query Executor
Márcio Moreira 6. Segurança em Banco de Dados – Slide 11 Segurança no Armazenamento de Informações
Buffer
Módulos do buffer:Buffer Manager:
Gerenciador de buffersBuffer 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 12 Segurança no Armazenamento de Informações
TransactionSub-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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 13 Segurança no Armazenamento de Informações
Files
Sub-sistema de arquivos:Storage Manager:
Gerenciador de armazenamentoFiles & 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 14 Segurança no Armazenamento de Informações
Simplificação da arquitetura padrão
Processando uma consulta:
Browser Web 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 15 Segurança no Armazenamento de Informações
Perspectiva de segurança atual
Browser Web 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 16 Segurança no Armazenamento de Informaçõ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.
Browser Web 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 17 Segurança no Armazenamento de Informaçõ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
Browser Web 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 18 Segurança no Armazenamento de Informações
Estratégia de segurança máxima
Benefício:Ausência de exposição
Custo:Implementação complexaQueda de performance
Browser Web 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 19 Segurança no Armazenamento de Informações
Custo do processamento cifradoExecuçã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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 20 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 21 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 22 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 23 Segurança no Armazenamento de Informações
Objetivos de segurança x AmeaçasAmeaç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)
Márcio Moreira 6. Segurança em Banco de Dados – Slide 24 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 25 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 26 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 27 Segurança no Armazenamento de Informações
Problema da inferência Suponha que o Salário seja um dado privado
Portanto, 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 28 Segurança no Armazenamento de Informaçõ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 archiveRAID: Performance e
disponibilidadeAuthorization: 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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 29 Segurança no Armazenamento de Informaçõ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)
Márcio Moreira 6. Segurança em Banco de Dados – Slide 30 Segurança no Armazenamento de Informaçõ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
Márcio Moreira 6. Segurança em Banco de Dados – Slide 31 Segurança no Armazenamento de Informaçõ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.
Márcio Moreira 6. Segurança em Banco de Dados – Slide 32 Segurança no Armazenamento de Informaçõ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.
Márcio Moreira 6. Segurança em Banco de Dados – Slide 33 Segurança no Armazenamento de Informaçõ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.
Márcio Moreira 6. Segurança em Banco de Dados – Slide 34 Segurança no Armazenamento de Informaçõ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.