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

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

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

Apresentações semelhantes


Apresentação em tema: "Segurança no Armazenamento 7. Segurança em Banco de Dados"— Transcrição da apresentação:

1 Segurança no Armazenamento 7. Segurança em Banco de Dados
Márcio Aurélio Ribeiro Moreira

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 Dados Processa-mento 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 Tabela X Coluna A Coluna B Linha 1: Dado1A Dado1B Linha 2: Dado2A Dado2B ... Linha N: DadoNA DadoNB

7 Níveis de abstração View (visão): Esquema conceitual: Esquema físico:
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: Transações:
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
Driver Manager Transaction Buffer Query Processor Files Browser Web Server Aplicação Driver DBMS

10 Processador de consultas
Query Processor 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 Parser Query Rewriter Query Optimizer Query Executor

11 Buffer Módulos do buffer: Buffer Manager: Buffer Pool:
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 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 Storage Manager Files & Access Methods Logging & Recovery

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

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

16 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. Manter Páginas em Texto Plano Armazenar Páginas Criptografadas Buffer Query Processor Files Página 1 ... Página 2 Página 3 Página n Página 4 Página i ... Página j ... Processar Consultas em Texto Plano Browser Web Server

17 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 Manter Páginas Cifradas Armazenar Páginas Criptografadas Buffer Query Processor Files Página 1 ... Página 2 Página 3 Página n Página 4 Página i ... Página j ... Processar Consultas em Texto Plano Browser Web Server

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

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
O.I&A.TOE O.ACCESS O.AUDIT O.RESOURCE O.ADM.TOE T.ACCESS YES T.DATA T.RESOURCE T.ATTACK T.ABUSE.USER P.ACCESS P.ACCOUNT 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: Ideal:
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 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

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

33 Referências Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3rd Edition. McGraw-Hill 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

34 Referências UNIRAS. Current Advice - Mitigating the risk of Malicious Software. NISCC UNIRAS. NISCC Technical Note 01/03: Understanding Database Security. NISCC Zheng-Fei, Jing, Wei and Bai-le. Fast Query Over Encrypted Character Data in Database. CIS


Carregar ppt "Segurança no Armazenamento 7. Segurança em Banco de Dados"

Apresentações semelhantes


Anúncios Google