quarta-feira, 18 de novembro de 2020

Nota técnica sobre o atraso da totalização dos votos em 15/11



No último domingo (15/11), como é de conhecimento público, o Tribunal Superior Eleitoral (TSE) enfrentou lentidão superior à esperada na totalização dos votos, o que provocou atraso de aproximadamente duas horas e trinta minutos na divulgação dos resultados do primeiro turno das Eleições 2020. Ressalte-se que, apesar disso, os cidadãos brasileiros tiverem acesso ao resultado das urnas em todo o país no mesmo dia da realização da votação, antes da meia-noite. 

Embora as causas da lentidão já tenham sido amplamente divulgadas em coletiva de imprensa ocorrida na última segunda-feira (16/11), a presente nota visa dar informações técnicas e jurídicas a respeito do episódio. 

1) CENTRALIZAÇÃO DA TOTALIZAÇÃO 

Em 2020, pela primeira vez, o TSE centralizou a totalização (soma) dos votos de todo o país em um supercomputador, fornecido pela empresa de tecnologia Oracle, que oferece sistemas de gerenciadores de banco de dados. Nas eleições anteriores, cada Tribunal Regional Eleitoral totalizava os votos de seu estado e encaminhava ao TSE, que era responsável por totalizar e divulgar no caso das eleições presidenciais e apenas divulgar os resultados nos demais casos. 

O sistema foi alterado de acordo com recomendação de peritos da Polícia Federal – instituição que participa frequentemente dos Testes Públicos de Segurança (TPS). Nesses testes, o TSE abre para a comunidade acadêmica, científica e entidades os sistemas do processo eleitoral para avaliação, sugestão e busca de eventuais fragilidades, com o objetivo de possibilitar a implementação de melhorias e o reforço continuado da segurança. 

Ressalte-se que esse procedimento de contínuo aprimoramento de ferramentas tecnológicas é absolutamente normal e desejável e ocorre justamente para evitar a identificação de vulnerabilidades nos processos de votação, antecipando-se a solução de potenciais problemas. Não houve, assim, nenhum evento concreto de vulnerabilidade na totalização de resultados pelos Tribunais Regionais Eleitorais (TREs) que tenha levado à alteração do sistema. 

Após o TPS de 2017-2018, que começou em 2017 e foi concluído meses antes da eleição de 2018, a Polícia Federal entregou, em outubro de 2018, um relatório elaborado por três peritos com análise dos códigos-fonte dos sistemas eleitorais nas Eleições 2018. O documento identifica que cada um dos 27 TREs realizava a totalização dos votos registrados a partir de um servidor instalado fisicamente em cada TRE, mas cuja administração e manutenção estava a cargo do TSE. 

O documento aponta que “mudar a arquitetura de servidores para estarem fisicamente localizados no próprio TSE melhora[ria] consideravelmente a segurança operacional deste sistema” e reduziria ponto de vulnerabilidade que poderia ser especialmente explorado em “um ambiente com base de dados distribuída em cada TRE”. 

Por fim, conclui que “[n]a arquitetura descentralizada, o fato de existir um banco de dados e um servidor de aplicações local em um computador em cada TRE aumenta o leque de potenciais ataques ao ambiente, que podem ser mitigados com a localização física destas máquinas no ambiente do TSE.” A partir deste relatório, o TSE analisou as implicações da proposta e decidiu atender a recomendação dos peritos da Polícia Federal, de modo a implantar a centralização da totalização dos resultados a partir das Eleições 2020. 

2) CONTRATAÇÃO DA ORACLE 

O TSE e os 27 TREs utilizam o sistema de banco de dados Oracle há mais de uma década e os serviços da Oracle foram contratados em todas as eleições que utilizaram o sistema de votação eletrônica desde 1996. 

O processo específico de contratação da Oracle para viabilizar a centralização da totalização teve início em agosto de 2019, tendo passado pela análise de diversos setores técnicos dentro do TSE para coleta de pareceres e análise jurídica. O contrato foi assinado em março de 2020. 

De acordo com o Contrato TSE nº 22/2020, os serviços foram contratados diretamente, por inexigibilidade de licitação, com base no art. 25, inciso I, da Lei nº 8.666/93 (lei das licitações), que prevê que é inexigível a licitação quando houver inviabilidade de competição, tendo em vista a existência de fornecedor exclusivo. 

