Lettera dagli sviluppatori: programmi non autorizzati

Ciao a tutti!

Ci teniamo a tenere costantemente informati i nostri giocatori sulle soluzioni da noi adottate per contrastare l’utilizzo di cheat, ed è per questo motivo che abbiamo deciso di fornire un rapido aggiornamento sulle procedure messe in atto negli ultimi mesi. Ci stiamo dando parecchio da fare per evitare che si verifichino scorrettezze e, pur non potendo entrare troppo nello specifico, dato che ciò potrebbe risultare controproducente, vogliamo prendere in esame alcuni punti per illustrare in che modo stiamo agendo e quali obiettivi ci prefiggiamo.

  • Consolidamento delle misure tecniche
  • Ottimizzazione delle soluzioni anti-cheat
  • Maggiore efficacia nel rilevamento di programmi non autorizzati
  • Eliminazione delle vulnerabilità del sistema Steam
  • Intensificazione delle azioni legali

Consolidamento delle misure tecniche

Nel corso del tempo, PUBG è stato soggetto a diversi tipi di attacchi con programmi di cheat e, nonostante abbiamo adottato provvedimenti e aggiunto svariate misure di sicurezza al fine di incrementare l’efficienza dei nostri sistemi e rispondere a tutti i tipi di attacchi, questa battaglia si preannuncia interminabile. Per prima cosa, analizziamo il funzionamento in generale di questi programmi di cheat e le contromisure tecniche che abbiamo adottato.

Schema di funzionamento dei programmi di cheat

  • Quando vengono lanciati un programma di cheat (exe) e il gioco (exe), sulla RAM di sistema vengono caricate simultaneamente ingenti quantità di dati.
  • A questo punto, si attivano misure di protezione predefinite da parte del gioco stesso o di un fornitore esterno di soluzioni anti-cheat:
    • Si tratta di una fase di protezione preliminare volta a bloccare l’accesso ad altri processi.
  • Il programma di cheat tenta di neutralizzare la tecnologia di protezione illustrata nel punto 2 e, se ci riesce, ottiene l’accesso alla memoria di elaborazione del gioco:
    • L’accesso alla memoria consente di modificare le informazioni relative al gioco.
    • I cheat più comunemente utilizzati per questo tipo di procedure sono noti come DKOM, Process Hollowing e SSDT hooking.
  • Una volta che un programma di cheat ha ottenuto l’accesso alla memoria di elaborazione del gioco, può raccogliere i dati in essa contenuti e modificarli o copiarli in modo da implementare funzionalità illegali non previste all’interno del gioco. Le tecniche più utilizzate a tale scopo sono note come DLL injection e Code injection:
    • DLL injection: aggiunge un file DLL a un determinato processo. Utilizza l’API LoadLibrary() di Windows.
    • Code injection: carica file di esecuzione nel processo di destinazione. Utilizza CreateRemoteThread() di Windows.
  • Lo spazio di memoria ottenuto può essere letto liberamente oppure falsificato/modificato per implementare nel gioco funzionalità non previste.

La DLL injection, il metodo di hackeraggio più antico e più utilizzato, consiste nell’inserire forzatamente un determinato file DLL nel processo del gioco. Quando questo tipo di attacco va a buon fine, il codice DLL in questione viene riconosciuto dal sistema come se fosse il codice di gioco originale. Di conseguenza, l’hacker è in grado di modificare a suo piacimento il processo di gioco al fine di connettersi ai dati e di appropriarsene in maniera indebita.

Una delle priorità del team anti-cheat è stata proprio bloccare gli attacchi condotti tramite DLL injection. Durante le prime fasi di sviluppo di PUBG, si sono inoltre verificati problemi di compatibilità per cui programmi come Steam e Discord venivano scambiati per malware responsabili di DLL injection o le loro DLL venivano confuse per codici dannosi.

