DevSecOps

15 mar, 2017

Estudo mostra que web está cheia de bibliotecas JavaScript desatualizadas e vulneráveis

Publicidade

Um estudo recente, realizado pelo grupo de pesquisa da Northeastern University, descobriu que, de uma amostra com 133 mil sites, 37% deles têm pelo menos uma biblioteca JavaScript com vulnerabilidade de segurança, e quase 10% têm pelo menos duas.

Entre os 75 mil sites mais populares do mundo, segundo o ranking do Alexa, o jQuery é a biblioteca mais comum, com 84,5% de participação nas páginas. Desse total, 36,7% usam uma versão vulnerável. No Angular, esse índice é de 40,1%; com Handlebars, ele salta para 86,6% e, com YUI, chega a 87,3%. De acordo com o levantamento, 26% dos top 500 sites do Alexa utilizam bibliotecas vulneráveis.

[awprm urls=https://imasters.com.br/noticia/disponibilidade-geral-das-apis-visio-javascript-e-anunciada/,https://imasters.com.br/front-end/javascript/processamento-de-imagens-em-javascript/]

Os pesquisadores construíram um catálogo de todas as versões de 72 bibliotecas de código aberto populares e identificaram quais eram usadas pelos sites analisados. Além disso, eles criaram uma extensão do Chrome para criar a árvore de causalidade de um site, útil para mostrar por que uma determinada biblioteca foi importada. O estudo analisou mais de 133 mil sites, incluindo os top 75 mil do Alexa e outros 75 mil, escolhidos aleatoriamente a partir do domínio. Essa seleção ajudou a comparar sites de alto tráfego com outros menos populares, mas que registraram resultados substancialmente semelhantes.

Outras descobertas do estudo incluem:

  • Os sites tendem a usar versões desatualizadas de bibliotecas de terceiros, com o intervalo mediano entre a versão usada de uma biblioteca e a mais recente sendo 1.177 dias (mais de três anos) no Alexa.
  • Muitas vezes, a inclusão de bibliotecas vulneráveis se deve a componentes externos, como propaganda, rastreamento ou widgets de mídia social.
  • Um fator de risco adicional vem de inclusões duplicadas de uma biblioteca, que pode dar lugar a um comportamento não determinista em relação à vulnerabilidade.

A pesquisa conclui que esse estado de coisas não é fácil de remediar, devido à falta de correções de segurança compatíveis com versões anteriores para bibliotecas populares e ao modo como o ecossistema JavaScript está organizado – sem bases de dados de vulnerabilidades confiáveis, sem segurança em listas de e-mail mantidas por fornecedores de bibliotecas, poucos detalhes sobre problemas de segurança em release notes e, muitas vezes, é difícil determinar quais versões de uma biblioteca são afetadas por uma vulnerabilidade específica relatada.

Ainda assim, para o site InfoQ, esse estudo parece ser o primeiro passo na direção certa e vale a pena ser lido por todos os desenvolvedores interessados no desenvolvimento do JavaScript.