A comunidade responsável pelo famoso emulador de jogos antigos RetroArch sofreu um grave ataque hacker. Os repositórios Libretro foram hackeados e arquivos foram corrompidos. Além do RetroArch, o Libretro também desenvolve a distro Lakka.
Nele, eles relatam que os invasores conseguiram obter acesso ao buildbot e aos repositórios no GitHub. Também no GitHub, os invasores tiveram acesso a todos os repositórios da organização Libretro. Eles usaram a conta de um dos participantes de confiança do projeto.
Contudo, os responsáveis pelo Libretro garantem que a ação dos cibercriminosos se limitou ao vandalismo. Eles tentaram apagar o conteúdo dos repositórios colocando um commit inicial vazio.
Repositórios Libretro foram hackeados e arquivos foram corrompidos
O ataque apagou todos os repositórios apresentados em três das nove listas de repositórios do Libretro Github.
O hacker causou os seguintes danos:
- Ele acessou nosso servidor buildbot e interrompeu os serviços night/stable buildbot e o serviço netplay lobby. No momento, o Core Updater não funcionará. Os sites para estes também se tornaram inacessíveis por enquanto
- Ele obteve acesso à nossa organização Libretro no Github se passando por um membro da equipe muito confiável e forçou um commit inicial em branco com uma boa porcentagem de nossos repositórios, efetivamente excluindo-os. Ele conseguiu danificar 3 das 9 páginas dos repositórios. RetroArch e tudo o que o precede na página 3 foi deixado intacto antes de o acesso ser reduzido.
Ainda estamos esperando por algum tipo de resposta ou suporte do Github. Esperamos que você possa nos ajudar a restaurar alguns desses repositórios Github destruídos para seu estado correto e também nos ajudar a ter a identidade do invasor.
Nem tudo está perdido
Felizmente, os desenvolvedores bloquearam a tentativa antes que os invasores chegassem ao repositório de chaves do RetroArch.
Quanto ao servidor de compilação, os atacantes danificaram os serviços que geram as compilações de teste e estáveis, bem como os responsáveis pela organização dos jogos em rede (lobby netplay).
Não houve tentativas de substituir alguns arquivos ou fazer alterações nas compilações do RetroArch e nos pacotes principais.
Atualmente, o trabalho do Core Installer, Core Updater e Netplay Lobbie, bem como os sites e serviços relacionados a esses componentes (Update Assets, Update Overlays, Update Shaders) está quebrado.
Ainda estamos avaliando a situação, mas daqui para frente, achamos que provavelmente é melhor não prosseguir com o servidor buildbot. Tínhamos alguns planos de migração de longo prazo para a mudança para um novo servidor, mas isso sempre atrasava porque achávamos que não estávamos prontos para a migração.
Faltou dinheiro pro backup
O principal problema que o projeto enfrentou após o incidente foi a falta de um processo de backup automatizado. O último backup do servidor buildbot foi feito há alguns meses. Os desenvolvedores explicaram que falou dinheiro para o sistema de backup automático. Segundo eles, o orçamento está limitado à manutenção da infraestrutura.
Os desenvolvedores não pretendem restaurar o servidor antigo. Entretanto, devem lançar um novo em breve. Nesse caso, compilações para sistemas como Linux, Windows e Android serão executadas imediatamente. Contudo, ainda vai demorar algum tempo para restaurar compilações para sistemas especializados, como consoles de jogos e compilações MSVC mais antigas.
Isso significaria que as compilações mais comuns para Linux, Windows e Android estariam disponíveis imediatamente, mas todos os sistemas especializados como consoles, compilações MSVC antigas e tudo isso teriam que esperar mais até que tenhamos adaptado com sucesso ao novo sistema.
O GitHub deve ajudar a restaurar o conteúdo dos repositórios limpos e identificar o invasor. Até agora, sabe-se apenas que o hack ocorreu a partir do endereço IP 54.167.104.253. Isso significa que o invasor provavelmente estava usando um servidor virtual AWS comprometido como um ponto intermediário.
Se quiser saber mais sobre o assunto, pode consultar a nota no link a seguir.