http://www.cic.unb.br/~rezende/sd.php > urna-e : fiscalização

Sobre o "Inserator", programa encontrado no sistema de votação do TSE

Entrevista a Fernando Barros *

Prof. Pedro Antonio Dourado de Rezende
Departamento de Ciência da Computação
Universidade de Brasília
25 de setembro de 2014
 


Fernando Barros: 1. De que forma o Inserator pode manipular dados ou facilitar fraudes?

Pedro Rezende:   O Inserator tem por finalidade explícita a criação de scripts para inserção de pares de chaves criptográficas assimétricas em um banco de chaves nomeado. Das chaves de um tal par, a chave privada -- que faz par com uma chave pública correspondente -- deve necessariamente ser armazenada em sigilo. Porém, conforme descrito na Petição TSE Nº 23.891, comunicada pelo PDT aos presidentes do TSE e da OAB, o Inserator as "protege" de maneira inócua, tornando consideravelmente simples o acesso às mesmas, principalmente por parte de quem saiba qual o algoritmo criptográfico usado para essa "proteção". Isto compromete o uso desses pares de chaves para qualquer propósito que seja, como por exemplo a autenticação de programas oficiais no sistema de votação, que é a principal função declarada do subsitema onde o Inserator se esconde, o Subsistema de Instalação e Segurança (SIS).

Podemos dizer que o Inserator está escondido no SIS porque a citada Petição relata, na correspondente vulnerabilidade, que nenhum outro programa na base de código do sistema de votação o conhece pelo nome, e portanto, só pessoas que sabem que ele existe poderiam acioná-lo pelo teclado, em computadores onde o SIS estiver instalado. Tal acionamento pode manipular dados no sistema de votação em tres passos: digitando-se no teclado, para execução como comando, o nome do correspondente executável ("inserator") seguido do caminho para o arquivo contendo um par de chaves assimétricas a ser inserido, e depois, renomeando-se temporariamente o repositório que receberá essas chaves, e invocando-se o script gerado no primeiro passo, também pelo teclado.

Tal manipulação pode facilitar fraudes na medida em que a chave privada de um par assim inserido puder ser usada para assinar digitalmente qualquer programa, em qualquer ambiente antes ou depois duma tal inserção. Uma versão clandestina do programa original que registra votos na urna, alterado para desviar uma certa porcentagem de votos de um candidato a outro, por exemplo. Esse programa alterado poderia então ser validado pelo SIS, como programa oficial, se a chave pública correspondente estiver disponível no respectivo banco de chaves, como chave de verificação de assinaturas digitais oriundas do TSE. Nesta caso o SIS permitiria que as urnas eletrônicas sendo preparadas sob seu controle recebam, no lugar do original, essa versão clandestina do programa de votação -- que no dia da eleição desviará aquela porcentagem de votos em todas as urnas onde estiver instalado -- como se fosse um programa legítimo oriundo do TSE. E se a alteração for bem feita, após a preparação das urnas o banco de chaves onde se deu tal inserção poderia ser restaurado ao seu conteúdo original, e, após a gravação dos resultados da votação nas urnas, o programa de votação assim inserido poderia adicionalmente eliminar rastros de sua clandestinidade, apagando as diferenças que tinha com o programa original.

FB: 2. Como é que esta manipulação acontece?

PR: Para entendermos como ela pode acontecer, precisamos antes entender alguns detalhes e fatores do contexto.

O primeiro detalhe é a alegada função do SIS: o SIS precisaria fazer uso adequado de chaves assimétricas, na autenticação dos programas oficiais do sistema de votação, para implementar de forma eficaz sua declarada função, que seria a de manter no âmbito do TSE o controle do que pode e do que não pode ser instalado e executado nas urnas eletrônicas e nos computadores usados em eleições. Se a lógica desse controle estabelece que a origem desses programas oficiais será sempre o TSE, então o SIS deveria separar a autenticação desses programas em duas etapas, e implementar suas correspondentes tarefas em módulos ou subsistemas que operem de forma independente. Na primeira etapa, a tarefa de assinar digitalmente os programas oficiais, com módulo do SIS que use chave privada gerada exclusivamente para esse fim, o qual deve rodar apenas no TSE e em ocasiões específicas. Na segunda etapa, a tarefa de verificar essas assinaturas, com módulo do SIS que use apenas a chave pública correspondente, o qual deve rodar nos tribunais regionais (TREs), e entidades sob seu controle tais como cartórios eleitorais, sempre que necessário.

Tendo em vista que a transmissão desses programas deve ser unidirecional -- do TSE para os TREs apenas --, as chaves privada e pública de um tal par não precisam ser armazenadas no mesmo banco de chaves, no mesmo módulo ou subsistema. E mais: não deveriam, porquanto o uso indevido da chave de assinatura -- a privada --, em ocasião imprópria ou no destino dessa transmissão, poderia subverter o propósito dessa forma de autenticação -- por assinatura digital -- dos programas oficiais. A descoberta do Inserator pela fiscalização do PDT lança inicialmente a dúvida se tal uso impróprio é factível ou não.

