Recentemente, nós reportamos uma vulnerabilidade do Git em um de nossos post’s. E em tão pouco tempo, temos que relatar mais uma vulnerabilidade e desta vez com o GitHub Codespaces.
Os pesquisadores da Trend Micro demonstraram recentemente que malwares e scripts maliciosos podem ser hospedados e distribuídos dentro dos GitHub Codespaces por atores maliciosos usando a funcionalidade de encaminhamento de portas.
O GitHub Codespaces permite aos desenvolvedores configurar rapidamente um espaço de trabalho e iniciar a codificação em minutos em um navegador web, sem ter que se preocupar com a montagem, configuração e dependências.
Isto torna muito mais fácil e rápido iniciar um projeto, e também reduz a necessidade de os desenvolvedores alternarem entre diferentes ambientes de desenvolvimento.
Servidor Malware hospedado em GitHub Codespaces
O GitHub Codespaces fornece aos programadores ambientes de desenvolvimento hospedados em nuvem, que são facilmente acessíveis e podem ser rapidamente configurados.
ADS
Isto os torna um alvo atraente para os atores maliciosos que podem usá-los para configurar rapidamente servidores web maliciosos que podem ser usados para distribuir malware ou outros conteúdos maliciosos sem serem detectados.
Neste cenário, os pesquisadores mostraram que, configurando um espaço de códigos para atuar como servidor web, um atacante poderia usá-lo potencialmente para servir arquivos ou links maliciosos que seriam difíceis de serem detectados pelos sistemas de segurança porque o tráfego pareceria vir de uma fonte legítima.
O GitHub Codespaces permite aos desenvolvedores criar e gerenciar ambientes de desenvolvimento na nuvem diretamente da plataforma GitHub. Uma das principais características do Codespaces é a capacidade dos desenvolvedores de encaminhar as portas TCP para a Internet pública.
Isto significa que os desenvolvedores podem disponibilizar suas aplicações em execução no codespaces para usuários externos, encaminhando uma porta específica do codespaces para a Internet pública.
Isto é útil para criar um ambiente para testar códigos, assim como para tornar as aplicações acessíveis a outros. Ao configurar a porta como privada, a URL pode ser compartilhada com pessoas específicas, enquanto as portas públicas são acessíveis a qualquer pessoa com a URL.
A principal diferença entre um porta privada e uma porta pública é a segurança proporcionada pela exigência de autenticação. Um encaminhamento de porta privada é muito mais seguro porque restringe o acesso àqueles que possuem o token ou cookies, enquanto um encaminhamento de porta pública está aberto a qualquer pessoa que conheça o URL.
As seguintes, são ações possíveis que um atacante poderia teoricamente realizar:
- Executar um servidor web Python simples.
- Colocar scripts maliciosos ou malware em seu codespaces
- Abrir uma porta de servidor web em seu VM
- Dar-lhe visibilidade “pública.
Os desenvolvedores têm a opção de definir o sistema de encaminhamento de porta de codespaces para HTTPS ao invés de HTTP por padrão. Isto dá a ilusão de que a URL é segura para os hackers.
A natureza segura do GitHub permite que os atores da ameaça escapem à deteção a um custo mínimo, uma vez que as ferramentas antivírus têm menos probabilidades de levantar alarmes porque o GitHub é um espaço de confiança.
Aumentando a intensidade do ataque
Segundo os analistas da Trend Micro, é também possível aos melhorar as suas operações de distribuição de malware utilizando os Dev Containers dentro dos GitHub Codespaces.
Esta ferramenta está disponível para que os programadores apliquem rapidamente, partilhem com outros, e se liguem a um sistema VCS. Há uma série de coisas que um atacante pode fazer com um script, incluindo o seguinte:
- Encaminhar uma porta
- Executar um servidor HTTP Python
- Descarregar ficheiros maliciosos dentro do seu Codespaces
Agora um servidor web com um diretório aberto contendo arquivos maliciosos é criado quando a visibilidade da porta é definida para o público.
Um atacante pode usar a mesma URL durante um mês inteiro porque a política do GitHub é excluir automaticamente os espaços de códigos inativos após 30 dias. Entretanto, em resposta aos relatórios de vulnerabilidades de segurança, GitHub se compromete a investigá-los.
A empresa está ciente deste relatório e planeja adicionar uma solicitação aos usuários quando se conectar a um espaço de códigos que lhes peça para confirmar que têm confiança no proprietário.
De acordo com o site do GitHub, eles têm mais de 94 milhões de desenvolvedores, incluindo empresas como DuoLingo, Vanta e o próprio GitHub . E hoje, cada desenvolvedor pode criar pelo menos duas instâncias de codespace gratuitamente. Considerando esta plataforma popular e o potencial uso extensivo de codespaces para facilitar a construção, os desenvolvedores são fortemente aconselhados a proteger adequadamente seus respetivos projetos aplicando modelagem e teste de ameaças.
ADS
Recomendações
Aqui estão algumas das melhores práticas de segurança que as equipes de TI e segurança podem implementar para evitar que futuras ameaças abusem desta plataforma.
- Usar códigos-fontes confiáveis sempre que possível, tais como extensões VSCode e repositórios GitHub.
- Para que os desenvolvedores possam trabalhar corretamente com código não confiável, eles devem estar cientes do repositório em que estão trabalhando e ter cuidado ao fazê-lo.
- A configuração do Devcontainer é baseada no uso de imagens de contêineres, que devem ser reconhecidas e mantidas de acordo com os requisitos.
- Para GitHub, você deve sempre usar senhas fortes e únicas.
- Adicionar a autenticação de dois fatores à sua conta é uma ótima maneira de aumentar sua segurança.
- Para evitar vazamentos de credenciais, é necessário evitar comprometer segredos e credenciais publicamente.
ADS
Obtenha mais coisas como esta
Inscreva-se em nossa newsletter e receba conteúdos interessantes e atualizações em sua caixa de entrada de e-mail.
Obrigado por se inscrever.
Algo correu mal.