Un altro tipo di manomissione con cui abbiamo avuto a che fare è l’attacco tramite driver kernel. Il driver kernel è un file necessario per la comunicazione all’interno dell’hardware e dà luogo a un processo messo in atto sotto una certa autorità. Dato che il driver kernel è in grado di eludere molte delle soluzioni anti-cheat comunemente adottate e che viene eseguito con un’autorità superiore rispetto a quella esercitata dall’utente generico, risulta molto più difficile da individuare.

Inoltre, nonostante Windows tenda a bloccare i driver kernel non autorizzati, capita spesso che essi passino per legali sfruttando falle nei sistemi di sicurezza e certificati illeciti.

Potremmo tentare di difenderci da questo tipo di attacchi utilizzando lo stesso metodo adottato per bloccare i casi di DLL injection, ma ciò risulterebbe poco efficace in quanto nel sistema operativo Windows emergono costantemente nuove vulnerabilità. Per di più, molte soluzioni anti-cheat impiegano metodi simili a quelli di cui si servono i codici dannosi, il che rende difficoltosa la distinzione tra questi due tipi di programmi. Il team anti-cheat tenta quindi di proteggere l’area della memoria, che risulta essere quella maggiormente soggetta agli attacchi degli hacker, attraverso operazioni di crittografia volte a rispondere agli attacchi condotti tramite driver kernel, e sta facendo del suo meglio per applicare questo metodo a un ampio ventaglio di problematiche.

Stiamo inoltre consolidando varie risposte tecniche, ad esempio tramite la cifratura del protocollo di comunicazione stabilito tra il client e il server o tramite la verifica dei valori emersi nel client, così da farci trovare sempre pronti a fronteggiare nuovi programmi di hackeraggio.

Ottimizzazione delle soluzioni anti-cheat

Oltre alle misure tecniche di protezione illustrate sopra, PUBG utilizza soluzioni anti-cheat esterne per salvaguardare l’area di elaborazione del gioco. Come abbiamo annunciato anche in un comunicato stampa, al momento ci serviamo di due soluzioni anti-cheat: BattlEye e Uncheater. Questi software proteggono l’area di elaborazione del gioco e, al tempo stesso, rilevano vari tentativi di manomissione atti a eludere le soluzioni anti-cheat.

Oltre a queste soluzioni protettive anti-cheat, ci serviamo anche di una tecnica di apprendimento automatico che analizza i modelli di utilizzo dei nostri giocatori e abbiamo elaborato un sistema in grado di rilevare i comportamenti sospetti o le azioni che ostacolano il normale funzionamento del gioco. Durante la progettazione di questi sistemi, abbiamo collaborato con svariate aziende esperte nella creazione di soluzioni anti-cheat e con ingegneri di prim’ordine per incrementare ulteriormente il livello di sicurezza del gioco.

Siamo determinati ad avvalerci della consulenza di altre società per studiare le più recenti tecniche di attacco e sviluppare tecnologie che siano in grado di contrastarle.

Maggiore efficacia nel rilevamento di programmi non autorizzati

Nonostante le numerose misure protettive di cui ci serviamo, risulta impossibile bloccare tutti i programmi non autorizzati. Per i programmi che tentano di aggirare le nostre soluzioni, stiamo cercando di individuare quando vengono utilizzati all’interno del gioco e di bloccarli immediatamente.

In media, il team anti-cheat analizza circa 3TB di registri di gioco, 60 tipi di registri dannosi e oltre 10 milioni di segnalazioni al giorno. Esaminando questa mole spropositata di dati, individuiamo gli utenti con comportamenti sospetti e, dopo un processo di verifica, procediamo con la sospensione dei loro account. Inoltre, aggiorniamo periodicamente i modelli relativi ai programmi non autorizzati per accertarci che i software da noi bloccati in passato non siano stati modificati per essere nuovamente utilizzati.

