Carta da Equipe de Combate à Trapaça sobre programas proibidos

E aí, jogadores do PUBG?

Como parte do nosso compromisso em manter todo mundo atualizado quanto às nossas soluções contra trapaça, queremos falar um pouco do que fizemos nos últimos meses. Trabalhamos em várias soluções e, apesar de não podermos entrar em detalhes — o que poderia até prejudicar nosso progresso —, queremos abordar certos assuntos, mostrar a que ponto chegamos e aonde pretendemos chegar.

  • Reforço dos pontos técnicos
  • Melhoria das soluções contra trapaça
  • Melhoria da detecção de programas proibidos
  • Abordagem de vulnerabilidades no Steam
  • Aumento das medidas legais

Reforço dos pontos técnicos

Sofremos ataques dos mais diversos softwares de trapaça desde que lançamos o PUBG. Sempre trabalhamos para solucionar cada problema, adicionando medidas de segurança para melhorar nossa eficiência e combater os ataques, mas a batalha nunca termina. Nesse primeiro ponto, vamos falar um pouco de como os programas de trapaça costumam funcionar em geral e das medidas técnicas que tomamos.

 

  • Quando o computador executa um programa de trapaça (exe) e o jogo (exe), ele envia os dados importantes dos dois para a memória RAM do sistema ao mesmo tempo.
  • O jogo ativa uma proteção do próprio processo ou um software contra trapaça de terceiros.
    • Isso funciona como uma fase preliminar de proteção para impedir que outros processos acessem o processo do jogo.
  • O programa de trapaça tenta neutralizar a tecnologia protetora do Passo 2, obtendo acesso à memória do processo do jogo.
    • A capacidade de acessar a memória possibilita alterar as informações contidas no processo.
    • Os métodos mais conhecidos para tal são DKOM (Manipulação Direta de Objeto de Kernel), Process Hollowing (Esvaziamento de Processo) e SSDT hooking (enganchamento de SSDT).
  • O programa de trapaça capaz de acessar a memória do processo do jogo pode coletar diversos dados e modificá-los ou copiá-los para proporcionar recursos ilegais inacessíveis no jogo convencional. A técnica mais convencional é a injeção de DLL e a injeção de código.
    • Injeção de DLL: injeta o arquivo DLL em um certo processo. Usa a API LoadLibrary() do Windows.
    • Injeção de código: injeta uma execução no processo-alvo. Usa a CreateRemoteThread() do Windows.
  • O programa se torna capaz de ler, falsificar e modificar espaço em memória obtido para proporcionar recursos inacessíveis.

A injeção de DLL é o método de hackeamento mais antigo e mais usado: funciona inserindo à força um arquivo DLL específico no processo do jogo. Quando dá certo, o código do DLL ganha a confiança do jogo, como se fosse parte do código original. Ou seja, o processo do jogo se torna modificável ao invasor, que aproveita o DLL para entrar no jogo e sabotar os dados.

Nossa maior prioridade é bloquear ataques de injeção de DLL. No começo do desenvolvimento do PUBG, também tínhamos problemas de compatibilidade com o Steam e o Discord, porque o programa enxergava ambos como potenciais injetores de DLL e interpretava os DLLs como código malicioso.

Ataques ao driver de kernel são outro tipo de invasão que enfrentamos. Um driver de kernel é um arquivo necessário para a comunicação entre peças de hardware, surgindo com um processo que opera sob certa autoridade. Como o driver é capaz de suplantar boa parte das soluções contra trapaça e roda a um nível de autoridade superior à do usuário convencional, ele é bem mais difícil de detectar.

Além disso, apesar do Windows bloquear drivers de kernel não autorizados por conta própria, certos drivers ilegais são vendidos como se fossem autorizados, aproveitando brechas de defesa e certificados falsificados.

Seria possível nos defendermos desse tipo de ataque do mesmo jeito que impedimos injeções de DLL, mas não seria muito eficaz, pois novas vulnerabilidades do Windows surgem a todo momento e grande parte das soluções contra trapaça se aproveitam de métodos similares aos do código malicioso, dificultando a diferenciação dos dois. A equipe de combate à trapaça, portanto, se concentra em proteger a área da memória, visada por potenciais invasores, priorizando o uso de criptografia para defender o jogo de ataques via drivers de kernel e fazendo o melhor para aplicar o método ao máximo de áreas possível.

