A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "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"— Transcrição da apresentação:

1 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

2 Márcio Moreira6. Segurança em Banco de Dados – Slide 2Segurança no Armazenamento de Informações 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 Márcio Moreira6. Segurança em Banco de Dados – Slide 3Segurança no Armazenamento de Informações 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 Márcio Moreira6. Segurança em Banco de Dados – Slide 4Segurança no Armazenamento de Informações Níveis de segurança dos dados Humano Corrupção Falta de cuidado Engenharia Social Interfaces Usuário Aplicação Rede Aplicação DBMS Sistema Operacional Físico

5 Márcio Moreira6. Segurança em Banco de Dados – Slide 5Seguranç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 retorno Também em texto plano Comandos Dados Processa- mento Dados Mensagens

6 Márcio Moreira6. Segurança em Banco de Dados – Slide 6Segurança no Armazenamento de Informações 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 Tabela X Coluna AColuna B Linha 1:Dado1ADado1B Linha 2:Dado2ADado2B... Linha N:DadoNADadoNB

7 Márcio Moreira6. Segurança em Banco de Dados – Slide 7Seguranç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

8 Márcio Moreira6. Segurança em Banco de Dados – Slide 8Seguranç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.

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

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

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

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

13 Márcio Moreira6. Segurança em Banco de Dados – Slide 13Segurança no Armazenamento de Informaçõ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 Storage Manager Storage Manager Files & Access Methods Logging & Recovery Logging & Recovery

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

15 Márcio Moreira6. Segurança em Banco de Dados – Slide 15Segurança no Armazenamento de Informações Perspectiva de segurança atual Browser Web Server Buffer Query Processor Query Processor Consulta Files Página 1... Página 2... Página 3... Página n... Página 4... Consulta Página 3... Página 3... Resposta Á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

16 Márcio Moreira6. Segurança em Banco de Dados – Slide 16Segurança no Armazenamento de Informações Estratégia de segurança no servidor 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. Browser Web Server Buffer Query Processor Query Processor 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

17 Márcio Moreira6. Segurança em Banco de Dados – Slide 17Segurança no Armazenamento de Informações Estratégia de segurança média Riscos: Inspeção de memória: Pegar dados das consultas Pegar chaves usadas no armazenamento: Compromete todos os dados Browser Web Server Buffer Query Processor Query Processor 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

18 Márcio Moreira6. Segurança em Banco de Dados – Slide 18Segurança no Armazenamento de Informações Estratégia de segurança máxima Benefício: Ausência de exposição Custo: Implementação complexa Queda de performance Browser Web Server Buffer Query Processor Query Processor 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

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

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

22 Márcio Moreira6. Segurança em Banco de Dados – Slide 22Seguranç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

23 Márcio Moreira6. Segurança em Banco de Dados – Slide 23Segurança no Armazenamento de Informações Objetivos de segurança x Ameaças AmeaçasO.I&A.TOEO.ACCESSO.AUDITO.RESOURCEO.ADM.TOE T.ACCESSYES T.DATAYES T.RESOURCEYES T.ATTACKYES T.ABUSE.USERYES P.ACCESSYES P.ACCOUNTYES Fonte: Database Management System Protection Profile (DBMS PP)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 Márcio Moreira6. Segurança em Banco de Dados – Slide 24Seguranç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í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 Márcio Moreira6. Segurança em Banco de Dados – Slide 25Seguranç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

26 Márcio Moreira6. Segurança em Banco de Dados – Slide 26Segurança no Armazenamento de Informações 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 Márcio Moreira6. Segurança em Banco de Dados – Slide 27Seguranç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 > Retorna a quantidade de pessoas que ganham acima de SELECT SUM(Salario)FROM T WHERE Salario > Retorna a soma dos Salários de quem ganha acima de SELECT NomeFROM T WHERE Salario > Retorna o nome de quem ganha mais de SELECT *FROM T WHERE 1/(Salario – 30000) > 0 Se alguém ganhar 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 Márcio Moreira6. Segurança em Banco de Dados – Slide 28Seguranç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 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 Márcio Moreira6. Segurança em Banco de Dados – Slide 29Seguranç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 atacantes Use a detecção de intrusos no DBMS Remova as scripts, procedimentos e utilitários desnecessários (ex: setpwd.exe)

30 Márcio Moreira6. Segurança em Banco de Dados – Slide 30Seguranç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 DBMS Na administração do DBMS

31 Márcio Moreira6. Segurança em Banco de Dados – Slide 31Seguranç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.Implementation of HoneyToke Module in DBMS Oracle 9iR2EE For Internal Malicius Activity Detection Christopher Clack. Selected Database Issues. Security. Lecture 1. Lecture 2. Lecture 3. UCL - CSD. Mar-2008.Selected Database Issues. Security. Lecture 1.Lecture 2.Lecture 3. ChengXiang Zhai. DBMS Architecture. University of Illinois. Sep-2006.DBMS Architecture Common Criteria. Database Management System Protection Profile (DBMS PP). CC Portal Database Management System Protection Profile (DBMS PP)

32 Márcio Moreira6. Segurança em Banco de Dados – Slide 32Segurança no Armazenamento de Informações Referências Jerry Keesee and Jonathan Leffler. IBM Informix Dynamic Server Security and Column-Level Encryption. IBM. Mar-2005.IBM Informix Dynamic Server Security and Column-Level Encryption Luc Bouganim and Philippe Pucheral. Chip- Secured Data Access: Confidential Data on Untrusted Servers. VLDB Chip- Secured Data Access: Confidential Data on Untrusted Servers Márcio Moreira, João Nunes and Ilmério Silva. A Multi-User Key and Data Exchange Protocol to Manage a Secure Database. SBBD A Multi-User Key and Data Exchange Protocol to Manage a Secure Database Michael McGrattan. Data Security - Encryption Strategies for Data at Rest. Blue Oasis Data Security - Encryption Strategies for Data at Rest

33 Márcio Moreira6. Segurança em Banco de Dados – Slide 33Segurança no Armazenamento de Informações Referências Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3 rd Edition. McGraw-Hill SUN. Best Practices in Information Lifecycle Management Security. SUN. Feb-2006.Best Practices in Information Lifecycle Management Security Susan Davidson. Physical Storage. University of Pennsylvania. Nov-2007.Physical Storage Tingjian Ge and Stan Zdonik. Fast, Secure Encryption for Indexing in a Column-Oriented DBMS. Brown University Fast, Secure Encryption for Indexing in a Column-Oriented DBMS

34 Márcio Moreira6. Segurança em Banco de Dados – Slide 34Segurança no Armazenamento de Informações Referências UNIRAS. Current Advice - Mitigating the risk of Malicious Software. NISCC Current Advice - Mitigating the risk of Malicious Software UNIRAS. NISCC Technical Note 01/03: Understanding Database Security. NISCC NISCC Technical Note 01/03: Understanding Database Security Zheng-Fei, Jing, Wei and Bai-le. Fast Query Over Encrypted Character Data in Database. CIS Fast Query Over Encrypted Character Data in Database


Carregar ppt "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"

Apresentações semelhantes


Anúncios Google