O segundo detalhe é um fator complicador na arquitetura desse sistema, que aqui borra a distinção entre má prática em segurança computacional e má fé. Ou, mais geralmente, um fator comum na arquitetura de sistemas de votação de primeira geração: tal arquitetura prevê a instalação de chaves privadas em ambientes de preparação para a votação. Neste caso, nos TREs, que são apenas destino da transmissão dos programas oficiais. Essa arquitetura prevê, por exemplo, a instalação de chave privada no software destinado à urna, para o programa que lá gravará os resultados da votação, já que esse programa precisará de uma tal chave quando for assinar digitalmente os arquivos de dados a serem transmitidos para totalização, onde essas assinaturas devem ser verificadas. Ou, nos TREs, para os programas que instalam as listas de candidatos nesse software, cuja verificação deve ocorrer quando tal software estiver para ser instalado em urnas, nos cartórios eleitorais designados.

Tendo em vista que essa arquitetura não inclui uma adequada gerência de chaves para a autenticação dos dados da votação, essas chaves poderiam vir embutidas no código dos respectivos programas, exatamente como vem no Inserator a chave simétrica que em tese protegeria as chaves privadas que o mesmo programa é capaz de importar, junto com as correspondentes chaves públicas, para tornar o par inserível em bancos de chaves no ambiente de execução do SIS. Então, para que incluir o Inserator?

O terceiro detalhe: inobstante o segundo, há vários aspectos do desenho do Inserator que o fazem parecer assaz estranho aos olhos de um especialista independente. Particularmente, no malabarismo engendrado para inserir tais pares de chaves. Se os pares inseríveis fossem destinados apenas à assinatura e verificação de arquivos de dados da votação -- o que poderia justificar a inclusão do Inserator no SIS, ainda que escondido --, e nunca para assinatura e verificação de programas do sistema -- o que o caraterizaria tecnicamente como possível backdoor --, pelo padrão dessa arquitetura a chave privada necessária poderia, como já dito, vir embutida no programa que assinará arquivos de dados, com a correspondente chave pública no programa que verificará tais assinaturas. Cada qual em seu próprio subsistema, sem necessidade desse par de chaves ser importado de um arquivo na fase de preparação. 

Embutir, ao invés, uma chave simétrica em programa capaz de importar tal par de chaves, num ambiente de alto risco (conforme o item II da refeida Petição), e tornar esse par inserível via script num mesmo banco de chaves, com a chave privada inocuamente cifrada pela chave simétrica embutida, nada agrega em termos de proteção à autenticação dos dados da votação. Nem tampouco à preparação para tal autenticação, pois as chaves desse par teriam ainda que ser reinstaladas em distintos subsistemas, para que seu uso seja adequado. Ao contrário, o malabarismo implantado tem efeito apenas de ofuscar, seja para o TSE, seja para especiaistas que analisam esse desenho, quem teria possibilidade de manipular um tal par de chaves em ambientes de preparação, como nos TREs e cartórios, e para qual propósito.

Doutro lado, analisando a hipótese de o real motivo para o Inserator estar no SIS ser a sua utilidade como backdoor, temos a reforçá-la pelo menos tres fatores que a referida Petição revelam. O primeiro fator é a plausível negabilidade dessa hipótese. Ou mesmo, dessa possível utilidade como uma grave vulnerabilidade do sistema. Essa negabilidade tem sido articulada em respostas evasivas ou contraditórias, sustentada no detalhe de que o Inserator está num subsistema que vem sendo desenvolvido e mantido por uma empresa privada. Quando questionado sobre esse motivo, a resposta do TSE foi -- de onde quer que tenha vindo, mas basicamente assim traduzida para leigos -- a de que o Inserator não é mais usado; de que era usado só até 2004, devido à rebimboca, mas que continua lá porque ainda é usado, por causa da parafuseta (que diabos são esses "leitores binários"? Algo a ver com "bússolas a vapor"?)

O segundo fator é o contorcionismo de sua lógica. Explicável apenas pela única utilidade de seu único efeito reconhecível, o de ofuscação, útil no caso para despistar o alcance de sua funcionalidade. Por que esse programa não insere chaves diretamente, em destino indicado por parâmetro do respectivo comando, tal como é indicada a origem das chaves que é capaz de inserir? Por que a complicação de se gerar um outro executável, com o nome de destino fixo, o qual é desconhecido dos demais programas do sistema? Sem respostas dedutíveis de um conhecimento mais profundo do SIS e suas interfaces com outros subsistemas, fica ofuscado, tanto para especiaistas externos que analisam a lógica do Inserator, quanto para os do TSE que não desenvolvem o SIS, se pares de chaves inseríveis podem ou não ser manipulados para assinatura e verificação de programas.

