;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Falha em empresa que opera Pix afetou 161 mil clientes de 300 instituições

Falha de segurança na o, empresa da Méliuz, possibilitou que criminosos obtivessem dados de contas de 300 instituições - TIAGO CALDAS/FOTOARENA/ESTADÃO CONTEÚDO
Falha de segurança na o, empresa da Méliuz, possibilitou que criminosos obtivessem dados de contas de 300 instituições Imagem: TIAGO CALDAS/FOTOARENA/ESTADÃO CONTEÚDO

Fabrício de Castro

Do UOL, em Brasília

05/02/2022 04h00

Uma falha de segurança numa das empresas que operam o Pix, informada pelo Banco Central em 21 de janeiro deste ano, foi muito maior do que parecia inicialmente e comprometeu dados de quase 161 mil clientes, de cerca de 300 instituições. Quando o BC divulgou o vazamento, não foi mencionado esse número de 300 instituições atingidas. No centro do incidente, está a o Soluções de Pagamento, pertencente à Méliuz —empresa especializada em serviços de cashback (devolução de dinheiro).

Criminosos invadiram a plataforma da o para obtenção de dados pessoais ligados a chaves Pix de pessoas físicas com contas em bancos, instituições de pagamentos e cooperativas, entre outros. A partir da o, os invasores conseguiram roubar dados de clientes de centenas de instituições. Esses bancos tinham até quinta-feira (3) para comunicar os clientes atingidos.

A o pode ser multada pelo que o Banco Central classificou, na ocasião, como "falhas pontuais". Conforme o BC, a o não cumpriu exigências de segurança do Pix, como a adoção de "mecanismos de prevenção a ataques de leitura."

o faz parte de grupo cotado em Bolsa

Em maio de 2021, a Méliuz anunciou um acordo para a compra da o, numa operação de R$ 324,5 milhões.

Cotada na Bolsa de Valores desde novembro de 2020, sob o código CASH3, a Méliuz informou na época que a operação permitiria expandir os serviços financeiros oferecidos e desenvolver soluções em contas digitais e pagamentos, entre outros.

A transação, no entanto, ainda depende de aprovação do Banco Central, conforme reportou a própria Méliuz em prévia operacional divulgada em 27 de janeiro deste ano.

Ao comprar a o, a Méliuz leva um dos braços da empresa, o Bankly, uma plataforma de "banking as a service". Em linhas gerais, o Bankly disponibiliza aos clientes --outras instituições, por exemplo- APIs que permitem oferecer serviços bancários, incluindo transferências por Pix. Na prática, o cliente do Bankly pode se tornar um participante indireto do Pix.

Apesar dos investimentos, as cotações da Méliuz nos últimos meses vêm derretendo na Bolsa de Valores. No fim do ano ado, houve um movimento de venda de papéis pelos próprios controladores.

Após ter atingido o pico de R$ 12,33 em 26 de julho de 2021, a ação ordinária da companhia fechou a R$ 2,82 na última quinta-feira (3).

300 instituições invadidas a partir da o

De acordo com o BC, foram expostas no vazamento 160.603 chaves, de 159.603 pessoas físicas. Uma pessoa pode ter mais de uma chave.

Ao UOL, o BC confirmou que a falha de segurança não atingiu apenas clientes da o, mas também pessoas físicas com chaves em outras instituições que oferecem o Pix. A ocorrência envolveu aproximadamente 40% das instituições participantes do sistema, o que dá 300 empresas.

Na prática, uma pessoa com conta em um dos cinco maiores bancos brasileiros —Bradesco, Itaú, Santander, Banco do Brasil e Caixa— pode ter tido seus dados vazados, ainda que nunca tenha se relacionado com a o.

Todas as instituições com clientes atingidos tinham até a última quinta-feira, 3 de fevereiro, para comunicá-los do vazamento por meio do aplicativo ou do internet banking. O prazo foi estabelecido pelo BC.

BC citou 'falhas pontuais' da o

Em 21 de janeiro, o Banco Central informou, por meio de nota, o incidente de segurança no Pix ligado à o, "em razão de falhas pontuais em sistemas dessa instituição de pagamento".

Na ocasião, o BC afirmou que o vazamento estava ligado a dados cadastrais vinculados às chaves: nome do usuário, F, instituição de relacionamento, número da agência e conta.

Na comunicação do BC, não ficou claro que o incidente atingia clientes de outras instituições, e não somente os da o. Além disso, naquele momento, o BC também não havia divulgado o número de instituições.

Questionado pelo UOL nesta semana, o órgão informou o dado de que 40% das instituições participantes do Pix foram afetadas—o total atual é de 767 instituições.

Em janeiro, o BC também pontuou que a legislação vigente não exigia a comunicação do evento à sociedade, "por conta do baixo potencial para os usuários". Mas, segundo o BC, "regido pelo princípio da transparência", o órgão decidiu comunicar o ocorrido.

