NSA Secrets – Hacking SQL Server – Dynamic Data (UN)Masking

Qualquer sistema informático pode ser atacado. É inevitável, nada é 100% seguro. Por vezes não depende dos programadores. O sistema pode ser totalmente robusto e um ser humano, para “facilitar”, cria acidentalmente buracos de segurança.

Este artigo sobre Hacking, em particular a SQL Server, vem na sequência duma sessão com o mesmo nome que fiz mais de uma dezena de vezes (maioritariamente no estrangeiro), e cujos exemplos aqui partilho (e eventualmente também em futuras edições).

Neste caso vamos falar sobre Dynamic Data Masking (DDM) (https://msdn.microsoft.com/en-us/library/mt130841.aspx), uma nova funcionalidade da versão 2016 do SQL Server da Microsoft. Resumidamente, impede quem faça um simples query de SELECT de ver alguns campos críticos (número de cartão de crédito, morada, telefone, etc.), substituindo-os por um padrão de caracteres a definir pelo utilizador. Só quem tem uma permissão especial, a de UNMASK (que só existe ao nível de toda a base de dados por enquanto), poderá ver os resultados sem estarem mascarados. Isto aplica-se também ao utilizador que faz backups, que caso não tenha também UNMASK apenas salvará lixo (idem para SELECT INTO ou INSERT INTO). Note-se que fazer INSERT ou UPDATE ao campo vai alterar normalmente os dados (que depois ficam automaticamente mascarados).

[...]

Leia o artigo completo na edição 54 da Revista PROGRAMAR

Publicado na edição 54 (PDF) da Revista PROGRAMAR.