E por último o terceiro fator, que é a opção de máximo potencial de facilitação à fraude eleitoral apontada por possíveis manipulações com o Inserator. Se o real motivo para ele ter entrado e se mantido no SIS for a assinatura e verificação de programas do sistema, então ele poderia ter sido ou estar sendo usado tanto de forma legítima, em ocasiões apropriadas no TSE -- ainda que de forma inadequada como explicado no primeiro detalhe --, para assinatura e verificação de programas oficiais com as respectivas chaves oficiais, quanto de forma ilegítima, em ocasiões impóprias no TSE ou nos TREs, para facilitar a fraude eleitoral conforme descrito na resposta 1. Porém, no primeiro caso a facilitação à fraude eleitoral também ocorre, não por inserção de um par clandestino de chaves de assinatura e verificação de programas "oficiais", como seria no segundo caso, mas por facilitação ao vazamento da chave privada oficial, para quem alcance entender as respostas, os detalhes e fatores aqui descritos.

Assim, sejam os pares de chaves fraudulentamente manipuláveis pelo Inserator apenas para o tipo de assinatura e verificação em arquivos de dados da votação, sejam eles também manipuláveis para o tipo de assinatura e verificação em programas do sistema, é na opção pelo segundo tipo que ocorre o máximo alcance para facilitação à fraude eleitoral, através de uma única manipulação: efetiva em todo o país, se executada à sorrelfa no TSE após a cerimônia de lacração, ou em todo um estado da federação, se praticada no ambiente de preparação num TRE; enquanto uma manipulação do primeiro tipo via de regra alcançaria apenas uma zona eleitoral, do correspondente ambiente de carga de urnas.

Para quem acha que as tabelas de hash permitiram aos fiscais interessados detectar as manipulações do primeiro tipo, basta lembrar, para perceber que não, que a verificação das assinatura digitais só é permitida no próprio ambiente que está sendo verificado, o que indica, para quem queira modificar programas destinados a passarem-se por oficiais com assinaturas fraudulentas, que dentre os programas a serem alterados deve ser então incluído o que mostra os valores de hash oriundos da verificação das assinaturas: para que este passe a mostrar o valor de hash original dos programas que sofreram alteração fraudulenta, no lugar do valor resultante da verficação fraudulenta que passou-se por oficial.

E para quem acha que esses fatores são insuficientes para classificar a existência do Inserator como grave vulnerabilidade do sistema, explorável para facilitar fraudes eleitorais, há o caso concreto do processo de impuganção da eleição municipal de Londrina em 2012, em que um programa considerado clandestino pelo software de instalação foi aceito como oficial na verificação de sua assinatura digital, e foi integrado ao sistema de votação. Situação absolutamente compatível com a tese da utilidade do Inserator como backdoor, e até agora explicável apenas por ela, conforme explica a signatária da referida Petição, em sua apresentação num debate na Universidade Federal da Bahia ocorrido em 15/09/2014.

 
FB: 3. Funções de data e relógio podem ser alteradas facilmente na urna eletrônica?

PR:  As configurações de data e hora do relógio interno da una podem ser alteradas por um programa da própria urna que já esteja preparada e lacrada, isto é, pronta para votação. Para esse programa rodar, entretanto, ele precisa de alguns dados externos que são instalados, durante a etapa de preparação, em mídia própria (pen drives), chamada mídia de ajuste de data e hora, ou abreviadamente ADH. Quando um tal pen drive ADH é colocado numa urna já pronta, e esta urna é ligada, essas funções podem ser alteradas facilmente, antes do verdadeira data programada para a votação.

Assim é possível fazer a urna entrar em modo de votação bem antes da hora certa, propiciando o tipo de fraude chamado de "urna clonada", que, simplificadamente, faz uma votação antes da hora, grava e guarda os resultados, recarrega a urna para ser enviada para a seção eleitoral correspondente com a data e horário corretos, e depois troca os resultados antes da transmissão. Como esse risco é real, o TSE toma alguns cuidados para a geração dessa mídia ADH, tais como só poder ser gravada mediante senha, por programa próprio do TSE, o qual só pode ser rodado por agentes autorizados em cerimônia pública, conforme norma administrativa, e ter prazo de validade, tanto para o inicio quando para o final de sua utilidade.

A vulnerabilidade encontrada este ano no código do programa gerador de midia ADH, relatada na referida Petição, é que a senha que protegeria essa programa contra uso indevido sofre exatamente da mesma falha de segurança encontrada pelo professor Diego Aranha nos testes de segurança da urna de 2012, que o permitiu reverter o embaralhamento dos votos no arquivo ṕúblico de resultados chamado RDV, e assim quebrar a única proteção ao sigilo do voto implementada na arquitetura desse sistema: o gerador de senhas aleatórias faz uso da chamada srand(time(null)), de "baixa entropia", o que significa quantidade perigosamente pequena, e portanto previsível para quem souber disso, de possibilidades. O que permite quebrar a eficácia do controle, imposto por norma administrativa, de quem pode rodar esse gerador de midia ADH, em quais situações.


FB: 4. Em análises anteriores da Urna Eletrônica Brasileira, o embaralhamento de códigos não era robusto. Qual foi a situação encontrada pelo Gabriel?

