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

Tem mesmo que atualizar o sistema do celular? Sim, se quiser evitar hackers

Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Rosália Vasconcelos

Colaboração para Tilt, do Recife

24/08/2021 04h00

A tecnologia não está isenta de falhas de segurança. A cada 39 segundos, ocorre um novo ataque em algum lugar na web, segundo dados da empresa de segurança digital Kaspersky. Com o aumento do uso de vários dispositivos ao mesmo tempo com o à internet (IoT, internet das coisas, em tradução literal), o risco é de que as redes estejam cada vez mais expostas a invasões de cibercriminosos.

Segundo a companhia, só em 2020, ano em que muitas atividades aram do ambiente presencial para o online por conta da pandemia de covid-19, foram registrados mais de 370 milhões de invasões apenas a sistemas corporativos, e um aumento de 330% de ataques cibernéticos, se comparado a 2019.

Brechas de segurança

Muitos dos crimes virtuais surgem na forma de exploits, quando cibercriminosos tentam tirar vantagem de defeitos e vulnerabilidades dos sistemas para atacar os usuários. Nestas situações, nem um bom antivírus e medidas preventivas — como não clicar em links suspeitos, usar programas originais, não navegar em sites ou instalar apps duvidosos, por exemplo — são capazes de bloquear as ações.

Para aumentar a proteção, os especialistas em segurança online recomendam um processo básico para dificultar a vida dos cibercriminosos: manter as atualizações dos sistemas operacionais (como Windows, iOS, Linux ou Android) e de todos os aplicativos instalados em seu dispositivo em dia.

E por que isso? Bom, esse processo corrige falhas detectadas pelas empresas. Atualizar os softwares é tão importante quanto fazer o recall de determinados modelos de veículos, quando as fábricas anunciam alguma correção de falhas que colocam em risco a vida das pessoas, como nos airbags ou no sistema de freios.

No caso dos programas de computador e celular, as falhas e vulnerabilidades colocam em risco a privacidade dos dados e informações pessoais dos cidadãos e, em casos mais extremos, até mesmo a integridade física do alvo — por exemplo, quando há um caso de sequestro a partir de dados roubados do ambiente virtual.

"O objetivo das atualizações é corrigir erros para melhorar a segurança dos sistemas. Por isso, elas são realizadas com frequência, sempre que uma nova falha ou vulnerabilidade é encontrada. Atualização é a garantia do produto", explica Carlos Sampaio, especialista em segurança da informação e executivo da BidWeb, que trabalha com serviços especializados em proteção online.

Instalar as atualizações deixa o dispositivo lento?

Apesar de muitas pessoas terem o receio de que as atualizações de sistemas e aplicativos possam deixar os aparelhos lentos, a recomendação é não arriscar. Sampaio ressalta que elas não vêm para prejudicar a experiência do usuário. Pelo contrário. Muitas vezes, elas fazem o reparo de alguma lentidão do sistema.

As renovações periódicas podem fazer melhorias também nos drivers (que permite a comunicação entre o dispositivo físico e o sistema, como a placa de vídeo de um computador) e removem funcionalidades ultraadas, oferecendo uma melhor performance ao dispositivo.

Se o aparelho ficou mais lento após uma atualização, a dica é fazer um backup dos dados pessoais e restaurar o sistema para as configurações de fábrica. "Às vezes, acontece de uma atualização trazer um problema de lentidão, mas logo é corrigido", acrescenta o especialista.

O backup pode ser feito de forma tradicional, ando os dados do aparelho para um computador, ou através de programas nas nuvens, como o Dropbox ou iCloud, por exemplo.

Como saber se um sistema ou app está atualizado?

Muitas plataformas trabalham com atualização automática. Outros, no entanto, precisam da autorização do dono do dispositivo para sua execução. Nestes casos, as novas versões ficam disponíveis no menu Iniciar ou aparecem como notificação nos aparelhos móveis.

O coordenador de tecnologia da Informação do Ibict (Instituto Brasileiro de Informação em Ciência e Tecnologia), Tiago Braga, ressalta que é importante sempre verificar se o sistema operacional do dispositivo e os apps estão atualizados.

  • No caso dos aparelhos da Apple, é só ir em "Ajustes" e verificar se a atualização está em dia no campo "Geral".
  • No Android, vá em "Configurações", "Sistema e Atualizações do Sistema".
  • No Windows, a informação está disponível dentro da parte de "Sistemas e Segurança" do " de Controle". Se o software estiver desatualizado, o próprio usuário pode fazer o e instalar.

Por que tanta falha?

Segundo Carlos Sampaio, existem basicamente dois tipos de falhas. As que são provocadas por erros de programação (milhares de programadores em todo o mundo mexem diariamente em milhares de programas, e isso pode provocar erros) e aquelas que surgem pela incompatibilidade de um aparelho com uma nova funcionalidade, por exemplo.

"Para cada app, cada atualização de sistema operacional, cada novo componente de hardware, existe um time exclusivo observando suas vulnerabilidades. O Windows, por exemplo, toda segunda, terça-feira de cada mês ele manda uma nova atualização para seus clientes. A menos que tenha uma vulnerabilidade crítica, aí eles enviam imediatamente", explica o especialista em segurança da informação.

O que é uma solução também gera um problema. Por isso, nunca é demais ressaltar: mantenha os seus sistemas atualizados. Na medida que as empresas divulgam eventuais vulnerabilidades (e a sua correção), o anúncio também chama a atenção dos cibercriminosos, que atacam justamente aqueles que não fizeram essa atualização.