Pular para o conteúdo principal
BlogSegurançaLinode Security Digest 9-15 de maio de 2022

Linode Security Digest 9-15 de maio de 2022

Linode Security Digest

Esta semana, cobriremos algumas vulnerabilidades de alta severidade, uma em Rubygems e outra em Rsyslogs. Também discutiremos a importância de definir práticas de codificação seguras.

Aquisição não autorizada de gemas na Rubygems

Rubygems é um registro de pacotes usado para fornecer software para o ecossistema da linguagem Ruby. Devido a um bug na ação do yank, foi possível para qualquer usuário RubyGems.org remover e substituir certas pedras preciosas, mesmo que esse usuário não estivesse autorizado a fazer isso. 

Para ser vulnerável, uma jóia é necessária: 

  • Um ou mais travessões em seu nome 
  • Uma gema controlada pelo atacante com o nome antes do traço 
  • Criação dentro de 30 dias OU sem atualizações por mais de 100 dias

Mitigação 

De acordo com a equipe Bundler, o uso do Bundler em modo -congelado ou -desenvolvido em integração contínua e durante as implantações garantirá que sua aplicação não mude silenciosamente para versões criadas usando esta exploração. 

Para auditar seu histórico de aplicações para possíveis explorações passadas, revise seu Gemfile.lock e procure por gemas cuja plataforma mudou quando o número da versão não mudou. Por exemplo, a atualização do gemname-3.1.2 para gemname-3.1.2-java poderia indicar um possível abuso desta vulnerabilidade. RubyGems.org foi corrigido e não é mais vulnerável a esta questão.

Fluxo de Buffer em Rsyslogs com base em pilha potencial

O Rsyslog é um sistema rápido para o processamento de toras. Alguns módulos para recepção TCP syslog têm um buffer overflow de pilha quando é usado um enquadramento com octeto. No enquadramento "contado por octetos", cada mensagem é prefixada com o comprimento real da mensagem, de modo que um receptor sabe exatamente onde a mensagem termina. O atacante pode corromper os valores da pilha, levando a problemas de integridade dos dados e impacto da disponibilidade. A execução remota do código é improvável, mas não impossível. As versões 8.2204.0 e inferiores são afetadas por esta vulnerabilidade.

Mitigação

O enquadramento por octetos não é muito comum. Normalmente, ela precisa ser habilitada especificamente nos remetentes. Se os usuários não precisam dele, eles podem desligá-lo para os módulos mais importantes. Isto irá atenuar a vulnerabilidade. Como fazer isso depende do módulo. Consulte aqui os módulos afetados e detalhes de configuração com base nos módulos. O patch está disponível na versão 8.2204.1.

A importância da definição de um código seguro

Codificação segura é a prática de desenvolvedores habilitados que escrevem código livre de vulnerabilidades desde o início do Ciclo de Vida de Desenvolvimento de Software (SDLC). Somente quando esta prática for definida é que a comunidade de desenvolvedores poderá trabalhar em direção a esse objetivo. Secure Code Warrior conduziu a pesquisa O estado da pesquisa de segurança dirigida por desenvolvedores, 2022 em parceria com Evans Data Corp em dezembro de 2021, pesquisando 1.200 desenvolvedores em todo o mundo para compreender as habilidades, percepções e comportamentos quando se trata de práticas de codificação segura, e seu impacto e percepção de relevância no SDLC.

Aqui estão alguns pontos destacados da pesquisa:

  • De 1.200 apenas 14% dos desenvolvedores de software ativos colocam a codificação segura como sua principal prioridade. 
  • 37% dos desenvolvedores na pesquisa relataram deixar vulnerabilidades conhecidas dentro de seu código porque prazos apertados não permitiriam o tempo necessário para consertá-las ou codificá-las adequadamente desde o início.
  • 36% dos entrevistados da pesquisa também disseram que queriam remover vulnerabilidades de seu código, mas não tinham as habilidades ou o conhecimento para fazê-lo. 
  • O problema em muitos casos para os desenvolvedores escreverem códigos seguros é que as organizações para as quais trabalham não identificaram quais são as melhores práticas necessárias para produzir códigos seguros e não colocaram recursos suficientes em treinamento ou para permitir que seus desenvolvedores atinjam esses objetivos. 

Assim, juntamente com a definição adequada do que são práticas seguras de codificação, as organizações também precisam fornecer prazos mais longos dando aos desenvolvedores tempo suficiente para codificar adequadamente e fornecer treinamento prático que os ajude a identificar e corrigir vulnerabilidades de código de forma eficiente.
Você pode obter informações mais detalhadas sobre a pesquisa aqui.


Comentários

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *