http://www.cic.unb.br/~rezende/sd.htm > urna eletrônica : entrevistas

Sistemas de Código Aberto e a Urna

Entrevista ao Jornalista Rafael Evangelista,
Para publicação na Revista Ciência e Cultura
da Sociedade Brasileira para o Progresso da Ciência - SBPC

Prof. Pedro Antonio Dourado de Rezende
Departamento de Ciência da Computação
Universidade de Brasília
11 de Agosto de 2002



Rafael Evangelista: Por força da lei, o TSE deverá, neste ano, submeter aos fiscais dos partidos, o código fonte do software da urna eletrônica (sistema operacional, aplicativo e programa de criptografia). Como será feita, então, essa fiscalização?

Pedro Rezende: Foi feita durante cinco dias, nas dependencias do TSE entre 5 e 9 de Agosto, em ambiente controlado pelo fiscalizado. Os fiscais tiveram cinco dias para examinar a documentação do sistema e o código fonte dos programas para, no quinto dia, participarem da cerimônia onde esses programas foram compilados, gerando-se a versão executável dos mesmos. O código fonte é a expressão de um software na linguagem em que é criado pelo programador, e o resultado da complilação é a sua tradução para a linguagem do computador onde irá executar suas tarefas. No caso do sistema eleitoral, das urnas e das redes de apuração.

A idéia é que se possa produzir, na presença dos fiscais que examinaram a documentação e o código fonte dos programas, a versão executável dos mesmos. Desta versão seria calculado um autentidor, para que os executáveis possam ser verificados quanto à integridade, ao serem instalados nas urnas e redes de totalização. Tudo seria então gravado em um CD cerimonial, o CD lacrado para posterior leitura e retransmissão aos TREs e o autenticador tornado público, para posterior verificação de integridade.

RE: Os fiscais terão tempo e estrutura para analisar adequadamente esses softwares?
PR: O tempo foi exíguo para uma ampla fiscalização, como pede a lei eleitoral. Para se ter idéia, o mais recente modelo de urna traz o sistema operacional Windows CE, um sistema operacional multitarefa de mais de 2 milhões de linhas de código. Este sistema foi projetado para arquiteturas dedicadas e hardwares customizados, sendo superdimensionado para a urna eletrônica. Já as bibliotecas criptograficas e o aplicativo de votação são bem menores. Não sei de mais detalhes porque não tive acesso ao código, já que renunciei à indicação partidária para atuar como fiscal nesta apresentação, por discordar dos termos do compromisso de manutenção de sigilo, exigido pelo TSE.

Mas podemos saber, mesmo não tendo participado da apresentação dos programas, que não se pode analisar tanto código em cinco dias. Talvez em cinco anos, tomando por exemplo experiências alheias de validação de software que seguem padrões internacionais. A ampla fiscalização, prevista em lei, é importante porque fraudes pode ser perpetradas por pequenos trechos de dezenas de linhas de código, inseridas entre essas milhões de linhas. Além disso, esta apresentação só seria efetiva como fiscalização se, após a análise detalhada do código fonte dos programas pelos fiscais, e após a compilação desses programas e do imediato cálculo e divulgação do autentidador dos mesmos, algum posterior procedimento de fiscalização pudesse permitir a verificação deste autenticador nos softwares instalados nas urnas durante a eleição, pelos fiscais de partido. Isto nunca foi permitido, e não sabemos se será nesta eleição.

Mesmo longe de ser efetiva a fiscalização que tem sido permitida, uma das críticas que se pode fazer, no sentido de poder torná-la efeitiva, diz respeito à escolha dos sistemas operacionais, principalmente o das novas urnas. Uma urna eletrônica é um hardware dedicado que executa apenas um aplicativo e trabalha com poucos periféricos e arquivos que são pequenos. Não necessita, portanto, de um sistema operacional do tipo faz-tudo. Os primeiros protótipos, apresentados nos primeiros concursos promovidos pelo TSE para escolha de modelo da "máquina de colher voto", tinham sistemas operacionais bem simples. Só depois é que a justiça eleitoral veio a encomendar urnas com sistemas complexos, o último com o Windows CE.

Em relação à estrutura, há notícias de que a cerimônia de compilação foi tão tumultuada que os fiscais de partido não tiveram como acompanhar adequadamente o processo. Mesmo que o tempo não permitisse aos fiscais examinarem tudo, esta apresentação era considerada como uma etapa de fiscalização por se basear na presunção de que todo o software estaria disponível para análise, antes da compilação. Porém, na hora da compilação descobriu-se que algumas medidas de segurança necessárias para manter o ambiente de compilação controlado impediam a compilação conforme planejada, e que o Windows CE não caberia no tal CD ceremonial. Aboliram-se medidas e, por tentativa e erro, produziu-se uma compilação cujo caráter público perdeu o sentido de validação pela transparência, pois os fiscais não podiam mais saber o quê exatamente estava sendo compilado.

Não houve planejamento prévio adequado. Não havia roteiro e, pela natureza dos incidentes, pode-se deduzir que não houve nenhum ensaio ou teste prévio para a cerimônia de compilação, por parte dos organizadores. Houve, entretanto, a permissão para que um fiscal bem relacionado com os fiscalizados organizasse uma sessão de cinema, improvisada no ambiente onde a cerimônia estava sendo conduzida, para entreter os fiscais que estavam ali para bater palma, dizer amém e assinar em baixo da ata, já que a conclusão dos trabalhos se arrastava indefinidamente, emperrada por imprevistos que vieram a anular qualquer tentativa de se manter controlado o ambiente de compilação.

Conforme testemunhos, a festinha paralela foi organizada por um fiscal do PT e seu laptop carregado de DVDs, um fiscal que se vangloria dos privilégios que goza com os fiscalizados, confirmados pelo telão e amplificador de som cedidos pelo TSE. Seu gozo de privilégios resultou, nesta fiscalização, em graves constrangimentos e dificuldades aos que levam a sério a responsabilidade a eles incumbida pela parcela do eleitorado que representam, devido à algazarra promovida no ambiente de compilação. Embora me tenha sido relatado a natureza dos filmes exibidos, creio que não deva comentá-los, já que os filmes foram exibidos por software, e qualquer conhecimento acerca de softwares dali emanado está coberto pelo termo de sigilo exigido pelo TSE aos fiscais desta apresentação.

RE: O sr. acredita que, se esse código fonte fosse submetido aberto não só aos fiscais mas à opinião pública geral, a segurança da urna poderia ser melhorada? O software de código aberto pode ser mais seguro?
PR: Se os critérios para escolha do software da urna incluíssem as exigências da lei eleitoral quanto ao direito de ampla fiscalização, ou mesmo critérios de mínimo bom senso que viabilizassem à justiça eleitoral a validação do software licenciado, o Windows CE certamente não seria escolhido. O Windows CE é um sistema praticamente inauditável, devido ao seu tamanho e aos truques que sua proprietária usa para dificultar a compreensão da versão do código fonte dos seus produtos que aceita divulgar. Por sinal, uma empresa já condenada em última instância onde tem sede, por práticas monopolistas predatórias, aguardando apenação. O Goveno Francês é testemunho dessas dificuldades, e possível vítima de espionagem industrial intermediada por esses produtos, como suspeita.

Aliás, o contrato entre o TSE e a Unisys para fornecimento dessas novas urnas, que teria incluído como parte do negócio o Windows CE, nunca veio a público, apesar de várias petições de partidos à justiça solicitando cópia do mesmo. Em relação a essas petições estamos no limiar da prevaricação, já que elas tiveram despacho favorável do presidente do TSE.

Na recusa do TSE em divulgar o contrato para fornecimento das novas urnas, e nas inconsistências do contrato anterior, temos problemas que esclarecem sua pergunta. A sociedade precisa conhecer os motivos da escolha dos softwares para o sistema. Os critérios precisam ser conhecidos e justificados. Como disse antes, um sistema operacional superdimensionado e opaco na urna inviabiliza tanto a validação do software pelo contratante, quanto a fiscalização pelos interessados nos efeitos do contrato. Certamente a justiça eleitoral não é a única interessada nesses efeitos. Quanto mais difícil de ser auditado o software, mais fácil a inserção furtiva nele de trechos de código que promovem a fraude, por agentes internos ao sistema. A fiscalização falha funciona neste caso como uma tentação, pois resulta em impunidade à tentação.

A escolha de software livre para a base do sistema, como por exemplo, para os sistemas operacionais tanto da urna como das redes de apuração, resolve vários problemas, do ponto de vista da segurança do eleitor, contra fraudes de origem interna. Permite o correto dimensionamento dos mesmos por quem for adaptá-los ao sistema e facilita a fiscalização, pois software que nasce livre precisa ser bem legível e bem documentado em seu código fonte, para que tenha chances de evoluir através da cooperação dos progromadores interessados. Precisa seduzir os cooperantes pela clareza e objetividade de seu código.

Os argumentos que vêm sendo usados em público para justificar as escolhas até aqui tomadas, não só em relação ao software mas também em relação aos procedimentos de fiscalização, são falaciosos, pois tratam o sistema eleitoral como um sistema cuja segurança coletiva seria medida pelo sigilo, quando, ao contrário, a sua natureza determina que esta medida seja pela transparência. O sigilo eleitoral deve se restringir apenas à identificação de autoria do voto. Resta conhecer a materialização dessas escolhas nos contratos de fornecimento, para que seu questionamento tenha chance de produzir efeitos benéficos.