O relatório da Unicamp - IV
(Carta aos jornais)
Prezado Sr.,
Em 29 de maio de 2002, uma comissão de docentes da Unicamp entregou ao
Tribunal Superior Eleitoral (TSE) um relatório de 48 páginas, com
título "Avaliação do Sistema Informatizado de Eleições (Urna
Eletrônica)". Esse relatório tem sido interpretado e divulgado pelo
TSE como sendo uma certificação, por parte desta Universidade, da
segurança do sistema de voto eletrônico.
Em primeiro lugar, é preciso esclarecer que esse relatório nunca foi
examinado, muito menos aprovado, pelos órgãos colegiados da Unicamp ou
das unidades envolvidas. Pelo contrário, a avaliação foi realizada
apesar de recomendação contrária da Comissão de Perícias da Unicamp,
que havia alertado a Universidade sobre o perigo dos resultados virem
a ser mal interpretado e mal utilizados (Roberto Romano, "Urnas
Eletrônicas, ABIN e Unicamp", Folha de São Paulo 11/jun/2002).
Portanto, o relatório e suas conclusões não devem ser tomados como
opinião institucional "da Unicamp", mas apenas de seus autores.
Além disso, deve-se observar que a avaliação foi feita sobre o
hardware e software usado nas eleições de 2000, e portanto não pode
servir de respaldo para o sistema de 2002 --- que difere daquele em
detalhes de natureza e extensão desconhecidas.
Por fim, é no mínimo estranha a conclusão principal do relatório,
incondicional e categórica, de que
"o sistema eletrônico e votação implantado no Brasil desde 1966 é um
sistema robusto, seguro e confiável atendendo a todos os requisitos
do sistema eleitoral brasileiro" (página 45)
Esta conclusão contraria não apenas o bom senso e a experiência de
qualquer profissional minimamente competente em segurança de sistemas,
mas inclusive o próprio relatório -- que, no seu corpo, aponta várias
falhas de segurança que possibilitariam fraudes generalizadas e
indetectáveis. Sem contar que as falhas *realmente* graves da urna não
foram sequer mencionadas no relatório.
Num sistema de votação, o maior risco de fraudes não vem dos "hackers"
e vigaristas habituais, mas sim de partidos e outros grupos
organizados e poderosos, com recursos abundantes, amplo apoio político
e social, e contatos e simpatizantes em todos os setores do governo
--- possivelmente também na polícia, na ABIN, e na Justiça Eleitoral.
Grupos que, por exemplo, conseguem obter dezenas de exemplares da urna
eletrônica (legítimos ou imitações, pouco importa), sem que ninguém
consiga explicar onde ou como; ou que podem exigir que um funcionário
sênior quebre o sigilo de uma votação secreta do Senado, sem temor de
que este venha a revelar o fato à justiça.
Portanto, uma avaliação séria da segurança da urna eletrônica deve
obrigatoriamente considerar ataques bem planejados, por pessoas que
têm conhecimento detalhado do software e hardware da mesma, e estão
determinados a quebrar *esse* sistema, a qualquer custo. Deve-se supor
que, se o sistema tem algum ponto fraco, é justamente nele que se
concentrarão os ataques. A presunção de inocência e integridade deve
valer para o indivíduo, sem dúvida; mas, ao nível de organização,
deve-se aceitar como fato dado que uns poucos funcionários em posição
estratégica podem ser intimidados ou subornados. Deve-se supor que
materiais críticos podem ser falsificados, chaves e lacres podem ser
duplicados, telefones podem ser grampeados, e assim por diante.
Deve-se supor também que os atacantes terão oportunidade de testar
previamente o ataque, numa urna eletrônica legítima ou clonada. Um
sistema eleitoral que não pode resistir a ataques desse nível não pode
ser, de modo algum, considerado "seguro".
Neste aspecto, o relatório "da Unicamp" é extremamente insatisfatório,
pois parece supor, implicitamente, que todos os programadores e
operadores com algum tipo de acesso ao sistema eletrônico de votação
--- incluindo não só os funcionários do TSE e dos TREs, mas também
todos os funcionários das entidades que contribuem para o software e
operação do sistema (ABIN, Microbase, Módulo, Procomp, Unisys,
Microsoft, etc.) --- são íntegros, incorruptíveis, inintimidáveis, e
incapazes de qualquer erro ou distração que possa ter comprometido o
software da urna.
E este software é justamente o principal ponto fraco do sistema. Além
de ser absurdamente complexo (segundo relatos de fiscais, são cerca de
3 milhões de linhas de código-fonte --- ou seja, quase 400.000 linhas
para cada membro da comissão!), ele inclui um sistema operacional com
centenas de milhares de instruções, cujo código-fonte não não é
acessível ao TSE, e cujo comportamento nunca foi analisado pelos
técnicos do Tribunal, pelos fiscais de partido, ou por peritos
independentes. A mesma observação se aplica aos computadores
utilizados pelo TSE para a montagem do software e sua instalação na
urna.
Mesmo que fosse feita uma análise minuciosa do código-fonte do sistema
operacional (e de todos os demais programas excutados com privilégios
equivalentes), sua complexidade é tal que não seria possível excluir a
existência nele de instruções maliciosas, ou de vulnerabilidades
(intencionais ou acidentais) suficientes para permitir a introdução e
execução de instruções maliciosas após a inspeção
Ora, instruções maliciosas executadas com o privilégios do sistema
operacional podem alterar de maneira arbitrária quaisquer dados e
programas armazenados na urna, curto-circuitar senhas e permissões,
neutralizar rotinas de assinatura digital e outros testes de
integridade, e falsificar "logs" -- e por fim apagar a si próprias,
sem deixar vestígios. Em particular, tais instruções poderiam alterar
indevidamente os votos digitados e/ou os totais acumulados, sem
acionar alarmes ou criar inconsistências. Um tal "vírus" poderia
facilmente ser programado para agir apenas na votação real, e não nos
testes de funcionamento da urna. Além disso, usando os próprios
sensores de segurança da urna, o vírus poderia também detectar
tentativas de abertura ou auditoria da mesma, e apagar a si próprio
nesse caso.
A elaboração de uma rotina maliciosa com essas características não
exigiria conhecimentos especializados de computação ou criptografia,
apenas habilidades elementares de programação, e alguns dados
específicos sobre o software e hardware da urna (endereços ou código
objeto das rotinas de segurança, formato das tabelas de totais, e
assim por diante). Tal rotina poderia ser facilmente programada de
modo a funcionar com versões diferentes do software da urna, mesmo
versões não disponíveis ao autor.
A introdução do "vírus" na urna poderia ser feita de muitas maneiras.
Ele poderia já estar embutido no sistema operacional, no núcleo básico
(BIOS), ou nas rotinas da ABIN; poderia ser enxertado durante a
compilação ou instalação do software da urna; ou poderia estar
escondido em programas secundários, arquivos de dados ou áreas
supostamente virgens dos disquetes e "flash cards" instalados na urna,
e ativado através de alguma falha sutil do software legítimo. Em
qualquer destes cenários, a adulteração do software da urna poderia
ser consumada numa fração de segundo, por um programa autônomo tipo
"cavalo de tróia", sem que o atacante precise estar fisicamente ou
remotamente logado na máquina --- e sem que os funcionários e fiscais
presentes se dêem conta do fato.
É verdade que alguns desses modos de ataque necessitariam da
colaboração (consciente ou inconsciente) de alguma pessoa com posição
especial dentro do esquema; mas não necessariamente com privilégios
administrativos, conhecimento de senhas ou chaves criptográficas, ou
acesso físico aos ambientes do TSE. Esta pessoa poderia ser, por
exemplo, um programador ou operador do TRE ou do TSE, ou de qualquer
das entidades envolvidas na implementação e operação do sistema.
A complexidade e dificuldade de tal ataque não seriam maiores do que
as dos vírus e outros programas maliciosos que periodicamente invadem
computadores no mundo todo, mesmo os mais bem-protegidos (incluindo,
aliás, os nossos aqui na Unicamp). Portanto, tal como nesses casos, o
ataque poderia ser perfeitamente planejado e excutado por uma única
pessoa. E, *com um único ataque desse tipo, seria perfeitamente
possível alterar os totais em todas as urnas do país, ou de um
determinado estado*, antes da impressão do relatório de urna. Uma vez
que a urna eletrônica não mantém nenhum registro permanentes e
inalterável dos votos lançados, fora os totais armazenados na sua
memória, tal fraude seria praticamente impossível de detectar --- quer
durante a votação, quer a posteriori.
Infelizmente o relatório "da Unicamp" nem sequer menciona estes óbvios
e perigosos pontos fracos do sistema. Ele nem mesmo informa o leitor
sobre o volume absurdo do software aplicativo, e o fato de que nem os
peritos, nem os fiscais, nem o TSE têm acesso ao código fonte do
sistema operacional. Outras falhas igualmente sérias --- como a
ativação das rotinas secretas da ABIN antes da impressão dos totais, a
impossibilidade de se examinar o conteúdo da urna após a carga, e a
execução de um script carregado localmente por disquete no dia da
eleição --- mal são mencionadas no relatório, e sumariamente
desconsideradas com o argumento que é improvável que um atacante
consiga transpor as múltiplas camadas de senhas, criptografia, e
assinaturas digitais.
Infelizmente, este argumento não procede. Não adianta trancar a porta
da frente a sete chaves, se a porta dos fundos é deixada aberta e sem
vigia. Não é preciso entender uma rotina de autenticação criptográfica
ou validação de senha para curto-circuitá-la. Não é preciso entender
todo o sistema operacional para inserir nele uma rotina de alteração
dos votos. Não é preciso examinar o código de um aplicativo para
imitar sua interface. Não é preciso roubar senhas, arrombar
fechaduras, ou grampear redes para conseguir acesso irrestrito e
indetectável a um computador. E a história mostra que não é preciso
mais do que um único "hacker" adolescente para implementar tudo isso!
Em resumo, na sua forma atual, a urna eletrônica é uma máquina cujo
estado interno, no início da votação, consiste de milhões de
instruções e dados diversos, que foram elaboradas por centenas de
pessoas virtualmente desconhecidas, e que nunca foram devidamente
analisadas --- muito menos certificadas --- pelo TSE ou por fiscais
independentes. A evolução do estado da urna no decorrer da votação é
inteiramente controlada por essas instruções, que podem alterar de
maneira arbitrária tanto dados quento programas, incluindo a si
próprias. Durante todo o dia da votação, a máquina funciona de maneira
autônoma, sem produzir nenhuma saída permanente e sem possibilidade de
exame de seu estado interno. Ora, nessas condições, é matematicamente
impossível extrair do estado final da urna qualquer informação
significativa, mesmo que probabilística, sobre a seqüência de teclas
digitadas durante o dia.
Ou seja, é inútil analisar e certificar detalhes como as técnicas
criptográficas ou procedimentos de inseminação, pois a falta de
segurança é uma propriedade fundamental dessa arquitetura. Este não é
um julgamento subjetivo, mas uma conclusão matemática. A validação
desse tipo de urna exigiria uma validação rigorosa de *todo* o
software que poderia modificar os totais, *incluindo especialmente o
sistema operacional*, BIOS, e outros programas que rodam em modo
privilegiado. Validação essa que nunca foi feita --- e que, dado o
volume de código envolvido, não pode nem ser cogitada.
Conclui-se de tudo isto que ninguém --- nem o TSE, nem os peritos e
fiscais externos, nem os fornecedores do software --- tem autoridade
para afirmar que não houve fraude generalizada nas eleições passadas,
ou meios efeitvos de impedir que elas ocorram neste segundo turno. As
afirmações do relatório e do TSE, de que a urna é 100% segura, não tem
nenhuma base racional; são apenas declarações de fé cega na
integridade de todas as centenas de programadores e operadores
envolvidos com o sistema.
Ressalto que esta minha avaliação não depende de nenhuma informação
privilegiada; ela baseia-se inteiramente em informações de domínio
público, principalmente o próprio relatório "da Unicamp" e outros
documentos públicos acessíveis, por exemplo através do site do Fórum
do Voto Eletrônico (www.votoseguro.org). Quanto à conclusão acima,
acredito que ela pode ser confirmada por qualquer profissional com um
mínimo de experiência em questões de segurança --- mesmo que apenas na
qualidade de vítima.
É lamentável, também, que a seção de recomendações do relatório nem
sequer mencione a proposta de impressão do voto --- com verificação
imediata pelo eleitor, possibilidade de estorno, e depósito em urna
lacrada. Pelo que sei, essa proposta constava do projeto original da
urna, e é a única que pode dar um mínimo de segurança contra fraudes
generalizadas --- e, por isso mesmo, é tema obrigatório em qualquer
discussão séria sobre voto eletrônico (Rebecca Mercuri, "A Better
Ballot Box?" IEEE Spectrum Online, Weekly feature of 02/oct/2002 ---
www.spectrum.ieee.org/WEBONLY).
Lamentavelmente, a estas alturas, não sei o que poderia ser feito para
garantir um mínimo de segurança nas eleições do segundo turno. Se de
fato há código malicioso na urna (e, repito, *ninguém* neste planeta
tem dados para garantir o contrário), ele pode facilmente se esconder de
uma auditoria física da urna --- quer esta seja realizada antes,
durante, ou após a votação. Ainda mais que neste ano foram eliminadas
as últimas urnas tradicionais, que poderiam servir como uma (fraca)
confirmação estatística (por amostragem) dos totais gerais.
No que tange à eleição presidencial, ao menos, podemos confiar que
haverá pouco espaço para fraude --- desde que sejam mantidas as
projeções atuais até o fim da semana. Porém, nos estados onde a
disputa por governador está mais equilibrada, não se podem excluir
pequenas "ajudas eletrônicas" --- transferindo, digamos, 3-4% dos
votos de um candidato para outro. Nesse caso, a discrepância entre os
resultados e as pesquisas de boca de urna possivelmente levantaria
suspeitas --- mas parece pouco provável que o TSE, em vista do seu
óbvio entusiasmo pela urna eletrônica, aceitaria essas diferenças como
evidência de fraude.
Não sou, de modo algum, perito em segurança; mas creio que entendo o
suficiente de computação para avaliar os argumentos dos críticos e
defensores da urna eletrônica. E, no meu entender, os críticos têm
inúmeros argumentos lógicos (óbvios, até), que os defensores
aparentemente nem tentam responder. Infelizmente, declarações em
defesa da urna eletrônica muitas vezes se reduzem a simples afirmações
de autoridade, ou apelos ao patriotismo ingênuo --- ou mesmo
argumentos "ad hominem", em que os críticos são tachados de
retrógrados, inimigos do progresso, derrotistas, etc..
Espero que o TSE e os demais responsáveis se dêem conta de que a
segurança da urna eletrônica é essencialmente uma questão técnica, e
portanto deveria ser decidida com base em argumentos racionais --- de
preferência, *antes* da tomada de decisões --- e não por pressões
políticas ou interesses comerciais. A respeito da valorização da
indútria nacional, quero observar que o desenvolvimento e aceitação
passiva (senão entusiástica) dessa urna, tão obviamente insegura, não
demonstra de modo algum nossa superioridade no ramo --- *muito pelo
contrário*.
Estou surpreso e preocupado com a indiferença com que esta
controvérsia têm sido recebida pelo público, especialmente pelos que
têm conhecimento da área --- tirando umas poucas e honrosas exceções.
(Eu mesmo confesso e lamento minha indiferença; só me dei ao trabalho
de ler o relatório "da Unicamp" agora, depois que ele me foi
"esfregado na cara" por colegas justamente indignados.) Infelizmente,
parece que nossa omissão foi interpretada pelo TSE como aprovação do
relatório e de suas conclusões, e autorização para continuar ignorando
os argumentos dos críticos.
Espero que esta carta ajude a conscientizar o público sobre esse
problema, da maneira mais ampla e responsável possível. Recomendo ao
leitor desta carta que não confie cegamente nas declarações de
autoridades e peritos, mas procure inteirar-se dos fatos por conta
própria, discutí-los com colegas, formar sua opinião, e manifestar-se.
Afinal, os fantasmas e vampiros --- reais ou imaginários --- que ainda
assombram a nossa democracia não podem ser exorcisados com colares de
alho, fórmulas mágicas, ou expedições furtivas nos subterrâneos do
TSE. Como bem sabem os peritos *desse* ramo, eles só podem ser
eliminados escancarando as janelas e expondo-os à luz do dia.
Sinceramente,
Jorge Stolfi
Professor Titular
Instituto de Computação, Unicamp
======================================================================
Dados sobre o autor: Engenheiro Eletrônico, Politécnica-USP, 1973;
Mestre em Matemática Aplicada, USP, 1979; Doutor (Ph. D.) em
Ciência da Computação, Universidade de Stanford, 1988;
professor da Unicamp desde 1992. Entre outros, foi responsável pelo
processamento de dados dos vestibulares de medicina de S. Paulo (CESCEM)
no início dos anos 70, e pesquisador no Systems Research Center,
da Digital Equipment Corporation (DEC SRC), de 1988 a 1992.