Devo admitir que sou um programador e estou tentando aprender um pouco sobre DBA, mesmo que não tenha o mesmo histórico. Estou tentando entender o que fornece segurança e como usar a criptografia de dados em repouso no SQL Server.
Minha pergunta é, como essa criptografia protegerá os dados em caso de acesso não autorizado da máquina que hospeda a instância do SQL Server? Meu palpite é que não.
Quero dizer, suponha que o SQL Server seja executado em uma máquina virtual colocada em um datacenter e "conectada" à Internet. Se um invasor obtiver o controle da máquina virtual, acho que a proteção de dados em repouso pode fazer muito pouco.
Na verdade, o invasor pode obter privilégio de administrador (como usuário do sistema operacional), redefinir a credencial do SQL Server e fazer login como 'sa'; mesmo que o arquivo SQL Servr esteja normalmente criptografado, ele pode exportá-los em texto simples.
Nesse cenário, existe alguma maneira de proteger o SQL Server ou, em caso de violação no nível do sistema operacional, o SQL Server deve ser considerado "perdido"?
Você está certo. Os vetores de ataque que o malfeitor pode obter o controle (quantidades variáveis) do sistema tornarão essas tecnologias inúteis. Por exemplo, eles nem precisam acessar a VM em seu caso hipotético, eles só precisam obter acesso ao SQL Server, portanto, ainda menos privilégios necessários.
Existem algumas maneiras de fazer isso, e o SQL Server inclui uma dessas tecnologias "pronta para uso", chamada Always Encrypted (AE).
Isso, no entanto, pressupõe uma configuração adequada de AE e empurra o vetor de ataque para os terminais, em vez do próprio servidor central. Isso significa que, se alguém roubar ou obter acesso à sua VM (mesma situação hipotética que você descreveu), não poderá obter os dados, mesmo como SA. Como os dados são criptografados, eles também serão criptografados no disco e na memória (como alguém anexando um depurador ou fazendo varredura de memória de processo remoto, varredura de memória do kernel etc.), backups e em trânsito na rede.
O Always Encrypted foi feito para esse mesmo cenário, mas fica aquém de outros cenários. Se você está preocupado com alguém obtendo acesso à VM (quero dizer, não estamos todos?) Então é uma abordagem em camadas que tenho certeza que você conhece, mas existem algumas tecnologias como AE que podem ajudar a impedir certos ataques vetores.