Também estamos criptografando o protocolo de comunicação entre o cliente e o servidor e reverificando o valor do resultado do cliente para fortalecer várias das nossas respostas técnicas, de modo a ficarmos sempre à frente em nossa luta contra os programas de trapaça.

Melhoria das soluções contra trapaça

Além de empregar a proteção técnica explicada acima, o PUBG também aproveita soluções externas para proteger a área do processo do jogo. Conforme já anunciamos por meio de comunicados à imprensa e outros, usamos no momento duas soluções: BattlEye e Uncheater. Ambas tanto protegem a área do processo quanto detectam diversas tentativas de neutralizar as soluções contra trapaça.

Além dessas soluções protetoras, também aplicamos uma técnica de aprendizado artificial que analisa os padrões de uso dos nossos jogadores para construir um sistema que detecta comportamentos suspeitos ou ações de trapaceiros que interrompem a operação normal do jogo. Para elaborar os sistemas que nos ajudaram a deixar o PUBG mais seguro, contamos com a colaboração de várias empresas experientes de soluções contra trapaças e também dispusemos da ajuda de diversos engenheiros de primeira categoria.

Vamos continuar essa parceria com mais empresas para estudar as técnicas de ataque mais recentes e desenvolver tecnologias que impeçam-nas de funcionar.

Melhoria da detecção de programas proibidos

Mesmo com as diversas proteções que instalamos, é virtualmente impossível bloquear todos os programas proibidos. Quanto aos que tentam contornar nossas defesas, estamos tentando detectar o uso deles no jogo e bloqueá-los de imediato.

A equipe de combate à trapaça analisa todos os dias uma média de cerca de 3 TB de registros de jogo, 60 ou mais tipos de registros de trapaça e mais de 10 milhões de relatórios. Nesse mar de informação, detectamos usuários com comportamentos anormais e, após um período de verificação, banimos as contas infratoras. Além disso, atualizamos periodicamente os padrões de programas proibidos para garantir que os anteriormente bloqueados não voltem modificados para tentar agir de novo.

Ao mesmo tempo, também tentamos melhorar os métodos que usamos para informar os usuários de atualizações nesse sentido, por exemplo, com o sistema de feedback a denúncias que implementamos dia 23 de agosto. Desde então, já enviamos mais de 100 milhões de relatórios. 83% dos usuários que foram denunciados várias vezes em uma só sessão acabaram banidos em caráter permanente. Queremos que todos saibam que todas as denúncias ajudam a tornar o PUBG uma arena mais justa.

Confiram abaixo os dados do feedback de denúncias de 23 de agosto a 30 de novembro.

Já falando de banimento de hardware, começamos a banir plataformas em 19 de novembro. É um método de banimento bem delicado, então tomamos precauções para não prejudicar computadores públicos ou de lan houses. Escolhemos bem quais máquinas serão banidas para não acabarmos punindo computadores inocentes. Quando banimos um hardware, a imagem da captura de tela abaixo aparece para o jogador e a plataforma torna-se incapaz de rodar o PUBG. Além disso, também começamos a banir mouses que usam macros. Queremos expandir o esforço para todos os dispositivos e evitar a vantagem injusta proporcionada por macros.

No momento, contamos com mais de 100 pessoas monitorando os pontos de vendas desses programas de hackeamento (sites, bate-papos, canais no Discord etc.) em todo o mundo, 24 horas por dia, 7 dias por semana. Também monitoramos comunidades de troca de informações sobre tais ferramentas maliciosas para detectar e neutralizar assim que possível elementos que ameacem a segurança do PUBG.

Nosso objetivo final é intensificar ações preventivas para que os trapaceiros não possam continuar ativos no jogo.

Também adicionamos recentemente uma mensagem de sistema para enviar alertas em tempo real a jogadores caso alguém da mesma sessão seja banido. Sempre que detectamos um padrão anormal de jogo em tempo real ou confirmamos a presença de um trapaceiro em meio a uma partida, banimos a conta durante o jogo e anunciamos o banimento para todos os jogadores no registro de mortes.

Abordagem de vulnerabilidades no Steam

