Panoramica
Cradles è stato reso disponibile per il download il 15 novembre. Il team di Damocles ha condotto un'analisi approfondita della sicurezza del gioco il 16 novembre. Attraverso l'analisi, è stato scoperto che una grande quantità di informazioni di debug nel gioco non era stata eliminata. Dal registro di debug, è stato dedotto che il team di sviluppo del gioco era un team cinese. Durante il processo di test, è stato scoperto che il gioco non aveva alcuna protezione di sicurezza, e la parte del protocollo di comunicazione del gioco utilizzava un motore open source, e alcuni dei giudizi logici erano troppo imprecisi. Non è consigliabile agli utenti di giocarci e sperimentarlo.

Contesto del gioco
Ø Versione del gioco valutata: 20231115
Ø Tipo di gioco e motore di gioco: MMORPG, Unity2021.3.x
Ø Possibili problemi con il gameplay:
Movimenti illegali (utilizzo di RPC per inviare pacchetti dannosi per teletrasporto, accelerazione, ecc.)
Accelerazione (tempo nel mondo di gioco, funzione temporale nel framework UE)
Mira automatica/Blocco automatico
Invincibile
Resistenza illimitata
Accelerazione dell'attività mineraria
Analisi della sicurezza del gioco
Protezione del codice di gioco
1. Poiché diversi motori hanno diverse modalità di analisi, dopo aver ottenuto l'EXE del gioco, devi prima determinare il motore utilizzato dal gioco. Identificando le informazioni di base del gioco, possiamo determinare che il gioco è sviluppato utilizzando Unity21.3.x.

2. Esaminando i file rilasciati dal gioco, è possibile determinare che il gioco utilizza il meccanismo Mono e non è sviluppato utilizzando il modello iL2Cpp. I giochi sviluppati in questo modo avranno una sicurezza complessiva peggiore e saranno più semplici da analizzare.

Il framework del protocollo utilizzato da questo gioco è KBEngine.

Pertanto, è possibile ottenere il codice sorgente di KBEngine e alcune informazioni pubbliche tramite librerie open source come Github, velocizzando così l'analisi del gioco.

Conclusione dell'analisi:
Cradles ha ottenuto un punteggio pari a 0 in termini di protezione del codice di gioco, il che significa che non c'è alcuna protezione. Nei giochi tradizionali, per proteggere il codice sorgente vengono spesso utilizzati crittografia e shelling personalizzati; inoltre, i giochi tradizionali vengono raramente compilati in modalità mono. Poiché Cradles non ha una solida protezione del codice di base del gioco e utilizza una tecnologia di compilazione obsoleta, la soglia e il costo per i giocatori malintenzionati per analizzare il codice sono molto bassi. Se compaiono plug-in, è estremamente ingiusto per i giocatori normali. Nelle aree in cui i giocatori possono duellare liberamente, i giocatori malintenzionati possono sconfiggere più facilmente i loro avversari.
Anti-cheat basato sul gioco:
1. In termini di rilevamento anti-cheat di base, testiamo principalmente da due aspetti: uno è se il gioco ha un sistema anti-debug e l'altro è se il gioco ha una protezione in lettura/scrittura.
2. Utilizzare CE per collegarsi quando il gioco è aperto e impostare un punto di interruzione sulla funzione generale. Si è scoperto che il gioco non esce o richiede

3. Usa CE per modificare la resistenza e gli HP nel gioco. Funziona senza alcuna finestra pop-up o richiesta. (Modifica la resistenza per ottenere resistenza/mana illimitati, il blocco HP può essere efficace entro 10 secondi)

Conclusione dell'analisi:
1. Cradles ha un punteggio pari a 0 in termini di capacità anti-cheat e gli utenti malintenzionati possono imbrogliare a piacimento.
2. Il motivo per cui si testano solo la protezione anti-debug e quella da lettura/scrittura è che per un plug-in, la ricerca dei dati e l'implementazione delle funzioni possono essere ottenute tramite debug, lettura e scrittura. Se mancano le due funzionalità di protezione più basilari, alcune iniezioni, hook e altre rilevazioni risultano inutili.
Problema di logica del gioco
Per i giochi MMORPG compilati in modalità mono, la modifica diretta dei dati avrà in linea di principio benefici molto bassi. Tuttavia, nei nostri test, abbiamo scoperto che le modifiche ad alcuni dati, come salute e resistenza, possono avere effetto. La modifica della salute è effettiva entro 9 secondi e, se il tempo supera il limite, il giocatore non sarà in grado di attaccare i mostri. Si ipotizza che ci sia un limite di tempo per i danni sul server. La modifica della forza fisica può essere efficace per molto tempo. Si suppone che a questo punto non venga espresso alcun giudizio sul server. Il motivo è: quando la forza fisica del personaggio locale è esaurita, la forza fisica può essere ripristinata mettendo in pausa il movimento. Se il personaggio locale può essere ripristinato, allora la fase di verifica del server può essere omessa per il gioco.
Logica di aggiornamento della forza fisica:

Logica di aggiornamento dello stato di salute:

E ci sono molti attributi legati al personaggio nella classe Avatar, e dovrebbero esserci altri punti che possono essere manipolati in questi attributi. E ci sono molti attributi legati al personaggio nella classe Avatar, e dovrebbero esserci altri punti che possono essere manipolati in questi attributi.

Conclusione dell'analisi:
1. Cradles ha seri problemi di sicurezza della logica di gioco, soprattutto perché il gioco prevede una modalità PVP forzata. La soglia per lo sviluppo di plug-in è bassa e i ritorni sono alti. Dopo aver sviluppato un plug-in maturo, è del tutto possibile ottenere un massacro unilaterale.
2. Mancanza di consapevolezza dei dati di gioco e rilevamento di altri punti vulnerabili all'interno del gioco. Allo stesso tempo, a causa dell'uso di un motore open source, il suo protocollo è completamente aperto. Per i giochi che coinvolgono il mining, questo comportamento è estremamente rischioso.
Analisi del protocollo di gioco
Cradles usa il motore KBEngine come base del protocollo. Ci sono informazioni pronte sul motore su Internet per riferimento.
Riferimenti:
1. Panoramica tecnica di KBEngine: https://imgamer.gitbooks.io/kbengine-overview/content/content/6_3ServerComponents.html
2. Demo MMORPG di KBEngine https://github.com/kbengine/kbengine_ue4_demo
3、 Plugin KBEngine unity3d https://github.com/kbengine/kbengine_unity3d_plugins/tree/master
Analisi della sicurezza WEB3:
Poiché i token Cradles non sono ancora online, l'analisi di WEB3 è temporaneamente sospesa. E poiché i protocolli relativi al mining sono completamente esposti, il numero di utenti che effettuano il mining è solo un numero temporaneo per il gioco. Questo comportamento è troppo centralizzato, quindi questa parte non verrà analizzata.

A proposito di Damocle
Damocles labs è un team di sicurezza fondato nel 2023, focalizzato sulla sicurezza del settore Web3. I suoi contenuti aziendali includono: audit del codice GameFi, mining delle vulnerabilità GameFi, analisi dei plug-in GameFi, anti-cheating GameFi, audit del codice contrattuale, audit del codice aziendale, penetration testing, ecc.
Continueremo a lavorare duramente nel settore della sicurezza Web3 e a produrre quanti più report di analisi possibili per migliorare la consapevolezza dei proprietari di progetti e degli utenti sulla sicurezza GameFi e promuovere lo sviluppo sicuro del settore.
Twitter: https://twitter.com/DamoclesLabs
Discordia: https://discord.gg/xd6H6eqFHz

