banner senha segura
senhasegura
source-code-583537_1280-e1607022104452.jpg

Falha em software de código aberto leva mais de 4 anos para ser detectada

GitHub aponta que a maioria das vulnerabilidades em software livre é causada por erros, não por ataques maliciosos
Da Redação
03/12/2020
Compartilhar no linkedin
Compartilhar no email
Compartilhar no whatsapp
Compartilhar no facebook
Compartilhar no twitter
Compartilhar no pinterest

As vulnerabilidades de segurança em software de código aberto geralmente levam mais de quatro anos para serem detectadas e divulgadas, de acordo com um estudo do GitHub, plataforma adquirida pela Microsoft há pouco mais de dois anos usada por desenvolvedores para hospedar códigos-fonte e arquivos.

A descoberta consta do relatório anual “State of the Octoverse”, do GitHub, para o qual foram analisados mais de 45 mil diretórios de código ativos com o intuito de obter informações sobre a segurança/vulnerabilidades em softwares de código aberto e as práticas dos desenvolvedores em relação a emissão de alertas e correção das falhas.

A vulnerabilidade é um problema no código de um projeto de software que pode ser explorado para danificar a confidencialidade, integridade ou disponibilidade deste ou de outros que usam seu código. As vulnerabilidades variam em tipo, gravidade e método de ataque. Depois de examinar um ano de dados coletados, por meio de seu gráfico de dependência, o levantamento descobriu que a maioria dos projetos no GitHub tem pelo menos uma dependência de código aberto.

O GitHub disponibiliza uma série de recursos que incluem alertas de segurança — baseados nos anteriores —, e um gráfico de dependência, que permite ao desenvolver listar todas as dependências para o seu repositório. Repositório é o local onde os componentes de um software é armazenado.

A análise do GitHub descobriu que a porcentagem é mais alta de vulnerabilidades é daqueles projetos de software que usam JavaScript (94%), Ruby (90%) e .NET (90%). A métrica usada pelo GitHub para avaliar os projetos de software é número de dependências diretas medianas, ou seja, a quantidade de linhas de código produzidas e o total de defeitos registrados durante um determinado período, entre outras.

Veja isso
Ataques a software de supply chain de código aberto aumentam 430%
DevOps: Violações se dão através de componentes de código aberto

O GitHub descobriu que os projetos JavaScript e Rudy apresentam o maior número de dependências diretas medianas (10 e 9, respectivamente, de uma escala de zero a 10), enquanto o JavaScript tem de longe o maior número de dependências transitivas medianas — ou seja, suas dependências diretas têm dependências adicionais.

Outra descoberta interessante é que a maioria das vulnerabilidades em software de código aberto é causada por erros, não por ataques maliciosos. “A análise de uma amostra aleatória de 521 alertas de nossos seis ecossistemas descobriu que 17% dos alertas estão relacionados a comportamento explicitamente malicioso, como tentativas de instalação de backdoor. Destes 17%, vem do ecossistema NPM (Node Package Manager), o gerenciador de pacotes padrão do Node.js. em tempo de execução do JavaScript”, diz o relatório.

O indicador mais flagrante de uma backdoor (porta dos fundos) é um invasor obtendo acesso de confirmação ao repositório de código-fonte de um pacote, geralmente por meio de um sequestro de conta. A última linha de defesa contra essas tentativas é a revisão cuidadosa por pares no pipeline de desenvolvimento, especialmente de mudanças de novos committers, pessoas que têm permissão para modificar o código-fonte de um projeto de software.

“Muitos projetos maduros contam com essa cuidadosa revisão por pares. Os invasores estão cientes disso, então muitas vezes tentam subverter o software fora do controle de versão em seus pontos de distribuição ou enganando as pessoas para obter versões maliciosas do código, por exemplo, digitando um nome de pacote”, acrescenta o documento.

“Não que as vulnerabilidades introduzidas por engano não possam ser tão perturbadoras quanto um ataque malicioso — elas podem, e são muito mais propensas a impactar projetos populares”, observa o GitHub. Adicione a isso a descoberta de que uma vulnerabilidade normalmente não é detectada por mais de quatro anos e você verá como os problemas podem surgir.

Compartilhar:

Compartilhar no linkedin
Compartilhar no email
Compartilhar no whatsapp
Compartilhar no facebook
Compartilhar no twitter
Compartilhar no pinterest

Inscrição na lista CISO Advisor

* campo obrigatório