;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

UOL Confere

Uma iniciativa do UOL para checagem e esclarecimento de fatos


Grupos fraudam app e inventam mudança de votos para desacreditar urnas

ESTADÃO CONTEÚDO
Imagem: ESTADÃO CONTEÚDO

Carolina Marins e Lucas Borges Teixeira

Do UOL, em São Paulo

22/11/2020 04h00

Grupos usaram acusações de fraudes nas urnas, mudança de votos no meio da apuração e ataques de hackers para desacreditar o sistema eleitoral brasileiro. O atraso na divulgação dos resultados no último domingo (15) também ajudou a alimentar uma série de fake news que tinham como alvo a Justiça Eleitoral.

Estimulados por discursos como o do presidente Jair Bolsonaro (sem partido), que colocou em xeque a lisura das eleições de 2018, usaram a lentidão no sistema como a "prova cabal" de que as urnas eletrônicas não são confiáveis e que as eleições foram fraudadas.

Ações como estas corroem a democracia, em especial quando são potencializadas por líderes políticos, afirma especialista ouvido pelo UOL.

São Paulo travada em 0,39%

Teorias da conspiração giraram em torno do atraso na divulgação dos resultados. Mesmo grandes colégios eleitorais, como São Paulo, foram afetados.

De acordo com o TSE (Tribunal Superior Eleitoral), a causa foi uma falha no sistema responsável por totalizar os votos em Brasília. Também diz que a demora foi apenas na divulgação dos números, sem interferir na contagem.

Ainda assim, diversas correntes nas redes sociais falaram que a apuração em São Paulo, que ficou parada por quase cinco horas em 0,39% do total, era uma prova de que o sistema tinha sido fraudado. Mas isso não é possível por um motivo simples: os votos são registrados assim que as urnas fecham e não podem ser alterados.

Ao final da votação, cada urna imprime um boletim com 100% dos votos registrados nela. Não há como alterá-lo. Cópias deste documento são autenticadas e entregues à Justiça Eleitoral e ao MPE (Ministério Público Eleitoral). Depois, também ficam disponíveis online.

Qualquer candidato, partido ou membro da sociedade civil pode fazer uma contagem paralela e verificar a votação de uma pessoa ou partido específico. O site mostra ainda o horário de fechamento das urnas —sempre pouco depois das 17h— quando os votos são consolidados. Ou seja, durante a apuração não é possível acrescentar ou tirar votos de candidatos.

Para acabar com os boatos, o TRE-SP (Tribunal Regional Eleitoral de São Paulo) divulgou gráficos que mostram a estabilidade de todo o processo de apuração dos votos no estado —o que comprova que o problema foi de divulgação, e não na contagem dos votos.

Urnas não ficam conectadas a uma rede

Outro acontecimento que ajudou a aumentar as fake news foi o ataque hacker sofrido pelo sistema do TSE na manhã da eleição. A Polícia Federal concluiu que dados de 2020 do tribunal foram furtados. Isso seria mais uma fraude nas eleições.

Mas não é verdadeira. Diferentemente do sistema interno do TSE, as urnas eletrônicas não podem ser invadidas remotamente porque não estão conectadas a uma rede, funcionam como dispositivos isolados. Para invadir uma urna, o criminoso teria de ter o a ela fisicamente e efetuar a fraude urna a urna.

Segundo o TSE, os aparelhos não são equipados com o hardware necessário para se conectar a uma rede de internet, com ou sem fio.

"O sistema operacional Linux contido na urna é preparado pela Justiça Eleitoral de forma a não incluir nenhum mecanismo de software que permita a conexão com redes ou o o remoto", explica analista do TSE Bruno Coimbra, mestre em ciência da computação pela UnB (Universidade de Brasília).

Qualquer tentativa de executar um programa não autorizado na urna resulta no bloqueio do seu funcionamento.

Grupo fraudou imagem do app

Um vídeo publicado em uma conta no TikTok fez uma denúncia falsa sobre uma candidata a vereadora em Palmas que teria tido seus votos reduzidos no meio da apuração. Rose Ribeiro (Republicanos) usa uma reprodução de tela do aplicativo "Resultados", do TSE, na qual ela teria mais de mil votos na tarde de domingo, mas, quando acabou a apuração, ficou com apenas 58.

A foto, contudo, é uma fraude. A imagem mostra "1111 votos". O aplicativo do TSE usa, via de regra, um ponto para separar a casa do milhar. Ou seja, se a imagem fosse verdadeira, mostraria "1.111 votos". É uma falsificação do que exibia o aplicativo.

O TRE-TO (Tribunal Regional Eleitoral do Tocantins) afirmou, por meio de nota, que "não há como alterar os dados inseridos nas urnas eletrônicas pelos eleitores". Já uma reprodução do aplicativo é mais adulterável.

O projeto Comprova, do qual o UOL faz parte, descobriu uma imagem nas redes sociais com o resultado da apuração da Câmara Municipal de Palmas na tarde do domingo.

Listado em primeiro lugar, com 1.042 votos, estava Marilon Barbosa (DEM). Como explicou a assessoria do TSE ao Comprova, durante a apuração das urnas, o aplicativo exibe os candidatos por ordem decrescente de votos. Ou seja: se Rose estivesse com 1.111 votos naquele momento, ela apareceria em primeiro lugar na lista. Não era o caso.

Mensagens sobre eleições anuladas

Mensagens circulando em várias cidades pelo Brasil diziam que, devido a "fraudes" nas urnas no domingo, as eleições haviam sido anuladas. O aviso circulou em estados como Amazonas, Alagoas, Bahia, Minas Gerais, Rio de Janeiro, Rio Grande do Sul, São Paulo e Tocantins, citando diferentes municípios.

Os textos, que foram adaptados para as mais diversas cidades, se aproveitavam do problema enfrentado pelo TSE no domingo para justificar a anulação do pleito e indicavam uma suposta nova data.

O TSE negou a informação. "Nunca houve, desde o início do uso das urnas eletrônicas, em 1996, constatação de fraude em resultados com a utilização do equipamento", afirmou, por meio de nota.

Grupos buscam deslegitimar as eleições

Segundo o cientista político Rodrigo Prando, da Universidade Presbiteriana Mackenzie, a principal consequência desses tipos de ações é a corrosão das instituições democráticas.

O candidato pode ser prejudicado pela fake news e perder a eleição. Mas um impacto muito pior é corrosivo dos alicerces da democracia.
Rodrigo Prando, cientista político

Combater um problema tão complexo não é tão simples, mas pequenas ações podem frear a cadeia de disseminação dessas notícias:

  • ouvir o contraditório
  • não rechaçar tudo o que não corrobora seu ponto de vista
  • consumir conteúdos de qualidade e confiáveis
  • a classe política precisa se comprometer com a não disseminação desses conteúdos.

O UOL Confere é uma iniciativa do UOL para combater e esclarecer as notícias falsas na internet. Se você desconfia de uma notícia ou mensagem que recebeu, envie para [email protected].