http://www.pedro.jmrezende.com.br/sd.htm > urna eletrônica: avaliação

Artigos e textos
do voto eletrônico
Reflexões sobre Confiabilidade de Sistemas Eleitorais
Artigo apresentado em 20 de janeiro de 2001
pelos Eng. Marcio Teixeira e Eng. Amilcar Brunazo Filho
ao Fórum do Voto Eletrônico
- Belo Horizonte, Brasil -
 
Índice
1. Introdução
2. Validação de Programas Computacionais
3. A Política de Desenvolvimento Estanque - PDE
4. Avaliação da Efetividade da PDE 
Questão 1 - Como ter certeza do cumprimento da PDE pelo TSE? 
Questão 2 - Validar apenas o código-fonte é suficiente? 
Questão 3 - Para se adulterar um sistema é necessário conhece-lo totalmente?
5. Possibilidades de implantação de códigos espúrios ao sistema 
5.1 Via código-fonte não auditados 
5.2 Via código-fonte após auditoria incompleta 
5.3 Via bibliotecas padrão do compilador 
5.4 Via código já compilado 
5.5 Outras vias
6. Possibilidades do um código espúrio fraudar a apuração 
6.1 Na camada do Aplicativo de Votação, conhecendo-se seus detalhes 
6.2 Na camada das bibliotecas, com algum conhecimento da estrutura de dados 
6.3 Nas camadas do Software Básico sem nenhum conhecimento adicional
7. Conclusão

Apêndice: Relatório sobre apresentação no IX Simpósio Brasileiro de Computação Tolerante a Falhas, SCTF 2001
1. Introdução
A demorada apuração dos votos nas eleições americanas de 2000, estimulou o debate sobre a conveniência e confiabilidade de sistemas eleitorais automatizados. Aqui no Brasil, muitos sugeriram que o sistema eleitoral brasileiro deveria servir de modelo aos americanos. Mas será que a confiabilidade de nosso sistema eleitoral é suficientemente garantida?
Ao longo de 2000, fomos convocados pelo Senado - referências [Teixeira] e [Brunazo] - e por Partidos Políticos para avaliar a confiabilidade do sistema eleitoral informatizado brasileiro. Com este intuito, comparecemos algumas vezes ao Tribunal Superior Eleitoral (TSE) em Brasília e, apesar da simpática e atenciosa acolhida que recebemos do grupo de técnicos em informática do TSE e da Procomp, empresa fabricante das urnas de 1998 e 2000, temos algumas considerações a fazer sobre a questão da confiabilidade dos programas utilizados.
Certamente não se deve confundir a questão da confiabilidade técnica de um programa com a confiabilidade das pessoas envolvidas no seu projeto e operação. Neste artigo não tratamos nem abordamos questões relativas à honra ou moral das pessoas envolvidas no processo de informatização das eleições brasileiras. Abordamos, apenas, a questão técnica de se determinar a confiabilidade de todo um sistema complexo de informatização eleitoral.

 

 
 
 

2. Validação de Programas Computacionais

A norma técnica ISO/IEC 15.408 estabelece complexos critérios para avaliação da segurança de sistemas informatizados em geral. Por se tratar de uma norma recente ainda não foi posta em prática dentro do sistema eleitoral brasileiro. 
Mesmo sendo uma norma técnica rigorosa e bastante detalhada, existem alertas de que tal norma é insuficiente para cobrir todas as necessidades de segurança do voto eletrônico, como o apresentado pela Dra. Rebecca Mercuri em sua defesa de tese
Segundo a ISO 15.408, a avaliação da segurança deve ser praticada desde a fase de projeto inicial e definição do perfil de segurança, passando pelo detalhamento do projeto, pelo desenvolvimento, testes, operação, seguindo até a análise pós operacional. 
Mais simplificadamente, costuma-se classificar os procedimentos de avaliação da segurança em: validação, certificação, testes e auditoria.
A validação dos programas de um computador consiste em analisar todo o código dos programas, para verificar se ele atende a todos os requisitos do projeto original.
A certificação se refere a comprovar se os programas devidamente validados foram carregados sem falhas ou defeitos nos computadores.
Assim, a avaliação da segurança e, consequentemente, da confiabilidade de sistemas eleitorais informatizados torna-se uma tarefa bastante complexa, trabalhosa e, para que possa ser completada com eficiência, deve-se contar com a transparência dos dados e com a colaboração dos responsáveis pelo desenvolvimento do equipamento avaliado. Mas ao comparecermos para avaliar os programas do sistemas eleitoral informatizados deparamo-nos com algumas barreiras impostas pelo TSE, que comprometem totalmente o valor e alcance de qualquer avaliação externa que alguém queira efetuar.

 

 
 
 

