Requisitos de Segurança de Banco de dados
Por: Lidieisa • 2/11/2018 • 2.140 Palavras (9 Páginas) • 282 Visualizações
...
A política de privacidade vai além das linhas de código de qualquer sistema informatizado, neste caso o DBA tem total autoridade de montar normas de acesso nas empresas para manter a segurança da informação, pois em alguns casos, intervenções internas, vazamentos de dados e danos por corrompimento são causados pelos próprios funcionários que não possuem as credenciais para acesso.
Com esses métodos aplicados de maneira correta o DBA tem controle total de toda movimentação, alteração e exclusão dos dados no BD, sendo que o ID das contas criadas mostra ao administrador quando e quem possivelmente errou ou excluiu algo indevidamente. Essa vistoria é feita por meio de auditoria de Logs os quais geralmente são chamados de trilhas de auditoria.
3. SQL injection , o que é e como funciona
O SQL inejction é uma das ameaças mais corriqueiras ao sistema de banco de dados. Ele ocorre por meio da manipulação do SQL, que é a codificação utilizada para troca de informações entre uma aplicação e um banco de dados. De acordo com Elmasri, em um ataque de SQL, o atacante injeta uma entrada de cadeia de caracteres na aplicação, de uma forma ele possa mudar ou manipular a instrução de SQL, para proveito próprio. Dessa forma o atacante pode fazer recuperação de dados confidenciais de corporações, ou executar comandos em nível de sistema para que ele negue a aplicação.
Os ataques de SQL injection podem ocorrer de diferentes formas: Manipulação de SQL, injeção de código e injeção de chamada de função.
A manipulação de SQL é o ataque mais comum, ele é executado por meio da mudança de um comando SQL na aplicação. O ataque típico de manipulação ocorre ao decorrer de um login do banco de dados.
Em um ataque por meio de injeção de código, o invasor faz com que sejam acrescentados instruções de SQL ou comandos adicionais em uma instrução previamente existente, se aproveitando de um bug dos computadores na parte de processamento de dados inválidos. É uma técnica de ataque muito utilizada para a invasão em sistemas com a finalidade da obtenção de informações.
Durante uma injeção de chamada de função, funções do banco de dados ou uma chamada de função do sistema operacional é introduzida em uma instrução de SQL mais vulnerável com o intuito da manipulação de dados ou a execução de uma chamada do sistema privilegiada.
A injeção de SQL é muito utilizada por hackers, pois possui um alto risco aos sistemas de banco de dados. Pois aproveita de muitas brechas do sistema, ou falhas nas programações dos BD’s para a obtenção de informações sobre o tipo de banco de dados, derrubada de um servidor ou outras ações criminosas.
O invasor pode, por exemplo, obter a impressão digital do banco de dados, e poderia determinar o tipo de banco de dados utilizado como back-end de uma aplicação utilizando o SQL injection, para poder realizar um ataque específico, pois com essa informação ele consegue distinguir os pontos fracos do SGBD em questão.
O invasor pode por meio do SQL injection fazer um grande número de solicitações ao servidor, de forma que negue o serviço a usuários legítimos, ou execute a exclusão de dados.
Outra ameaça seria o atacante contornar a identificação, realizando esse contorno pela obtenção de um cadastro de usuário autorizado por meio de manipulação do SQL, para que se possa obter acesso ao banco de dados e realize o que for de seu interesse.
O invasor pode também, por meio de comandos remotos, realizar qualquer comando no banco de dados, fornecendo a possibilidade de executar procedimentos e funções do banco de dados em uma interface interativa SQL remota. Existem também ataques de escalada de privilégio no qual os atacantes aproveitam algumas falhas na lógica do Banco de dados, permitindo que o Invasor aumente o nível de acesso.
Existem formas de se proteger contra ataques de injeção de SQL, essa proteção pode ocorrer por meio da aplicação de algumas regras de programação. Dentre essas regras podemos citar o uso de variáveis de ligação, que funcionam como parâmetros na linguagem SQL permitindo a utilização de valores dinâmicos. Pode-se utilizar também uma filtragem de entrada, com essa técnica de defesa o programador pode remover caracteres de escape das cadeias de caracteres de entrada, empregando a função ‘Replace’ do SQL. As funções do banco de dados por medidas de segurança devem ser restringidas, por medidas de segurança, para que não possam oferecer brechas em ataques por SQL injection.
4. Criptografia para a segurança dos dados
Em geral nos bancos de dados apenas a utilização de um bom controle de fluxo e métodos de acesso podem servir para aplicações menores. Quando nos remetemos á uma segurança mais elaborada, temos como referência a técnica da criptografia, também utilizada nos BD's para a manutenção da integridade das informações armazenadas. Em síntese, segundo Navathe, a criptografia é a conversão de um dado para outro formato, denominado texto cifrado, que torna difícil o entendimento do conteúdo da informação por pessoas que não possuem acesso a chave de descriptografia. Essas técnicas fornecem um alto grau de segurança, porque mesmo que um invasor consiga passar por outros níveis de controle de acesso do banco de dados e obtenha os arquivos, estes não serão facilmente decodificados.
Existem alguns padrões internacionais utilizados como referência para uma criptografia segura, e muitas coorporações os utilizam para garantir a segurança de seus dados. O padrão Advanced Encryption Standard (AES) foi criado pelo departamento de tecnologia do governo dos Estados Unidos para a utilização do público civil, ele consiste em um algoritmo que pode conter chaves de 128, 196 ou 256 bits.
Dois tipos de chaves de criptografia são os mais utilizados atualmente, Chaves simétricas e chaves assimétricas. Nos algoritmos de chaves simétricas, existe uma chave de criptografia é utilizada para a criptografia e discriptografia do código, devendo ser compartilhada entre o emissor e o receptor do código, por ser rápida e segura essa forma é muito utilizada nos banco de dados. Já as chaves assimétricas, são utilizadas duas chaves, uma chave para a codificação chamada de chave pública e outra para decodificar o conteúdo.
Existem também as assinaturas digitais que utilizam técnicas de criptografia para serviços de autenticação de usuários, muito utilizados no e-commerce para a segurança dos clientes.
...