Al contempo stiamo tentando di migliorare i nostri metodi di condivisione degli aggiornamenti anti-cheat con gli utenti. Un esempio è rappresentato dal sistema di segnalazione introdotto con l’aggiornamento del 23 agosto. Da quando è stato implementato, agli utenti sono state inviate più di 100 milioni di segnalazioni. L’83% degli utenti che hanno ricevuto molteplici segnalazioni nel corso di un’unica sessione è stato bannato in maniera definitiva. Quindi, se pensate che le vostre segnalazioni non rivestano alcuna importanza, vi invitiamo a ricredervi: sono fondamentali per garantire la maggior correttezza possibile sul campo di battaglia.

Segnalazioni inviate settimanalmente tra il 23 agosto e il 30 novembre 2018

Per quanto riguarda la sospensione di hardware, abbiamo cominciato ad adottare questo tipo di procedura a partire dal 19 novembre. Si tratta di un metodo di sospensione particolarmente delicato, quindi prendiamo tutte le precauzioni necessarie per assicurarci che ciò non si ripercuota ingiustamente sui PC degli Internet point o su altri dispositivi pubblici. Selezioniamo con estrema cautela i computer da bannare, così da sanzionare solo quelli inequivocabilmente utilizzati per operazioni illecite. Quando viene eseguita la sospensione di un hardware, sullo schermo compare il messaggio visibile nello screenshot sottostante e, da quel momento, il dispositivo in questione non può più essere utilizzato per giocare a PUBG. Oltre agli hardware, abbiamo iniziato a bannare anche i macro mouse. È nostra intenzione estendere queste misure di sicurezza a tutti i dispositivi macro, in modo da offrire un gioco che risulti il più leale ed equilibrato possibile.

Notifica di ban dell’hardware


Notifica di ban del mouse con le macro

Attualmente oltre cento nostri addetti monitorano in maniera costante le piazze virtuali in cui vengono venduti questi strumenti illeciti (siti web, applicazioni di messaggistica, Discord, ecc.). Inoltre, stiamo tenendo sotto controllo varie community nelle quali gli utenti si scambiano informazioni riguardanti i programmi di hackeraggio in circolazione, in modo da individuare e neutralizzare immediatamente tutti gli elementi potenzialmente dannosi per PUBG.

L’obiettivo finale è adottare misure preventive sempre più efficaci per fare sì che questi hacker non siano più attivi all’interno del gioco.

Di recente abbiamo inoltre implementato un messaggio di sistema che avvisa in tempo reale i giocatori se qualcuno della stessa sessione viene bannato. Ogni volta che viene rilevato un comportamento illecito in tempo reale o che un utente, durante il gioco, viene riconosciuto come hacker, l’account in questione viene bannato mentre la partita è ancora in corso e gli altri giocatori vengono avvertiti dell’accaduto tramite il killfeed.

Eliminazione delle vulnerabilità del sistema Steam

Oltre alle misure adottate all’interno del gioco, ci siamo impegnati anche a limitare le vulnerabilità delle piattaforme esterne. Com’è noto, PUBG utilizza la piattaforma Steam. Ci sono stati casi in cui alcuni punti deboli presenti nella piattaforma sono stati sfruttati per trarre vantaggi illeciti, così abbiamo collaborato con Steam per fare in modo che gli utilizzatori di programmi di manomissione vengano puniti secondo le procedure previste. Di seguito, riportiamo alcuni esempi di episodi realmente verificatisi.

  • Utilizzo di una falla nel sistema Condivisione familiare di Steam per eludere le restrizioni previste da Steam e PUBG:
    • Se un account che ha acquistato PUBG si serviva della funzione Condivisione familiare per permettere a un account che non ha acquistato il gioco di usufruirne, l’account con cui il gioco è stato condiviso non potrà più utilizzare PUBG.
  • Alterazione dei contatori relativi al tempo effettivo di gioco per soddisfare i requisiti minimi previsti da Steam per ottenere il rimborso pur avendo giocato per più tempo, il che consiste, in pratica, nel giocare gratis:
    • Abbiamo collaborato con Valve (Steam) per ottimizzare i metodi di calcolo del tempo di gioco di PUBG e i requisiti per il rimborso previsti da Steam per impedire che ciò possa verificarsi di nuovo.
  • Utilizzo di un account bannato dal server di gioco per accedere al server di test e utilizzare procedure di hackeraggio, approfittando del fatto che i server di test e beta, secondo le modalità in cui la piattaforma Steam è strutturata, sono considerati a sé stanti:
    • Abbiamo apportato delle modifiche al sistema per fare sì che le sospensioni degli account siano estese a tutti i server. I dati sulle sospensioni vengono ora condivisi tra il server di gioco, il server di test e tutti gli altri server, in modo che gli utenti bannati non possano più accedere.

