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

Grupo hacker vaza quase 200 GB de dados da Samsung; empresa confirma ataque

Grupo é o mesmo que invadiu e roubou dados da Nvidia recentemente - Freepik
Grupo é o mesmo que invadiu e roubou dados da Nvidia recentemente Imagem: Freepik

Vinícius de Oliveira

Colaboração para Tilt, em São Paulo

08/03/2022 10h07Atualizada em 08/03/2022 13h39

Sem tempo, irmão

  • Grupo hacker Lapsus$ vaza quase 200 GB de dados confidenciais da Samsung
  • Informações estão relacionadas a sistemas de segurança e biometria da linha Galaxy
  • Samsung confirmou a invasão, mas disse que nenhum dado pessoal dos clientes foi vazado
  • Grupo Lapsus$ foi o mesmo que roubou recentemente 1 terabyte de arquivos da Nvidia

Um grupo hacker conseguiu ar dados internos e confidenciais da Samsung relacionados aos aparelhos da linha Galaxy. Ainda não se sabe o objetivo da ação, mas, em tese, as informações em posse dos cibercriminosos permitiriam o desbloqueio de celulares da empresa.

Calcula-se que quase 200 GB de material, que contém algoritmos sobre criptografia (camada de segurança) de hardware, encriptação binária (sistema de numeração usada na computação de 0 e 1) e controle de o, tenham sido vazados.

A gigante sul-coreana confirmou a invasão, mas não falou sobre a extensão do ataque. Em nota enviada a Tilt, disse que informações pessoais de seus clientes e funcionários não foram afetadas.

"Recentemente, fomos informados de que havia uma violação de segurança relacionada a determinados dados internos da empresa. Imediatamente após a descoberta do incidente, reforçamos nosso sistema de segurança", diz o texto.

"De acordo com nossa análise inicial, a violação envolve alguns códigos-fonte relacionados ao funcionamento dos dispositivos Galaxy, mas não inclui as informações pessoais de nossos consumidores ou funcionários", completa.

Apesar de ter assumido a falha, a empresa não confirmou se o grupo Lapsus$, que reivindica a ação, realmente foi o autor do ataque. A rede de hackers é a mesma que diz ter roubado de até 1 terabyte (equivalente a mil gigabytes) de informações sigilosas, com supostamente segredos industriais da empresa Nvidia, conhecida por fazer placas de vídeos (entre outras tecnologias) para games.

Quais dados vazaram?

O grupo hacker Lapsus$ diz ter disponibilizado 190 GB de dados vazados da Samsung divididos em três arquivos de torrent, um protocolo de conexão que permite obter arquivos pesados em partes, criando uma rede de computadores conectados, o que otimiza o tempo de .

Junto com o arquivo, também há uma breve descrição do conteúdo disponível em cada material:

  • Parte 1: contém código-fonte e dados relacionados à segurança e defesa, ao Knox, bootloader, Trusted Apps e vários outros itens
  • Parte 2: contém código-fonte e dados relacionados sobre segurança e encriptação dos aparelhos Galaxy
  • Parte 3: contém vários dados de engenharia de defesa de dispositivos móveis, códigos back-end (processo interno) de contas Samsung e códigos front-end (a parte que o usuário vê) e back-end do Samsung

Knox (ou My Knox) é um aplicativo desenvolvido pela Samsung para criptografar dados sensíveis, como transações de crédito e senhas.

Já o bootloader é um trecho do código que diz como o celular deve ser inicializado. Muitos usuários de Android fazem desbloqueio do bootloader, para personalizar o sistema operacional instalado.

Trusted Apps é o sistema que a empresa usa pedindo para você confirmar que confia no aplicativo que foi instalado.

Por fim, há dados de código-fonte do Samsung , que usa os dados biométricos para desbloquear o celular e liberar aplicativos e serviços. Esses dados estariam hospedados no GitHub, uma plataforma de hospedagem de códigos-fonte e arquivos com controle de versão.

O que querem os hackers?

Não está clara a motivação dos cibercriminosos por trás do ataque e do vazamento dos dados da Samsung. Ao contrário recente ataque à empresa Nvidia, que aconteceu há menos de uma semana, o grupo Lapsus$ aparentemente não fez nenhuma exigência ou chantagem.

No caso da empresa norte-americana, os hackers exigiram que fosse removido o código que limita certos processadores gráficos (GPUs) de fazer mineração de criptomoedas. Há um ano, a Nvidia adotou a função chamada LHR, sigla em inglês para "taxa de hash baixa".

Essa taxa de hash mede a quantidade de operações que uma rede de mineração de criptomoedas é capaz de realizar. A ideia era evitar que as GPUs fossem usadas para outros fins, que não jogos, e não faltasse o produto no mercado. Outra linha de processadores, voltada à mineração de criptomoedas, também foi lançada, mas há sempre quem queira fazer os dois.

*Com informações dos sites Bloomberg, The Verge, Bleeping Computer e TechCrunch