;(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

PGR investiga tentativas de ataques a procuradores há pelo menos um mês

O procurador Deltan Dallagnol, coordenador da Lava Jato em Curitiba - Eduardo Anizelli - 23.abr.2018/Folhapress
O procurador Deltan Dallagnol, coordenador da Lava Jato em Curitiba Imagem: Eduardo Anizelli - 23.abr.2018/Folhapress

Bernardo Barbosa

Do UOL, em São Paulo

14/06/2019 04h00

A PGR (Procuradoria-Geral da República) investiga tentativas de ataques a celulares de procuradores federais, principalmente contra integrantes das forças-tarefas da Operação Lava Jato, pelo menos desde meados de maio.

Nesta semana, conversas entre o chefe da força-tarefa da Operação Lava Jato em Curitiba, Deltan Dallagnol, e o então juiz e hoje ministro da Justiça, Sergio Moro, estão sendo divulgadas pelo site The Intercept Brasil. Até o momento, não há como saber se o material foi obtido por um hacker. O veículo de imprensa diz que recebeu o conteúdo de uma fonte há semanas e não deu detalhes sobre como isso aconteceu.

Em 13 de maio, a procuradora-geral da República, Raquel Dodge, determinou a abertura de um "procedimento istrativo para acompanhar a apuração de tentativas de ataques cibernéticos a membros do Ministério Público Federal, sobretudo procuradores que integram a força-tarefa Lava Jato no Rio de Janeiro e no Paraná", diz nota divulgada no site da PGR.

O UOL pediu à PGR o despacho em que Dodge abre o procedimento, mas o órgão alegou que se tratava de um "documento interno" que não poderia ser compartilhado.

O mesmo comunicado, publicado em 14 de maio, informa que as tentativas de ataques tinham sido identificadas "nos últimos dias" e que já eram tema de "procedimentos investigativos específicos nas respectivas unidades" do MPF.

"Em parte dos casos em que foi verificada a tentativa de ataque, os usuários receberam ligações do seu próprio número, o que à primeira vista parece impossível, algo que estaria sendo viabilizado por meio de aplicativos específicos", afirma a nota.

No começo de junho, Moro teve seu celular invadido e notou que havia algum problema justamente porque recebeu uma ligação de seu próprio número.

Alertas em sequência

Antes da determinação de Dodge, já com a informação de que havia tentativas de invasão de celulares de procuradores, a PGR divulgou internamente em 8 de maio uma cartilha com medidas de segurança para evitar fraudes por meio de aplicativos de mensagens como Telegram e Instagram.

No dia 17, a STIC (Secretaria de Tecnologia da Informação e Comunicação) da PGR alertou sobre os ataques e reou mais orientações a procuradores e servidores. Entre elas, a de não apagar contas de WhatsApp ou de Telegram, "pois o responsável pelos ataques poderia recriá-la, ativar a dupla verificação e utilizar a conta em nome da vítima, tornando impossível sua recuperação". Outra orientação foi a de monitorar a existência de sessões ativas destes aplicativos em outros dispositivos e desconectá-las.

Quatro dias depois, a STIC informou que estava apurando "possíveis vulnerabilidades" em contas de Telegram e WhatsApp de membros do MPF, entre elas o risco de sequestro de mensagens de SMS e redirecionamento de telefonemas. "Considerando as questões que envolvem a possível interceptação de SMS, a STIC recomenda que se evite a utilização de aplicativos que façam uso desse recurso para o envio de informações sensíveis."

A interceptação de SMS pode permitir, em tese, que um invasor e o Telegram de outra pessoa remotamente por meio de um computador, desde que ele tenha o número do celular da vítima.

O Telegram pode ser usado pelo computador sem necessidade de manter o celular conectado. Para isso, é preciso colocar o número do celular no site do aplicativo. O usuário então recebe um SMS com um código numérico para ser inserido no site. Após a digitação do código, o Telegram é aberto no navegador, permitindo a troca de mensagens e o o a conversas antigas.

Segundo o jornal O Globo, o MPF apura se foi justamente por meio deste mecanismo que terceiros ainda não identificados conseguiram ar o Telegram de procuradores. Ainda não se sabe como os invasores obtiveram o a esse código.

A STIC voltou a reforçar orientações de segurança para uso de WhatsApp e Telegram já no dia 4 deste mês, sugerindo a adoção da verificação em duas etapas e o uso preferencial do aplicativo interno e-Space, "protegido pelo mesmo conjunto de controles de segurança que resguardam os demais sistemas e serviços de tecnologia do MPF".

Segundo a PGR, a segurança da informação é um "assunto prioritário" e tratado de forma contínua no órgão.

"Aqui é o hacker"

De acordo com a STIC, com a invasão de contas de aplicativos de mensagens como Telegram e WhatsApp, "os contatos presentes naquele dispositivo serão as próximas vítimas, tanto pelas informações ali presentes quanto pela relação de confiança comumente estabelecida entre os pares", diz o órgão no comunicado do dia 14 de maio.

Há pelo menos um caso conhecido em que o invasor tentou se ar por um procurador para tentar ludibriar interlocutores. Aconteceu com Marcelo Weitzel, do Ministério Público Militar. O procurador José Robalinho Cavalcanti contou à revista Época que, na noite de terça, recebeu mensagens na qual o suposto Weitzel tentava extrair opiniões sobre um áudio envolvendo integrantes da Lava Jato. Por fim, escreveu: "Um abraço do hacker".

O invasor também enviou mensagens no grupo de conselheiros do CNMP (Conselho Nacional do Ministério Público), do qual Weitzel faz parte. Colegas estranharam o tom dos textos e questionaram Weitzel. Receberam como resposta: "Aqui é o hacker". Dodge, que também é presidente do conselho, pediu investigação do caso à Polícia Federal.

Vazamentos revelam que Moro orientava investigações da Lava Jato

UOL Notícias