Riot requer software anti-cheat no nível do kernel

Os jogadores de League of Legends e Valorant estão a ser forçados a executar software de baixo nível de código fechado.

2024-02-29
Closed Beta Key Art
A Riot continua a promover o seu software anti-cheat Vanguard, exigindo agora que os jogadores de League of Legends instalem um software que é executado no arranque do computador, mesmo quando não estamos a jogar os seus jogos. Será que queremos mesmo tornar a execução de software de código fechado ao nível do kernel a nova norma nos jogos online?

Índice:

  1. Vanguarda: Solução Anti-Cheat da Riot
  2. Vanguarda: O que é e como funciona?
  3. O acesso ao nível do kernel permite um controlo quase total do dispositivo
  4. Em quem podemos confiar?
  5. Quem é a Tencent?

Quando os jogos se tornam cada vez mais competitivos, quando é possível ganhar grandes somas de dinheiro nos desportos electrónicos, a batota não tarda a aparecer. A Riot Games, a empresa por detrás de League of Legends (LoL) e Valorant, introduziu um software anti-batota conhecido como Vanguard. Esta prática não é nova no espaço dos jogos em linha, mas o Vanguard foi alvo de críticas por parte dos jogadores e dos entusiastas da privacidade. O Vanguard corre ao nível do kernel do sistema operativo, o que o coloca entre as aplicações que correm no sistema e o hardware físico. Como se isso não bastasse, uma vez instalado, o software está sempre ativo, independentemente de se estar ou não a jogar um dos jogos online da Riot. Este nível de acesso completo ao sistema, combinado com a aquisição da Riot Games pelo gigante chinês da tecnologia por detrás do WeChat e do QQ, a Tencent, fez soar alguns alarmes. Hoje vamos analisar mais a fundo como funciona o software anti-cheat da Riot e o que a relação da empresa com a Tencent significa para os jogadores que estão preocupados com a sua privacidade e segurança.

Vanguarda: A solução anti-cheat da Riot

O software Vanguard foi apresentado pela primeira vez quando a Riot lançou o jogo de tiro em primeira pessoa em junho de 2020. O software Vanguard foi rapidamente criticado por pesquisadores e jogadores mais preocupados com a segurança devido ao fato de funcionar em um nível muito mais profundo do que outros aplicativos que podem ser instalados no PC de um usuário. O Vanguard é executado numa camada baixa do sistema, conhecida como kernel. O kernel do sistema operativo é o intermediário entre as aplicações de software e os componentes de hardware que constituem o computador. O que quer que seja executado no nível do kernel tem acesso quase irrestrito a tudo o que acontece no seu dispositivo, este é o objetivo dos agentes maliciosos que tentam escrever rootkits no modo kernel. Notoriamente difíceis de remover, os rootkits ao nível do kernel podem iludir o software anti-vírus alterando o sistema operativo ou o próprio AV. Vale a pena perguntar porque é que a League of Legends exige este tipo de acesso para o seu software anti-cheating? Trata-se de um exagero ou de uma prática comum de gestão de direitos digitais (DRM)?

A Sony BMG instalou secretamente software rootkit de proteção DRM nos dispositivos dos utilizadores e registou informações de escuta mesmo que os utilizadores rejeitassem o acordo de licenciamento do utilizador final. A Riot está a tentar desesperadamente evitar esta comparação e emitiu várias declarações no seu sítio Web, adoptando uma abordagem tão transparente quanto possível. O Vanguard foi lançado em código fechado para evitar que os desenvolvedores de trapaças tivessem acesso direto ao código-fonte, mas infelizmente isso também nos nega um vislumbre do que exatamente estamos concedendo acesso a todo o dispositivo.

Software Anti-Cheat: O que é e como funciona?

O Vanguard "consiste num cliente que é executado enquanto VALORANT está ativo, bem como na utilização de um controlador em modo kernel". O cliente Vanguard é iniciado assim que o seu PC é ligado e continuará a ser executado em segundo plano para se certificar de que não detecta quaisquer batoteiros conhecidos que possam conceder uma vantagem injusta no jogo, verificando também as vulnerabilidades do sistema que podem ser exploradas por software de batota. Pode desativar o cliente Vanguard, mas não poderá jogar Valorant ou LoL sem primeiro reiniciar a sua máquina.

