著者: ダモクレス
一、 概要
BigTime は、2023 年 10 月 10 日にトークンが発売された後、GameFi で大流行を引き起こしました。チームは 9 月に BigTime に注目し始めましたが、資格がないため分析を行うことができませんでした。最近登録の基準値が引き下げられた後、分析を開始しました。ゲームクライアント属性の改ざん、GameRPC の悪意のある呼び出しテスト、トークンコントラクトの監査など、一連のセキュリティ分析とテストを実施します。ゲームの総合評価を通じて、このゲームはセキュリティが不十分であり、悪意のあるプレイヤーにとって不正行為のコストが低いことがわかりました。そして、ゲームを分析するのは簡単です。プロジェクト チームがゲームの運営を継続したい場合、その後の運営ではゲームのセキュリティと公平性を向上させることが最優先事項となります。
2. ゲームの背景
評価されたゲームバージョン: v0.28-CL#78459
ゲームタイプとゲームエンジン: MMORPG、UE4.27
ゲームプレイで起こりうる問題:
1. 不正な移動(RPC を使用して悪意のあるパケットを送信し、テレポートや加速などを行う)
2. 加速(ゲーム内のワールドタイム、UEフレームワーク下の時間機能)
3. ワンキーコンボ/ワンキースキルサイクル
4. NFT鍛造の加速
5.NFT乱数操作
6. インスタンス完了後の複数の決済
3. ゲームセキュリティ分析
ゲームコード保護:
分析プロセス:
エンジンによって解析モードが異なるため、ゲームEXEを入手した後、まずはゲームで使用されているエンジンを特定する必要があります。ゲームの基本情報を特定することで、ゲームがUE27.2を使用して開発されていることを判断できます。

ゲームを IDA にインポートすると、ゲーム コードが強化されていないことがわかります。また、UE27 機能コード検索を通じて、GWorld 変数をすばやく見つけることができます。


また、文字列も暗号化されていないことがわかります。

したがって、機能コードを通じて Gworld を見つけることができ、ゲームが暗号化されていないことを確認した後、NamePool 機能コードを抽出し、いくつかの SDK ダンプ ツールを使用してダンプすることができます。

ゲーム SDK を入手した後は、解析を高速化できます。
分析の結論:
BigTime はゲーム コード保護で 0 点を獲得しました。つまり、まったく保護がないということです。従来のゲームでは、ソースコードを保護するためにカスタマイズされた暗号化とパッケージ化がよく使用されます。 BigTime には健全なゲームコード保護がないため、悪意のあるプレイヤーがコードを解析する閾値とコストは非常に低く、チート行為があった場合、通常のプレイヤーに不公平な影響を与え、ゲームの経済モデルに損害を与える可能性があります。
ゲームベースのアンチチート:
分析プロセス:
基本的なアンチチート検出に関しては、主に 2 つの側面からテストします。1 つはゲームにアンチデバッグ機能があるかどうか、もう 1 つはゲームに読み取り/書き込み保護があるかどうかです。
ゲームが開いているときに、CEを使用して一般的な関数にブレークポイントをアタッチして設定します。ゲームが終了しないか、プロンプトが表示されることがわかります。

CE を通じてゲーム内のヘルスを変更したところ、変更が有効になり、ゲームがポップアップしたりプロンプトが表示されなくなったことがわかりました。 (Health の変更は、より直感的な表示のためだけに行われます。このフィールドは通常サーバー上に保存され、ローカルで変更しても効果はありません。)

