Os mods de jogo podem criar vulnerabilidades de transbordamento de buffer?
-
21-12-2019 - |
Pergunta
Eu não costumo postar em fóruns porque normalmente posso encontrar qualquer resposta que eu precise usar o Google. No entanto, toda pesquisa que eu estou funcionando está me dando resultados muito específicos, como as vulnerabilidades de transbordamento do buffer que já existem para um jogo ou sistema específico que não é o que eu preciso.
Eu tenho uma rede doméstica, incluindo o Windows Server 2008 R2 e meu filho quer começar um servidor Minecraft, que é claro que quero dar-lhe acesso total para que ele possa aprender. No entanto, eu sei que cada jogo é "moddável" e ele usa mapas personalizados e como em muitos de seus jogos.
Minha preocupação é que eu vou criar riscos de segurança na minha rede com base na programação inexperiente. Vai lhe dar a capacidade de instalar e criar mods no meu servidor potencialmente abrir vulnerabilidades (fora das portas de minecraft abertas) devido à inexperiência possível de pessoas que realmente escrevem os mods? Ou os mods simplesmente não funcionam dessa maneira e não consigo encontrar uma resposta para minha pergunta porque é retardado e ninguém realmente programas um mod lol?
Solução
Depende da maneira como o sistema MOD funciona para o jogo, e se o jogo em si é sandboxed. Importante, nenhum software é perfeitamente seguro. Você tem que decidir qual nível de segurança e confiabilidade você está feliz.
Existem várias maneiras pelas quais um mod pode expor uma vulnerabilidade:
- .
- O jogo pode permitir o acesso mod a um conjunto de ações inadequadamente permissivo, como o acesso ao sistema de arquivos. Isso pode incluir o desenvolvedor não sandboxing o mod corretamente.
- O mod pode explorar uma vulnerabilidade na API do jogo para acessar ações que o desenvolvedor do jogo não pretendia. Isso seria devido a um bug na API.
- O mod pode explorar uma vulnerabilidade no mecanismo de idioma (por exemplo, Java tem uma longa história de vulnerabilidades de segurança).
- O próprio mod pode ser vulnerável ao ataque e poderia ser feito para lançar um dos ataques acima.
Se o sistema MOD for baseado em script ou VM, como Lua, JavaScript ou Java, eu me sentiria relativamente Safe Installing Mods (desde que o jogo tenha uma API / Sandbox bem implementada), Porque as explorações 2-4 são relativamente improváveis.
(minha compreensão de nativo mods / plugins é limitada, mas tenho certeza de que você deve confiar em um mod nativo se quiser executá-lo. Mesmo que você faça, ainda pode ser explorável.)
Minha compreensão dos mods Minecraft é que eles estão escritos em Java. Meu sentimento sobre os caras de Mojang é que eles sabem o que estão fazendo, então ficaria surpreso se a sua API mod não é excepcionalmente bem desenhada e implementada. Tendo dito isso, instalar mods necessariamente introduz um risco de segurança.
Se este risco for inaceitável, você poderá reduzi-lo, introduzindo a profundidade ao sistema. Por que não, digamos, execute seu servidor Minecraft em uma máquina virtual, com acesso limitado à rede (apenas as portas necessárias, por exemplo)? Dessa forma, o impacto das vulnerabilidades é reduzido muito.
Eu recomendo criar um Ubuntu VM na Virtualbox (porque eles são gratuitos como na cerveja), mas você poderia instalá-lo em qualquer sistema operacional.
Outras dicas
As vulnerabilidades superficiais do buffer estão associadas a linguagens de programação que permitem acesso à memória desmarcada.Minecraft é escrito em Java, uma linguagem que não é suscetível a overruns de amortecedor, portanto, um mod de java puro seria muito improvável exibir qualquer coisa que se assemelhe a esse tipo de vulnerabilidade.
Naturalmente, os programas em Java ainda podem ser vulneráveis a outros tipos de problemas de segurança, seja contra o próprio jogo (por exemplo, houve explorações de login da conta de jogo contra servidores Minecraft) ou contra o servidor (não estou ciente de qualquercasos disso para minecraft, mas é sempre possível).As mitigações usuais para executar servidores se aplicam, por exemplo, bloquear o acesso à rede ao bom IPS, se possível, executar o servidor como usuário limitado e assim por diante.