3. A Política de Desenvolvimento Estanque - PDE

Para tentar demonstrar a segurança e confiabilidade do seu sistema eleitoral, a Secretaria de Informática do TSE afirma que os técnicos responsáveis por uma camada de programação do sistema eleitoral não têm conhecimento de outra camada, ou seja, os desenvolvedores do sistema operacional não tem conhecimento dos fontes dos aplicativos e vice-versa. E por sua vez os desenvolvedores dos aplicativos não conhecem a base de dados. Esta é chamada Política de Desenvolvimento Estanque (PDE), que garantiria a segurança e confiabilidade de todo o sistema.
Pelo edital de concorrência da Urna Eletrônica UE2000, as camadas de seus programas são:
Camadas do Software Básico 
1) BIOS 
2) Sistema Operacional 
3) Gerenciadores de Dispositivos (Device Drivers). 
Camadas dos Softwares Aplicativos (entre eles o Aplicativo de Votação) 
4) Códigos-fonte 
5) Bibliotecas-padrão 
6) Bibliotecas especiais (assinatura digital e criptografia) 
7) Bases de Dados.
Ainda referindo-se à PDE, os técnicos do TSE e da Procomp alegam que apenas a camada (4), correspondente ao código-fonte do Aplicativo de Votação, deve passar por um processo de validação por auditores externos pois, segundo o seu entendimento, nas outras camadas não seria possível se programar fraudes nas eleições. Baseado nesta argumentação, não foram apresentado aos técnicos dos partidos políticos, os códigos-fonte do sistema operacional nem das rotinas de criptografia e assinatura digital.

 

 
 
 

4. Avaliação da Efetividade da PDE

Com o único intuito de contribuir para o incremento da confiabilidade e transparência do sistema eleitoral informatizado brasileiro, vamos analisar tecnicamente a procedência desta argumentação por meio de algumas perguntas e respostas.

 

 

Questão 1 - Como ter certeza do comprimento da PDE pelo TSE?
Seria necessário uma abertura muito maior, do TSE, para que uma auditoria externa pudesse realmente comprovar se esta política realmente está sendo seguida a risca. 
Pudemos constatar que a pessoa responsável pelo desenvolvimento do Aplicativo de Votação é funcionário da mesma empresa (Microbase) que fornece o Sistema Operacional. Como garantir que não haverá vazamento de informações através de membros das equipes, que são colegas próximos de trabalho?
Considerando que as pessoas envolvidas não possuem seguros especiais, estabilidade plena de emprego ou qualquer outra forma de proteção contra pressões econômicas conclui-se que a efetividade da PDE acaba por reduzir-se a uma questão confiabilidade pessoal. Se as pessoas envolvidas forem incorruptíveis a PDE funcionaria, caso contrário a PDE deixa de ser a garantia de confiabilidade que o TSE alega.

 

 

Questão 2 - Validar apenas o código-fonte é suficiente?
Num artigo de Ken Thompson, um dos idealizadores do sistema operacional Unix, que se tornou referência mundial sobre a confiabilidade de programas. Neste artigo, Thompson mostra como se pode introduzir código malicioso em programas de computador através de adulteração do próprio compilador, sem precisar alterar o código-fonte do programa atacado e conclui:
"A moral é óbvia. Você não pode confiar em códigos (de programas) que você não escreveu totalmente por si próprio. (Especialmente código de companhias que empregam pessoas como eu.) Nenhum montante de verificação e escrutínio no nível do código-fonte irá protegê-lo do uso de código não confiável. Ao demonstrar a possibilidade deste tipo de ataque eu usei um compilador de C. Eu poderia pegar qualquer outro programa de manipulação de programas como um assembler, um carregador ou mesmo um microcódigo em hardware. Conforme o nível do programa desce, estes vícios de programação se tornarão mais difíceis de se detectar. Um vício em microcódigo bem instalado será quase impossível de ser detectado."
Questão 3 - Para se adulterar um sistema é necessário conhece-lo totalmente?
Esta é uma questão vital para a PDE, pois se para violar um sistema eleitoral não for necessário conhecer todos os detalhes de todos os programas, se for possível violar o sistema tendo-se apenas conhecimento e acesso parcial, então a PDE perde todo poder de servir como garantia de confiabilidade do sistema. 
Para responder a esta terceira indagação, vamos comentar tecnicamente as possibilidades de um sistemas informatizado ter seus resultados e ou funcionalidades alterados em qualquer uma de suas camadas de programação sistema operacional, um único aplicativo, rotinas especificas, bibliotecas de compiladores, etc.
Dividiremos esta análise em duas etapas:
  • Possibilidades de implantação de códigos espúrios ao sistema
  • Possibilidades de códigos espúrios fraudarem a eleição mesmo com a PDE