PR: Caso esteja se referindo ao embaralhamento dos votos no arquivo público que registra resultados da votação, denominado RDV, a situação previamente encontrada foi mitigada, sendo agora empregada uma metodologia considerada tecnicamente mais robusta. Entretanto, a mesma falha anterior -- uso de chamada srand(time(null)) -- foi agora encontrada no código que deveria proteger a geração de mídias ADH, conforme explicado na resposta anterior.


FB: 5. Como é a situação atual do embaralhamento das assinaturas RDV? A situação detectada pelo professor Diego foi consertada pelos programadores do TSE? Há hipótese do sequenciamento ser repetido?

PR: Supondo que a pergunta se refere ao embaralhamento dos registros de votos no RDV, a análise deste ano encontrou alteração no código que o produz. A situação anterior, com uma chamada srand(time(null)), que permitia a reversão externa desse embaralhamento, foi trocada por uma chamada ao gerador /dev/urandom, com alternativa de chamada a um gerador de implementação própria, para caso de falha ou inexistência na urna do gerador /dev/urandom. O risco de se utilizar chamada pura ao /dev/urandom é que um teste cuidadoso poderia mostrar que a sequência de embaralhamento é a mesma em todas as urnas, caso a fonte de entropia usada por essa chamada, que dará origem à aleatoriedade da resposta, não tenha sido preenchida completamente até a amostragem, ou seja, durante o acionamento desse gerador, já que o perfil de execuções de programas na urna não apresenta grande variabilidade.

FB: 6.Que tipo de fraude pode ser facilitada pela vulnerabilidade no driver das partições Linux das Urnas Eletrônicas? 

PR: As possíveis consequências desta vulnerabilidade, relatada no item 2 da referida Petição, foram inicialmente mencionadas pelo prof. Diego Aranha, em palestras sobre as vulnerabilidades que sua equipe encontrou durante os testes de segurança da urna eletrônica realizados no TSE em 2012. Segundo o professor Aranha, nenhum ataque foi montado durante aqueles testes por simples falta de tempo. A permanência dessa vulnerabilidade no software de 2014, segundo ele, indica completo descaso dos responsáveis em corrigir vulnerabilidades conhecidas, pois o fato está documentado desde 2012, tando no relatório estendido quanto em entrevistas publicadas depois de encerrados os testes, uma delas respondida em caráter oficial pelo próprio TSE.
 
Resume-se no seguinte: depois da demonstração pública de como é possivel atacar urnas do mesmo modelo -- de primeira geração --, feita por pesquisadores da Universidade de Princeton em urnas fabricadas pelo mesmo fornecedor do TSE (Diebold), usando-se pendrive de boot preparado para adulterar a BIOS e os programas carregados nas urnas, e depois de solicitação do PDT, em 2006, para que fosse permitido o mesmo tipo de teste de penetração, que ficou conhecido como "ataque de Princeton", em urnas do TSE, o tribunal firmou um contrato milionário com a Fundação Renato Archer, para estudo e proposta de defesa contra ataques ao sistema, inclusive o "de Princeton". A solução proposta, e implementada apenas parcialmente, foi a de se incluir um chip de criptografia na especificação da placa-mãe da urna, como requisito em novas licitações para compra de urnas, e de se usar esse recurso para criptografar (cifrar e decifrar) o setor de boot das mídias oficiais de inicialização externa dessas urnas, de forma que mídias formatadas por "formatadores de mercado" não conseguissem inicializá-las.

Essa vulnerabilidade, que era conhecida desde 2012 e que permanece no sistema conforme o relato da vulnerabilidade 2 na referida Petição, permite o ataque de Princeton contra urnas do TSE de forma simples: basta o acesso a uma mídia oficial de inicialização externa, como por exemplo qualquer mídia do tipo Flash-de-Carga, para se ler dela a chave criptográfica que pretende proteger o setor de boot de mídias capazes de inicializar externamente essas urnas. Essa chave se encontra às claras no referido driver, implementado como a segunda parte da solução proposta pela Fundação Renato Archer, tal como a encontrou o professor Aranha em 2012. Com essa chave é possivel então se montar mídias de inicialização externa clandestinas, capazes de inicializar qualquer urna do TSE, e nelas reproduzir o ataque de Princeton.

Ou seja, a segunda parte da solução proposta pela Fundação Renato Archer, que justificaria a primeira parte, não foi adequadamente implementada, talvez a pretexto de nem todas as urnas do TSE em uso terem chip critográfico na placa mãe. Em consequência, a medida de proteção erguida para defender essas urnas do Ataque de Princeton coloca apenas um obstáculo adicional, mas facilmente ultrapassável, que não impede o ataque na prática. O que mostra que o dinheiro gasto com aquele contrato, cuja proposta justificou o gasto adicional com a compra de 400 mil novas urnas, foi ou mal empregado ou até aqui inútil, mesmo dois anos depois de exposto esse descaso.


FB: 7.Que tipo de fraude pode ser facilitada pela vulnerabilidade na Classe MIniCA.cpp? 