Além dos métodos aplicados ao jogo, também ajudamos a consertar vulnerabilidades das plataformas externas. Como todos sabem, o PUBG usa a plataforma Steam. Já presenciamos casos em que trapaceiros aproveitaram certas brechas na plataforma para obter ganho ilícito, de modo que colaboramos com o Steam para neutralizar as vulnerabilidades e garantir que os usuários de programas ilegais fossem devidamente punidos. Abaixo listamos alguns casos passados reais:

  • Aproveitamento de uma brecha no sistema do Modo Família do Steam para contornar restrições da plataforma e do PUBG.
    • Se uma conta que tiver comprado o PUBG usar o Modo Família para compartilhar o jogo com outra conta que não o comprou, a conta com a qual o jogo foi compartilhado não poderá mais jogar.
  • Alteração do tempo de jogo no Steam a fim de atingir os critérios mínimos de reembolso da plataforma, possibilitando o estorno mesmo após muitas horas jogadas — ou seja, isso permitia jogar de graça.
    • Trabalhamos com a Valve (proprietária da plataforma) para reforçar o método de cálculo do tempo de jogo do PUBG no Steam e os critérios de reembolso de modo a impedir novos casos.
  • Uso de contas banidas no servidor de jogo para acessar o servidor de teste e trapacear, aproveitando o fato de que ambos os servidores são ambientes separados graças à estrutura da plataforma do Steam.
    • Alteramos o sistema para que os registros de banimento sejam conferidos em todos os servidores. Os registros agora são os mesmos para o servidor de teste, o servidor de jogo e demais servidores possíveis, de modo que um jogador banido não possa jogar em outros servidores.

Estamos sempre melhorando o sistema por meio de uma cooperação com o Steam contra esses tipos de abuso de vulnerabilidades da plataforma.

Aumento das medidas legais

É importante bloquear a ação dos programas que prejudicam o ambiente de jogo, mas também precisamos nos concentrar em deter aqueles que desenvolvem, promovem e vendem esses mesmos programas. Para impedir a proliferação de softwares maliciosos, trabalhamos com forças da lei e escritórios internacionais, tomando providências domésticas e globais. Veja abaixo o resultado das ações que empreendemos em 2018, além do resultado de uma cooperação próxima com a Tencent na China.

  • 41 presos em Lianyungang, na China, em janeiro de 2018
  • 3 presos em Huai’an, na China, em fevereiro de 2018
  • 11 presos em Xiangyang, na China, em fevereiro de 2018
  • 141 presos em Nanjing, na China, em abril de 2018
  • 1 preso em Huai’an, na China, em abril de 2018
  • 6 presos pela Polícia Metropolitana de Daejeon, na Coreia, em agosto de 2018
  • 1 preso em Wenzhou, na China, em setembro de 2018
  • 3 presos em Tangshan, na China, em outubro de 2018
  • 34 presos em Wenzhou, na China, em outubro de 2018
  • 11 presos pela Delegacia de Polícia de Yangcheon, na Coreia, em outubro de 2018

Além dos resultados listados acima, estamos investigando vendas de programas ilegais com a Agência de Polícia Nacional da Coreia e com escritórios de advocacia e de proteção ao copyright — e também nos esforçamos para rastrear os próprios desenvolvedores envolvidos. Vamos manter todo mundo informado conforme novos resultados forem surgindo.

Conclusão

Cada partida do PUBG envolve 100 usuários tentando superar grandes desafios. Sabemos que mesmo uma pessoa trapaceando pode prejudicar a diversão de forma marcante para muita gente, então fazemos o possível para manter o nosso jogo ainda mais seguro do que outros.

Vamos continuar a nos dedicar a essa tarefa. Apesar de termos compartilhado hoje apenas os estágios iniciais da nossa batalha, não vamos parar de pesquisar e desenvolver novas tecnologias contra trapaça para eliminar o máximo de programas ilegais possível e deter os desenvolvedores envolvidos.

Apreciamos a paciência e a confiança de todos vocês e queremos fazer tudo ao nosso alcance para retribuí-las. Agradecemos pelo apoio e pelas denúncias!

 

— Equipe de Combate à Trapaça do PUBG

Discuta este artigo
Compartilhar este artigo