Esse antivírus tem recursos de autocura

Sheila Zabeu -

Outubro 05, 2021

Imunidade talvez seja um dos termos mais citados desde o início da pandemia. É um conjunto de mecanismos de defesa de um organismo contra elementos estranhos, por exemplo, o coronavírus. No entanto, também já podemos dizer que existe software com esse poder de autocura contra vírus cibernéticos ou outras pragas que atacam sistemas computacionais.

Essa solução de cibersegurança com recursos de autocura foi desenvolvida conjuntamente pela Organização Holandesa para Pesquisa Científica Aplicada (TNO) e pelo ABN AMRO, inspiradas no sistema imunológico do corpo humano. “Baseamos nosso trabalho na maneira como as células humanas lutam contra vírus e bactérias e se regeneram e traduzimos isso em conceito de cibersegurança. Esse software oferece proteção ao limitar as opções disponíveis para os invasores “, explica Bart Gijsen, que liderou o projeto Self-Healing Security na TNO.

Segundo os pesquisadores, uma diferença fundamental entre sistemas computacionais e o sistema imunológico humano é o princípio da ‘descartabilidade’ – ou seja, de vez em quando, o corpo substitui suas próprias células e assim garante, entre outros benefícios, que eventuais células infectadas e que passaram despercebidas tenham impactos prejudiciais no corpo por um tempo limitado.

No entanto, o princípio da descartabilidade aplicado à cibersegurança, que aumentaria a proteção contra ataques cibernéticos não detectados, se mostrava muito difícil de implementar até agora.  O desafio era desenvolver um sistema descentralizado, que se corrigisse de modo autônomo e também reconhecesse o momento de fazê-lo.

A nova proposta é usar Kubernetes. Essa tecnologia de contêineres garante facilidade para gerenciar infraestruturas, com opções para reiniciar e renovar aplicações. No caso do software com autocura da TNO, foi adicionada uma funcionalidade para que os contêineres se renovem em intervalos ajustáveis. Tal renovação garante uma maneira simples de garantir que eventuais ciberataques em andamento serão interceptados. Além disso, a solução inclui uma técnica de detecção que identifica contêineres com comportamentos anormais e os encerra imediatamente. Isso permite intervenções muito mais rápidas se algo for suspeito.

O software tem código aberto e está disponível no GitHub.

O que é Kubernetes

A ferramenta de tradução do Google aponta a palavra Kubernetes como de origem estoniana, significando Governadores. Por ser comprida e de difícil pronúncia, a palavra é citada, alguma vezes, como K8s (8 substituindo oito letras). Apesar disso, o sentido de governar é apropriado para nomear a plataforma de código aberto para orquestração de contêineres, cujo objetivo é permite a operação de estruturas elásticas de servidores para aplicações na nuvem. A tecnologia de Kubernetes foi originalmente desenvolvida pelo Google e é atualmente mantida pela Cloud Native Computing Foundation.

Mas o que seriam contêineres? São pequenas unidades de software justamente governados por essa plataforma que automatiza o gerenciamento, convocando novos contêineres quando necessário e eliminando exemplares redundantes. Podemos, então, imaginar que uma aplicação pode conter vários contêineres executados de forma independente e que se apresentam como serviços uns para os outros.

Por serem unidades de software pequenas e independentes, esses contêineres podem ser destruídos e recriados a qualquer momento, sem afetar sua disponibilidade, justamente a técnica em que se baseia o novo método de cibersegurança criado pela TNO e o banco ABN AMRO. Juntos, Kubernetes e contêineres permitem criar um software com recursos de autocura.

Contêineres são agnósticos em relação ao hardware e não sofrem de problemas de portabilidade, muitas vezes presentes em cenários de máquinas virtuais. Em outras palavras contêineres funcionam bem em qualquer hardware, e seus projetos podem ser facilmente transferidos de um ambiente para outro. A conteinerização garante portabilidade ao reunir em um pacote código da aplicação, arquivos de configuração, bibliotecas e outras dependências.

Muitos serviços em nuvem oferecem plataformas ou infraestruturas baseadas em Kubernetes como serviço (PaaS ou IaaS). Alguns fornecedores também oferecem suas próprias distribuições de Kubernetes. Segundo um estudo da ResearchAndMarkets, o serviço preferido de contêineres em nuvens públicas  é o da AWS, seguido pelo da Microsoft e do Google. No site da RedHat, está disponível um infográfico em português apontando um caminho com considerações importantes para escolher uma plataforma Kubernetes.