Grazie alla costante cooperazione con Steam, stiamo facendo il possibile per migliorare ulteriormente il sistema e impedire che ne vengano sfruttate le vulnerabilità.

Intensificazione delle azioni legali

Bloccare i programmi di hackeraggio che ostacolano un ambiente di gioco leale è importante, ma dobbiamo anche agire alla fonte, e cioè individuare coloro che sviluppano, promuovono e vendono i suddetti programmi. Per impedire la diffusione dei programmi di hackeraggio, stiamo collaborando con autorità di contrasto e aziende estere al fine di mettere in atto severi provvedimenti legali che vadano a punire tutti i violatori, ovunque essi siano. Di seguito, riportiamo un resoconto delle azioni legali intraprese nel 2018; per quanto riguarda la Cina, gli obiettivi conseguiti sono stati resi possibili dalla stretta collaborazione con Tencent.

  • 41 persone arrestate a Lianyungang, Cina, nel gennaio 2018
  • 3 persone arrestate a Huai’an, Cina, nel febbraio 2018
  • 11 persone arrestate a Xiangyang, Cina, nel febbraio 2018
  • 141 persone arrestate a Nanjing, Cina, nell’aprile 2018
  • 1 persona arrestata a Huai’an, Cina, nell’aprile 2018
  • 6 persone arrestate dalla polizia metropolitana di Daejeon, Corea, nell’agosto 2018
  • 1 persona arrestata a Wenzhou, Cina, nel settembre 2018
  • 3 persone arrestate a Tangshan, Cina, nell’ottobre 2018
  • 34 persone arrestate a Wenzhou, Cina, nell’ottobre 2018
  • 11 persone arrestate dalla polizia di Yangcheon, Corea, nell’ottobre 2018

Oltre ad aver preso i provvedimenti elencati sopra, stiamo investigando sulle vendite di programmi di hackeraggio in collaborazione con la polizia nazionale coreana, con vari studi legali e con agenzie atte alla tutela del diritto d’autore, e ci stiamo adoperando per individuare gli sviluppatori di tali software. Vi terremo aggiornati man mano che otterremo nuovi risultati.

Conclusione

Ogni partita di PUBG vede fronteggiarsi fino a 100 utenti, quindi le probabilità di conquistare la vittoria sono già abbastanza basse. Sappiamo che basta un’unica persona sleale per rovinare il divertimento a tutti gli altri, pertanto dobbiamo garantire un livello di sicurezza molto superiore rispetto a quello che può risultare sufficiente per altri titoli.

Continueremo a dedicarci anima e corpo al perseguimento di tale obiettivo e, nonostante le misure di sicurezza illustrate oggi costituiscano solamente i primi passi di questa battaglia, non smetteremo di compiere ricerche e di sviluppare tecnologie anti-cheat per neutralizzare i programmi dannosi e punire i loro sviluppatori.

Ci teniamo a ringraziarvi per la pazienza e a farvi sapere che faremo del nostro meglio per ripagare la vostra fiducia. Grazie anche del costante supporto e delle segnalazioni.

Grazie per l’attenzione,
Il team anti-cheat di PUBG

Discuti questo articolo
Condividi questo articolo