Conforme certidão emitida pela Associação Brasileira de Empresas de Software (ABES). “a Oracle do Brasil Sistemas Ltda. detém exclusividade para vender serviços de cloud Oracle para entidades da Administração Pública, nas contratações cujo objeto seja exclusivamente a prestação de serviços de cloud Oracle, ou seja, sem qualquer serviço agregado relacionado ao cloud Oracle, haja vista a vedação legal de subcontratação integral do objeto em contratos administrativos, nos termos das respectivas normas e legislação aplicáveis a contratos e licitações com a Administração Pública”. 

No caso do TSE, a contratação em prestação de serviço “Cloud at Customer” é composta de dois supercomputadores (um principal e um redundante), e a Oracle fornece todos os softwares de banco de dados e presta serviços de suporte e atualização dos produtos. 

Outros órgãos da Administração Pública Federal adotam o mesmo tipo de contratação, a exemplo da Procuradoria-Geral da República (PGR) e do Supremo Tribunal Federal (STF). Trata-se de modalidade de serviço mais econômica se comparada ao modelo de aquisição de licenças e contratação de suporte e atualização. 

3) ATRASO NA ENTREGA DO EQUIPAMENTO 

O contrato assinado em março de 2020 previa o prazo de 70 dias para a entrega dos equipamentos ao TSE, que deveriam, portanto, ter chegado no início de junho de 2020. Em razão da pandemia da Covid-19, porém, a Oracle – assim como as demais empresas de tecnologia do mundo - foi afetada pela ausência de peças eletrônicas e indisponibilidade de dispositivos. 

Por isso, a entrega do equipamento se deu com cerca de um mês de atraso, em 17 de julho de 2020. 3 A partir da entrega, a empresa tinha prazo contratual para o processo de configuração e setup, o qual foi devidamente cumprido pela empresa, de modo que o equipamento ficou efetivamente disponível para uso pelo TSE em 14 de agosto de 2020. 

4) DOIS TESTES NO SUPERCOMPUTADOR 

Cinco testes de totalização foram planejados para as Eleições 2020 pela equipe técnica do tribunal. Porém, em razão do atraso na entrega provocado pela pandemia e do cronograma de testes, apenas os dois últimos foram feitos com o equipamento Oracle. É preciso ressaltar que o teste de totalização é um procedimento complexo e envolve mobilização de todos os cartórios eleitorais do país para que boletins de urna sejam transmitidos de forma massiva ao TSE, simulando o que ocorre no dia das eleições. 

5) FALHA EM UM NÓ DE PROCESSAMENTO 

Por meio do contrato, a Oracle disponibiliza ao TSE um servidor principal “Exadata X8 Full Rack”, com oito nós (núcleos) de processamento, e um “Exadata X8 Half Rack”, com quatro nós de processamento. 

Durante a totalização dos votos no dia 15/11, observou-se o desligamento de um dos oito nós de processamento do servidor principal. Esse incidente no componente de hardware ocorreu de forma simultânea à verificação na lentidão na totalização dos resultados, o que levou a equipe da Tecnologia da Informação do TSE a considerá-lo como possível causa para a demora. Ao colher as informações técnicas da equipe de tecnologia da informação para a realização da coletiva de imprensa que se realizaria às 20h, a Presidência do TSE foi informada de que esse teria sido o motivo da lentidão e das instabilidades verificadas, razão pela qual, em exercício de transparência, isso foi devidamente comunicado ao público no próprio domingo (15/11). 

Posteriormente, porém, constatou-se que a falha no nó não teve relação direta e imediata com a demora da totalização, tendo em vista que, com o desligamento de um dos nós, o equipamento foi capaz de redistribuir de forma automática a carga para os demais nós de processamento sem impacto no desempenho e disponibilidade. 

No entanto, ao supor inicialmente que essa falha poderia ter originado a demora na totalização, a equipe da Secretaria de Tecnologia da Informação (STI) do TSE dedicou os seus esforços à verificação desse problema e ao restabelecimento do funcionamento do nó, atrasando a identificação da causa direta do problema a ser solucionado para maior celeridade na contabilização. 

