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

Não caia: bandidos dão golpes em vítimas de roubo de celular no Carnaval

Roubo de celular pode se transtornar em um transtorno ainda maior - Getty Images/iStockphoto
Roubo de celular pode se transtornar em um transtorno ainda maior Imagem: Getty Images/iStockphoto

Gabriel Francisco Ribeiro

Do UOL, em São Paulo

09/03/2019 04h00

Resumo da notícia

  • Bandidos tentam roubar credenciais de vítimas de furtos de celulares no Carnaval
  • Mensagens visam pegar dados do iCloud para liberar iPhone bloqueado
  • Bandidos conseguem contatos por meio da função emergência e do app Saúde
  • Apple e Kaspersky dão dicas do que fazer caso tenha o iPhone furtado

Você acabou de ter seu celular roubado e está completamente arrasado com a situação. Eis, então, que um dos seus contatos te encaminha uma mensagem dizendo que seu aparelho foi encontrado. Basta você entrar em uma página e digitar seus dados para retirar o smartphone em uma autorizada. Parece ótimo, né? Mas não caia nessa.

Foi exatamente isso que ocorreu recentemente com um caso que a reportagem do UOL Tecnologia teve o. Após ter um iPhone furtado durante um bloco de rua do Carnaval de São Paulo, contatos de emergência do aparelho perdido aram a receber mensagens supostamente da Apple afirmando que o dispositivo havia sido encontrado.

A mensagem surpreende pelo nível de detalhe para tornar o phishing mais atrativo: é dado o nome e sobrenome da vítima, além de informações sobre o modelo e capacidade de armazenamento do iPhone roubado. O site oferecido pelos criminosos também imita perfeitamente o da Apple e visa pegar quem não presta atenção no link que está clicando - algo que o Google deseja mudar, aliás.

Mensagem de golpe após celular furtado - Reprodução - Reprodução
Mensagem de golpe após celular furtado
Imagem: Reprodução

Os hackers só não são eficientes na formulação da mensagem, que fica bem distante das enviadas oficialmente por empresas. Em poucos dias, três contatos próximos receberam pelo menos seis mensagens com os alertas de que o iPhone teria sido encontrado e com o pedido de no site suspeito, que a vítima logo identificou como falso. Alguém mais desesperado e menos atento, contudo, pode sair clicando na busca por seu iPhone perdido.

Os envios das mensagens representam uma tentativa dos criminosos de recuperar um celular com os dados apagados e bloqueado logo após o furto.

"Uma vez que o celular é bloqueado remotamente, os criminosos tentam conseguir as credenciais do iCloud para que seja possível realizar o desbloqueio e arem os dados armazenados na nuvem", aponta Thiago Marques, analista de segurança da Kaspersky.

Se conseguem o ao iCloud da vítima, podem desbloquear o aparelho para usar com outra conta e também ter o aos dados armazenados no iCloud como fotos e documentos que podem ser utilizados para algum tipo de chantagem 

Thiago Marques, analista da Kaspersky

A intenção dos bandidos é ganhar a confiança da vítima para roubar as credenciais.

Eles esperam que os contatos encaminhem o link para você. O fato de enviarem essas mensagens para seus contatos significa que seu iPhone está perfeitamente bloqueado 

Apple

Segundo a Kaspersky, golpes de phishing têm sido uma estratégia cada vez mais comum usada por criminosos após roubos de smartphones.

Como conseguem os contatos?

Como o iPhone foi bloqueado e apagado cerca de 20 minutos após o roubo, não está claro como os criminosos conseguiram o aos contatos de emergência do aparelho. Os dados usados por criminosos com certeza são oriundos do app Saúde e da função Ficha Médica do dispositivo. 

Golpistas tentam roubar credenciais do iCloud - Reprodução - Reprodução
Golpistas tentam roubar credenciais do iCloud
Imagem: Reprodução

A Apple aponta que a função é voltada para bombeiros e policiais, mas não deixa claro se é apagada do smartphone após ele ser deletado remotamente, o que deveria acontecer. Para a Kaspersky, há meios de conseguir a informação.

"É complicado dizer o que aconteceu, mas muitas vezes os criminosos evitam conectar o celular à internet justamente para evitar que aconteça a limpeza do sistema operacional do dispositivo em que uma parte da memória interna do smartphone é apagada. Sem conexão, eles podem retirar o chip, verificar se existe algo armazenado diretamente e até mesmo buscar mais informações sobre a vítima a fim de efetuar o ataque", explica.

No caso consultado pela reportagem, contudo, o aparelho foi conectado à internet algumas horas após o roubo, quando foi apagado remotamente, e teve o chip cancelado na operadora minutos após o furto.

Foi roubado? Veja o que fazer

Se você teve o celular roubado recentemente, veja dicas da Apple e da Kaspersky sobre o que fazer para manter sua segurança e evitar cair em golpes:

  • Bloquear o aparelho tanto pelo sistema quanto pela operadora
  • Realizar o boletim de ocorrência na polícia informando o número do IMEI para que o celular seja bloqueado na Anatel
  • Informe seus contatos sobre o ocorrido para evitar que caiam em golpes de phishing
  • Peça que seus contatos deletem as mensagens recebidas com phishing
  • Não clicar em links suspeitos e muito menos introduzir informações sensíveis
  • Mantenha uma senha segura no iCloud para que o criminoso não tenha o a suas contas