用語集 SDK Spoofing

モバイルマーケティング用語集

SDKスプーフィング | SDK Spoofing

SDKスプーフィングとは

SDKスプーフィングは、実際の端末でインストールの水増しを発生させることです。不正業者は正当に見えるインストールを生成することで、広告主の予算を搾取します。このような行為は、トラフィックスプーフィングやリプレイ攻撃とも呼ばれています。

不正が発生する仕組み

SDKスプーフィングを発生させるため、不正業者はMITM (man-in-the-middle attack) と呼ばれる攻撃を実行し、計測用のSDKとそのバックエンドサーバーの間の暗号化されたSSL通信を解読します。MITM攻撃が完了すると、次に不正を働きたいアプリに対して一連のテスト用インストールを実施します。

まず、アプリの中のどのURLコールがアプリ内の特定のアクションと結びついているのかを読み取ります。次に、URLのどの部分が静的、あるいは動的な部分なのかを調査し、動的な部分で設定のテストを行います。 インストールの計測に一度成功したら不正業者はロジックを把握したと判断し、アプリのスプーフィング(インストールの水増し)を開始します。これが何度も繰り返されます。

SDKスプーフィングに関する3つのポイント

  1. SDKスプーフィングは、エミュレーションソフトウェアやインストールファームによるフェイクインストールと比べて検出が困難です。正当なインストールと一見変わりないため、キャンペーンで獲得したインストールの最大80%がフェイクインストールである場合もあります。
  2. 不正業者は、自分で操作が可能なアプリを用いて実際のデバイスデータを収集します。このような行為は、不正であることを感じさせない、一般的なアプリ(バッテリーセーバーやライトツールなど)を介して実行されます。
  3. SDKスプーフィングが広告主にとって深刻な問題になり始めた2017年から、このようなタイプの不正手段が横行しています。以前は不正検出が比較的容易でしたが、現在は、不正の手法がデバイスベースのパラメーターを使った非常に高度な技術へと進化しています。

AdjustのSDKスプーフィング対策とは?

Adjustでは、SDKスプーフィングに対抗するためハッシュ化されたシグネチャーを作成し、SDKのパッケージにシグネチャーを組み込む仕様にしました。この手法によりリプレイ攻撃が確実に機能しなくなります。また、ダイナミックパラメータをURLに組み込むことによって、不正業者が推測したり盗んだりできないように、パラメーターは一度しか使用できない仕様になっています。合理的で安全なハッシュ化されたシグネチャーにより、お客様が適正なユーザーエクスペリエンスを実現できるように、Adjustでは高度なセキュリティ基準に従って共有シークレットを発行しています。さらに、Adjustの管理画面上でアプリごとにシークレットを更新したり、新バージョンやリリースのたびに異なるシークレットを使用することができます。これにより、古くなったシグネチャーのバージョンを気にすることなく、最も高度なセキュリティ基準に沿ってアトリビューションを行うことが可能です。

AdjustのSDKシグネチャーに関する詳細は、Adjustのドキュメントをご覧ください。

AdjustのSDKシグネチャーの仕組み

SDKシグネチャーは、アプリの機密部分、つまりSDKに実装されるアプリに固有なフィールドの一部と、インストールリクエストと共にハッシュ化されて送信される、他の複数のフィールドを統合して作成されます。署名を通じてSDKから流入するトラフィックをバックエンドで検証し、一致したらインストールを承認します。