Avançar para o conteúdo

A dependência da nossa sociedade das redes de computadores, e da internet em particular, aumenta de dia para dia. Seja na utilização doméstica, no controlo do espaço aéreo, na gestão da rede elétrica, nas aplicações médicas ou em sistemas financeiros, desenvolvemos serviços e atividades, fundamentais ao nosso bem-estar, segurança e desenvolvimento económico, que assentam em sistemas tecnológicos que se interconectam, por vezes de forma quase irrastreável, desenvolvidos sobre diferentes tecnologias (algumas legacy) ao longo do tempo e por diferentes indivíduos, utilizando as mais variadas metodologias. Em suma, fomos construindo, quase sem nos darmos conta, uma sociedade que se baseia numa complexidade de sistemas de grande dimensão que, hoje, quase que ganharam vida própria!

Complexidade

Reconhecer a complexidade como um inimigo da segurança não é novidade. Poderíamos chegar a essa conclusão por analogia com o mundo convencional, constatando que é muito mais difícil garantir a segurança numa multidão, que se aglomera junto a um estádio de futebol, do que numa rua onde passa um individuo de hora em hora. Contudo, mesmo que duvidas subsistissem, um dos mais reconhecidos especialistas do domínio da cibersegurança, Bruce Schneier, há já uma década atrás, referia que a complexidade é inimiga da segurança e que estávamos a perder o chão no domínio dessa complexidade[1].

Do que se trata então esta complexidade? Em termos muito simples, um sistema complexo é aquele em que as partes do mesmo e as suas interações em conjunto representam um comportamento específico, que não pode ser explicado pela análise de todas as suas componentes constituintes individualmente, ou seja, “o todo é maior do que a soma das suas partes”. A causa e o efeito não podem necessariamente ser identificadas e as relações são não lineares, dado que uma pequena mudança pode ter um impacto desproporcionado. Um sistema de trânsito é um exemplo popular, em que a análise de carros individuais e dos respetivos condutores não pode ajudar, por si só, a explicar os padrões e o aparecimento de engarrafamentos de trânsito. Contudo, existem inúmeros outros exemplos, como o sistema financeiro, o comportamento das multidões ou mesmo o corpo humano.

Os sistemas informáticos, na sua evolução pelo tempo, resultado de muitas camadas de desenvolvimento, embrenhados nas suas inúmeras ligações entre si, formam arquiteturas, por vezes impenetráveis e inexplicáveis, que dão origem a sistemas complexos, que criam desafios complicados para a segurança.

Reducionismo e Holicismo

De uma forma geral, com o objetivo da compreensão dos sistemas, existem duas abordagens distintas, mas, sobretudo, complementares.  Por um lado, os Redutores, que argumentam que qualquer sistema pode ser reduzido às suas partes e compreendido pelo estudo dos seus elementos constituintes, enquanto os Holistas afirmam que o todo é maior do que a soma das partes, pelo que um sistema não pode ser analisado apenas pela análise isolada dos seus componentes.

É inegável que a maioria das aplicações da nossa vida e todas as construções que nos rodeiam resultam, e bem, de uma abordagem de análise reducionista, veja-se, por exemplo, a forma como construímos um automóvel, componente a componente, até à montagem final, que implementa as funcionalidades que queremos.

Um exemplo do mesmo tipo de abordagem reducionista na cibersegurança é a realização de testes isolados a uma aplicação. Certamente que estes testes são muito importantes e incontornáveis, porque vão detetar vulnerabilidades básicas que devem ser corrigidas, mas será que estes testes conseguem cobrir o cenário real do ambiente de produção em que uma aplicação vai funcionar? Esse mesmo pedaço de código que constitui a aplicação, ao correr num determinado tipo de hardware, num particular ecossistema de comunicação entre aplicações, com uma versão específica de sistema operativo, em contexto do tipo de dados e tráfego de rede que está a manipular, poderá, de alguma forma, ter um comportamento totalmente previsto com uma análise reducionista? Certamente que não, porque estamos a tratar exatamente de sistemas complexos, onde mesmo uma pequena mudança na sequência de acesso à pilha de memória, pode variar a resposta a um ataque de buffer overflow.

O mesmo raciocínio poderá também ser aplicado ao fator humano neste domínio tecnológico, dado que, quando se faz uma análise reducionista, esta é normalmente efetuada em ambiente controlado, com pessoas que sabem exatamente o que estão a fazer. Todavia, em ambiente produtivo normal, os diversos operadores/utilizadores, através das suas interações assíncronas, e por vezes descuidadas, alteram o panorama de risco que uma análise reducionista não consegue acautelar.

Será, portanto, necessário assumir que um sistema num ambiente produtivo terá sempre um comportamento que pode não ser totalmente previsto pela análise isolada dos seus componentes e, como tal, fazer emergir vulnerabilidades que não conseguimos prever ou identificar à priori. Desta forma torna-se fundamental alargar a forma como analisamos os nossos ecossistemas de tecnologias de informação, estudando-os na perspetiva de sistemas complexos, que foram crescendo ao longo do nosso desenvolvimento tecnológico.

Complexidade tecnológica, um mal necessário?

