1 / 34

Segurança no Armazenamento 7. Segurança em Banco de Dados

Segurança no Armazenamento 7. Segurança em Banco de Dados. Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http://si.lopesgazzani.com.br/docentes/marcio /. Objetivos do capítulo. Apresentar a arquitetura padrão dos DBMS Apresentar os principais conceitos de DBMS

abia
Download Presentation

Segurança no Armazenamento 7. Segurança em Banco de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Segurança no Armazenamento7. Segurança em Banco de Dados Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http://si.lopesgazzani.com.br/docentes/marcio/

  2. 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

  3. Arquitetura padrão • Abaixo apresentamos a macro arquitetura padrão dos DBMS ou SGBD: • DBMS = Database Management System • SGBD = Sistema Gerenciador de Banco de Dados • Nota: A arquitetura apresentada não tem nenhum foco em segurança, apenas apresenta os nós envolvidos

  4. Níveis de segurança dos dados Humano Corrupção Falta de cuidado Engenharia Social Interfaces Usuário Aplicação Rede Aplicação DBMS Físico Sistema Operacional

  5. 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 retorno • Também em texto plano Comandos Processa-mento Dados Dados Mensagens

  6. Principais conceitos dos DBMS • Data Model (Modelo de Dados): • É uma coleção modelos que descrevem os dados • O 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 tabela • Esquema: Conjunto de colunas • Tuplas: Linhas • Atributos: Colunas

  7. 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 Visão 1 Visão 2 Visão 3 Esquema Conceitual Esquema Físico Banco de Dados

  8. 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.

  9. Abrindo a arquitetura padrão Buffer Files Web Server Query Processor Browser Aplicação Transaction Driver DBMS Driver Manager

  10. 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

  11. 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

  12. 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

  13. 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 Storage Manager Files & Access Methods Logging & Recovery

  14. Simplificação da arquitetura padrão Buffer Files • Processando uma consulta: Página 1 ... Página 3 ... Página 2 ... Página 3 ... Página 3 ... Página 4 ... Resposta Resposta Resposta Consulta Consulta Consulta Página n ... Query Processor Web Server Browser

  15. Perspectiva de segurança atual Á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 Buffer Área insegura: Texto Plano Abrangência: Todos os Dados Files Página 1 ... Página 3 ... Página 2 ... Página 3 ... Página 3 ... Página 4 ... Resposta Resposta Resposta Consulta Consulta Consulta Página n ... Query Processor Web Server Browser

  16. Estratégia de segurança no servidor Manter Páginas em Texto Plano Buffer Armazenar Páginas Criptografadas Files • Riscos: • Inspeção de memória: • Pegar páginas na memória • Pegar chaves usadas no armazenamento: • Compromete todos os dados • Produtos: • Oracle, DB2, SQL Server, Sybase, Informix, etc. Página 1 ... Página i ... Página 2 ... Página j ... Página 3 ... Página 4 ... Processar Consultas em Texto Plano Página n ... Query Processor Web Server Browser

  17. Estratégia de segurança média Manter Páginas Cifradas Buffer Armazenar Páginas Criptografadas Files • Riscos: • Inspeção de memória: • Pegar dados das consultas • Pegar chaves usadas no armazenamento: • Compromete todos os dados Página 1 ... Página i ... Página 2 ... Página j ... Página 3 ... Página 4 ... Processar Consultas em Texto Plano Página n ... Query Processor Web Server Browser

  18. Estratégia de segurança máxima Manter Páginas Cifradas Buffer Armazenar Páginas Criptografadas Files • Benefício: • Ausência de exposição • Custo: • Implementação complexa • Queda de performance Página 1 ... Página i ... Página 2 ... Página j ... Página 3 ... Página 4 ... Processar Consultas Cifradas Página n ... Query Processor Web Server Browser

  19. Custo do processamento cifrado • Execução de SELECT: • Seqüencial: Por índice: • Proposto em 2002 por Márcio, João e Ilmério • Pesa o processamento, mas está se viabilizando • 2006: Ainda era experimental Fonte: Tingjian Ge and Stan Zdonik

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

  21. 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

  22. 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

  23. Objetivos de segurança x Ameaças 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)

  24. 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íveis • Privadas: Só possuem dados sensíveis • Mistas: 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

  25. 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

  26. Segurança x Precisão • Compartilhamento de dados públicos: • Segurança: • Aceitar consultas à dados públicos e • Rejeitar 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ão • Infelizmente, isto nem sempre é possível

  27. 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

  28. 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 adequados • Devemos usar também a Autenticação de usuários • Views: Cada perfil deve ter suas visões • Encryption: Criptografe dados sensíveis

  29. 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 atacantes • Use a detecção de intrusos no DBMS • Remova as scripts, procedimentos e utilitários desnecessários (ex: setpwd.exe)

  30. 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 DBMS • Na administração do DBMS

  31. 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.

  32. 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.

  33. 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.

  34. 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.

More Related