O Vanguard é executado de duas maneiras, primeiro ele lança um driver no modo kernel assim que você liga o seu PC. Esse driver procura vulnerabilidades conhecidas em outros drivers e bloqueia qualquer um que possa ser usado para burlar seu cliente anti-cheat no jogo. O cliente anti-cheat é executado enquanto jogas e verifica se estão a ser utilizadas quaisquer fraudes conhecidas. Se o driver do modo kernel não for iniciado quando você inicializar sua máquina ou se você o tiver desativado antes de iniciar um jogo, os servidores da Riot não confiarão no seu dispositivo e você não poderá jogar até que reinicie sua máquina e permita que ambas as partes do software anti-cheat funcionem como projetado. Após a inicialização, o cliente Vanguard será exibido na sua bandeja de notificações para que você sempre saiba quando ele está em execução.

Vanguard must be launched when the machine first boots otherwise you won't be playing any games without a restart.

Se o Vanguard não for iniciado a partir do ponto de arranque da máquina, é necessário reiniciar antes de jogar qualquer jogo.

Ao utilizar esse software anti-cheat de baixo nível, a Riot é capaz de detetar e impedir a trapaça no dispositivo do usuário final que executa o software ilícito antes que ele chegue aos seus servidores. Esta é uma maneira eficiente de combater hacks e programas de trapaça que dão a um jogador uma vantagem sobre outro, como a mira automática. Isto permite impedir de forma bastante eficaz que os hackers dominem completamente os jogos com tácticas e scripts injustos que garantem a sua vitória.

Como o anti-cheat Vanguard funciona ao nível do kernel, pode identificar o hardware específico do seu dispositivo e utilizar esta identificação para bloquear melhor o acesso do seu dispositivo aos jogos, caso seja apanhado a utilizar qualquer software de batota. Deve ser dito que o sistema anti-cheat Vanguard tem sido extremamente bem-sucedido em reduzir a quantidade de trapaça tanto no Valorant quanto no League of Legends, o que leva a uma experiência de jogo mais agradável para aqueles de nós que não estão empregando software de trapaça que quebra o jogo.

Ao executar na camada do kernel, a Riot está tomando o caminho mais baixo.

De acordo com a Riot, executar seu software anti-cheat no nível do kernel é necessário para ter uma chance de combater o uso de software de trapaça.

A visualization of relationship between OS and Kernel layers. Será que o Vanguard da Riot precisa rodar no nível do kernel? É possível manter os jogos justos e evitar trapaças sem comprometer a segurança? Na minha opinião, isso é um passo longe demais.

Ao defender sua escolha de implantar o Vanguard nesse nível, a Riot levanta os seguintes pontos principais:

  1. Os desenvolvedores de software de trapaça já estão lançando trapaças que operam nesse nível. Se a Riot quer combatê-los, tem que fazer isso no nível do kernel.
  2. Muitas outras empresas já estão a usar software semelhante para impedir a batota.
  3. "Alegando que se quisessem roubar dados, como uma receita secreta, já o poderiam fazer no modo de utilizador.

Esta defesa não é nada tranquilizadora. Claro que estão correctos no primeiro ponto, mas os outros dois não vão tranquilizar o jogador cético. Não importa se outras empresas estão a implementar software ao nível do kernel sem revelar o seu código, a prática em si deve suscitar preocupação e não devemos aceitar isto como o novo normal.

O seu terceiro ponto é particularmente preocupante e merece uma discussão mais alargada. Existe uma enorme diferença no privilégio entre o modo de utilizador e o modo kernel. É certo que ambos os modos podem aceder a ficheiros e imagens não encriptados no disco rígido, mas o acesso ao kernel dá um grau de controlo de todo o dispositivo, incluindo hardware e software, que o modo de utilizador não tem.

A abordagem sempre ativa do software anti-cheat da Vanguard os torna únicos.

A Riot não é a única empresa a empregar software anti-cheat a nível do kernel. Há outros jogadores no espaço anti-cheat e dois outros pacotes de software populares que rodam no nível do kernel são o Easy Anti-Cheat e o BattlEye. Semelhante ao Vanguard, esses programas rodam na camada mais baixa das máquinas dos jogadores, mas há uma grande diferença entre os tempos de operação dessas alternativas. Ao contrário da solução da Riot para a batota, o Easy Anti-Cheat e o BattlEye da Epic só funcionam enquanto o jogador está a jogar e não requerem este estado "sempre ligado". Isto não só faz com que os jogadores se sintam menos "vigiados" pela possibilidade assustadora de acesso persistente ao kernel, como também oferece um grau de proteção. Se o Vanguard for comprometido, todas as máquinas que o utilizam e que estão ligadas têm o potencial de serem atingidas por exploits, simplesmente porque o software está sempre em execução. Os jogadores que utilizam a solução da Epic podem não estar expostos a ataques se o software não estiver a ser executado enquanto fazem outras coisas nas suas máquinas.