Obs. Por preocupação ética dos autores, que compreendem as possibilidades de mau uso de informações aqui apresentadas, o texto a seguir trata apenas da análise das possibilidades mas não detalha como implementar efetivamente uma adulteração em um sistema computacional.
5. Possibilidades de implantação de códigos espúrios ao sistema
Vamos analisar as possibilidades de se introduzir códigos executáveis dentro de um sistema, de forma que não seja detectado por uma auditoria superficial, como a auditoria permitida pelo TSE aos partidos políticos.
Estes códigos teriam algumas peculiaridades importantes a serem atendidas, como se esconder antes do momento de atuar e se auto eliminar após atuação.

 

 
 
 

5.1 Via código-fonte não auditados

É o caso mais simples, consiste em introduzir a rotina espúria, no código-fonte de um programa que não será apresentado para auditoria, como o sistema operacional e as bibliotecas especiais. 
É um procedimento fácil de ser implementado por um membro da equipe de desenvolvedores dentro de sua própria camada de conhecimento. Seria bem mais difícil de ser implementada por alguém externo ao desenvolvimento do sistema, sem que venha a ser descoberto.
A possibilidade de uma fiscalização externa detectar o código espúrio é praticamente impossível a não ser que seus efeitos sejam bastante visíveis (e não se confundam com um erro de programação). Quanto mais baixo for o nível da camada de programação mais difícil a análise dos programas, principalmente se for implementada na camada do sistema operacional. O sistema operacional, por exemplo, é um programa de baixo nível muito difícil de ser auditado apenas com bateria de testes. 

 

 

5.2 Via código-fonte após auditoria incompleta

Consiste em introduzir a rotinas espúrias no código-fonte de um programa que foi anteriormente analisado pelos auditores externos. 
Como dito, a validação e a certificação são etapas da avaliação de sistemas informatizados. Se a certificação, que consiste em verificar se os programas carregados nas urnas são realmente provenientes dos fontes analisados, não for efetuada, fica muito fácil para membros da equipe que faz o fechamento dos aplicativos adulterá-los antes da compilação final.
Sem se proceder a uma certificação rigorosa é praticamente impossível aos auditores detectarem a adulteração e garantirem a integridade do programa original. 
Obs. Deve-se lembrar que o TSE não permite que os fiscais dos partidos façam qualquer verificação, por meio de assinaturas digitais, por exemplo, para determinar se o programa carregados nas urnas são os mesmos que lhes foram mostrados para análise. Ressalte-se, também, que técnicos do TSE reconheceram publicamente que os programas usados nas eleições de 2000 foram efetivamente modificados depois de apresentados aos fiscais dos partidos.
5.3 Via bibliotecas padrão do compilador
Consiste em introduzir rotinas espúrias através de alteração em um biblioteca padrão do compilador (stdio, stdlib, conio, string, etc.). 
Pode-se utilizar de várias técnicas para se alterar um biblioteca. Uma bastante simples seria utilizar a biblioteca original para gerar uma nova biblioteca com o código novo "embutindo" o antigo, por exemplo
void FicaResidente
{
   rotina que
      copia o resto de si mesma para área segura da memória
      implanta desvios como pontos de chamada
      e contém algoritmo malicioso que afeta a apuração
}

int  {novo} printf( const char *format [, argument]... )
{
  FicaResidente ( );
  return printf {original} (format, [,argument]...);
}
Trata-se de procedimento fácil de ser implementado por pessoas que tiverem acesso físico ou remoto, mesmo que temporário, aos ambientes onde se geram as versões finais das várias camadas de programas que compõe o sistema.
A fiscalização externa só conseguiria detectar este tipo de ataque se fizesse uma auditoria minuciosa nos ambientes que geram as versões finais dos programas e esta auditoria teria que acompanhar as compilações das várias camadas de programas. Ambientes de compilação de linguagens que utilizam bibliotecas pré-compiladas, como o Delphy, são particularmente difíceis de serem auditadas pois o atacante poderia inserir o código espúrio, compilar a biblioteca e depois apagar todos os vestígios do seu ataque, como o fonte alterado e a data da compilação.

 

 

5.4 Via código já compilado

