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

Ofereceram conta verificada no Instagram? É golpe para clonar seu WhatsApp

Estúdio Rebimboca/UOL
Imagem: Estúdio Rebimboca/UOL

Felipe Oliveira

Colaboração para Tilt

09/05/2020 04h00

Sem tempo, irmão

  • Fotógrafo recebeu ligação prometendo um selo de verificação no Instagram
  • Golpista pediu número enviado por SMS para poder aplicar golpe de sequestro
  • Especialistas apontam que se trata de golpe de engenharia social
  • Em 2019, mais de 20 mil tentativas de sequestro de WhatsApp foram registradas no Brasil

Depois de convites eletrônicos para festas e até pessoas se ando por agentes do Ministério da Saúde para tentar obter os números enviados por SMS aos usuários, um novo golpe de WhatsApp começa a ser aplicado: o de conta verificada no Instagram.

O fotógrafo Cauê Moreno foi abordado dessa maneira, mas conseguiu se desvencilhar do golpista. Com quase 18 mil seguidores no Instagram, ele deixa o número de celular disponível para contatos profissionais.

Na segunda-feira (4), Cauê recebeu uma ligação de alguém afirmando ser da rede social de fotos com uma proposta tentadora para quem tem muitos seguidores.

"Uma voz bem jovem perguntou se eu não queria ter uma conta verificada no Instagram. Na hora me liguei que era uma coisa errada, e perguntei como fazer. Ele me disse que para ter essa conta eu precisaria ar um código que chegaria para o celular. Quando olhei, era um código de WhatsApp. Falei que era golpe e desliguei", afirma o fotógrafo.

Novas lorotas, mesma tática

Apesar de não haver muitos relatos sobre esse tipo de abordagem, o analista sênior da Kaspersky, Fábio Assolini, afirma ser comum os criminosos utilizarem novas narrativas para tentar sequestrar as contas de WhatsApp.

"O que nós temos visto são os golpistas usando as temáticas mais diferentes possíveis para que a pessoa informe o código recebido por SMS", afirma ele.

Além disso, o especialista ressalta que esse é um golpe muito simples, exigindo apenas boa conversa por parte do golpista, aliada à falta de conhecimento dos usuários sobre o crime.

Assolini ressalta que esse tipo de golpe é voltado exclusivamente ao sequestro do WhatsApp. "O Instagram não usa como método de recuperação de o códigos por SMS", diz.

Um dos pontos que causou dúvida no fotógrafo Cauê Moreno foi a possibilidade de ter os dados clonados apenas por meio da ligação do golpista. Mas, o especialista da Kaspersky explica ser impossível esse tipo de ação atualmente.

O WhatsApp só funciona em um aparelho telefônico por vez, além de ser espelhado na interface WhatsApp Web, pelo computador. Quando você tenta ativar em outro smartphone, o app vai enviar um código numérico por SMS e você tem que informar para completar a autenticação. Daí o no telefone original é desfeito.

"Nenhum serviço depende de códigos enviados pelo WhatsApp. A única função desse código é a liberação do WhatsApp para um novo celular. Se a vítima não comprou um celular novo ou deu reset de fábrica, só pode ser um golpista tentando atacá-la", destaca Emilio Simoni, diretor do dfndr lab, laboratório de segurança digital da Psafe.

Em contato com Tilt, o Instagram afirmou que "a solicitação para o selo de verificação é feita somente através do próprio aplicativo", ou seja, nenhum representante da rede social entra em contato por telefone com os usuários para essa finalidade.

Engenharia social

De acordo com os especialistas, esse tipo de golpe é classificado como engenharia social, com objetivo financeiro. Após conseguir sequestrar o WhatsApp da vítima, os golpistas entrarão em contato com amigos e familiares contando uma história em seu nome e pedindo dinheiro.

"Os contatos podem acreditar porque veem a mensagem vindo de alguém que conhecem", explica Fábio Assolini.

Segundo a PSafe, o sequestro de WhatsApp vem fazendo muitas vítimas no Brasil, com mais de 20 mil tentativas desse golpe em 2019.

O que fazer?

Mesmo com muitos relatos na internet, diversos usuários acabam caindo no golpe.

É comum que o golpista fale ou aja de forma diferente ao se ar pela pessoa, como pedir um depósito para uma conta que não é dela. Se estiver desconfiado de algo, ligue para o contato para ter certeza antes de qualquer ação.

Para se precave, ligue o recurso de autenticação de dois fatores do WhatsApp, que adiciona uma senha de seis dígitos a mais que deve ser reativada periodicamente pelo usuário.

Se você foi vítima e cedeu o código do SMS do WhatsApp, instale o aplicativo do zero o mais rápido possível. Se der sorte, o golpista não terá colocado uma senha de dois fatores e será possível retomar a conta.

Agora, se não deu tempo de recuperar o WhatsApp, é importante entrar em contato com os familiares para avisar do problema.

Além disso, o WhatsApp deve ser notificado. Para isso, o usuário deve enviar um e-mail com a seguinte frase no assunto e no corpo do texto: "Perdido/Roubado: Por favor, desative minha conta". Inclua também o seu telefone no formato internacional: +55 (código do Brasil), o DDD de sua área e o número do celular. O endereço de destino é o @whatsapp.com.