Upload
felipe-plattek
View
3.560
Download
1
Embed Size (px)
DESCRIPTION
Apresentação do trabalho da disciplina Banco de Dados do MBA em Tecnologia da Informação - Executivo da Escola Politécnica da UFRJ
Citation preview
Integrantes:Renato Duarte
Leonardo de JesusFelipe Plattek
Ricardo Villas-Bôas FernandesMarcus Vinícius S. Silva
Agenda
• Segurança de dados e informação• Banco de dados• Vulnerabilidades• Ataques a banco de dados• Criptografia• Conclusão
Segurança de Dados e Informação
Desafios das organizações
• Estabelecer contra medidas para o risco de perda de dados.
• Adequar-se às exigências da atual dinâmica empresarial;
• Rapidez nas tomadas de decisão;• Racionalização dos processos;• Processamento de grandes volumes;• Pressão sobre os resultados.
Dados e Informação
Problemas identificados em dados não protegidos:
Dados armazenados em mídia removível (perdidos / roubados)Política inconsistente de dados;Dados não estruturados;Falha no processo de auditoria internaExposição legal, regulamentária e ética para a organização;Custo de violações de dados.
Dados e Informação
Valores agregados à proteção dos dados e informação:
Redução do custo, aumento da capacidade de cumprir as obrigações de auditoria e conformidade;
Garantia que os dados estejam disponíveis para as pessoas certas, no momento certo;
Garantia que os dados não sejam deliberada- ou inadvertidamente acessados, vazados ou danificados;
Banco de Dados
Banco de Dados
É um conjunto de registros dispostos em uma estrutura regular que possibilita a reorganização dos mesmos permitindo extrair a informação.
Banco de Dados
São utilizados para armazenar diversos tipo de dados, como informações de pessoas, dados bancários, informações confidenciais, etc.
Ferramentas de SegurançaPolítica de Segurança
Levantamento de Necessidades de Usuários O que desejam O que precisam Perfis comuns Níveis de Segurança Adaptação às Regras da Empresa
Administrador, Dono de Objetos, Usuário Comum Proteção em nível de Tabela Gerência da base; Acesso a Objetos (Tabelas, Visões etc.) Integração com o Sistema Operacional Views, Stored Procedures, Triggers Backup & Recovery Auditoria
Ferramentas de Segurança
SQL Server
Modos de Segurança: Standard e Integrated Logins Usuários
Administrador, Database Owner, Database Object Owner, Database User
Privilégios de Objeto vs. Sistema Objetos: Rule, Default, Stored Procedure, Trigger, View Políticas de Backup Recuperação Auditoria Ferramentas externas
Ferramentas de SegurançaOracle
Integração com o SO Schemas Usuários
Administrador, Database Owner, Database Object Owner, Database User
Privilégios de Objeto vs. Sistema Roles
Objetos: Stored Procedure, Trigger, View, Synonym, Profile Políticas de Backup Recuperação Ferramentas do Oracle Enterprise Manager Oracle Security Server Auditoria Criptografia
Vulnerabilidades
Vulnerabilidades
O maior valor de uma empresa são as informações que ela possui.
Todos os recursos que expõem dados ou informações podem ser considerados um risco, se forem implementados incorretamente.
A preocupação com a segurança dos dados contidos em bancos de dados deve ser alta, independente do tipo de informação que está sendo tratada.
Ameaças e vulnerabilidades poderão ser de menor impacto se estiver bem definido:
Processo (Diretivas de segurança);Plataforma (Sistema não atualizado);Autenticação (Senhas pouco seguras);Programação (Injeção SQL);Acesso aos dados (Criptografia aplicada de forma inadequada);
Vulnerabilidades
Ataques a Banco de Dados
Ataques a Banco de Dados
SQL Injection
Uma das técnicas de fraude mais conhecida pelos desenvolvedores web.
Manipulação de instrução SQL através das variáveis que compõem parâmetros recebidos por scripts server-side.
SQL Injection – Exemplo
$Sql = "SELECT * FROM tb_usuario
WHERE usuario = '" + $usuario + “ AND senha = ‘” + $senha + “’;"
Ao entrar com:Usuário: ‘ or ‘1’=‘1Senha: ‘ or ‘1’=‘1
Comando que será processado pelo Banco de Dados:
SELECT * FROM tb_usuario WHERE usuario = ‘’ or ‘1’=‘1’ AND senha = ‘’ or ‘1’=‘1’;
Ataques a Banco de Dados
SQL Injection – Exemplo
$Sql = "SELECT * FROM tb_clientesWHERE cliente = '" + $nome + “’;"
Ao entrar com:Cliente: ‘; SELECT * FROM SYSOBJECTS;
Comando que será processado pelo Banco de Dados:
SELECT * FROM tb_clientes WHERE cliente = ‘’; SELECT * FROM SYSOBJECTS
Comando que poderá ser processado pelo Banco de Dados:
SELECT * FROM tb_clientes WHERE cliente = ‘’; DROP TABLE FINANCEIRO
Ataques a Banco de Dados
SQL Injection – Solução
Utilização de parâmetros Remoção de caracteres especiais Limitação da quantidade de caracteres Configuração correta do usuário de acesso ao BD.
Ataques a Banco de Dados
Criptografia
Criptografia
Codifica os dados através de algoritmos;
A decodificação dos dados é feita através de chaves (pública e
privada) ou senha;
Inutiliza os dados sem a chave de decriptrografia ou senha
correspondente;
Não resolve problemas de controle de acesso;
Aumenta a segurança, limitando perda de dados mesmo se os
controles de acesso forem ignorados.
Fonte: http://msdn.microsoft.com/pt-br/library/bb510663.aspx
Tipos de criptografia
Criptografia Hash (ou Digest);
Chaves Simétricas;
Chaves Assimétricas;
Criptografia Hash
Permite que, através de uma string de qualquer tamanho, seja calculado um identificador digital de tamanho fixo, chamado de valor hash;
O valor hash geralmente é formado por 16 bytes (no caso do MD-2, MD-4 e MD-5) ou 20 bytes (no caso do SHA-1), mas pode se estender, embora não passe de 512 bytes;
Chaves SimétricasA mesma chave é usada tanto na codificação quanto na
decodificação;Algoritmos criptográficos que fazem uso da Chave Simétrica:
DES (Data Encryption Standard); IDEA (Internacional Data Encryption Algorithm);RC (Ron’s Code ou Rivest Cipher);3DES;Twofish;Blowfish.
Confiram o vídeo exibido na apresentação:
http://www.youtube.com/watch?v=U62S8SchxX4
Chaves Assimétricas
O sistema funciona da forma que alguém cria uma chave e envia essa chave à quem quiser mandar informações à ela, essa é a chamada chave pública. Com ela é feita a codificação da mensagem;
Para decodificação será necessário utilizar uma outra chave que deve ser criada, a chave privada – que é secreta.
Na figura, a chave verde representa a chave pública, enquanto a chave rosa representa a chave privada.
Fonte: Wikipedia
Criptografia em Banco de Dados
Não deve ser considerada em todos os dados ou conexões.
Como os usuários acessarão os dados?Usuários acessarem dados por uma rede pública.Usuários acessarem dados por uma intranet segura.
Qualquer uso de criptografia deve também incluir uma estratégia de manutenção de senhas, chaves e certificados.
Conclusão
Independentemente dos recursos e investimentos aplicados em alta tecnologia, se faz necessária uma adoção comportamental e contínua voltada para a segurança do negócio. Pois, a sobrevivência da empresa não é fundamental apenas quanto ao aspecto da rentabilidade, mas também quanto ao aspecto da manutenção da operacionalidade em níveis que não possam interrompê-la.
“Nenhuma corrente é mais forte que seu elo mais fraco.”