Estar sempre ligado não significa estar sempre seguro.

A Riot é de confiança?

Os utilizadores de vários fóruns de jogos espalhados pela Internet referiram preocupações de que este software pudesse tornar o seu PC mais lento ou causar problemas com o seu hardware. Atualmente, quaisquer relatos ou alegações de erros ou problemas são anedóticos e a Riot não confirmou quaisquer problemas de compatibilidade. A Riot também está a lançar patches regulares para garantir que os utilizadores que utilizam o seu anti-cheat tenham poucos ou nenhuns erros. Se tiveres problemas com o teu dispositivo ou jogos depois de instalares o Vanguard, não deixes de contactar a equipa de apoio do Vanguard.

Vanguard warning notification example from Riot Customer Support site.

Exemplos como este levantam preocupações de que o software alimentado por IA pode representar apenas uma ameaça à segurança.

É certo que a utilização do software Vanguard pelo Valorant e pelo LoL levou a uma diminuição da batota, mas será que isso significa que devemos aceitar que o scanner anti-cheat a nível do kernel, sempre ligado, alimentado por IA, se torne a solução padrão para as empresas que procuram reprimir os actores maliciosos? Devemos preocupar-nos com o facto de o sucesso do software Vanguard inspirar programadores de todo o mundo a exigir acesso ao nível do kernel para o seu software?

O sucesso do anti-trapaça não garante a confiança

Para além destas preocupações, é importante olhar para a própria empresa. Devemos confiar na Riot? A Riot tem sido frequentemente alvo de piadas sobre a qualidade do código e as suas práticas de segurança também têm sido postas em causa na sequência de violações que levaram à fuga do código fonte de League of Legends. A própria Riot emitiu um aviso sobre o aumento de novos cheats a serem utilizados nos seus jogos após este incidente. Este historial não inspira muita confiança e os jogadores têm razão em estar preocupados em permitir que o software anti-cheat do LoL tenha rédea solta nas suas máquinas.

Independentemente desta reputação, a questão da confiança torna-se ainda mais complicada quando olhamos para quem é o dono da empresa. Tencent.

Tencent: a empresa-mãe questionável

A gigante chinesa da tecnologia Tencent assumiu a propriedade total da Riot Games em 2011. Este papel de proprietário cria um nível interessante de preocupação quando se avalia se se quer executar software ao nível do kernel nos seus dispositivos sem poder rever o código por si próprio. Ouçam-me, não quero ser muito esperto, mas isto é conceder acesso total ao dispositivo à empresa por detrás do WeChat, a QQ, que desempenha um papel ativo no funcionamento das pontuações de crédito social na China continental. Os jogadores preocupados temem que, caso uma vulnerabilidade de dia zero seja encontrada e não seja revelada à Riot através do seu programa de recompensa por bugs, ela possa representar uma grande ameaça para aqueles que utilizam o seu software. Teoricamente, isso poderia permitir que um agente malicioso com um dia zero tivesse a possibilidade de bloquear os dispositivos que têm o Vanguard instalado. Vale a pena considerar os riscos de permitir que um software que pode cair nas mãos de um governo autoritário tenha acesso quase completo ao seu dispositivo e aos seus dados.

Software anti-cheat e ponderação do risco de APTs

Sabemos que o Weixin da Tencent (a versão chinesa do WeChat) dispõe de importantes funções de censura e vigilância. Este facto faz temer que o Vanguard possa ser vítima de medidas invasivas semelhantes. Trata-se de especulação, mas se percorrermos as secções de comentários dos artigos que discutem o Vanguard e a sua inclusão no League of Legends, esta preocupação é frequentemente mencionada. O facto de a Tencent ser proprietária da Riot também levanta questões sobre as restrições à liberdade de expressão no chat do jogo. A Riot já tomou medidas para tentar limitar a toxicidade do chat, mas os críticos afirmam que esta lista de palavras de "tolerância zero" foi levada ao extremo.

Em última análise, a decisão de utilizar este software cabe aos jogadores. Se vale a pena oferecer o potencial controlo total do League of Legends à empresa por detrás do WeChat, a decisão é vossa. No entanto, deve ser muito claro para todos os jogadores o que é exatamente este software, a que tem acesso e quem está por detrás dele. Se não estiver disposto a utilizar este software, há outros jogos para jogar.

Um leitor astuto do Ars Technica acertou em cheio quando perguntou "preciso mesmo de confiar em ser operado com o vosso anestésico mais potente e perigoso para remover uma lasca de um jogo de vídeo ?"