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

Como ladrões conseguem invadir aplicativos de banco após roubo do celular

Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Bruna Souza Cruz

De Tilt, em São Paulo

09/05/2022 12h12Atualizada em 30/05/2022 15h00

Um relato sobre prejuízo financeiro e estresse gerados após o roubo de um celular viralizou nos últimos dias. Criminosos chegaram a movimentar das contas de Bruno De Paula, 36, mais de R$ 143 mil, divididos entre empréstimos, transferências via Pix e pagamento de boletos.

Os valores serão estornados pelos bancos envolvidos, mas o caso reacendeu dúvidas sobre o quanto os aplicativos de instituições financeiras são seguros. Só em São Paulo, crimes do tipo têm se multiplicado, chamando a atenção da Polícia Civil e do órgão de defesa ao consumidor Procon-SP.

Entenda a seguir como esses criminosos costumam agir e como conseguem ter o aos dados bancários das vítimas.

Não é preciso hackear o telefone

Especialistas da área de segurança digital já ouvidos por Tilt afirmam que o mais provável é que criminosos estejam operando "na malandragem", se aproveitando de descuidos de algumas vítimas, e não utilizando ferramentas avançadas de última geração.

Embora existam ferramentas no mercado que permitem forçar o desbloqueio de um celular —como os rootkits usados por peritos para investigar telefones, esse processo é mais demorado, caro e complexo.

Por isso, muitos criminosos preferem roubar celulares que já estejam desbloqueados —como foi caso de Bruno De Paula. É bem provável que o o seguinte feito pelos bandidos seja alterar a senha de o ao aparelho ou configurar para que ela não seja solicitada mais.

E como eles am os demais dados e aplicativos das vítimas? Os principais motivos são:

Usar data de aniversário como senha: se o ladrão, por exemplo, roubou o celular e a sua carteira, ele pode usar os dados de documentos pessoais para tentar desbloquear o aparelho ou ar aplicativos caso o telefone já esteja com a tela liberada no momento da ação.

Outro exemplo: os criminosos podem procurar informações da vítima dentro do próprio celular, como uma ficha médica de emergência que fica ível sem o desbloqueio e que pode constar, entre outras informações, a data de nascimento ou outros dados pessoais (que também são comuns na hora de criar combinações).

Combinações fáceis de descobrir: um levantamento da empresa de segurança Nord apontou que a senha "123456" é a mais comum usada do mundo — só em 2020, mais de 2,5 milhões de pessoas tiveram dados vazados na internet usando essa combinação. Outras sequências simples de números também aparecem no ranking das piores senhas.

Uso da mesma senha em vários serviços online: Uma vez que a pessoa descobre uma senha de o, é provável que ela tente usar a mesma combinação em outros serviços online usados no celular da vítima, como: emails, apps do banco, plataformas de compras, entre outros.

Deixar senha do banco anotada no celular: é tanta senha que precisamos lembrar que muitos acreditam na praticidade de manter as combinações salvas no celular, como no bloco de notas, email. O problema é que os bandidos podem facilmente descobrir.

Sistema operacional e aplicativos de bancos desatualizados: é fundamental manter os programas do celular atualizados, pois os chamados updates servem também para corrigir vulnerabilidades descobertas —como um erro na autenticação da senha do banco no celular, por exemplo. Se a pessoa não tem o costume de fazer isso, ela aumenta as chances de se tornar vítima.

E se a vítima não tiver nenhum deslize? É sempre bom lembrar que as tecnologias não são perfeitas. Ainda que difícil, segundo os especialistas, não é impossível que cibercriminosos tenham conseguido encontrar formas ainda não mapeadas pelas empresas de segurança e fabricantes.

    Como ladrões entram no seu app de banco

    Depois do roubo do celular, alguns criminosos partem para tentativas de realizar transações através do aplicativo de banco instalado. Mesmo que a senha para confirmar os processos não esteja anotada em algum app do celular, não é tão difícil criar uma nova.

    Isso ocorre porque alguns bancos utilizam o email informado pelo usuário para ajudar na recuperação de senha. Como muita gente mantém o email logado no próprio aparelho, os ladrões conseguirão ter o aos os seguintes para reativar o o.

    E, caso eles precisem confirmar dados pessoais da vítima (como nome e F), as informações podem ser encontradas facilmente no aparelho em mensagens, SMS, email, fotos de documentos, redes sociais etc.

    Ainda existe a possibilidade —mesmo que menos comum— de que criminosos usarem programas dedicados para quebrar a proteção dos apps de bancos com base em brechas antigas não corrigidas pelas instituições financeiras ou ainda não descobertas.

    Para aumentar sua segurança, mais dicas são:

    • configure seu app de banco para pedir não só a senha, mas o número da conta e da agência sempre que for aberto. Isso vai dificultar o trabalho dos bandidos.
    • não guarde fotos de documentos ou de cartões de crédito na galeria do telefone (eles podem facilitar as tentativas de fraude).

    Caso o seu celular seja roubado/furtado ou perdido, é importante correr para limpar suas informações remotamente. Veja aqui o que você precisa fazer imediatamente.

    Mais dicas de proteção

    • Esconda o conteúdo das notificações na tela de bloqueio (algumas, como de mensagens, podem incluir códigos de autenticação em duas etapas);
    • Configure o celular para não permitir que o controle do wi-fi e do 3G/4G seja ado com o aparelho bloqueado (criminosos desligam a internet para evitar a formatação remota);
    • Ajuste o tempo de tela do telefone para que ele seja bloqueado após alguns segundos sem usar -- ou mínimo de tempo possível permitido pelo sistema.
    • Não saia de casa com o celular antes de descobrir o IMEI (como se fosse o F do telefone) e guardar o número em local seguro; entenda no vídeo abaixo.

    *Com reportagem de Lucas Carvalho, de Tilt.

    **Fontes consultadas: Hiago Kin, presidente da Abraseci (Associação Brasileira de Segurança Cibernética) e presidente executivo da empresa de segurança digital Decript; Daniel Barbosa, especialista em segurança da informação e pesquisador da empresa Eset; Israel Wernik, pesquisador da Check Point Research; Daiane Santos, engenheira de segurança; e Denis Riviello, especialista em cibersegurança e diretor da Compugraf.