Como Funcionam os Testes de Segurança nas Urnas Eletrônicas?
Entenda o acesso dos peritos, os tipos de ataque testados e o ciclo de correção de falhas.
Os testes de segurança nas urnas são concentrados principalmente no Teste Público de Segurança (TPS), um evento oficial e aberto que o TSE realiza meses antes de cada eleição. Nesse evento, peritos independentes, acadêmicos, hackers éticos e instituições parceiras recebem sinal verde para tentar invadir e burlar o sistema de todas as formas possíveis.
A lógica do TPS é a de um red teaming (teste de invasão e hackeamento ético): o TSE entrega o sistema nas mãos de especialistas para que eles tentem achar as falhas antes que criminosos possam tentar explorá-las no dia do pleito.
1. A que os investigadores têm acesso?
Durante os testes, os investigadores e peritos não trabalham "às cegas". O TSE adota o modelo de teste de caixa-branca (white-box test), fornecendo acesso amplo aos componentes do sistema:
Código-fonte completo: Os peritos têm acesso a todas as linhas de código do sistema operacional da urna (um Linux simplificado), dos programas de votação, dos algoritmos de criptografia e do sistema de transmissão.
Hardware da urna: Os participantes recebem equipamentos reais da urna eletrônica (incluindo placas, mídias de memória e leitores biométricos) para manipular fisicamente no laboratório do TSE.
Bibliotecas e softwares auxiliares: Acesso às ferramentas usadas para gerar os arquivos e assinar as mídias.
Documentação técnica: Manuais do sistema, especificações de arquitetura e esquemas de circuitos do hardware.
2. Quais testes são feitos e quais vulnerabilidades eles buscam?
Os investigadores criam planos de teste específicos e tentam explorar diferentes caminhos de ataque:
A. Injeção e alteração de código (Tentativa de adulteração de software)
O teste: Os peritos tentam modificar o código interno da urna para fazer com que ela registre votos em um candidato diferente do digitado.
O que avaliam: Se a urna percebe a alteração e trava. O sistema usa assinaturas digitais — se o código for modificado sem a chave oficial, a urna deve recusar a inicialização.
B. Extração do Registro Digital do Voto (Ataque ao sigilo do voto)
O teste: Tentativas de extrair o histórico de votação para descobrir a ordem em que os votos foram digitados e cruzar com o horário de entrada dos eleitores.
O que avaliam: Se o algoritmo de embaralhamento dos votos no arquivo RDV (Registro Digital do Voto) é seguro e matematicamente imprevisível.
C. Ataques físicos ao hardware (Engenharia reversa)
O teste: Os investigadores conectam equipamentos externos diretamente às placas de circuito da urna, portas USB e leitoras de cartão de memória para tentar injetar dados ou extrair chaves de criptografia diretamente da memória RAM/Flash.
O que avaliam: Se o hardware possui blindagem física suficiente contra leitura direta de dados.
D. Ataques ao leitor biométrico e tela
O teste: Tentativas de "enganar" o leitor biométrico (usando moldes ou dedos falsos) ou de interceptar o sinal que vai da placa principal para o visor da urna.
3. O Passo a Passo: O que acontece quando uma vulnerabilidade é encontrada?
Encontrar uma falha no TPS é considerado um sucesso do teste, e não uma derrocada do sistema. O processo funciona no seguinte ciclo rigoroso de 3 passos:
Passo 1: Relatório de Vulnerabilidade
Se uma equipe de peritos encontra uma brecha (por exemplo, uma falha na forma como um arquivo de log é gravado), ela documenta detalhadamente o passo a passo da invasão e entrega ao TSE.
Passo 2: Correção do Sistema (Patch de Segurança)
A equipe de engenheiros de software do TSE analisa o relatório e desenvolve uma solução técnica para fechar e selar a brecha identificada no código ou hardware.
Passo 3: Teste de Confirmação (Re-teste Público)
Meses depois, as mesmas equipes que acharam as falhas voltam ao laboratório do TSE para testar o sistema novamente e confirmar se o "buraco" foi devidamente selado antes das eleições.
🛠️ Simulador de Red Team: Teste Público de Segurança (TPS)
Selecione um vetor de ataque e execute a simulação para observar como o sistema reage e aplica a correção.
Terminal de Diagnóstico do TPS:
> Selecione o ataque acima e clique em "Executar Plano de Teste".
🖥️ Simulador de Boot e Integridade Criptográfica (Urna Eletrônica)
Teste como o hardware verifica a assinatura digital do código do TSE antes de iniciar a votação.
Log de Diagnóstico do Hardware:
> Sistema em espera. Selecione o código e clique em "Ligar Urna".
Entenda qual é a distribuição utilizada, quem a desenvolveu, a evolução das versões e o funcionamento passo a passo.
1. Qual Distribuição Linux a Urna Usa e Quem a Criou?
A urna eletrônica brasileira utiliza uma distribuição Linux altamente customizada e enxuta, conhecida tecnicamente no meio eleitoral como Urna Linux.
Quem criou e mantém: A distribuição foi desenvolvida e é mantida diretamente pela equipe de Engenheiros de Software e Peritos em Tecnologia da Informação do TSE (Tribunal Superior Eleitoral), em parceria com universidades públicas brasileiras (como a Universidade de Brasília - UnB).
Base da distribuição: O Urna Linux é uma derivação baseada nas distribuições Debian e Fedora. Contudo, ele foi submetido a um processo estrito de hardened (reforço de segurança): o TSE removeu todos os componentes desnecessários para a votação.
Mínima Superfície de Ataque: Não existem navegadores web, drivers para placa de rede sem fio (Wi-Fi/Bluetooth), nem gerenciadores de janelas pesados. O Kernel do Linux é reconfigurado e compilado especificamente para gerenciar apenas os componentes físicos da urna (tela, teclado numérico, leitor biométrico, impressora e mídias Flash).
2. A Evolução Histórica das Versões
A arquitetura de software da urna passou por uma importante transição histórica para se tornar o que é hoje:
Modelos da Urna
Sistema Operacional
Principais Características
1996 a 2006 (UE96 a UE2006)
VirtuOS / MS-DOS
Sistema multitarefa de tempo real proprietário. Tinha limitações para implementar camadas avançadas de criptografia modernas diretamente no Kernel.
2008 até Hoje (UE2008 a UE2022/2024)
Urna Linux (Personalizado)
Migração total para software livre. Introduziu o Boot Seguro, suporte nativo a hardware criptográfico (TPM/HSM) e permitiu a realização transparente dos Testes Públicos de Segurança (TPS).
3. Funcionamento Passo a Passo: Do Boot ao Encerramento
O funcionamento do Linux na urna segue uma rigorosa Cadeia de Confiança (Chain of Trust) baseada em criptografia assimétrica:
Passo 1: Verificação do Hardware (Boot Seguro)
Ao ligar a urna, o chip de segurança do hardware (Módulo de Segurança ou TPM) confere a assinatura digital do Firmware/BIOS. Se a assinatura não corresponder à chave oficial do TSE, a máquina interrompe a inicialização imediatamente.
Passo 2: Carga e Checagem do Kernel do Urna Linux
O Kernel do Urna Linux é carregado na memória RAM. Ele faz um autodiagnóstico nos drivers dos periféricos (display, teclado, biometria e impressora térmica) para garantir que nenhum dispositivo externo não autorizado foi conectado às portas da placa-mãe.
Passo 3: Autenticação do Aplicativo de Votação (Criptografia RSA/ECDSA)
Antes de exibir a tela de votação, o Linux lê a Mídia de Carga (pendrive assinado da seção) e verifica as chaves criptográficas do programa eleitoral. Se apenas 1 bit tiver sido modificado por fraude, o Linux recusa a execução do programa.
Passo 4: Registro Seguro do Voto no RDV
Durante a votação, o Linux mantém o programa de voto isolado em ambiente protegido (sandbox). A cada voto confirmado no botão verde, os dados são gravados no Registro Digital do Voto (RDV) com criptografia forte e de forma assíncrona, garantindo a privacidade do eleitor e a inviolabilidade da escolha.
Passo 5: Encerramento e Impressão do Boletim de Urna (BU)
Às 17h, o mesário encerra a eleição. O Linux consolida a apuração interna, gera as assinaturas digitais finais, grava a mídia de resultado e aciona a impressora interna para emitir as vias físicas do Boletim de Urna (BU).
"A adoção do Linux deu autonomia total ao TSE sobre a segurança do sistema, permitindo auditar cada camada de software e garantindo que apenas programas com assinatura digital reconhecida possam ser executados durante o dia da votação."
Simulador Interativo da Urna Eletrônica
Teste o funcionamento da interface de votação e veja como o sistema valida a integridade do voto e as assinaturas digitais em tempo real.
Justiça Eleitoral | Seção 001
SEU VOTO VAI PARA:
PRESIDENTE
Número:
Digite os 2 números do candidato.
AERTE A TECLA: CONFIRMA PARA CONFIRMAR ESTE VOTO CORRIGE PARA REINICIAR ESTE VOTO
Justiça Eleitoral
> PAINEL DE CHECAGEM CRIPTOGRÁFICA (LOGS DO SISTEMA):
🔐 Segurança da Urna Eletrônica: TPS, Linux e Testes de Segurança
A urna eletrônica brasileira é um sistema computacional embarcado que combina hardware, software, sistema operacional, mecanismos criptográficos e procedimentos de auditoria.
Por isso, a segurança do equipamento não depende apenas de sua proteção física. Também envolve a análise do software, do hardware, dos mecanismos de integridade e dos procedimentos utilizados durante o processo eleitoral.
Um dos mecanismos de avaliação conhecidos é o
Teste Público de Segurança dos Sistemas Eleitorais (TPS),
realizado pelo Tribunal Superior Eleitoral (TSE).
1. O que é o Teste Público de Segurança?
O Teste Público de Segurança (TPS) é uma iniciativa do Tribunal Superior Eleitoral que permite a participação de especialistas, pesquisadores e instituições habilitadas na análise de aspectos de segurança dos sistemas eleitorais.
A ideia pode ser comparada ao conceito de
red team
utilizado em segurança da informação: especialistas procuram identificar vulnerabilidades em um ambiente controlado para que elas possam ser analisadas e, quando necessário, corrigidas.
🔎 Importante:
O TPS possui regras, objetivos e limites previamente estabelecidos. Portanto, não significa que os participantes estejam autorizados a realizar qualquer tipo de ataque contra a infraestrutura eleitoral.
2. A que os investigadores têm acesso?
Durante os processos de transparência e testes de segurança, os participantes autorizados podem ter acesso a diferentes componentes e informações, conforme as regras estabelecidas para cada atividade.
💻 Código-fonte
Os códigos-fonte dos sistemas eleitorais podem ser disponibilizados para inspeção pelas entidades fiscalizadoras habilitadas, dentro do período e das condições determinadas pelo TSE.
🖥️ Hardware
O processo de testes também pode envolver equipamentos e componentes da urna, conforme o escopo definido para cada atividade.
📚 Documentação
Os processos de auditoria e testes possuem documentação e regras que estabelecem os objetivos e os procedimentos permitidos.
🔐 Segurança
São avaliados diferentes mecanismos relacionados à integridade, autenticidade, proteção de informações e funcionamento dos sistemas.
3. Quais vulnerabilidades podem ser investigadas?
A — Integridade do software
Uma das áreas de interesse é verificar se alterações indevidas nos componentes de software podem ser detectadas pelos mecanismos de segurança existentes.
Em sistemas críticos, a integridade do software é fundamental. Um programa modificado de maneira não autorizada não deve simplesmente ser aceito pelo sistema como se fosse uma versão legítima.
B — Sigilo do voto
Outro aspecto fundamental é a proteção do
sigilo do voto.
Os mecanismos utilizados no processo eleitoral precisam impedir que seja possível associar determinado eleitor ao voto realizado.
C — Criptografia
Os sistemas eleitorais utilizam mecanismos criptográficos para proteger informações e verificar autenticidade e integridade.
A criptografia é apenas uma das camadas de segurança. Em sistemas críticos, ela trabalha em conjunto com controles de software, hardware e procedimentos operacionais.
D — Hardware e interfaces
Os testes também podem analisar aspectos relacionados ao hardware, interfaces e componentes utilizados pela urna, sempre dentro do escopo permitido pelas regras do teste.
4. O que acontece quando uma vulnerabilidade é encontrada?
Encontrar uma vulnerabilidade durante um teste de segurança não significa necessariamente que o processo falhou.
Pelo contrário: identificar uma falha em um ambiente controlado permite que ela seja estudada antes que possa ser explorada de maneira indevida.
1️⃣ Descoberta
Uma equipe identifica uma possível vulnerabilidade.
2️⃣ Relatório
O problema é documentado e apresentado conforme as regras estabelecidas.
3️⃣ Correção
Os responsáveis pelo sistema analisam a situação e desenvolvem medidas corretivas quando necessário.
4️⃣ Reteste
O sistema pode ser novamente analisado para verificar se a vulnerabilidade foi solucionada.
5. Quem participa da fiscalização?
A fiscalização do processo eletrônico de votação envolve diferentes entidades legitimadas.
Entre as instituições previstas nas regras eleitorais estão partidos políticos, federações e coligações, Ministério Público, Congresso Nacional, OAB, Polícia Federal, Controladoria-Geral da União, universidades e outras entidades fiscalizadoras habilitadas.
📌 Atenção:
É importante diferenciar a
inspeção dos códigos-fonte
do
Teste Público de Segurança.
São mecanismos complementares, mas não são exatamente a mesma atividade.
6. Qual Linux é utilizado na urna eletrônica?
🐧 Uenux — Urna Eletrônica com Linux
Uma informação interessante para estudantes de Linux e sistemas embarcados é que a urna eletrônica utiliza uma plataforma Linux denominada
Uenux.
O Uenux foi desenvolvido/adaptado pelo TSE para o ambiente das urnas eletrônicas.
Segundo documentação do TSE, a plataforma envolve componentes como:
Bootloader;
Kernel Linux;
Drivers;
Bibliotecas;
Aplicativos;
Componentes específicos da
plataforma eleitoral.
O Uenux não deve ser confundido com distribuições de uso geral como Ubuntu, Debian, Fedora ou Linux Mint.
Trata-se de uma plataforma Linux específica para o ambiente da urna eletrônica.
💡 Para quem estuda Linux:
A urna eletrônica é um exemplo interessante de utilização de Linux em um sistema embarcado de alta criticidade, envolvendo kernel, drivers, hardware, software, segurança, criptografia e processos de auditoria.
7. Linux e sistemas embarcados
Em um computador convencional, o usuário instala uma distribuição Linux e utiliza diversos aplicativos.
Em um sistema embarcado, o cenário é diferente. O sistema operacional precisa ser adaptado ao hardware específico e executar os componentes necessários para a finalidade do equipamento.
Podemos representar uma arquitetura simplificada da seguinte maneira:
APLICAÇÕES ELEITORAIS
↓
BIBLIOTECAS E SERVIÇOS
↓
DRIVERS
↓
KERNEL LINUX
↓
HARDWARE DA URNA
8. Simulador didático de uma urna eletrônica
Para complementar o estudo, abaixo está um pequeno simulador criado em
HTML, CSS e JavaScript.
Ele demonstra conceitos de interface, entrada de dados, confirmação de voto, armazenamento temporário e apuração.
🗳️ SIMULADOR DE URNA
SIMULAÇÃO EDUCACIONAL
AGUARDANDO VOTO...
101 — Candidato A
202 — Candidato B
303 — Candidato C
404 — Candidato D
📊 Resultado da simulação
9. Como funciona o simulador?
O funcionamento pode ser representado por uma máquina de estados simples:
INÍCIO
↓
ESCOLHA DO CANDIDATO
↓
ENTRADA DO NÚMERO
↓
CONFERÊNCIA
↓
CONFIRMA
↓
REGISTRO DO VOTO
↓
PRÓXIMO ELEITOR
↓
APURAÇÃO
10. O que este simulador demonstra?
⌨️ Entrada
Recebimento de informações através de botões e teclado numérico.
🧠 Lógica
JavaScript controla as etapas da votação.
💾 Memória
Os votos ficam armazenados temporariamente na memória do navegador durante a execução.
📊 Apuração
O programa soma os registros e apresenta o resultado da simulação.
⚠️ IMPORTANTE
Este simulador é exclusivamente educacional.
Ele não reproduz o software real do TSE, não utiliza código do sistema eleitoral, não possui conexão com a infraestrutura eleitoral e não representa uma réplica funcional da urna eletrônica brasileira.
11. Uma visão de eletrônica e computação
Para estudantes de eletrônica, esse exemplo também permite perceber como várias áreas do conhecimento podem trabalhar juntas.
⚡ Eletrônica digital;
🖥️ Sistemas embarcados;
🐧 Linux;
💾 Memória;
🔌 Hardware;
🔐 Criptografia;
🧑💻 Programação;
🛡️ Segurança da informação;
🔎 Auditoria;
📊 Processamento de dados.
12. Conclusão
A segurança da urna eletrônica não depende de uma única tecnologia.
Ela envolve uma combinação de hardware, software, sistema operacional, mecanismos criptográficos, procedimentos e auditorias.
O Teste Público de Segurança representa uma das formas de permitir que especialistas externos procurem vulnerabilidades dentro de regras estabelecidas.
Para quem estuda tecnologia, um dos pontos mais interessantes é descobrir que a urna utiliza uma plataforma baseada em Linux, o Uenux, desenvolvida/adaptada para esse ambiente específico.
Isso mostra como o Linux pode ser utilizado muito além dos computadores pessoais e servidores: também pode fazer parte de sistemas embarcados especializados e de alta criticidade.
📚 Fontes e referências
Para aprofundar o estudo sobre a segurança da urna eletrônica, o sistema Linux utilizado e os testes realizados pelo Tribunal Superior Eleitoral, consulte as fontes oficiais abaixo:
🏛️ Tribunal Superior Eleitoral — TSE
Como nasce uma urna: segurança do software diferencia equipamento de computador comum
As informações deste artigo têm finalidade educacional.
Para informações atualizadas sobre a urna eletrônica, segurança, auditoria e legislação eleitoral, consulte diretamente o Tribunal Superior Eleitoral.
⚠️ Importante: Este artigo possui finalidade educacional. O simulador apresentado abaixo é uma implementação didática criada para demonstrar conceitos de entrada de dados, validação, registro, logs e apuração.
Ele não reproduz o software real utilizado pelo TSE, não acessa sistemas eleitorais e não representa uma urna oficial.
🐧 Linux em Evolução: Kernel 7.1, Wayland, Linux Mint e os Impactos do ECA Digital
O universo Linux continua evoluindo rapidamente. O lançamento do Kernel Linux 7.1 trouxe melhorias importantes para hardware moderno, enquanto distribuições como o Linux Mint avançam na integração completa com o Wayland. Ao mesmo tempo, no Brasil, discussões sobre a regulamentação conhecida como ECA Digital geraram mudanças em alguns serviços online, incluindo restrições de acesso adotadas por determinados sistemas independentes.
1️⃣ O que é o Kernel Linux?
O Kernel é o núcleo do sistema operacional Linux. Ele funciona como uma ponte entre o hardware do computador e os programas utilizados pelo usuário.
O Kernel é responsável por:
Gerenciar memória RAM;
Controlar o processador (CPU);
Controlar placas de vídeo;
Gerenciar dispositivos USB;
Controlar SSDs e HDs;
Gerenciar comunicação entre hardware e software.
2️⃣ Principais novidades do Kernel Linux 7.1
Entre as novidades destacam-se melhorias voltadas ao hardware moderno.
Recurso
Descrição
Intel FRED
Novo mecanismo de tratamento de exceções e interrupções, reduzindo latência e aumentando segurança.
Intel Arc Battlemage
Melhor suporte às novas GPUs Intel para jogos, IA e aplicações gráficas.
Drivers
Compatibilidade ampliada com novos dispositivos.
Desempenho
Melhor gerenciamento de energia e otimização da CPU.
3️⃣ O que é Wayland?
Durante muitos anos o Linux utilizou o servidor gráfico chamado X11 (X.Org).
Hoje, praticamente todas as distribuições caminham para o Wayland.
Wayland
✔ Menor consumo de recursos
✔ Menor latência
✔ Melhor suporte para múltiplos monitores
✔ Melhor segurança
✔ Melhor desempenho gráfico
X11
✔ Grande compatibilidade
✔ Muito utilizado durante décadas
✔ Arquitetura mais antiga
✔ Maior quantidade de código legado
4️⃣ Linux Mint e o Wayland
O Linux Mint vem realizando uma migração gradual para oferecer suporte completo ao Wayland.
Isso significa que o usuário poderá aproveitar recursos modernos mantendo a facilidade de uso característica da distribuição.
Benefícios esperados:
Inicialização mais rápida;
Melhor desempenho gráfico;
Maior compatibilidade com GPUs recentes;
Melhor experiência em notebooks modernos;
Maior segurança no ambiente gráfico.
5️⃣ Regulamentação do ECA Digital
A discussão sobre a regulamentação conhecida como ECA Digital motivou adaptações em alguns serviços digitais. Em resposta às novas exigências, alguns sistemas independentes optaram por restringir temporariamente o acesso a usuários no Brasil enquanto analisam requisitos legais e técnicos.
Importante:
Nem todos os serviços adotaram esse comportamento. As respostas variam conforme a interpretação jurídica, a infraestrutura disponível e as políticas de cada desenvolvedor ou plataforma.
6️⃣ Fluxo simplificado do funcionamento do Linux
Aplicativo
↓
Bibliotecas
↓
Kernel Linux
↓
Drivers
↓
Hardware
7️⃣ Simulador Didático
Qual componente executa esta função?
8️⃣ Passo a passo da inicialização do Linux
O computador é ligado.
BIOS ou UEFI realiza a inicialização.
O Bootloader (GRUB) é carregado.
O Kernel Linux é iniciado.
Drivers são carregados.
O sistema monta o sistema de arquivos.
Os serviços do sistema operacional são inicializados.
O ambiente gráfico (Wayland ou X11) é carregado.
O usuário acessa sua área de trabalho.
Resumo Técnico
✔ Kernel Linux 7.1 amplia suporte a hardware moderno.
✔ Intel FRED melhora tratamento de interrupções.
✔ GPUs Intel Arc Battlemage recebem novos drivers.
✔ Linux Mint avança para compatibilidade total com Wayland.
✔ Wayland representa a nova geração do ambiente gráfico Linux.
✔ Mudanças regulatórias no Brasil influenciam decisões de alguns serviços digitais.