Especializao em Segurana da Informao Segurana no Armazenamento

  • Slides: 34
Download presentation
Especialização em Segurança da Informação Segurança no Armazenamento 7. Segurança em Banco de Dados

Especialização em Segurança da Informação Segurança no Armazenamento 7. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio. moreira@pitagoras. com. br http: //www. teraits. com/pitagoras/marcio/

Objetivos do capítulo Ø Apresentar a arquitetura padrão dos DBMS Ø Apresentar os principais

Objetivos do capítulo Ø Apresentar a arquitetura padrão dos DBMS Ø Apresentar os principais conceitos de DBMS Ø Apresentar a arquitetura de processamento e armazenamento de bancos de dados Ø Mostrar os principais problemas de segurança de armazenamento dos DBMS Ø Apresentar as recomendações para resolver ou evitar os problemas apresentados Márcio Moreira 6. Segurança em Banco de Dados – Slide 2 Segurança no Armazenamento de Informações

Arquitetura padrão Ø Abaixo apresentamos a macro arquitetura padrão dos DBMS ou SGBD: l

Arquitetura padrão Ø Abaixo apresentamos a macro arquitetura padrão dos DBMS ou SGBD: l DBMS = Database Management System l SGBD = Sistema Gerenciador de Banco de Dados v. Nota: 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 3 Segurança no Armazenamento de Informações

Níveis de segurança dos dados Humano Interfaces Corrupção Usuário Falta de cuidado Aplicação Engenharia

Níveis de segurança dos dados Humano Interfaces Corrupção Usuário Falta de cuidado Aplicação Engenharia Social Rede Aplicação DBMS Físico Sistema Operacional Márcio Moreira 6. Segurança em Banco de Dados – Slide 4 Segurança no Armazenamento de Informações

Iterações com o DBMS Ø Usuário ou formulários: l Consultas Comandos Processamento Dados Mensagens

Iterações com o DBMS Ø Usuário ou formulários: l Consultas Comandos Processamento Dados Mensagens v. Comandos SQL (consultas) em texto plano Ø Aplicações ou DBA (Database Administrator): l Transações v. Comandos SQL (procedimentos) em texto plano Ø Resultados: l Result sets: conjuntos resultantes v. Normalmente tabelas ou mensagens de retorno v. Também em texto plano Márcio Moreira 6. Segurança em Banco de Dados – Slide 5 Segurança no Armazenamento de Informações

Principais conceitos dos DBMS Ø Data Model (Modelo de Dados): l É uma coleção

Principais conceitos dos DBMS Ø Data Model (Modelo de Dados): l É uma coleção modelos que descrevem os dados l O modelo relacional é o mais utilizado atualmente Ø Schema (Esquema): l É a descrição de uma coleção particular de dados Ø Modelo relacional: l Relação: l Esquema: l Tuplas: l Atributos: Márcio Moreira Tabela X Equivalente a uma tabela Conjunto de colunas Linha 1: Linha 2: Linhas. . . Colunas 6. Segurança em Banco de Dados – Slide 6 Linha N: Coluna A Coluna B Dado 1 A Dado 1 B Dado 2 A Dado 2 B . . . Dado. NA Dado. NB Segurança no Armazenamento de Informações

Níveis de abstração Ø View (visão): l Como cada usuário vê os dados que

Níveis de abstração Ø View (visão): l Como cada usuário vê os dados que ele tem direito de acesso Ø Esquema conceitual: Visão 1 Visão 2 Visão 3 Esquema Conceitual l Estrutura lógica dos dados Ø Esquema físico: l Estrutura física dos arquivos e índices utilizados Márcio Moreira 6. Segurança em Banco de Dados – Slide 7 Esquema Físico Banco de Dados Segurança no Armazenamento de Informações

Propriedades dos DBMS Ø Independência dos dados: l Independência lógica: v Protege os dados

Propriedades dos DBMS Ø Independência dos dados: l Independência lógica: v Protege os dados de mudanças na estrutura lógica l Independência física: v Protege os dados de mudanças na estrutura física Ø Transações: l l Atomicidade: Consistência: Integridade: Durabilidade: A transação é concluída totalmente ou não é feita. Se estava consistente, continuará após a transação. Todas as restrições de integridade são respeitadas. Se a transação for concluída, não será perdida. Ø Controle de Concorrência: l Isolamento: Márcio Moreira Cada usuário deve “imaginar” que está sozinho. 6. Segurança em Banco de Dados – Slide 8 Segurança no Armazenamento de Informações

Abrindo a arquitetura padrão Buffer Browser Web Server Query Processor Files Márcio Moreira Aplicação