7) A classe MiniCA.cpp tem por única finalidade fornecer uma chave simétrica fixa, a qual, embora ofuscada, se encontra completamente determinada e estabelecida no próprio código-fonte. Dessa forma, qualquer um que tenha acesso ao código, como os programadores que trabalham no desenvolvimento do SIS e os próprios fiscais de partido, tem conhecimento de como obter essa chave. Essa chave é precisamente aquela usada pelo programa Inserator para "proteger" chaves privadas, e é exatamente por tal facilidade na sua obtenção que o Inserator provê uma proteção demasiado frágil e completamente inócua às chaves privadas que insere para assinaturas. Inclusive em qualquer uso desse programa que possa ser justificado como legítimo, conforme explicado no final da resposta 2.


FB: 8. No Maranhão, a gestão das urnas eletrônicas nos 217 municípios do Estado ficará a cargo de uma empresa cujo dono tem ligações com a família Sarney. Claro, que isso não quer dizer nada. Mas, concretamente, existe a oportunidade de manipular resultados?
 
PR: Existem oportunidades que foram bem descritas e explicadas, em linguagem acessível a leigos e inclusive citando caso concreto, na apresentação da própria signatária da referida Petição, em debate realizado na Universidade Federal da Bahia, em 15/09/2014, cujo vídeo está disponível no Youtube.


FB: 9. Quais são os momentos críticos para manipulação de resultados?

PR: Em sistemas informatizados de votação como o do TSE, classificados como de primeira geração, caracterizada por não permitirem recontagem de votos, e portanto também caracterizada pela integridade do resultado depender completamente da honestidade dos programas utilizados nas urnas e nas demais etapas do processo de votação, qualquer momento em que um tal programa é transmitido, configurado, encapsulado em software, instalado ou inicializado, é momento potencialmente crítico para manipulação dos resultados. Isso deve ter ficado claro no esforço interpretativo que precisei desenvolver para responder às duas primeiras perguntas.

Não deve ser à toa, portanto, que todos os países onde em algum momento se adotou ou se usou sistemas de votação de primeira geração para eleições oficiais, eventualmente os abandonaram, a maioria em favor de sistemas de segunda ou terceira geração. Exceto até aqui o Brasil, onde, talvez não por acaso, talvez mais se gaste com propaganda institucional destinada a "vender" a adoção do sistema em uso. Enquanto a história dessa evolução tecnológica segue sem valor jornalístico para a mídia corporativa, que segue ganhando dinheiro com essa propaganda, conforme ressalto em recente entrevista ao portal UOL sobre o tema.


FB: 10. Além de 17 milhões de linhas-código, o que mais o Gabriel achou esquisito durante as análises?
   
PR:  Para que pudesse ter acesso ao código fonte do sistema de votação, e analisá-lo em nome do PDT, o Gabriel precisou assinar um termo de confidencialidade, que eu particularmente considero abusivo e de efeito puramente intimidatório, onde o signatário se compromete a comunicar ao TSE sobre a quem informaria a respeito do que achou durante suas análises. Ele então comunicou ao TSE que informaria aos representantes do PDT que o contrataram para esse fim, e essa comunicação foi tacitamente aceita na forma pela qual o TSE depois respondeu às indagações formais que ele havia antes dirigido aos desenvolvedores do código fonte. Seria compreensível, portanto, se o Gabriel se omitir de comentar publicamente além dos temas já cobertos pela referida Petição, ausente uma autorização expressa ou intermediação de quem o contratou pelo PDT.

De minha parte, não entendo o volume de 17 milhões de linhas de código-fonte como algo em si esquisito. O conjunto de código usado pelo sistema de votação do TSE é consideravelmente complexo. Considerando-se ainda que esse sistema agrega códigos de outros componentes "de prateleira", como por exemplo do próprio kernel Linux, adaptado para controlar a plataforma computacional da urna eletrônica, o somatório final apresenta um volume talvez justificável. Entretanto, o que se poderia considerar esquisito, no que se refere ao processo de votação como um todo, é o fato de haver tantas restrições para acesso e auditoria do código-fonte que compõe esse sistema de votação. Em se tratando de 17 milhões de linhas de código, o prazo de seis meses para análise é um tanto proibitivo, ou seja, incapacitante da possível eficácia fiscalizatória externa de uma tal análise. Ademais, o código sofre modificações até o momento de sua compilação, a qual apenas ocorre nos dias finais do prazo para análise externa. Mas o que é pior: essa compilação é feita numa base de código que não é necessariamente a mesma que fica diponível para análise externa.

Essa conjugação de restrições e contrassensos torna o processo de análise externa de código fonte definitavamente inócuo como método fiscalizatório, tornando-o mera espécie de teatro circense. Útil apenas ao efeito psicológico que pode produzir em palcos da propaganda oficial, destinada a "vender" a adoção desse sistema de primeira geração, haja vista o que acontece quando a quase totalidade das instituições que tem direito a participar desse circo nem se dão ao trabalho, como neste ano. Os comentários do presitente do TSE a respeito, divulgados pela Agência Brasileira de Notícias e pela mídia corportativa, falam por si, como destaco em artigo publicado no Observatório da Imprensa.


FB: 11. Na propaganda que martela há dias pela TV e Rádio, o TSE afirma que os computadores que geram mídias para as eleições não estão conectados à Internet. Isso confere com o que o Gabriel constatou?? 
 