Nem o BC nem a o deram detalhes sobre como se deu o vazamento. Naquele momento, a empresa apenas informou que havia identificado "consultas indevidas a dados relacionados às chaves Pix a partir da plataforma da o Soluções de Pagamento no Diretório de Identificadores de Contas Transacionais (Dict)". As consultas ocorreram de 3 a 5 de dezembro.

De responsabilidade do BC, o Dict é uma espécie de "coração do Pix": nele estão armazenados os dados dos clientes que utilizam o sistema de pagamentos.

Simulação de operações

O UOL questionou a o, por meio de sua assessoria de imprensa, sobre qual foi a falha ou vulnerabilidade que permitiu o vazamento dos dados. A empresa não se pronunciou sobre este ponto específico.

Entre profissionais de segurança digital, a percepção é de que a o apresentou uma vulnerabilidade na plataforma que permitiu, a partir de simulações de transações pelo Pix, a obtenção de dados cadastrais de milhares de pessoas.

Um profissional da área de segurança, ouvido pelo UOL, explicou que, pelas características do caso, houve utilização de robôs e simulações em sequência. Tentativas de golpes assim têm se tornado comuns.

O golpe consiste em entrar numa aplicação, como a da o, e com a ajuda de robôs simular operações em sequência, de transferência por Pix, sem que nenhuma seja de fato finalizada. Isso é possível se o criminoso possui um banco de dados com milhares de números de celular, por exemplo.

Na aplicação, ao colocar um número de celular (chave Pix) para supostamente fazer a transferência, o criminoso poderia receber informações como o nome completo do titular daquela chave e o nome do banco de relacionamento, além de outros dados cadastrais.

Se essa operação for repetida dezenas de milhares de vezes com a ajuda de robôs, sem que o sistema da instituição bloqueie as simulações, é possível montar um banco com dados cadastrais.

Para que servem as informações cadastrais?

Quando o incidente veio à tona em janeiro, tanto o BC quanto a o afirmaram que não haviam sido expostos dados sensíveis dos clientes, como senhas, valores de movimentações financeiras ou saldos em conta.

"As informações obtidas são de natureza cadastral, apenas. Dados estes que não permitem movimentação de recursos, o às contas ou a qualquer outra informação financeira", informou a o em nota.

O problema é que as informações cadastrais dos clientes não deixam de ser úteis para os golpistas.

Boa parte dos crimes financeiros cometidos hoje está ligada à chamada "engenharia social", na qual os criminosos induzem os clientes de instituições financeiras a revelarem senhas e outros dados.

Assim, de posse de nome completo, telefone, nome da instituição e outros dados cadastrais, um criminoso pode entrar em contato com um cliente de banco para tentar convencê-lo a fornecer suas senhas, por exemplo.

Para coibir este tipo de ação, o BC informou em janeiro que as pessoas físicas que tiveram seus dados vazados no incidente com a o seriam avisadas apenas por meio do aplicativo ou do internet banking da instituição de relacionamento.

"Nem o BC nem as instituições participantes usarão quaisquer outros meios de comunicação aos usuários afetados, tais como aplicativos de mensagem, chamadas telefônicas, SMS ou e-mail", registrou o BC na ocasião.

o pode ser multada

O BC disse que o caso foi apurado e que a o pode ser punida. "Enquanto participante do Pix, a instituição está sujeita à aplicação de multa por descumprir os dispositivos do regulamento do Pix", disse o órgão por meio de nota. O BC não informou o valor da multa.

Além disso, o BC pediu que a o "adotasse as medidas para atender às regras previstas no âmbito do Pix, às quais a instituição não estava plenamente aderente."

Entre as regras, conforme o BC, estavam "algumas exigências previstas em relação a mecanismos de prevenção a ataques de leitura." O órgão citou ainda "exigências para implementação segura de APIs."

As APIs (Interfaces de Programação de Aplicações) são um conjunto de instruções e padrões estabelecidos por um software, para conexão e interação entre plataformas. São uma espécie de ponte para conectar aplicações.

O que dizem as empresas

Em contato com a o, o UOL questionou a empresa sobre a falha ou vulnerabilidade que permitiu o vazamento de dados. Além disso, perguntou se o vazamento ocorreu a partir de aplicativo da própria o ou a partir de cliente ligado ao Bankly.

A reportagem também abriu espaço para que a empresa se pronunciasse a respeito do fato de o vazamento ter exposto dados de clientes de outras instituições, e não apenas da o.

A o não se pronunciou sobre estas questões específicas. Também procurada, a Méliuz não comentou.

Outros casos

Desde o início do Pix, em novembro de 2020, o Banco Central já registrou três incidentes envolvendo dados cadastrais. Em agosto do ano ado, vazaram dados de chaves Pix a partir do Banese (Banco do Estado de Sergipe). O incidente com a o ocorreu em dezembro.

Na quinta-feira (3), o BC informou um novo caso ocorrido em janeiro deste ano: o vazamento de informações cadastrais de 2.112 chaves Pix a partir do Logbank.

Apesar das ocorrências, o BC defende que não há nenhuma vulnerabilidade em seu sistema, mas sim falhas de segurança nas instituições.