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