Investigadores portugueses desenvolvem ferramenta pioneira para a deteção de código com riscos de segurança

A solução GLITCH transforma o código original dos programas num modelo próprio, onde é feita uma análise para a deteção de code smells — padrões que ocorrem no código e que podem gerar vulnerabilidades ao nível da segurança.

Todas as plataformas digitais que utilizamos, em contexto de site ou aplicação, estão assentes em código que possibilita o seu correto funcionamento. A existência de erros ao nível desse código resultará em perturbações com diferentes níveis de gravidade e consequências para o utilizador. Neste âmbito, surgem, por exemplo, os code smells, que podem ser definidos como um padrão que ocorre no código de uma aplicação de software e que deve ser evitado, sob pena de gerar vulnerabilidades que podem ser aproveitadas por agentes maliciosos. Nestes casos, estamos perante um smell de segurança.

Foi com este problema em mente que Alexandra Mendes, investigadora do INESC TEC, João F. Ferreira, Nuno Saavedra, João Gonçalves e Miguel Henriques, investigadores do INESC-ID e do Instituto Superior Técnico, estruturaram o GLITCH, uma framework agnóstica à linguagem que deteta code smells — “a violação de uma boa prática” — em scripts de infraestrutura.

A panóplia de tecnologias para a escrita de scripts obriga à replicação do código de deteção de smells para cada uma das tecnologias. “Não só a duplicação é indesejável, pois está a repetir-se desnecessariamente trabalho já feito, mas tal leva também a que existam inconsistências na deteção dos smells entre as várias tecnologias”, explica Alexandra Mendes.

Esta é precisamente a grande novidade da solução GLITCH: usa uma representação intermédia — transforma o código original dos programas num modelo próprio onde é feita a análise e deteção de code smells — que capta conceitos semelhantes de várias tecnologias de Infrastructure as Code (IaC). Desta forma, aponta a investigadora do Laboratório de Software Confiável (HASLab) do INESC TEC, “o código de deteção de um smell é escrito apenas uma vez sobre representação do GLITCH e é imediatamente aplicável a várias tecnologias”.

A framework agnóstica, descrita no demo paper Polyglot Code Smell Detection for Infrastructure as Code with GLITCH, foi apresentada na 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023), uma conferência de core A*, que decorreu no início de setembro, no Luxemburgo, e é considerada um dos eventos de topo da área de engenharia de software.

Atualmente, a solução suporta smells de segurança — como é o caso de passwords no código — e smells de desenho e implementação — como o uso excessivo de variáveis ou de linhas de código muito longas no programa — em scripts escritos em Ansible, Chef, Docker, Puppet ou Terraform.

A investigadora do INESC TEC mencionada na notícia tem vínculo ao INESC TEC e à UP-FEUP.

PHP Code Snippets Powered By : XYZScripts.com
EnglishPortugal