A introdução de rotinas espúrias em programas já compilados recorreriam às técnicas de se "envelopar" parte do sistema operacional, do BIOS ou dos aplicativos. São técnicas utilizadas por vírus de computador e, de forma genérica, dependem de:
  • Ter acesso físico a um ou alguns programas ou meios que contenham os arquivos executáveis do sistema. (este acesso pode ocorrer em qualquer momento após a compilação até o dia das eleições).
  • Conforme o momento que for introduzido o código espúrio, o número de urnas afetadas será diferente, por exemplo 1) logo após a compilação - todas as urnas do país serão afetadas; 2) em um TRE - todas as urnas de um estado; 3) na flash de carga de uma zona - as urnas desta zona; ou 4) em um único equipamento armazenado para as eleições.
  • Para este tipo de ataque é necessário conhecimento de assembler do processador utilizado.
  • Deve-se introduzir um desvio na inicialização do sistema e fazer acertos em rotinas de conferências internas (como assinaturas digitais).
  • Durante a inicialização do sistema, este desvio carrega a rotina espúria que por sua vez introduz outros desvios no sistema operacional, como no acesso a disco, no acesso ao teclado e no acesso ao monitor.
  • Estes desvios podem ser nos vetores de interrupções do Sistema Operacional, da BIOS ou no próprio processador (utilizando seus recursos de debug para gerar interrupção quando o programa principal acessar a um determinada área de memória).
  • Por ser uma rotina acrescentada ao código compilado depois dele ter sido "assinado" para a verificação de integridade, a primeira prioridade da rotina espúria seria se esconder. Todos os desvios introduzidos filtrarão os acessos de modo a simular a não existência de si própria, num comportamento similar à alguns vírus de computador do tipo "stealth". Por exemplo, se um programa de conferência de assinatura digital ler do disco áreas alteradas pela rotina espúria, ela filtrará estas leituras para enganar a conferência de assinatura.
  • A segunda prioridade seria se auto eliminar após as eleições. Basta, para isto, retirar o desvio na inicialização e recompor as áreas alteradas na memória fixa. 
Obs. as explicações, acima, foram propositadamente apresentadas de forma genérica e simplificada. Existem muitos detalhes não mencionados para se evitar que estas informações sejam utilizadas de forma mal intencionada.
Trata-se de um ataque sofisticado que apresenta as maiores dificuldades de implementação, mas quanto mais informações privilegiadas o atacante tiver, mais fácil fica seu trabalho. Por exemplo, membros da equipe responsável pelo desenvolvimento das rotinas de conferência de assinatura digital possuem informações privilegiadas que facilitam a tarefa de fazer o código espúrio se "esconder". 
Mas esta forma de introdução de rotinas espúrias pode, também, ser feita por pessoas completamente de fora das equipes de desenvolvimento, desde que tenham acesso a uma cópia dos executáveis para proceder a engenharia reversa (desassembler e debug) de algumas rotinas chaves. 
É bastante difícil se detectar este tipo de adulteração do sistema, quanto mais bem feito for o ataque, mais difícil será sua detecção. 

 

 

5.5 Outras vias

Associação das formas descritas acima ou outras vias de ataque não pensadas pelos autores. A criatividade dos programadores é grande.

 

 
 
 

6. Possibilidades do um código espúrio fraudar a apuração

Agora vamos analisar as possibilidades de se desenvolver algoritmos maliciosos dentro de rotinas introduzidas conforme item 5, que permitiriam adulterar o resultado da apuração de uma ou de várias urnas eletrônicas.
A maior ou menor facilidade para o desenvolvimento de rotinas fraudulentas depende diretamente da quantidade de informação sobre o sistema-alvo que o atacante tem conhecimento. É justamente para limitar a quantidade de informação disponível para cada pessoa que se adota a PDE. Mas ainda assim se pode desenvolver códigos capazes de interferir no resultado da apuração mesmo contando-se apenas com informações parciais e incompletas do sistema.
Inicialmente considere-se que apesar da PDE existem várias informações que qualquer potencial atacante do sistema tem acesso:
  • Interface do programa de votação com o eleitor, que é bastante veiculada pela imprensa e em treinamento patrocinados pelos diversos tribunais eleitorais.
  • Interface do programa de votação com o mesário, que são disponíveis nos manuais de treinamento dos mesários que trabalharão nas eleições.
  • Número e nome dos candidatos, que são divulgados com bastante antecedência.
  • Informações técnicas que constam nos editais de concorrências [5]
  • Explicações dadas pelos técnicos do TSE em audiências públicas. 
A seguir analisamos algumas possibilidades de se desenvolver códigos maliciosos conforme as informações adicionais que se disponha.

 

 

6.1 Na camada do Aplicativo de Votação, conhecendo-se seus detalhes