Por isso, a STI entende que, de forma indireta, o episódio contribuiu para o atraso na divulgação dos resultados. O TSE informa que, nesta terça-feira (17/11), a equipe da Oracle identificou problema na memória do nó que falhou no domingo e realizou a devida troca do nó defeituoso, de modo que o equipamento se encontra plenamente funcional. 

6) FALTA DE CALIBRAGEM DA INTELIGÊNCIA ARTIFICIAL 

No domingo, após o restabelecimento do nó com o suporte da equipe da Oracle, que, inclusive, tinha representantes presente no TSE, verificou-se que a lentidão prosseguia. Ao realizar os esforços de apurar a causa do incidente, a Tecnologia da Informação 4 identificou que a lentidão foi ocasionada por recurso de inteligência artificial existente em um otimizador do banco de dados Oracle, que garante o processamento veloz. 

Antes de realizar qualquer comando, o banco de dados estabelece um “plano de execução”, de modo a tentar prever a forma mais adequada de processamento. O otimizador, em seu funcionamento perfeito, permite que o Oracle evite a necessidade de navegar por todos os dados para então encontrar os dados a serem processados. O plano de execução é gerado pelo banco de dados Oracle utilizando estatísticas, como o tamanho das tabelas e a quantidade de dados nelas existentes. 

Como se tratava de equipamento novo, a totalização dos resultados do primeiro turno das eleições foi realizada em um banco de dados com tabelas totalmente vazias. Com o início da totalização às 17h, as tabelas do banco de dados passaram a receber mais de um milhão de linhas por minuto. Nesse caso, o plano de execução gerado pelo computador com o banco vazio mostrou-se inadequado para o processamento com o banco de dados cheio. 

Com isso, o equipamento não deu conta de, simultaneamente e com a rapidez necessária, aprender um novo plano de execução adequado para o processamento do grande volume de dados e realizar a totalização com a celeridade esperada. É normal que a aprendizagem da inteligência artificial do equipamento consuma tempo. Porém, isso poderia ter sido evitado com a realização de testes para calibrar o otimizador. Novos planos de execução foram gerados ao longo da totalização, mas se mostraram ineficientes diante do crescimento do volume de dados. 

Para solucionar o problema em definitivo, o sistema de totalização foi temporariamente paralisado, de modo a permitir a geração de um plano de execução novo e adequado. Assim, ao reiniciar o sistema, foi possível a retomada célere da totalização. Fazendo-se uma analogia, o “plano de execução” corresponderia a uma consulta à situação do trânsito até um determinado destino. Se essa consulta for feita exatamente na hora de sair de casa, haverá informação mais adequada do melhor caminho a seguir.

Caso essa consulta seja feita com maior antecedência, a rota anteriormente escolhida poderá não ser a melhor e estar congestionada, causando maior demora até chegar ao destino final. O problema da falta de calibragem da inteligência artificial do equipamento foi comunicado pela equipe da STI do TSE à Presidência em reunião realizada no início da tarde desta segunda-feira (16/11) e imediatamente comunicada à imprensa em coletiva convocada para a mesma tarde. 

7) ASSISTÊNCIA DADA PELA ORACLE 

Por meio do Contrato firmado com a Oracle, o TSE possui direitos de uso de equipamentos, software e recebe serviços de suporte 24 horas por dia, sete dias por semana. Durante todo o dia do 1º turno das eleições, técnicos da Oracle estiveram presente nas dependências da Secretaria de Tecnologia da Informação, prestando suporte técnico. O TSE considera que a Oracle cumpriu, no curso do episódio, todas as obrigações assumidas. 

8) SEGUNDO TURNO 

Equipes técnicas do TSE e da Oracle entendem que a falha no plano de execução no primeiro turno não se repetirá no segundo turno, em 29 de novembro, tendo em vista que o otimizador já está calibrado para processar um volume maior de informações de forma célere. No entanto, até o dia 29 de novembro, toda a equipe está focada na definição de providências para evitar incidente semelhante na apuração e totalização dos resultados do segundo turno.


TSE

Nenhum comentário:

Postar um comentário