29 de maio de 2020

O uso de open-source no desenvolvimento de softwares acelera a inovação. Porém, a prática pode ser um risco para os usuários, de acordo com pesquisadores

aplicativos mobile
plic

Atualmente, 70% dos aplicativos usados ao redor do mundo têm pelo menos uma falha de segurança decorrente do uso de uma biblioteca de código aberto (open-source), de acordo com o relatório anual State of Software Security da Veracode.

Essas bibliotecas, que nada mais são do que repositórios de códigos gratuitos compactados, fornecem “blocos” de código prontos para construção de aplicativos por parte dos desenvolvedores – ou seja, é como se alguém pegasse um texto para escrever com alguns parágrafos já prontos.

E, embora arriscada, a prática se tornou muito comum, como mostra a pesquisa da Veracode.

A análise examinou 351.000 bibliotecas externas de 85.000 aplicativos e constatou que as bibliotecas open-source são extremamente comuns. Por exemplo, a maioria dos aplicativos JavaScript contém centenas de bibliotecas de código aberto – algumas possuem mais de 1.000 bibliotecas diferentes combinadas.

Além disso, aplicativos de diferentes idiomas – isto é, de diferentes países – apresenta o mesmo conjunto de bibliotecas centrais.

Aplicativos programados em JavaScript e PHP, em particular, têm várias bibliotecas principais que aparecem em praticamente todos eles, de acordo com o relatório.

O problema é que essas bibliotecas, como alguns softwares, apresentam bugs. E aí, graças à reutilização do código, um único bug pode afetar centenas de aplicativos.

Os riscos do uso de open-source

“Utilizadas em quase todos os aplicativos atuais, as bibliotecas de código aberto permitem que os desenvolvedores acelerem seu trabalho, adicionando mais rapidamente funcionalidades básicas”, diz o relatório.

E, de fato, seria quase impossível inovar sem essas bibliotecas. No entanto, a falta de conscientização sobre onde e como esse recurso está sendo aplicado, bem como seus fatores de risco, é um problema que pode ter consequências severas.

Afinal, como bem sabemos, bugs são vulnerabilidades que podem ser exploradas por agentes maliciosos, resultando em ciberataques.

As principais falhas e vulnerabilidades em códigos open-source

Quatro bibliotecas são responsáveis pela maioria dos erros de código aberto encontrados nos aplicativos: Swift, .NET, Go e PHP.

O Swift é especialmente utilizado no ecossistema da Apple e possui a maior densidade de falhas, de acordo com a Veracode. No entanto, também possui uma baixa porcentagem geral de bibliotecas defeituosas em termos de volume.

Enquanto isso, o .NET tem a menor porcentagem de bibliotecas defeituosas dentre as quatro, em uma população que é 17 vezes maior que a Swift.

Já o Go tem uma alta porcentagem de bibliotecas com falhas, mas um número geral baixo de falhas por biblioteca individual.

Por fim, o PHP tem taxa mais alta de bibliotecas defeituosas do que o Go, além do dobro da densidade de falhas em uma determinada biblioteca.

Fonte: Veracode

A empresa também descobriu que o XSS (cross-site scripting) é a categoria de vulnerabilidade mais comum encontrada nas bibliotecas de open-source, estando presente em 30% delas.

O XSS é seguido pela desserialização insegura (23,5%) e pelo controle de acesso interrompido (20,3%).

Ter uma classificação tão alta de desserialização insegura nessas bibliotecas é preocupante, de acordo com a Veracode, pois essa categoria de falhas pode resultar na execução de caminhos de código inesperados. Isso que significa que as partes das bibliotecas que desenvolvedores não pretendem usar, inicialmente, podem ser inseridas no caminho de execução de hospedagem dos aplicativos por meio dessa falha.

Os dados também mostraram que a maioria das bibliotecas defeituosas acaba no código indiretamente – graças às interdependências em cascata.

Por exemplo: os desenvolvedores podem usar uma biblioteca que, sem o conhecimento deles, extraiu parte de seu código de uma biblioteca de código-fonte totalmente diferente para sustentá-lo, “e uma coisa puxa a outra”.

“Quarenta e sete por cento das bibliotecas defeituosas nos aplicativos são transitivas – em outras palavras, elas não são atraídas diretamente pelos desenvolvedores, mas sim pela primeira biblioteca (a biblioteca-fonte). Na verdade, apenas 42% são atraídas diretamente. Isso significa que os desenvolvedores estão introduzindo muito mais código, e com frequência código defeituoso, do que o antecipado.”

Qual é o alerta?

A boa notícia é que não se trata de um problema complicado de se corrigir.

“A maioria das falhas introduzidas na biblioteca (quase 75%) pode ser solucionada com apenas uma pequena atualização de versão”, encerra o relatório da Veracode.

Além disso, práticas de prevenção habituais, como uso de patches, seleção cuidadosa de aplicativos e proteção contra vírus e outros recursos que possam impedir a exploração desses bugs para fins maliciosos são fundamentais.

Nas redes da Compugraf, nossos especialistas em segurança compartilham diversas dicas de prevenção, bem como as notícias mais relevantes para você se manter por dentro das principais vulnerabilidades exploradas atualmente!

Gostou deste conteúdo? Compartilhe com seus colegas!

Compugraf

Especialista em segurança de dados e certificada por parceiros reconhecidos mundialmente, a Compugraf está pronta para proteger sua empresa na era digital.

O que procura?