Atuando-se dentro e com conhecimento do Aplicativo de Votação é o caso mais simples de se programar fraudes que alterem o resultado da apuração dos votos. Como a certificação dos programas das urnas não é permitida pelo TSE aos auditores externos, basta se criar algoritmos de desviem sistematicamente os votos já que todos os votos passarão por esta camada. 
Alegar desconhecimento da base de dados para dificultar a geração de um algoritmo malicioso não procede pois os números e nomes dos candidatos são divulgados meses antes de uma eleição e os números dos partidos para cargos majoritários se mantém de uma eleição para outra.
O código fraudulento poderia atuar antes dos dados acumulados serem remetidos para o banco de dados, por exemplo, ao final da votação de cada eleitor a rotina fraudulenta trocaria alguns votos de certos candidatos por votos nulos ou vice versa.

 

 

6.2 Na camada das bibliotecas, com algum conhecimento da estrutura de dados

Embora o aplicativo de votação não contenha nenhuma chamada explícita para uma rotina maliciosa que tenha sido implantada numa biblioteca externa, esta seria chamada quando se usa algumas das funções padrão da linguagem ou funções específicas da biblioteca adulterada e passa a ficar residente na memória volátil, passando a controlar eventos determinados como o horário, a digitação de teclas e acessos ao disco.
A principal diferença com o caso anterior é que naquele a própria chamada explícita da rotina determinava que era o momento de se executar o algoritmo fraudulento. Neste caso será necessário um outro algoritmo para se determinar o momento certo de se chamar a rotina de adulteração de votos, pois a função padrão poderá ser chamada em várias situações que não seja o momento certo de alterar o resultado.
Por exemplo, uma rotina maliciosa feita com conhecimento da estrutura dos dados pode monitorar o horário para, às 16:59 h, trocar os totais acumulados dos candidatos e dos votos nulos e brancos antes da emissão do Boletim de Urna (BU).

 

 

6.3 Nas camadas do Software Básico sem nenhum conhecimento adicional

Lembrando-se que as camadas do Software Básico (BIOS, Sistema Operacional e Device Drivers) não são apresentadas para análise do seu código fonte, pode-se nelas introduzir códigos que desviem votos mesmo sem se ter conhecimento adicionais do sistema além dos disponíveis ao público. Por exemplo
  • No primeiro passo, a rotina fraudulenta implantaria desvios e passaria a controlar todo acesso ao teclado e todo acesso à memória de vídeo sempre que estes dados circulassem entre o Software Aplicativo e o Software Básico.
  • Em seguida passaria a montar um banco de dados com os números dos candidatos e respectivas telas.
  • Quando o eleitor confirmar seu voto, se salvaria os números digitados no teclado (equivalente ao número do candidato) e o respectivo conteúdo da tela com a foto do candidato escolhido.
  • Este procedimento se repetiria para vários candidatos.
  • Montado um banco de dados passa-se a fase de desvio de votos.
  • Quando o eleitor digitar o seu voto interfere-se no processo enviando ao Aplicativo de Votação o número de outro candidato e enviando ao monitor a tela respectiva ao candidato escolhido pelo eleitor.
  • Quando o eleitor digitar o "confirma" deixa-se de interferir no processo e assim o Aplicativo de Votação contaria o voto para o candidato errado.
  • Antes da 17 h a rotina espúria apagaria todos os seus vestígios na memória permanente, inclusive seu banco de dados, e desfaria os desvios implantados. 
  • A apuração teria sido fraudada. 
7. Conclusão
As barreiras impostas pelo TSE à auditoria externa dos programas da Urna Eletrônica limitam muito o alcance desta auditoria. Sendo permitida apenas uma validação parcial pelo insuficiente prazo de cinco dias e nenhuma certificação dos programas, os auditores não conseguem avaliar a real segurança do sistema.
Ao contrário do que dizem os técnicos do TSE e da Procomp, um código fraudulento poderia ser implantado em qualquer camada de programação e a política de desenvolvimento estanque, por si só, não garante a integridade do sistema uma vez que é possível desenvolver tal código numa das camadas mesmo sem informações completas sobre o resto do sistema. 
Na realidade, nem mesmo existem garantias de que a PDE é respeitada pois a proximidade das pessoas envolvidas e o longo tempo que participam do processo são fatos notórios.
Dentro destas condições, um auditor externo não pode afastar a hipótese da existência rotinas maliciosas nas urnas eletrônicas, rotinas estas que não seriam detectadas pela insipiente fiscalização permitida aos partidos.
Como disse Thompson, não se pode confiar em um sistema informatizado cujo código não tenha sido inspecionado em todas as suas minúcias e como disse Mercuri, sistemas eleitorais necessitam de critérios de segurança e de confiabilidade redobrados.
O TSE criou um sistema eleitoral que não pode ter sua apuração conferida ou recontada pois a urna eletrônica não emite comprovante impresso do voto. Ao impedir a análise profunda e completa dos seus programas pelos fiscais dos partidos políticos, o TSE diminui muito o nível de confiabilidade do sistema, reduzindo-o apenas à palavras dos técnicos envolvidos já que não se pode auditar a apuração nem pela análise dos programas nem pela recontagem dos votos.
Os técnicos envolvidos nos "garantiram" serem todos eles absolutamente honestos e está é a única garantia que o sistema eleitoral brasileiro oferece aos eleitores atualmente.



 

