なぜ、チート対策が難しいのか?
チート対策は、特定の製品を導入するだけで完結するものではありません。攻撃者は複数の側面から攻撃を試み、「最小の労力で最大の効果」を得ようと試みます。
クライアントとAPIサーバの両面から「攻撃コストを高める」ための現実的な対策をご提案します。
クライアント解析によるチート
アプリがユーザの端末内にある以上、解析のリスクは常に存在します。リバースエンジニアリングにより、メモリ上の値の改ざんや、アプリ内部のロジックの書き換え、APIサーバとの通信方式の特定などが行われます。
難読化やバイナリの改ざん検知機能、デバッガ検知機能などの保護機構は必要に応じて解除されます。クライアントの挙動そのものをねじ曲げる攻撃が行われます。
APIへの不正な通信によるチート
攻撃者は中間者攻撃によって通信内容を把握します。リクエスト内容を改ざんして、サーバに誤った情報を送信します。
必要に応じてSSL Pinningは無効化、通信内容の暗号化は復号されます。リプレイ攻撃によるアイテムの増殖や、不正なスコア送信によるランキング操作など、不正なリソースの操作が試みられます。