Abrindo a arquitetura padrão Buffer Browser Web Server Query Processor Files Márcio Moreira Aplicação Transaction Driver DBMS Driver Manager 6. Segurança em Banco de Dados – Slide 9 Segurança no Armazenamento de Informações

Processador de consultas Query Processor Query Parser Query Rewriter Ø Módulos responsáveis pelas iterações

Processador de consultas Query Processor Query Parser Query Rewriter Ø Módulos responsáveis pelas iterações do DBMS: l Query Parser: v. Analisador de consultas l Query Rewriter: v. Tradutor de consultas Query Optimizer l Query Optimizer: v. Otimizador de consultas Query Executor Márcio Moreira l Query Executor: v. Executor de consultas 6. Segurança em Banco de Dados – Slide 10 Segurança no Armazenamento de Informações

Buffer Ø Módulos do buffer: Buffer Manager l Buffer Manager: v. Gerenciador de buffers

Buffer Ø Módulos do buffer: Buffer Manager l Buffer Manager: v. Gerenciador de buffers l Buffer Pool: v. Buffer em memória de páginas do banco de dados no disco Buffer Pool Márcio Moreira l Este sub-sistema é fundamental para o desempenho do gerenciador 6. Segurança em Banco de Dados – Slide 11 Segurança no Armazenamento de Informações

Transaction Ø Sub-sistema de transações: l Transaction Manager: Transaction Manager v. Gerenciador de transações:

Transaction Ø Sub-sistema de transações: l Transaction Manager: Transaction Manager v. Gerenciador de transações: § Garante: Atomicidade, Consistência, Integridade e Durabilidade v. Gerencia acessos concorrentes: Lock Manager § Garante: Isolamento. l Lock Manager: v. Gerenciador de bloqueios Lock Tables l Lock Tables: v. Controle (em memória) de tabelas bloqueadas Márcio Moreira 6. Segurança em Banco de Dados – Slide 12 Segurança no Armazenamento de Informações

Files Storage Manager Ø Sub-sistema de arquivos: l Storage Manager: v. Gerenciador de armazenamento

Files Storage Manager Ø Sub-sistema de arquivos: l Storage Manager: v. Gerenciador de armazenamento l Files & Access Methods: Files & Access Methods Logging & Recovery Márcio Moreira v. Gestão dos métodos de acesso e arquivos do DBMS l Logging & Recovery: v. Gestão dos arquivos de logs e recuperação em caso de falhas 6. Segurança em Banco de Dados – Slide 13 Segurança no Armazenamento de Informações

Simplificação da arquitetura padrão Ø Processando uma consulta: Buffer Files Página 3. . .

Simplificação da arquitetura padrão Ø Processando uma consulta: Buffer Files Página 3. . . Página 1. . . Página 2. . . Página 3. . . Márcio Moreira Resposta Consulta Browser Web Server Query 6. Segurança em Banco de Dados – Slide 14 Processor Página 4. . . Página n. . . Segurança no Armazenamento de Informações

Perspectiva de segurança atual Área insegura: Texto Plano Área ≈ segura: Pode ser cifrada

Perspectiva de segurança atual Área insegura: Texto Plano Área ≈ segura: Pode ser cifrada Área ≈ segura: Buffer Pode ser cifrada Página 3. . . Abrangência: Usuário Márcio Moreira Abrangência: Usuário(s) Abrangência: Todos as Transações Página 1. . . Abrangência: Página 2. . . Todos os Dados Página 3. . . Resposta Consulta Browser Web Server Query 6. Segurança em Banco de Dados – Slide 15 Área insegura: Files Texto Plano Processor Página 4. . . Página n. . . Segurança no Armazenamento de Informações

Estratégia de segurança no servidor Ø Riscos: l Inspeção de memória: v Pegar páginas

Estratégia de segurança no servidor Ø Riscos: l Inspeção de memória: v Pegar páginas na memória v Pegar chaves usadas no armazenamento: Buffer Files Manter Página i Página 1. . . Páginas em Página j. . . Texto Plano § Compromete todos os dados Página 2 Armazenar. . . Página 3 Páginas. . . Ø Produtos: Página 4 Criptografadas l Oracle, DB 2, SQL Server, Sybase, Informix, etc. . Processar Browser Márcio Moreira Web Server 6. Segurança em Banco de Dados – Slide 16 Query em Consultas Processor Página n. . . Texto Plano Segurança no Armazenamento de Informações

Estratégia de segurança média Ø Riscos: l Inspeção de memória: v. Pegar dados das