PR: No meu entender, o que essa propaganda diz é que as urnas eletrônicas funcionam sem conexão com a internet, o que literalmente é verdade, visto que as urnas do TSE não apresentam interfaces aparentes dedicadas a conexões em rede. No entanto, o que não é mencionado na propaganda é que os próprios computadores que geram as mídias que serão carregadas nessas urnas, podem, sim, conforme relata o item II da referida Petição, estar conectados à internet, sem qualquer tipo de alerta ou verificação a respeito por parte do subsistema terceirizado de segurança que deveria controlar essa etapa de preparação. Subsistema que por sinal é onde se esconde o famigerado Inserator.


FB: 12. Que tipo de manipulação pode ocorrer com a falta de bloqueio da conexão e com a inexistência de avisos ou alarmes nas máquinas citadas na pergunta “11”? 

PR: Pode ocorrer o tipo de manipulação descrita na resposta 1 de uma forma ainda mais sorrateira. De uma forma tal que quem estiver no local, tentando "fiscalizar" em tempo real a etapa preparatória conhecida como geração de mídias, sequer conseguirá perceber, indiretamente pelos atos de quem comanda a geração de mídias, de onde estariam vindo os programas que se passam por oficiais na verificação de assinaturas dgitais controlada pelo SIS.
.

FB: 13. Diante do que foi analisado dá para dizer que as urnas são seguras como afirma a propaganda do TSE?

PR: Há um sentido lógico, correto e verdeiro, na afirmação de que as urnas do TSE são totalmente seguras, como afirma sua propaganda institucional. Há também um outro sentido, também lógico, numa afirmação muito parecida mas de conclusão oposta, de que o sistema de votação do TSE é totalmente inseguro, igualmente correto e verdadeiro. Afirmações parecidas, mas cujos sujeitos são muitas vezes confundidos como sinônimos, o que estão longe de ser. Em recente palestra em Brasíia, levei quase duas horas tentando explicar como, por que, e por que é difícil entender as trágicas consequências de tamanha confusão. Já a signatária da referida Petição, a advogada Maria Aparecida Cortiz, talvez tenha conseguido isso nos primeiros quinze minutos de sua apresentação no citado debate ocorrido na Universidade Federal da Bahia.


FB: 14. A emissão de recibos de conferência pelo eleitor (que foram barrados pelo TSE) mitigariam as vulnerabilidades?
 
PR: Em que sentidos eles poderiam mitigar, e em que sentido não, procuro esclarecer ao longo da citada palestra. E qual será o caso, depende essencialmente da atitude de uma massa crítica do eleitorado, em relação à importância do cumprimento da sua função de fiscalização externa. E sobre como tem sido essa atitude, o cenário atual é desalentador. Para a próxima eleição, de outubro de 2014, a primeira em que a existência do Inserator no sistema, com seu potencial de facilitar fraudes praticáveis pela troca de programas durante a preparação das urnas, é de conhecimento público, colhemos uma amostra de quão longe estamos da eficácia dessa função.

Durante a fase de preparação da votação, um dos membros do CMInd, atuando como fiscal de um Partido na cerimônia de carga das urnas no município de Ribamar MA, relata que encontrou 12 arquivos "sobrantes" na pasta uenux/app/chaves. São arquivos que estão nas urnas mas não estão na lista dos que teriam sido digitalmente assinados no TSE. Mais precisamente, não então entre os arquivos cujos hashes de assinatura foram divulgados na cerimônia de compilação e lacração de programas em 4 de Setembro no TSE. Quando consultados a respeito desses arquivos "sobrantes", os responsáveis pela carga das urnas naquela cerimônia alegaram que eram arquivos de Chaves de Assinatura, que "tem uma tabela à parte". Como esses arquivos são justamente os que podem ser manipulados pelo Inserator, os que podem ser enxertados com chaves de assinatura e verificação clandestinas, que por sua vez permitem a programas modificados se passarem por oficiais na verificação "automática" de integridade, a pergunta óbvia é porque a tabela de hash que permite verificação de integridade desses arquivos de Chaves de Assinatura é "à parte", e é sonegada a fiscais de Partido que as solicitam durante a cerimônia de compilação e lacração no TSE.

Outro problema encontrado foi com o lacre físico das Mídia de Resultado, isto é, do lacre colocado sobre o pendrive instalado na urna para gravação dos dados da votação e posterior transporte para a fase de totalização. Quando esse lacre físico foi retirado na urna escolhida para o teste de votação simulada, ele saiu intacto, sem deixar nenhum vestígio de ter sido removido. Constatou-se nessa cerimônica que é possível colar e descolar diversas vezes o mesmo lacre sem deixar nenhum sinal de ter sido retirado, ao contrário, por exemplo, de uma simples etiqueta de preço em produtos expostos em supermecados. Esse fiscal não conseguiu impugnar a carga dessas urnas, apenas que constassem esses fatos na ata daquela cerimônia de carga das urnas. A julgar por casos anteriores semelhantes (de irrgularidas encontradas durante a fase de preparação para a votação), tal relato em ata não vai dar em absolutamente nada. Sendo apenas umas poucas pessoas que se preocupam com o tema dessa entrevista, o custo político para a autoridade eleitoral se fazer de desentendida tem sido perfeitamente aceitável.

