ダモクレス:ビッグタイムゲーム分析報告
著者:ダモクレス
一、 概要
BigTimeは2023年10月10日にトークンをローンチし、GameFiの熱潮を引き起こしました。チームは9月からBigTimeに注目していましたが、資格がなかったため分析を行っていませんでした。最近、登録のハードルが下がった後、私たちはBigTimeに対して一連のセキュリティ分析とテストを開始しました。これには、ゲームクライアントの属性改ざん、GameRPCの悪意のある呼び出しテスト、トークン契約の監査などが含まれます。ゲーム全体の評価を通じて、私たちはこのゲームのセキュリティが低いことを発見しました。悪意のあるプレイヤーにとって、チートのコストが低く、ゲームの分析難易度も低いです。プロジェクトチームがゲームを継続的に運営したいのであれば、ゲームのセキュリティと公平性を向上させることが後期運営の最優先事項であるべきです。
二、 ゲーム背景
評価対象のゲームバージョン:v0.28-CL#78459
ゲームタイプ&ゲームエンジン:MMORPG、UE4.27
ゲームプレイに存在する可能性のある問題:
- 不正移動(RPCを通じて悪意のあるパケットで瞬間移動、加速などの操作)
- 加速(ゲーム内の大世界時間、UEフレームワーク下の時間関数)
- ワンクリックコンボ/ワンクリックスキルループ
- NFT鍛造の加速
- NFT乱数操作
- ダンジョン終了後の複数決済
三、 ゲームセキュリティ分析
ゲームコード保護:
分析プロセス:
- 異なるエンジンには異なる分析モードがあるため、ゲームEXEを取得した後、まずゲームが使用しているエンジンを特定する必要があります。ゲームの基本情報を識別することで、このゲームがUE27.2で開発されていることが確認できます。
- ゲームをIDAにインポートし、ゲームコードが強化されていないことを発見しました。また、UE27の特徴コード検索を通じてGWorld変数を迅速に特定できます。
さらに、文字列も暗号化されていないことがわかります。
したがって、Gworldを特徴コードで特定でき、ゲームが暗号化されていないことを確認した後、NamePoolの特徴コードを抽出し、いくつかのSDK Dumpツールを使用してダンプできます。
ゲームSDKを取得した後、分析を加速できます。
分析結論:
BigTimeのゲームコード保護に関してはスコアが0で、全く保護がありません。従来のゲームでは、カスタム暗号化やパッキングなどの方法でソースコードを保護することが一般的です。BigTimeは健全なゲーム基盤コード保護がないため、悪意のあるプレイヤーがコードを分析するハードルとコストが非常に低く、もしチートツールが存在すれば、通常のプレイヤーにとって不公平であり、ゲームの経済モデルに影響を与える可能性があります。
ゲーム基盤反チート:
分析プロセス:
- 基盤反チート検出に関して、私たちは主に2つの側面からテストを行います。一つはゲームに反デバッグが存在するかどうか、もう一つはゲームに読み書き保護が存在するかどうかです。
- ゲームが開いている状態でCEを使用してアタッチし、一般的な関数にブレークポイントを設定したところ、ゲームは終了せず、または警告も表示されませんでした。
- CEを使用してゲーム内のHealthを変更したところ、効果があり、ゲームはポップアップや警告を表示しませんでした。(Healthの変更はより直感的に表示するためであり、このフィールドは一般的にサーバーに保存されているため、ローカルで変更しても効果はありません)
分析結論:
- BigTimeの反チート能力はスコアが0で、悪意のあるユーザーが自由にチートできる状態です。
- 反デバッグと読み書き保護の2つの側面のみをテストした理由は、チートツールにとってデータを見つけて機能を実現するためにはデバッグと読み書きだけで実現できるからです。最も基本的な2つの保護能力が欠如している場合、注入やフックなどの検出も無意味です。
ゲームロジックの問題
分析プロセス:
UEで開発されたMMOタイプのゲームにおいて、ローカルデータを改ざんする利益は非常に低いです。その理由は、UEには各Actorや他の属性間の同期およびサーバー検証のための確立された同期メカニズムがあるからです。しかし、ゲームソースコードを分析すると、BigTimeは属性同期メカニズムを合理的に活用していないことが明らかで、一部のデータがローカルに落ちています。例えば、Comboindex機能について、combo Index設定に書き込みブレークポイントを設定することで、書き込み関数を見つけ、その後combo機能をデバッグできます。(具体的な操作は公平性に影響を与えるため、デモは行いません)
分析結論:
- BigTimeの全体的なゲームロジックのセキュリティ問題はそれほど顕著ではありませんが、一定のセキュリティリスクは存在します。そのため、ロジックセキュリティのスコアは4点です。
- 一部の敏感な属性に同期メカニズムが欠如しているため、より多くのものはサーバー側で暗号化すべきです。
ゲームRPC分析
RPCの問題は非常に敏感であり、プロジェクトチームの承認がない限り、分析を展開しません。現在、BigTimeの RPCセキュリティ 防護は0であり、特定のRPCパッケージについてテストした結果、サーバーはそれを認識することがわかりました。そのセキュリティスコアは0です。 プロジェクトチームにはRPC全体のセキュリティについて詳細な監査を行うことをお勧めします。以下は一部のRPC情報です。
WEB3セキュリティ分析:
概要:
Bigtimeはチェーンゲームとして、Web3の設計は2つの部分に分かれます。1つは基盤のbigtimeトークン部分、もう1つはゲーム内のWEB3経済システム部分です。この部分の設計は他のゲームと比較して相対的に分離されています。ゲーム内ではトークンを生成し、NFTを鍛造し、同時にETH上に固定流通のトークン契約を展開します。
トークン契約のセキュリティ:
トークンの基本情報は以下の通りです:
BigTimeのトークン契約は、マルチシグウォレットにトークンをミントし、固定供給量の方法で展開されています。現在のトークン契約の機能はシンプルであるため、契約の基本的なセキュリティは十分です。オーナーウォレットのTx情報を観察することで、オーナーウォレットがトークンを取得した後、いくつかのウォレットにそれぞれトークンを転送したことがわかります。
これらのウォレットの大部分はSafeのマルチシグウォレットを使用しています。これに基づいて、現在のトークンに関連する全体的なセキュリティリスクは主に秘密鍵の漏洩と、プロジェクトチームに特権アカウントが存在するかどうかに起因しています。マルチシグを使用していますが、特権アカウントの秘密鍵が漏洩した場合、一定の盗難リスクが存在します。
ゲーム内経済システムのセキュリティ:
BigTimeでは、プレイヤーは時空守衛の空間に入り、時間の砂時計を鍛造したり、時間の砂時計を充電したりする操作を行います。この部分は市場のバランスに直接影響を与える機能の一部がローカルで実行されるコードに保存されています。GSがどのように設計されているかは不明ですが、このような行動は高リスク行為に該当します。以下の通りです。
このようなRPC関数は多数存在し、テストコストが高いため、現時点では安全テストを行わないことにします。プロジェクトチームには、この部分についてサーバー側で厳格な判断を行うことを期待しています。
ダモクレスについて
ダモクレスラボは2023年に設立されたセキュリティチームで、Web3業界のセキュリティに特化しています。業務内容には、契約コード監査、ビジネスコード監査、ペネトレーションテスト、GameFiコード監査、GameFi脆弱性発掘、GameFiチート分析、GameFi反チートが含まれます。
私たちはWeb3セキュリティ業界で引き続き力を入れ、できるだけ多くの分析レポートを提供し、プロジェクトチームとユーザーのGameFiセキュリティに対する認識を高め、業界の安全な発展を促進します。