Estratégia de segurança média Ø Riscos: l Inspeção de memória: v. Pegar dados das consultas v. Pegar chaves usadas no armazenamento: § Compromete todos os dados Browser Márcio Moreira Web Server 6. Segurança em Banco de Dados – Slide 17 Buffer Files Manter Página i Página 1. . . Páginas Página j. . . Cifradas Página 2 Armazenar. . . Página 3 Páginas. . . Página 4 Criptografadas. . . Processar Query em Consultas Processor Página n. . . Texto Plano Segurança no Armazenamento de Informações

Estratégia de segurança máxima Ø Benefício: l Ausência de exposição Files Manter Página i

Estratégia de segurança máxima Ø Benefício: l Ausência de exposição Files Manter Página i Página 1. . . Páginas Página j. . . Ø Custo: Cifradas l Implementação complexa l Queda de performance Browser Márcio Moreira Buffer Web Server 6. Segurança em Banco de Dados – Slide 18 Página 2 Armazenar. . . Página 3 Páginas. . . Página 4 Criptografadas. . . Processar Query Consultas Processor Página n. . . Cifradas Segurança no Armazenamento de Informações

Custo do processamento cifrado Ø Execução de SELECT: l Seqüencial: Por índice: l Proposto

Custo do processamento cifrado Ø Execução de SELECT: l Seqüencial: Por índice: l Proposto em 2002 por Márcio, João e Ilmério l Pesa o processamento, mas está se viabilizando l 2006: Ainda era experimental Fonte: Tingjian Ge and Stan Zdonik Márcio Moreira 6. Segurança em Banco de Dados – Slide 19 Segurança no Armazenamento de Informações

Pilares de segurança no DBMS Ø Confidencialidade: l Alguns dados são acessíveis só por

Pilares de segurança no DBMS Ø Confidencialidade: l Alguns dados são acessíveis só por alguns usuários l Ataques (roubos) podem revelar segredos, senhas, etc. Ø Privacidade: DBMS Disponibilidade Ø Disponibilidade: Integridade l Os dados devem ser válidos e não corrompidos l Ataques (fraudes) causam danos à organização Privacidade Ø Integridade: Confidencialidade l Dados pessoais não podem ser revelados l Ataques podem resultar em ações legais l As informações devem estar acessíveis quando necessárias l Ataques ou problemas afetam os resultados do negócio Márcio Moreira 6. Segurança em Banco de Dados – Slide 20 Segurança no Armazenamento de Informações

Ameaças à segurança do DBMS Ø T. ACCESS: l Acesso não autorizado à base

Ameaças à segurança do DBMS Ø T. ACCESS: l Acesso não autorizado à base de dados Ø T. DATA: l Acesso não autorizado à informações Ø T. RESOURCE: l Consumo excessivo de recursos Ø T. ATTACK: l Ataque não detectado Ø T. ABUSE. USER: l Abuso no uso de privilégios dos usuários Márcio Moreira 6. Segurança em Banco de Dados – Slide 21 Segurança no Armazenamento de Informações

Objetivos de segurança Ø O. I&A. TOE: l Toda operação no DB deve ser

Objetivos de segurança Ø O. I&A. TOE: l Toda operação no DB deve ser Identificada e Autenticada Ø O. ACCESS: l O DBA e os usuários têm direito de acesso a seus objetos Ø O. AUDIT: l O DBMS deve registrar eventos de segurança relevantes Ø O. RESOURCE: l O DBMS deve controlar o uso dos recursos do DB Ø O. ADMIN. TOE: l O DBMS deve prover recursos de administração ao DBA Márcio Moreira 6. Segurança em Banco de Dados – Slide 22 Segurança no Armazenamento de Informações

Objetivos de segurança x Ameaças O. I&A. TOE O. ACCESS T. ACCESS YES T.

Objetivos de segurança x Ameaças O. I&A. TOE O. ACCESS T. ACCESS YES T. DATA YES T. RESOURCE YES T. ATTACK YES YES T. ABUSE. USER YES YES P. ACCESS YES P. ACCOUNT YES O. AUDIT O. RESOURCE O. ADM. TOE 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 23 Segurança no Armazenamento de Informações

