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

Seus dados no Twitter podem ter vazado na dark web; saiba como se proteger

Getty Images
Imagem: Getty Images

Aurélio Araújo

Colaboração com Tilt, de São Paulo

16/01/2023 12h44

A notícia de que dados de 200 milhões de usuários do Twitter teriam sido vazados num fórum de cibercriminosos na dark web (uma espécie de internet invisível) tem repercutido nos últimos dias. Este seria o segundo vazamento recente da rede social pertencente a Elon Musk, pois algo similar ocorreu em dezembro.

Em sua defesa, na semana ada, o Twitter afirmou que não há evidências de que essas informações sendo vendidas foram obtidas pela "exploração de vulnerabilidades dos sistemas do Twitter".

A empresa disse que esses dois supostos vazamentos, na verdade, envolvem uma "coleção de dados que já estavam disponíveis na internet por meio de fontes diferentes". Em agosto do ano ado, por exemplo, o Twitter confirmou uma exposição indevida de dados de seus usuários. Calcula-se que 5,4 milhões de contas tenham sido afetadas.

Independentemente de ter sido ou não um novo vazamento, o fato é que as informações de email, nomes de usuários e perfis da rede social estão circulando por aí. O risco envolvido em casos do tipo é que criminosos cruzem diferentes dados pessoais de uma pessoa. Em posse deles, a aplicação de golpes fica bem mais direcionada.

Como saber se fui vítima de vazamento?

Uma forma é ar o site em inglês "Have I Been Pwned?", que compilou os emails das contas do Twitter afetadas. Basta digitar seu email e clicar em "Pwned?", o botão à direita.

A plataforma poderá uma lista de vazamentos ligados ao seu endereço de email envolvendo outras empresas. Para ter certeza que isso ocorreu especificamente no caso do Twitter, cheque se os resultados trazem o arinho, que é símbolo do site.

A mensagem de alerta começa com "In early 2023, over 200M records scraped from Twitter appeared on a popular hacking forum?". Se sim, você teve seu email vazado via Twitter.

Estratégias para aumentar a sua segurança

Tome cuidado com ligações e emails. Tendo tido seus dados vazados, criminosos podem entrar em contato se ando por outras pessoas, como falsos gerentes de bancos e/ou vendedores.

Por exemplo, se receber uma ligação ou email de alguém de um banco pedindo que você entre em determinado link ou e alguma informação pessoal, vale muito a pena ir atrás da instituição bancária para saber se esse contato é real ou não. Na dúvida, não responda nada.

Troque suas senhas imediatamente (e mantenha a frequência). A dica é para todo mundo, independentemente de ter o email na lista de dados vazados do Twitter: um dos jeitos mais seguros de evitar que algum desconhecido tenha o a suas contas é mudar frequentemente suas senhas.

Você pode ler mais sobre como criar senhas seguras e fortes aqui, mas a ideia é sempre evitar formar combinações comuns (como sequências de números ordenados, do tipo "123456") e o uso de palavras simples (como "minhasenha").

Use e abuse dos caracteres especiais, como #, !, @, e, faça o que fizer, não use senhas repetidas, o que só facilita o trabalho dos golpistas.

Ative a verificação em duas etapas. É uma dica comum para reforçar sua segurança. Use esse reforço não apenas na rede social, aliás, mas em tudo que você puder, incluindo seu email.

A verificação em duas etapas é uma camada extra e libera ao serviço online somente a partir de um código enviado para o seu smartphone via SMS, por email ou por um app de autenticação confiável, como o Authy, por exemplo.

Reforce a segurança nas próprias redes. Seja no Twitter, no WhatsApp, no Facebook ou em qualquer outro serviço online, é possível compartilhar o mínimo de informações com pessoas que não fazem parte da sua rede de contatos.

Consulte as opções de privacidade oferecidas pelas próprias redes para ativar configurações como, por exemplo, não compartilhar dados ou imagens com pessoas que não estão entre os seus contatos cadastrados.

Isso diminuirá o risco de que criminosos saibam informações pessoais suas e consigam cruzar com as que eles já possuem.

Verifique se seu F tem sido usado indevidamente. Você pode ainda ar o site Registrato, um serviço do Banco Central, para verificar se movimentações financeiras e outras atividades relacionadas ao seu F têm sido feitas sem a sua ciência.

Pelo site, é possível ver dados, por exemplo, sobre cheques sem fundo, aberturas de conta, registros de chaves Pix, entre outros.

Uma outra dica valiosa é ar o site Cadastro Pré-Pago, vinculado à Anatel (Agência Nacional de Telecomunicações), para ver se alguém já fez uma conta de celular no seu nome.

Existe ainda a possibilidade de saques indevidos do seu FGTS. Para se proteger contra isso, acompanhe o extrato do benefício pelo aplicativo oficial da Caixa Econômica Federal. Por meio dele, você pode cadastrar uma conta bancária e, caso o golpista tente sacar o dinheiro usando o seu F, o saldo vai para sua conta, e não para a dele.