DDBMS - Segurança em Bancos de Dados Distribuídos

Um sistema distribuído precisa de medidas de segurança adicionais do que um sistema centralizado, uma vez que existem muitos usuários, dados diversificados, vários sites e controle distribuído. Neste capítulo, examinaremos as várias facetas da segurança de banco de dados distribuído.

Em sistemas de comunicação distribuída, existem dois tipos de intrusos -

  • Passive eavesdroppers - Eles monitoram as mensagens e obtêm informações privadas.

  • Active attackers - Eles não só monitoram as mensagens, mas também corrompem os dados inserindo novos dados ou modificando os dados existentes.

As medidas de segurança abrangem segurança nas comunicações, segurança nos dados e auditoria de dados.

Segurança de Comunicações

Em um banco de dados distribuído, muita comunicação de dados ocorre devido à localização diversificada de dados, usuários e transações. Portanto, exige uma comunicação segura entre usuários e bancos de dados e entre os diferentes ambientes de banco de dados.

A segurança na comunicação abrange o seguinte -

  • Os dados não devem ser corrompidos durante a transferência.

  • O canal de comunicação deve ser protegido contra bisbilhoteiros passivos e atacantes ativos.

  • Para cumprir os requisitos acima mencionados, algoritmos e protocolos de segurança bem definidos devem ser adotados.

Duas tecnologias populares e consistentes para alcançar comunicações seguras de ponta a ponta são -

  • Secure Socket Layer Protocol ou Transport Layer Security Protocol.
  • Redes privadas virtuais (VPN).

Segurança de dados

Em sistemas distribuídos, é imperativo adotar medidas para proteger os dados além das comunicações. As medidas de segurança de dados são -

  • Authentication and authorization- São as medidas de controle de acesso adotadas para garantir que apenas usuários autênticos possam utilizar o banco de dados. Para fornecer certificados de autenticação digital são usados. Além disso, o login é restrito através da combinação de nome de usuário / senha.

  • Data encryption - As duas abordagens para criptografia de dados em sistemas distribuídos são -

    • Abordagem interna para banco de dados distribuído: Os aplicativos do usuário criptografam os dados e, em seguida, armazenam os dados criptografados no banco de dados. Para usar os dados armazenados, os aplicativos buscam os dados criptografados do banco de dados e depois os descriptografam.

    • Externo ao banco de dados distribuído: O sistema de banco de dados distribuído tem seus próprios recursos de criptografia. Os aplicativos de usuário armazenam dados e os recuperam sem perceber que os dados estão armazenados de forma criptografada no banco de dados.

  • Validated input- Nesta medida de segurança, o aplicativo do usuário verifica cada entrada antes que ela possa ser usada para atualizar o banco de dados. Uma entrada não validada pode causar uma ampla gama de explorações, como saturação de buffer, injeção de comando, script entre sites e corrupção de dados.

Auditoria de Dados

Um sistema de segurança de banco de dados precisa detectar e monitorar violações de segurança, a fim de verificar as medidas de segurança que deve adotar. Freqüentemente, é muito difícil detectar uma violação de segurança no momento das ocorrências. Um método para identificar violações de segurança é examinar os logs de auditoria. Os logs de auditoria contêm informações como -

  • Data, hora e local das tentativas de acesso malsucedidas.
  • Detalhes de tentativas de acesso bem-sucedidas.
  • Modificações vitais no sistema de banco de dados.
  • Acesso a grandes quantidades de dados, principalmente de bancos de dados em vários sites.

Todas as informações acima fornecem uma visão geral das atividades no banco de dados. Uma análise periódica do log ajuda a identificar qualquer atividade não natural junto com seu local e hora de ocorrência. Idealmente, esse log é armazenado em um servidor separado para que fique inacessível aos invasores.