分析の結論:
BigTime は不正行為防止能力の点では 0 点を獲得しており、悪意のあるユーザーがいれば自由に不正行為を行うことができます。
アンチデバッグと読み取り/書き込み保護のみをテストする理由は、プラグインの場合、データの検索と機能の実装はデバッグと読み取り/書き込みを通じて実現できるためです。最も基本的な 2 つの保護機能が欠落している場合、一部のインジェクション、フック、およびその他の検出は無意味になります。
ゲームロジックの問題
分析プロセス:
UEをベースに開発されたMMOゲームでは、ローカルデータを改ざんするメリットは非常に低い。その理由は、UEにはさまざまなアクターやその他の属性間の同期やサーバー側の検証のための成熟した同期メカニズムがあるためである。しかし、ゲームを分析することで、ソースコードを見ると、BigTimeが属性同期メカニズムを適切に使用していないことは明らかです。Comboindex関数など、一部のデータは依然として欠落しています。Combo Indexに書き込みブレークポイントを設定すると、書き込み関数を見つけることができ、コンボ機能をデバッグします。 (具体的な操作は公平性に影響するため、実演は行いません)


分析の結論:
BigTime のゲーム ロジック全体のセキュリティの問題はそれほど顕著ではありませんが、一定のセキュリティ リスクがまだ存在するため、ロジック セキュリティ スコアは 4 ポイントです。
一部の機密属性の同期メカニズムが不足しているため、サーバー側でさらに暗号化を行う必要があります。
ゲームRPC分析
RPC の問題は比較的機密性が高いため、プロジェクト所有者の許可なしに分析は行われません。現在、BigTime RPC セキュリティ保護は 0 ですが、テストの結果、一部の RPC パッケージについてはサーバーが認識し、セキュリティ スコアが 0 になることが判明しました。プロジェクト関係者は、RPC の全体的なセキュリティの詳細な監査を実施することをお勧めします。次の図は、RPC 情報の一部を示しています。

WEB3セキュリティ分析:
概要:
ブロックチェーン ゲームとして、Bigtime は Web3 設計の観点から、基本的な Bigtime トークン部分とゲーム内の WEB3 経済システム部分の 2 つの部分に分けられます。この部分の設計は、他のゲームとは比較的独立しています。ゲーム内でトークンを生成し、NFT を偽造し、ETH に固定循環トークン コントラクトを展開する役割を担っています。
トークン契約のセキュリティ:
トークンの基本情報は次のとおりです。

BigTime トークン コントラクトは、マルチ署名ウォレットにトークンを発行し、固定供給量でそれらを展開します。現在のトークン契約は機能がシンプルなため、契約の基本的なセキュリティは十分です。 Owner ウォレットの Tx 情報を観察すると、Owner ウォレットがトークンを取得した後、トークンの一部を複数のウォレットに転送していることがわかります。

これらのウォレットのほとんどは、Safe のマルチ署名ウォレットを使用しています。これに基づくと、現在トークンに関連する全体的なセキュリティリスクは、主に秘密鍵の漏洩とプロジェクト関係者が特権アカウントを持っているかどうかから生じていることがわかります。マルチ署名が使用されているとはいえ、特権アカウントの秘密鍵が漏洩した場合、通貨盗難のリスクは依然として存在します。
ゲーム内経済システムのセキュリティ:
BigTimeでは、プレイヤーは時間と空間ガードの空間に入り、時間砂時計を偽造したり、時間砂時計を充電したり、その他の操作を行うことができます。市場のバランスに直接影響を与える機能のこの部分には、実行のためにローカルに保存されたコードがいくつかあります。 GS がどのように設計されているかは不明ですが、この動作は高リスクの動作です。次のように

このような RPC 関数は多数あります。テストコストが高いことを考慮して、当面はセキュリティテストは行いません。この部分のコンテンツについては、プロジェクト側でサーバー上で厳密な判断をしていただければと思います。
ダモクレスについて
Damocles labsは2023年に設立されたセキュリティチームで、Web3業界のセキュリティに重点を置いています。その業務内容には、契約コード監査、ビジネスコード監査、侵入テスト、GameFiコード監査、GameFi脆弱性マイニング、GameFiプラグイン分析などがあります。 GameFi 不正行為防止。
当社は今後もWeb3セキュリティ業界に尽力し、できるだけ多くの分析レポートを出力して、プロジェクト所有者とユーザーのGameFiセキュリティに対する認識を高め、業界の安全な発展を促進していきます。