------------------------------
Continuação em 26/09/2014


FB: 15. Li no "Globo" que um juiz do TSE não acatou as argumentações sobre as vulnerabilidades apontadas na citada Petição. Foi isso mesmo?
 
PR: Melhor seria que a própria autora da Petição, advogada credenciada pelo PDT junto ao TSE, responda. Por email ela esclarece o que lhe causou espécie na decisão citada na matéria do "Globo". 
"Verificando a incapacidade processual ou a irregularidade da representação das partes, o juiz, suspendendo o processo, marcará prazo razoável para ser sanado o defeito. Não sendo cumprido o despacho dentro do prazo, se a providência couber:
I - ao autor, o juiz decretará a nulidade do processo;
II - ao réu, reputar-se-á revel;
III - ao terceiro, será excluído do processo.
"
"No prazo de 5 dias, a contar do encerramento da cerimônia, os partidos políticos, as coligações, a Ordem dos Advogados do Brasil e o Ministério Público poderão impugnar os programas apresentados, em petição fundamentada (Lei n° 9.504197, art. 66, § 30).
Parágrafo único. A impugnação será autuada na classe Petição (Pet) e distribuída a relator que, após ouvir a Secretaria de Tecnologia da Informação, o Ministério Público Eleitoral e determinar as diligências que entender necessárias, a apresentará para julgamento pelo Plenário do Tribunal, em sessão administrativa."

Teríamos que ter portanto um relator designado e um julgamento em plenário, mas, ao invés disso, um "juiz auxiliar" -- figura nao especificada na classe judiciária de membros do TSE -- proferiu um julgamento monocratico e indeferitório que extinguiu o processo, permitindo assim à Justiça Eleitoral omitir-se de enfrentar os problemas indicados na representação, encontrados no código-fonte do sistema e analisados em mais detalhes nesta entrevista.
 
A conduta da Justiça Eleitoral neste caso foi semelhante à que é comum aos reus em ações judiciais, especialmente aos renitentes, quando tentam evitar de toda forma ao seu alcance os efeitos de um julgamento equilbrado. Ou seja, ela se conduziu como quem se vê ao mesmo tempo como réu e juiz do processo, algo que os mais elementares princípios do Direito tentam bloquear na prestação jurisdicional. Seria mais correto dizer, então, que o TSE se omitiu, com artifícios jurídicos ad-hoc, de publicamente acatar ou refutar as argumentações técnicas apontadas na citada petição.

De minha parte, que devo analisar o episódio sob o prisma de um especialista em segurança computacional independente, a conclusão a que posso chegar é de que os artefatos encontrados durante a análise de código do sistema, relatados na Petição TSE Nº 23.891 como vulnerabilidades exploráveis para fraudes, estão lá de propósito.
 
FB: 16. Esta decisão é incontestável?
 
PR: Não entendo qual poderia ser o propósito em contestá-la. Para assistirmos a mais uma demostração de como pode ser nefasta a concentração de poderes na Justisça Eleitoral do Brasil? Seria só mais uma afronta a quem leva o conceito de democracia ao pé da letra e assim a deseja. A estapafúrdia decisão do STF em 6 novembro de 2013 que anulou o Art. 5 da Lei 12.034 de 2009, a qual está sendo objeto de estudo pelo corpo acadêmico-jurídico do CMind, mostra que até na última instância do poder judiciário brasileiro tal concentração servirá antes a seus próprios interesses. E não está previsto, em nenhuma das propostas de reforma política atualmente em discussão no Congresso Nacional, qualquer iniciativa para desconcentrar esses poderes. Então, entendo que uma tal contestação na esfera jurídica -- como entendi sua pergunta -- seria um desperdício; embora talvez não na esfera política.





Apêndice de Comentários

A publicação do vídeo da apresentação da advogada Maria Aparecida Cortiz no debate da UFBA gerou comentários que merecem resposta, acrescentada como apêndice à publicação desta entrevista, tendo em vista que esta é a mais completa análise já publicada sobre as vulnerabilidades denunciadas naquele vídeo.

- Sobre a ICP-Brasil

Ao tentar descaraterizar a possiblidade de uso do inserator como porta de fundo no SIS, um comentarista alegou que o uso de certificados digitais da ICP-Brasil a partir de 2004  "faz toda a diferença". que um ataque usando esse meio teria que incluir a emissão de um certificado falso por uma certificadora credenciada à ICP-BR.