Relatorio de Sta. Catarina

Date: Mon, 12 Mar 2001 10:02:10 -0300
From: Amilcar Brunazo Filho <amilcar@brunazo.eng.br>
To:  forum do voto-eletronico
 

Olá,

No dia 06 de março de 2001 a questão da falta de segurança do voto eletrônico no Brasil foi abordado durante o IX Simpósio Brasileiro de Computação Tolerante a Falhas, SCTF 2001, promovido pela Sociedade Brasileira de Computação (SBC) e organizado pelo Departamento de Automação e Sistemas (DAS) do Centro Tecnológico (CTC) da Universidade Federal de Santa Catarina (UFSC).

Pela manhã, dentro do Workshop em Segurança de Sistemas Computacionais -
WSeg'2001, evento paralelo ao SCTF - houve apresentação das palestras:

  • - Critérios para Avaliação da Segurança do Voto Eletrônico de Amílcar Brunazo Filho http://www.votoseguro.org/textos/Wseg2001.htm
  • - Auditoria de Sistemas Eleitorais: o Caso São Domingos de Evandro Luiz de Oliveira e Claudio Andrade Rego http://www.votoseguro.org/textos/evandro1.htm

  • À tarde houve o debate sobre Segurança do Voto Eletrônico, com a participação de:
  • -Michael Stanton (IC/UFF) - moderador
  • -Newton Franklin Almeida (TSE),
  • -Osvaldo Catsumi Imamura (IEA/TSE),
  • -Amilcar Brunazo Filho (TD Tecnologia Digital),
  • -Joanilson Ferreira (Staff Consultores)

  • Considero positivo a participação dos membros do Fórum do Voto-e que lá compareceram.
    Tanto as palestras como o debate despertaram bastante interesse. O auditório ficou sempre cheio (umas 100 a 150 pessoas) e muitos reporteres dos jornais locais e até nacionais compareceram e fizeram muitas perguntas.

    O ponto negativo do debate foi a atitude dos representantes da justiça eleitoral que lá compareceram com a clara intenção de impedir que o debate se desenvolvesse com liberdade, conforme explico adiante.

    O tema das palestras foram:

    - do Amilcar: propôs a adoção de critérios para avaliação da segurança e confiabilidade de sistemas eleitorais automatizados. Mostrou que a nossa urna eletrônica é reprovada mesmo quando avaliada sob critérios simples.

    - do Evandro: mostrou com exemplo prático, que as condições impostas pelo TSE aos auditores tornam impossível qualquer auditoria do sistema eleitoral, após as eleições. O Evandro se saiu muito bem na sua palestra, tendo conseguido tornar muito interessante e construtiva sua participação.

    O debate correu bem no início quando os debatedores apresentaram suas posições:

    - Newton Almeida: defendeu que a urna eletrônica resolveu bem as fraudes que ocorriam com o sistema eleitoral tradicional e que, após sua adoção, o histórico de fraudes apuradas é nulo.

    Ele se perdeu um pouco quando tentou argumentar que "assinatura digital tem que ser secreta para ser segura" e que durante uma eleição de apuração rápida "as bolsas de valores não caem e assim os custos da urna eletrônica se pagam rapidamente". (obs.: a fraqueza dos argumentos do Sr. Newton, reside no uso tendencioso e obscuro que ele faz de dados estatisticos sem cuidados técnicos necessários para espurgar o efeito de influências cruzadas. Sugiro ao Sr. Newton ler o relatório do MIT/Caltech,  http://www.nist.gov/itl/lab/specpubs/500-158.htm, para ver os cuidados que se deve tomar para dar credibilidade a uma análise estátistica)

    - Oswaldo Catsumi: citou algumas das caracteristicas de segurança da urna (criptografia, assinatura dos arquivos, log, normas), sem se aprofundar, ficando no aguardo de perguntas da platéia. Ao tentar explicar a falta de transparência do TSE diante das recomendações das normas técnicas, o Sr. Catsumi falou em "padrões proprietários", o que é um contradição implícita. Padrões (estabelecidos em de normas técnicas) são necessariamente  públicos, se for secreto (proprietário) não é padrão!

    - Amilcar Brunazo - defendeu a tese que o "TSE falhou em demonstrar a confiabilidade do sistema eleitoral devido a falta de transparência e impecilhos à auditoria". Citou alguns exemplos da falta de transparência do TSE.

    - Joanilson Ferreira: argumentou que a grande preocupação que envolve o debate sobre automação eleitoral se refere à LEGITIMIDADE do resultado. Isto é, não pode pairar dúvidas sobre o resultado final publicado. Também defendeu a necessidade de maior transparência e liberdade de auditoria do processo eleitoral automatizado.

    Após a apresentação dos debatedores deveria começar a participação do público. Foi então que se revelou a tática dos representantes da justiça eleitoral de Sta. Catarina de impedir o aprofundamento do debate sobre segurança do sistema eleitoral.

    Três pessoas ligadas ao TRE-SC e à Fundação CERTI (associada da Procomp) tomaram a palavra, por quase 20 minutos cada, nada falavam sobre técnicas de segurança propriamente dito, e esgotaram todo o tempo para perguntas dos estudantes universitários presentes.

    O primeiro a tomar a palavra foi um advogado do TRE-SC, Sr. Gonçalo, que falou por mais de 10 minutos sobre o voto dos cegos, da queda dos votos nulos e brancos após a adoção da UE (em mais um uso manipulado e incorreto de dados estatísticos), e que mesários fraudavam as eleições tradicionais. O mais perto que o Sr. Gonçalo chegou da questão de segurança e confiabilidade do sistema eleitoral automatizado, foi quando argumentou que os técnicos (programadores) do TSE têm "fé pública" querendo assim justificar que não é necessário auditar seus trabalhos. É aquele velho argumento de que "na justiça eleitoral os pessoas são geneticamente modificadas e incorruptíveis".

    Depois desta participação que em nada contribuiu na questão de segurança (security) do sistema eleitoral, uma mestranda, Luciana de Souza, pediu esclarecimentos sobre a tal  "assinatura digital secreta" , pois segundo o seu (correto) entender a assinatura digital tem que ser aberta (o código e a chave pública) para poder conferir segurança ao sistema.

    O Sr. Catsumi respondeu de forma totalmente obscura. Falou que o conceito de "coisas pública" deveria ser melhor definido em lei pois, segundo ele, "existem coisas públicas que são públicas para todos e coisas públicas que não são tão públicas assim e devem ter acesso controlado". O Sr. Catsumi simplesmente faltou com a verdade ao afirmar que qualquer pessoa que fizesse uma petição formal ao TSE poderia obter cópia tanto das chaves da assinatura digital quanto dos próprios progamas das urnas lacrados pelos fiscais dos partidos.

    Estas afirmações do Sr. Catsumi, dadas em público, SÃO FALSAS pois  o PDT entrou com pedido formal dos dados para poder conferir as assinaturas digitais (e por consequência a integridade) dos programas das urnas e na resolução 20.714/00 do TSE é claramente negado este direito aos fiscais. Além do que, o próprio Sr. Catsumi já havia dito à imprensa que os programs das urnas FORAM MODIFICADOS depois de lacrados pelos fiscais dos partidos.

    A resposta do Sr. Catsumi à jovem estudante foi totalmente insatisfatória e esta manifestou que não havia entendido por que o TSE alegava ter que manter a assinatura digital secreta. O Sr. Catsumi estava encurralado. Não tinha argumentos técnicos para defender sua posição, foi então que a "tropa de choque" da justiça eleitoral entrou em ação.

    O Sr. Carlos Camargo, Diretor de Informática do TRE-SC, tomou o microfone e começou a falar: "Vou esclarecer as dúvidas que ainda tenham ficado sobre a explicações do Sr. Catsumi...".

    A partir daí, o Sr. Camargo, em total desrespeito à platéia, discursou por 20 minutos e NÃO TOCOU NO ASSUNTO de assinatura digital ou segurança do sistema. Falou do "princípio da preclusão", criticou o projeto do Requião e apresentou o argumento absurdo de que os auditores externos podem não ser confiáveis sugerindo que por isso não se deva auditar o processo eleitoral ! (este é um dos argumentos clássicos que demonstram a arrogância e auto-suficiência dos integrantes da justiça eleitoral). A intervenção do Sr. Camargo foi feita com o único intúito de aliviar a "sinuca de bico" que tinha caido o Sr. Catsumi, com a pergunta da Srta.Luciana. Durante os 20 minutos de tergiversação do Sr. Camargo, a estudante ficou lá, inutilmente em pé, esperando a prometida resposta que nunca veio.

    E a tática de obstrução do debate continuou com a intervenção do Sr. Marcelo Ferreira Guimarães, diretor da Fundação CERTI , associada da empresa Procomp que participou das três concorrências para fornecimento das urnas ao TSE e que ganhou as duas últimas.

    O Sr. Marcelo segurou a palavra por mais uns 20 minutos, falou de tudo, menos sobre técnicas de segurança do sistema, que era o tema do debate. Clamou pelo reconhecimento do trabalho pioneiro da engenharia nacional citando um recorte do jornal USA Today (o mais desacreditado dos grandes jornais americanos). Contou a história da participação do CERTI no processo de desenvolvimento da urna. E tentou explicar aquela mentirosa reportagem no Jornal Nacional, sobre o MIT ter enviado um técnico para a fundação CERTI para aprender como se faz uma urna eletrônica. Segundo o Sr. Marcelo, um representante do MIT (Sr. Tony Knoop, antropólogo) veio a UFSC para tratar de um convênio entre as universidades quando, DE REPENTE, apareceu um reporter da Globo, que ele não sabe de onde saiu, bem no momento que o Sr. Knoop foi levado até as instalações do CERTI (dentro da UFSC), e matéria foi parar no Jornal Nacional! Acredite quem quiser.

    Após este longa e improdutiva (no sentido de se debater segurança dos sistemas eleitorais) do Sr. Marcelo, mais um estudante, o Sr. Eduardo Machado, conseguiu fazer uma pergunta sobre o uso de sistema operacional aberto pela urna. A resposta do Sr. Catsumi foi, mais uma vez, evasiva, dizendo que a lei de concorrências não permite que o TSE especifique o uso de um sistema aberto (o que é uma grande inverdade, pois a necessidade de apresentar o código dos programas aos fiscais dos partidos impõe o uso de software livre com código aberto).

    Após o debate, muitos se manisfestaram decepcionados com o seu andamento, inclusive o Prof. Joni da Silva Braga, organizador do SCTF e principal responsável por criar este debate, que declarou que muitas perguntas técnicas de seus alunos e orientados não chegaram nem a serem feitas, quanto mais esclarecidas.

    Os alunos com os quais conversei ao final do debate haviam percebido que a técnica do TSE é o obscurantismo e tergiversação. Talvez este tenha sido o único resultado positivo do debate no SCTF: Todos perceberam que os técnicos do TSE não têm argumentos técnicos para sustentarem suas posições contra qualquer auditoria efetiva na apuração.

    ------------
    Meus comentários finais ao debate:
    O Sr. Marcelo Guimarães, do CERTI, pediu reconhecimento ao trabalho da engenharia brasileira na construção da UE e disse que o brasileiro deveria ter mais confiança na capacidade de nossos técnicos. Mas eu gostaria de colocar ao Sr. Marcelo, que colocando a Fundação CERTI num papel pulsilânime de servir de anteparo de proteção dos técnicos do TSE contra o debate acadêmico não vai nunca ganhar credibilidade.

    Os argumentos absurdos, mal fundamentados, quando não mentirosos, apresentados pelos representantes da justiça eleitoral e da CERTI, como:

  • - assinatura digital tem que ser secreta;
  • - o TSE segue "padõres proprietários";
  • - os dados e programas estão disponíveis para quem quiser analisar;
  • - tem dados públicos que não são tão públicos assim
  • - não precisa de auditoria pois os técnicos do TSE tem 'fé publica';
  • - não se pode permitir a auditoria externa pois os auditores podem não serconfiáveis;
  • - a umidade do ar no interior do Amazonas impede que se permita a conferência da apuração no resto do país;
  • - O fato da bolsa de valores não cair paga o custo da urna eletrônica,

  • só contribuem para desacreditar qualquer corpo técnico de onde tenha partido tais afirmações.


    O que poderia dar alguma credibilidade aos técnicos ligados a justiça eleitoral seria apresentar suas teses sobre segurança do sistema eleitoral em congressos acadêmicos. Que escrevessem monografias e as submetessem à avaliação técnica de técnicos especializados independentes. Haverá um novo SSI no ITA em breve, como o Wseg, lá é um excelente fórum para apresentar tais trabalhos.

    Por enquanto, o Fórum do Voto-e já colocou 4 "papers" sobre segurança de sistemas eleitorais em simpósios de primeira linha, mas o máximo que os técnicos ligados a justiça eleitoral fizeram foi brandir no ar um recorte do USA Today para justificarem suas posições.

    É muito pouco para quem alega estar na frente no dominio da tecnologia eleitoral. Lhes falta a credibilidade que só trabalhos publicados e bem aceitos pode conferir.

    Eu ofereço, também, o Fórum do Voto-e para publicar eventuais artigos que eles venham a produzir, contribuindo para um debate técnico e democrático sobre a VERDADEIRA LEGITIMIDADE do processo eleitoral.

    Eng. Amilcar Brunazo Filho