A startup australiana CipherStash desenvolveu um proxy para tornar os dados criptografados pesquisáveis no PostgreSQL enquanto o sistema permanece confiável e com bom desempenho. É baseado no projeto de código aberto pgcat, desenvolvido na Instacart e escrito em Rust para um desempenho muito alto em escala.
Também foram adicionados três módulos – Auditar, Identificar e Criptografar – para fornecer um controle mais refinado sobre quem está acessando seus dados e como.
O problema com a maioria das ferramentas de proteção de dados é que elas só podem bloquear coisas no nível do sistema ou do aplicativo e, uma vez lá dentro, um malfeitor pode acessar os dados à vontade, de acordo com o CEO e fundador da CipherStash, Dan Draper. A criptografia de dados em trânsito e em repouso fornece proteção, mas não é pesquisável, limitando a utilidade dos dados para os negócios.
A abordagem do CipherStash consiste em criptografar os dados no nível da linha do banco de dados até o ponto de uso, de modo que, mesmo que um hacker consiga entrar em um sistema, os dados ainda não possam ser acessados. Com uma chave exclusiva para cada campo de cada registro, ele pode rastrear sempre que esse campo é acessado e por quem.
Dan Draper
Simplesmente chamado de Proxy, ele foi projetado para que equipes de DevOps, engenharia e segurança se integrem perfeitamente às tecnologias existentes, sem exigir intervenção do desenvolvedor ou afetar o desempenho. Ele oferece suporte a pool de conexões e balanceamento de carga – recursos essenciais necessários para dimensionar o banco de dados. Ele o descreveu como uma espécie de proxy com reconhecimento de identidade, um substituto mais rápido para ferramentas como PgBouncer ou Amazon RDS Proxy.
“O produto pgcat foi desenvolvido devido a deficiências no mercado proxy existente. Então, estamos começando com algumas bases realmente boas”, disse ele.
“É muito mais performático. Ele tem alguns recursos de confiabilidade que alguns dos produtos mais tradicionais não tinham – coisas como pooling de conexões e falha automática, failover e coisas assim.”
Com seus recursos complementares, os dados criptografados podem ser armazenados no banco de dados, mas os aplicativos ainda podem operar nele. Eles incluem:
Auditoria
Com o registro de acesso a dados, o proxy CipherStash registrará cada identificador de registro e nome de campo retornado em cada consulta. É um nível de registro muito mais detalhado que relata que dados específicos foram retornados a um usuário identificado específico, em vez de ferramentas que identificam apenas o aplicativo para o qual as informações foram enviadas.
Embora a empresa afirme que usa armazenamento eficiente para esses dados, você provavelmente não gostaria de habilitar esse recurso em todas as tabelas do seu banco de dados, disse Draper.
“Mas certamente coisas como um paciente ou ambiente de saúde, você pode habilitá-lo na tabela de um paciente em um banco de dados. Em um ambiente financeiro, você pode habilitá-lo em uma transação ou no banco de dados de um cliente. Ele permite que você tenha granularidade em seu registro, diferente de tudo que você já teve antes. E isso nos permite adicionar coisas como detecção de anomalias e correspondência de padrões incomuns no produto.”
Tal recurso poderia ter ajudado Roku a identificar comportamentos suspeitos e impedir sua última violação, por exemplo, disse ele.
Identificar
O módulo Identificar se integra a grandes nomes de identidade como Octa, Auth0 e Ping Identity, usando autenticação JSON Web Token (JWT) para controle de acesso usando uma abordagem de negação por padrão.
“Ele permite que você conecte a identidade dos usuários finais do seu aplicativo ao seu banco de dados”, explicou Draper. “Historicamente, os bancos de dados não conhecem o usuário final do aplicativo. … Identificar nos permite conectar essas informações do começo ao fim. Portanto, agora podemos registrar exatamente quais dados foram acessados não apenas pela aplicação, mas pelo usuário final. E isso também é incrivelmente poderoso. Fazer isso usando técnicas existentes exigiria bastante código personalizado ou uma configuração bastante complicada. E podemos fazer isso, podemos configurá-lo em minutos.
Como este vídeo ilustra, no painel você pode ver o ID OAuth da pessoa que faz a consulta e quais campos são consultados com mais frequência.
Criptografar
Os dados normalmente são armazenados em texto simples, deixando-os vulneráveis a vazamentos de credenciais comprometidas e hackers. Com o CipherStash, os dados podem ser pesquisados, mas criptografados até o ponto de uso. E está trabalhando para estender essa criptografia a planilhas do Excel e outros tipos de documentos compartilhados em uma organização.
Tanto as consultas quanto os dados são criptografados no cliente antes de chegarem ao banco de dados. Uma função de comparação criptográfica rápida significa que os dados retornados não são visíveis no servidor. Todas as descriptografias são autorizadas e registradas, deixando uma trilha de auditoria granular de cada vez que os dados são acessados.
Adicionando criptografia ao Postgres
Empreendedor em série, Draper trabalhava como CTO quando se interessou profundamente pelos problemas de proteção de dados. Esse interesse o levou a fazer pós-graduação na Universidade de Stanford em criptografia e no campo emergente da criptografia pesquisável. Ele permite pesquisar dados criptografados sem descriptografar todo o banco de dados.
O trabalho do Dr. David J. Wu, de Stanford, agora consultor da CipherStash, intrigou especialmente Draper.
“(Ele permite que você) criptografe um monte de dados, coloque-os em um banco de dados, mais ou menos teoricamente, e execute consultas sobre esses dados de forma que a única coisa que é revelada quando executamos uma consulta é que agora recuperamos os registros corretos. Isso significa que o banco de dados e quaisquer sistemas intermediários não veem nenhuma informação. Houve muito entusiasmo em torno desta pesquisa nos círculos acadêmicos”, disse Draper.
Embora teórico, ninguém havia realmente resolvido isso em um banco de dados moderno como o PostgreSQL, disse ele. Técnicas como a criptografia homomórfica, que permite a computação matemática dos dados sem descriptografá-los, são lentas demais para serem viáveis em um banco de dados. Então, ele passou três anos em seu tempo livre trabalhando em como tornar realidade a criptografia pesquisável no Postgres. Essa foi a gênese da empresa.
Lançada no início de 2023, a startup com sede em Sydney levantou recentemente uma rodada de financiamento inicial de US$ 3 milhões no outono passado, elevando seu total para US$ 6 milhões.
Em sua primeira iteração, a empresa criou uma versão altamente customizada do Postgres que o CipherStash achou difícil de vender. As empresas não queriam implementar e manter mais um banco de dados.
“O desafio inicial foi que os requisitos dessa criptografia não combinavam perfeitamente com o funcionamento dos bancos de dados. Por exemplo, os índices de árvore B simplesmente não funcionam da maneira que esse esquema de criptografia precisava que funcionassem, por isso foi muito difícil aplicá-lo a um banco de dados padrão”, disse ele.
A segunda iteração envolveu um driver drop-in em substituição ao driver padrão, que envolveu alguma configuração, mas permitiu a integração também com CockroachDB, MongoDB, MySQL, Vitess e Microsoft SQL Server.
Desde então, o CipherStash tem trabalhado para tornar a implementação ainda mais fácil com o proxy, um caminho de implementação de código zero para adicionar isso ao seu banco de dados existente.
Novo gerenciamento de chaves
O CipherStash também criou seu próprio sistema de gerenciamento de chaves chamado ZeroKMS.
“Obviamente, se as chaves não forem seguras, a criptografia não será segura. E então passamos um bom tempo tentando trabalhar com tecnologias existentes, como por exemplo, o Key Management Service (KMS) da Amazon ou soluções tradicionais de módulos de segurança de hardware, e nenhuma delas realmente se encaixava”, disse Draper.
Ele disse que um dos motivos é que soluções como o KMS nunca foram projetadas para sistemas de dados de grande escala, como um banco de dados ou um armazém. E um módulo de segurança de hardware deve ser executado no data center, enquanto a tecnologia de criptografia do CipherStash pode ser executada em qualquer lugar – em um navegador, em um desktop ou em uma planilha, etc.
A terceira razão tem a ver com confiança zero. Ele afirma que na verdade não existe chave com confiança zero.
“Existem duas partes que podem interagir e, através dessa interação, elas fazem a mesma coisa como se houvesse uma chave, mas cada uma confia na outra para fazer a coisa certa. E isso significa que ambas as partes devem concordar que ocorrerá um processo de descriptografia. E isso significa que não há necessidade de confiar em alguma autoridade central; isso muda completamente o modelo de confiança”, disse ele.
“Usar a tecnologia tradicional de gerenciamento de chaves significa que uma dessas partes deve ser totalmente confiável.” E uma dessas partes verá todos os dados não criptografados porque você terá que fornecer os dados não criptografados ao servidor de chaves para fazer a criptografia e descriptografia.
“Considerando que com o que chamamos de servidor de chave de conhecimento zero, ambas as partes realmente fazem parte da criptografia e, através da combinação de suas chaves, você obtém os resultados finais para a combinação dessas chaves. É um conceito difícil de explicar, mas está provando ser uma grande virada de jogo quando se trata de gerenciamento seguro de chaves em ambientes muito complexos”, disse ele.
Ferramentas SQL ainda funcionando
Proxy é um contêiner Docker que fica entre o aplicativo e o banco de dados no ambiente do cliente. Funciona nas versões 14.0 e superiores do Postgres. Ele pode ser implantado como um proxy de rede padrão ou como sidecar em qualquer ambiente Kubernetes, em uma máquina virtual ou em bare metal. A empresa oferece suporte à implantação em AWS, Microsoft Azure e Google Cloud. Ele fornece métricas do Prometheus para monitoramento e alertas.
Toda a infraestrutura SQL e de consulta que você já possui, como Tableau ou Metabase, continuará funcionando, disse Draper.
Uma integração do DynamoDB será lançada no final de junho, disse ele, seguida por ClickHouse e Snowflake.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Susan Hall é a editora patrocinadora do The New Stack. Seu trabalho é ajudar os patrocinadores a obter o maior número possível de leitores para o conteúdo que contribuem. Ela escreve para The New Stack desde seus primeiros dias, bem como para sites…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.