A complexidade não é má em si mesma, muitas vezes é um subproduto do progresso humano e, em particular, nas organizações, do crescimento do negócio. Quanto maior for uma organização, mais complexa será, naturalmente, necessitando de mais pessoas e tecnologias para servir uma base de clientes em crescimento.

Questões de simplificação organizacional como, por exemplo, consolidação de fornecedores de serviços ou tecnologias podem, inclusive, ter desalinhamentos de objetivos entre áreas internas. Um gestor de infraestruturas pode fazer um balanço favorável entre o benefício de trabalhar com diversos fornecedores para diferentes domínios tecnológicos, aproveitando as suas competências específicas para baixar indisponibilidades, em relação aos custos de transação de interagir com essas várias entidades. Já o mesmo cenário, para a segurança, poderá ter uma demonstração totalmente diferente, ou seja, aumentando a complexidade da gestão de um maior número de fornecedores, vou ter uma maior complexidade na gestão de identidades e, consequentemente, mais suscetível a criar vulnerabilidades.

Os custos da criação de complexidade desnecessária não são óbvios, e é difícil criar urgência em torno do combate à complexidade, pelo que pode ser pouco realista pensarmos que a cibersegurança, consegue, por si, ser o precursor desta mudança na organização.

Descomplicar a segurança na complexidade

Para enfrentar a complexidade imposta pelo desenvolvimento tecnológico, será mais eficiente adotarmos comportamentos semelhantes aos que observamos no mundo natural, sobretudo nas suas técnicas de resiliência, que deverão ser aplicadas aos sistemas de informação, sendo que nos objetivos da resiliência, a simplificação surge como pedra basilar, o que, no fundo, se traduz na redução da superfície de ataque.

Como não podermos esperar que a área de segurança, por si só, seja líder de uma iniciativa de simplificação organizacional profunda que, ainda assim, levaria tempo a concretizar, existem algumas oportunidades mais imediatas que os responsáveis de segurança das organizações podem, e devem, prosseguir, sendo líderes de algumas iniciativas ou influenciando outros elementos da organização para esse desiderato.

Assim, numa pequena súmula, e começando por uma perspetiva de mais alto nível, o movimento para a Cloud é uma excelente oportunidade para as organizações colocarem ordem nas suas arquiteturas e limparem dados desnecessários. Se não nos limitarmos a migrar a complexidade tecnológica existente nas organizações para a nuvem, é quase o momento utópico para recriarmos os nossos sistemas com “Security by Design”.

É também crucial aumentar esforços para eliminação de legacy e limitar versões de stack tecnológico permitidos na organização, o que pode ser alcançado através da priorização de investimentos na evolução tecnológica e criação de políticas globais para a utilização de sistemas. Ainda neste plano, uma das medidas mais sensíveis dentro da organização consiste na criação de políticas e meios de reforço da implementação dessas políticas, para impedir a aquisição desregulada de serviços de TI pelas diversas unidades de negócio. Este tema não é muitas vezes bem aceite quando, internamente, o departamento de sistemas não consegue corresponder às expetativas do negócio.

No plano mais tecnológico, um meio para atingir a resiliência nos sistemas críticos, consiste em usar técnicas de diversidade para minimizar falhas comuns, particularmente eventos de ameaça que exploram vulnerabilidades gerais. Tal como no corpo humano, o facto de todos termos estruturas diferentes, permite uma resistência diferenciada a infeções, e essa solução é bastante relevante no âmbito dos sistemas críticos para o cumprimento da missão. Da mesma forma, na Natureza, os ecossistemas que têm uma maior biodiversidade são muito mais resistentes a pragas, não necessitando de produtos químicos para as debelar.

Entre outras técnicas essenciais para estarmos preparados para a imprevisibilidade do comportamento dos sistemas complexos, destaca-se a contínua monitorização de contexto, quer o de ameaças externas, através de Threat Intelligence, quer o do estado, ao momento, dos nossos recursos tecnológicos, como se de um sistema nervoso que capta sinais provenientes de diversas fontes e toma decisões automáticas para proteção e reação se tratasse. Esta é a missão de um Security Operations Center, fundamental a qualquer organização que tenha que manter a segurança de um ecossistema tecnológico complexo.

Conclusão

Ainda que o dia em que a tecnologia ganhará vida própria não passe, ainda, de um cenário de um filme de ficção científica, temos a responsabilidade de assumir a complexidade tecnológica já criada e aquela que vamos adicionando diariamente a toda velocidade. Esta complexidade expõe a nossa sociedade a ameaças cada vez mais sofisticadas e imprevisíveis, sendo que as tradicionais abordagens reducionistas, embora incontornáveis, não são, contudo, suficientes para mitigar o tipo de falhas que emergem de sistemas complexos. Urge iniciarmos um novo caminho para a cibersegurança, complementando-a com esforços no sentido de aumentar a sua resiliência, tornando os nossos sistemas mais simples, mapeáveis e robustos.


02 de junho de 2022

Paulo Moniz
Digital Global Unit Security & IT Risk da EDP, Membro da Direção da CIIWA e Vogal da Direção da EuroDefense-Portugal


[1] https://www.schneier.com/news/archives/2012/12/complexity_the_worst.html


Artigo original publicado na revista IT-Security, disponível em:

https://www.itsecurity.pt/edicoes/it-security-n6-junho-2022

Partilhar conteúdo:
LinkedIn
Share

Formulário Contato