Ataques internos ao DBMS Ø Dados sensíveis: l São dados privados (não são de

Ataques internos ao DBMS Ø Dados sensíveis: l São dados privados (não são de acesso público) Ø Levam a classificar as bases em 3 grupos: l Públicas: l Privadas: l Mistas: Não possuem dados sensíveis Só possuem dados sensíveis Contem alguns dados sensíveis Ø Controle de acesso: l 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 24 Segurança no Armazenamento de Informações

Formas de obtenção de dados Ø Direta: l Obtenção do dado diretamente Ø Limites:

Formas de obtenção de dados Ø Direta: l Obtenção do dado diretamente Ø Limites: l Conhecendo os limites podemos inferir os dados Ø Resultado negativo: l Consulta a um valor negativo revela o dado Ø Existência: l Saber que o dado existe já é um problema Ø Probabilidade: l Determinar a probabilidade de um dado ter um valor Márcio Moreira 6. Segurança em Banco de Dados – Slide 25 Segurança no Armazenamento de Informações

Segurança x Precisão Ø Compartilhamento de dados públicos: l Segurança: v. Aceitar consultas à

Segurança x Precisão Ø Compartilhamento de dados públicos: l Segurança: v. Aceitar consultas à dados públicos e v. Rejeitar as de dados privados l Precisão: v. Proteger os dados privados revelando o máximo possível dos públicos Ø Ideal: l Máximo de segurança com o máximo de precisão l Infelizmente, isto nem sempre é possível Márcio Moreira 6. Segurança em Banco de Dados – Slide 26 Segurança no Armazenamento de Informações

Problema da inferência Ø Suponha que o Salário seja um dado privado l Portanto,

Problema da inferência Ø Suponha que o Salário seja um dado privado l Portanto, não pode ser retornado. Será? Ø Observe as consultas: l SELECT COUNT(*) FROM T WHERE Salario > 30000 v Retorna a quantidade de pessoas que ganham acima de 30000 l SELECT SUM(Salario) FROM T WHERE Salario > 30000 v Retorna a soma dos Salários de quem ganha acima de 30000 l SELECT Nome FROM T WHERE Salario > 30000 v Retorna o nome de quem ganha mais de 30000 l SELECT * FROM T WHERE 1/(Salario – 30000) > 0 v 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 27 Segurança no Armazenamento de Informações

Recomendações de segurança Ø Todas as mencionadas em Segurança em Aplicações continuam válidas Ø

Recomendações de segurança Ø Todas as mencionadas em Segurança em Aplicações continuam válidas Ø Adicionais – “BRAVE”: l Backup and recovery: v. Além do backup, devemos fazer journal (log) e archive l RAID: Performance e disponibilidade l Authorization: Concessão de privilégios adequados v. Devemos usar também a Autenticação de usuários l Views: l Encryption: Márcio Moreira Cada perfil deve ter suas visões Criptografe dados sensíveis 6. Segurança em Banco de Dados – Slide 28 Segurança no Armazenamento de Informações

Recomendações gerais 1 Ø Ligue a auditoria para dados sensíveis: l Audite e verifique

Recomendações gerais 1 Ø Ligue a auditoria para dados sensíveis: l Audite e verifique os acessos Ø Use pelo menos 2 níveis de logs e archives: l Salve estes arquivos em storages separados Ø Crie honey tokens para atrair os atacantes Ø Use a detecção de intrusos no DBMS Ø Remova as scripts, procedimentos e utilitários desnecessários (ex: setpwd. exe) Márcio Moreira 6. Segurança em Banco de Dados – Slide 29 Segurança no Armazenamento de Informações

Recomendações gerais 2 Ø Use controle de acesso mandatório ou RBAC (Role Based Access

Recomendações gerais 2 Ø Use controle de acesso mandatório ou RBAC (Role Based Access Control) Ø Mantenha a segurança da infra-estrutura: l SO, rede, firewalls, storages, backups, etc. Ø Use checklists: l Na seleção e compra do DBMS l Na administração do DBMS Márcio Moreira 6. Segurança em Banco de Dados – Slide 30 Segurança no Armazenamento de Informações

Referências Ø Cenys, et al. Implementation of Honey. Toke Module in DBMS Oracle 9

Referências Ø Cenys, et al. Implementation of Honey. Toke Module in DBMS Oracle 9 i. R 2 EE 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. Ø Cheng. Xiang 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 31 Segurança no Armazenamento de Informações

Referências Ø Jerry Keesee and Jonathan Leffler. IBM Informix Dynamic Server 10. 00 Security

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 Mc. Grattan. Data Security - Encryption Strategies for Data at Rest. Blue Oasis. 2005. Márcio Moreira 6. Segurança em Banco de Dados – Slide 32 Segurança no Armazenamento de Informações

Referências Ø Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3 rd Edition. Mc.

Referências Ø Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3 rd Edition. Mc. Graw-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 33 Segurança no Armazenamento de Informações

Referências Ø UNIRAS. Current Advice - Mitigating the risk of Malicious Software. NISCC. 2004.

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. Márcio Moreira 6. Segurança em Banco de Dados – Slide 34 Segurança no Armazenamento de Informações