Qualquer solução de pseudonimização de registos de eventos tem de intervir numa ou em mais fases do fluxo de dados, dentro da infraestrutura de gestão de logs: geração, ingestão e apresentação.
O processamento na fase de geração de registos, efetuado pelas aplicações ou pelos sistemas, implica desenvolver soluções independentes para cada aplicação. A principal vantagem é que não é necessário tomar medidas adicionais ao nível da pseudonimização para garantir a conformidade com o regulamento, o que liberta o gestor da infraestrutura de qualquer responsabilidade a este nível.
O processamento dos dados na fase de ingestão, antes de serem indexados e armazenados é normalmente feito por um módulo de transformação interno ao sistema de gestão de registos. O módulo de transformação pode ser desenvolvido livremente de acordo com um conjunto de requisitos pré-definidos, permitindo liberdade total no design do processo e nas funções utilizadas. A principal desvantagem deste método reside na necessidade de desenvolvimento de código específico para processar diferentes tipos de entradas, principalmente através da definição de padrões de extração de campos.
O método de pseudonimização através de duplicação de índices, implica sempre uma duplicação de mensagens arquivadas, sendo que um índice vai conter os valores originais e o outro vai conter os valores pseudonimizados. Se a replicação das mensagens for feita nos hosts que as geram, vai haver também uma duplicação do tráfego de rede, no transporte entre os clientes e o servidor de gestão de logs. A grande vantagem deste método é que, tanto uma pesquisa feita no índice com os dados originais, como uma pesquisa feita no índice com dados pseudonimizados, é igualmente rápida e eficiente, uma vez que não há necessidade de efetuar processamento adicional.
O processamento na fase de apresentação, aplicando filtros apropriados à página devolvida pelo motor de pesquisa, é outro método possível. Neste caso, as mensagens não necessitam de ser pseudonimizadas antes de serem arquivadas, o que torna o processo de ingestão muito mais rápido e eficiente. Além disso, para um utilizador com privilégios de acesso aos dados identificativos, a pesquisa também é muito mais eficiente porque não existe necessidade de efetuar qualquer reidentificação. A desvantagem deste método reside pesquisa e visualização de registos efetuada por utilizadores com privilégios limitados e sem acesso aos dados
identificativos. Como a informação tem de ser pseudonimizada antes de ser apresentada, a disponibilização dos resultados vai ser muito mais demorada.
A tabela Tabela 4.2 resume a principais vantagens e desvantagens das metodologias de pseudonimização apresentadas acima.
Tabela 4.2 - Principais vantagens e desvantagens das diferentes metodologias de pseudonimização
Vantagens Desvantagens
Pseudonimização na fase de Geração dos Registos
• As entradas que são acrescentadas aos ficheiros de registo de eventos já contêm, à partida, os dados pessoais pseudonimizados;
• Não é necessário tomar medidas adicionais ao nível da
pseudonimização para garantir a conformidade com o regulamento; • Liberta o gestor da infraestrutura de
gestão dessa responsabilidade pelo processo de pseudonimização.
• Para cada aplicação, fonte ou método de geração de logs, é necessário desenvolver uma solução específica. • Se a aplicação ou sistema não
pseudonimizarem os respetivos logs, estes terão de ser pseudonimizados por um dos métodos alternativos.
Pseudonimização na fase de Ingestão dos Registos
• Grande flexibilidade nos requisitos inerentes ao seu desenvolvimento.
• Necessidade de desenvolver código específico para processar diferentes tipos de entradas.
Pseudonimização de Registos usando Duplicação de Índices
• Método fácil de implementar, manter e utilizar;
• Pesquisas feita no índice com os dados originais e no índice com dados pseudonimizados são igualmente rápidas e eficientes.
• Como a informação é duplicada, este método consome recursos adicionais.
Pseudonimização na fase de apresentação dos registos
• As mensagens não necessitam de ser pseudonimizadas antes de serem arquivadas, o que torna o processo de ingestão muito mais rápido.
• Para um utilizador com privilégios de acesso aos dados identificativos, a pesquisa é muito mais eficiente.
• Como a pseudonimização dos dados é feita na interface de monitorização, o processo de pesquisa para um utilizador sem acesso a dados identificativos é menos eficiente. • O acesso para um utilizador comum
apenas poderá ser feito através de uma interface pré-definida ou utilizando um perfil com permissões de pesquisa e visualização limitadas.
4.4. Síntese
Neste capítulo foram abordados os conceitos de anonimização e pseudonimização. Foram também apresentados argumentos para a utilização de uma função de resumo probabilística no processo de pseudonimização, nomeadamente a função HMAC.
Foram também discutidas quatro metodologias diferentes para efetuar o processo de pseudonimização, nomeadamente na fase de geração de registos, na fase de ingestão, através de duplicação de índices e na fase de apresentação. No final, foi feito um estudo comparativo entre as diferentes metodologias.
No próximo capítulo são apresentados três cenários de testes, para os quais foram desenvolvidas soluções concretas de pseudonimização da informação contida nos registos de eventos de sistemas e aplicações.
Cenários de Testes
Neste capítulo vão ser apresentadas três soluções concretas para a pseudonimização de dados contidos em registos de sistemas e aplicações. Cada solução utiliza uma infraestrutura de gestão de logs própria, baseada em soluções de gestão centraliza de registos: Graylog, Splunk e ELK Stack. As apresentações incluem os processos de configuração de entradas, extração de campos, transformação de mensagens, pesquisa e visualização de registos e criação de perfis. No final é feito um estudo comparativo entre as três soluções.
Os testes efetuados ao longo deste trabalho são todos realizados numa máquina física local a correr o sistema operativo Windows 7 Home Premium, juntamente com máquinas virtuais instaladas com o software de virtualização Oracle VM VirtualBox, versão 6.0.6.
Todos os servidores de gestão de registos testados, nomeadamente o Graylog, o Splunk e a ELK Stack estão instalados nas respetivas máquinas virtuais, todas elas a correr o sistema operativo Linux Ubuntu 16.04 de 64 bits. As máquinas estão configuradas com 4 CPU’s, 4 GB de RAM, 40 GB de disco alocados dinamicamente e placa de rede em modo Bridged, para poder comunicar com outras máquinas virtuais e com a máquina física.
Como fontes geradoras de registos da máquina física local são usados os registos do Event Log, os registos de acesso dos servidores Web (Microsoft IIS e Apache HTTP Server) e os registos da firewall. Os registos de eventos do servidor SSH instalado na máquina física também são usados, embora estejam integrados no Event Log.
Nas máquinas virtuais são usados os registos provenientes do Syslog, os quais já integram os registos do servidor OpenSSH e da UFW, a firewall do Linux. São também usados os registos de acesso do servidor Web Apache instalado na máquina virtual.
Cada um dos três cenários envolve apenas a máquina física local e uma máquina virtual a correr o respetivo sistema de gestão de registos.