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

Mãe de Carol Trentini cai em golpe do WhatsApp; saiba como se proteger

Mãe de Carol Trentini (foto) perdeu dinheiro após golpe envolvendo WhatApp - Divulgação
Mãe de Carol Trentini (foto) perdeu dinheiro após golpe envolvendo WhatApp Imagem: Divulgação

Sarah Moura

Colaboração para Tilt

27/05/2021 17h11

A modelo Carol Trentini contou nas redes sociais que a mãe perdeu todas as economias após cair em um golpe de WhatsApp. A abordagem infelizmente não é novidade: os criminosos fingem ser uma pessoa conhecida no app do serviço de mensagens e mentem dizendo que aquele é seu novo número de telefone. Geralmente, eles roubam a foto de perfil e a usam para deixar tudo mais convincente.

"Em um momento, o criminoso pediu uma transferência de valor alto e urgente. Minha mãe fez. O criminoso pediu mais, cada vez mais urgente, dizendo que era eu", relatou no Instagram. Após atingir o limite diário de transferências, a mãe da modelo foi à uma agência bancária para enviar mais valores. Ela também fez um empréstimo depois de ter a conta zerada.

Como o golpe acontece

Para esse tipo de ação, alguns criminosos conseguem o à bases de dados comercializadas por data brokers — organizações criminosas que captam e vendem informações de pessoas na internet.

Os documentos podem expor endereço, telefone e uma lista de pessoas próximas, por exemplo. A partir disso, os fraudadores buscam os nomes nas redes sociais para procurar fotos e, então, personalizar a conta no WhatsApp.

O golpe é conhecido como engenharia social, quando se ganha a confiança da vítima para pedir dinheiro sem a necessidade de violação da segurança no aplicativo.

No início, a primeira mensagem pode variar, mas geralmente é informado que aquele é o novo número. Foi o que aconteceu com a mãe de Carol Trentini. "Alguém usou um número de São Paulo e colocou uma foto minha com meus filhos, meu nome e enviou mensagens para minha mãe, avisando que era meu novo número e ficou batendo papo, perguntando como estava, enviando imagens fofas, para criar um laço afetivo", contou a modelo.

Como se proteger

Algumas medidas podem ser essenciais para impedir a ação dos criminosos, como manter a foto do perfil disponível apenas para os contatos salvos e não ter a mesma imagem em todas as redes sociais.

Quando desconfiar da mensagem, ligue para a pessoa e confirme se é realmente ela que está falando com você. Essa também pode ser uma forma de alertá-la sobre a atividade.

Uma das principais medidas para coibir o golpe é ativar a autenticação em duas etapas. Veja o o a o:

  • Clique no menu que fica nos três pontinhos no canto superior direito ou entre direto em "Configurações";
  • Selecione "Conta"
  • Clique em "Confirmação em duas etapas";
  • Digite o código que será usado para a dupla autenticação

Sequestro de perfil

Em outro golpe bastante popular, criminosos clonam o WhatsApp da vítima e usam a lista de contatos para pedir dinheiro. Normalmente, a ´invasão´ ocorre após pedir que se compartilhe um número enviado via SMS ou depois de clicar em um link contaminado.

Recentemente, criminosos fingiram ser profissionais do Ministério da Saúde fazendo uma falsa pesquisa sobre a covid-19. No fim da ligação, eles enviavam um código via SMS.

Caso a vítima informe a sequência numérica e não tenha a autenticação em duas etapas, a conta já é invadida. Para quem tem a proteção, eles agem posteriormente como falsos representantes do WhatsApp, informam que o perfil foi alvo de atividade suspeita e enviam um e-mail para recadastramento. Então, ao clicar no link é possível clonar o perfil no app.