Sobre a ICP-BR: "faz toda a diferença" para quem ganha dinheiro ou mais poder com esse golpe branco de Estado (posição de quem primeiro representou oficialmente a sociedade civil no Comitê Gestor da ICP-BR). Lembremos que a ICP-BR utiliza o formato X-509 e padrões PKCS. Portanto, sem pinagem de certificados a verificação pode ser fraudada mediante a aceitação/inserção de uma cadeia completa de certificados -- incluindo raiz -- no repositório utlizado pelo verificador (o que inclui cadeias de comprimento um), antes da verificação. Isso independe de como o par de chaves foi gerado, e de como a chave privada correspondente é armazenada e/ou gerenciada. Independe tanto em relação a um par clandestinamente inserido com titulação forjada, ou de pares legítimos cujo certificado já esteja presente nesse repositório. Isso o Inserator permite (por exemplo, se o arquivo acessado para geração do seu script de saída estiver em formato PKCS 12), como admitido pela STI do TSE ao tentar justificar por que o inserator permanece na base de código do SIS, de 2004 até hoje. Faltou à STI explicar que "outros projetos" são esses, os quais demandaram a permanência do inserator na base de código do SIS nos últimos dez anos.

O comentarista está na verdade confundido duas coisas: vulnerabilidade, com prova de que a vulnerabilidade é explorável ou de como o é. A denúncia no vídeo é de ocorrencia de vulnerabilidade, mediante prova de sua possível exploração (em Londrina 2012) a título de indício da sua gravidade, e não prova de que essa vulnerabildiade seja assim explorável. Sua confusão parece proposital, a partir do momento em que passa a esgrimir argumentos de autoridade. Isso revela a sua agenda nessa seção de comentários. Sobre possiveis agendas nesse cenário, por favor leiam a análise pós-eleição publicada no Observatório da Imprensa. Sobre ficar pedindo para "abrir código", como saída para o impasse a que finalmente chegamos, entenda porque NESTE CASO é completa tolice, na seção "fraude irrastreável" da análise preliminar publicada no mesmo observatório.

Sobre a caso de Londrina 2012

Ao tentar descaraterizar o referido caso como possível ataque característico do que o inserator permite, se for usado como porta de fundo no SIS, uma comentarista afirmou que tal caracterização revela "indícios de desconhecimento ou má fé". Pois o HotSwapFlash "não tem nada a ver com mídias de resultado" (estas são pen drives e o HSF é usado para identificar flash card), que a versão exigida (do FSH) para geração de mídias é instalada junto com o GEDAI-UE, e que "com certeza" a instalação do GEDAI-UE oficial teria atualizado o HSF "sem intervenção do operador da máquina". E que não citar o teste de votação paralela era outro indício de ignorância ou má fe.

Sobre o HotSwapFlash: não tem nada a ver com midia de resultados diretamente, mas como programa que quando instalado é carragado no boot e fica intermediando acessos ao barramento de hardware para dispositivos removiveis (HAL events, i.e., eventos no Hardware Abstraction Layer do kernel Linux), o HotSwapFlash tem perfil ideal para alvo de payload trapaceiro que intercepte acessos a arquivos com planilhas de votos eventualmente destinados à mídia de resultados. Quanto ao restante, com certeza esse tipo de lorota -- de que o sistema é autocorrigível -- não cola mais.

Sobre a votação paralela: para saber onde está MESMO a má fé nessa palhaçada obscurantista (i.e., "teste" que explora desconhecimento alheio por ofuscação proposital), basta ler a seção "fora de escopo" no artigo assinado pelo editor deste vídeo em análise preliminar, publicada em resposta ao corregedor eleitoral do TRE-RJ que o citou, seguindo todos os links até o fim.




Pedro Antonio Dourado de Rezende


Professor concursado no Departamento de Ciência da Com­putação da Universidade de Brasília, Bra­sil. Advanced to Candidacy a PhD pela Universidade da Cali­fornia em Berkeley, onde teve sua pretensa tese de doutorado recusada em 1983. Membro do Conselho do Ins­tituto Brasileiro de Política e Direito de In­formática, ex-membro do Conselho da Fundação Softwa­re Li­vre América Latina, e do Comitê Gestor da Infraestrutura de Chaves Públicas Brasileira (ICP-BR), en­tre junho de 2003 e fevereiro de 2006, como representante da Sociedade Civil. http://www.­cic.unb.br/~rezende/sd.php


Nota sobre Direitos de Autoria


Pedro A D Rezende, 2014:
Consoante anuência do entrevistador, esta entrevista é publicada pelo entrevistado sob a licença disponível em http://creativecommons.org/licenses/by-nc/2.5/br/


Nota Adicional, 21-10-2014


-------- Message --------

Assunto: "Sobre o "Inserator", programa encontrado no sistema de votação do TSE"
Data: Mon, 20 Oct 2014 23:30:53 +0000
Para: prezende@unb.br


Sou diretora de redação da revista INFO Exame e não publicamos essa entrevista do professor Rezende, porque não conseguimos autorização para testar uma urna eletrônica, como era a intenção da pauta.
Como esse texto não foi publicado, vários leitores estão nos questionando sobre essa entrevista.
Vocês poderiam, por favor, retirar o nome da revista INFO Exame desse post?
O jornalista Fernando Barros não faz parte da equipe da revista. Ele é um colaborador eventual.
Vocês poderiam colocar apenas entrevista concedida ao jornalista Fernando Barros.
Muito obrigada.
Katia Militello