アーカイブ

第8章 2.クライアントサイドマッシュアップ:クライアントサイドマッシュアップをめぐる脅威

公開日:2007年6月28日

本ページの情報は2007年6月時点のものです。
記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。

複数の侵害シナリオ

クライアントサイドマッシュアップのシステム構成を選択した場合、主なセキュリティ侵害として次の5つのシナリオが考えられる。

  • シナリオ1:悪意のAPIサイトによるユーザの侵害(詐欺)
  • シナリオ2:悪意のAPIサイトによるクライアントデバイス上のリソースの侵害
  • シナリオ3:悪意のAPIサイトによる善意のAPIの侵害
  • シナリオ4:無関係のサイトによる善意のAPIの侵害
  • シナリオ5:悪意のクライアントによる善意のAPIの侵害

なお、ここでは「マッシュアップ合成物(マッシュアップ手法を用いて組み立てられたコンテンツ)自体は善意のコンテンツである」と想定する。

表:5つのシナリオ

シナリオ1

侵害する側

コンテンツに取り込まれたマッシュアップ素材 (第三者のサーバからロードされたリソース)

侵害される側

クライアントデバイスのユーザ

侵害の内容

ニセ画面表示を用いた詐欺によるパスワードの盗み出し等

主な攻撃手口

  • ロードされるマッシュアップ素材に悪意のスクリプトを忍ばせておく
  • いわゆる「DOMベースのスクリプト注入」
シナリオ2

侵害する側

コンテンツに取り込まれたマッシュアップ素材 (第三者のサーバからロードされたリソース)

侵害される側

クライアントデバイス上のリソース(保存されているデータやプログラム)

侵害の内容

データの漏えい・改ざん・破壊、プログラム機能の無断使用

主な攻撃手口

  • ロードされるマッシュアップ素材に悪意のスクリプトを忍ばせておく
  • いわゆる「DOMベースのスクリプト注入」
シナリオ3

侵害する側

コンテンツに取り込まれたマッシュアップ素材 (第三者のサーバからロードされたリソース)

侵害される側

別のマッシュアップAPIサーバ(マッシュアップ素材を提供するサーバ)

侵害の内容

データの漏えい・改ざん・破壊、プログラム機能の無断使用

主な攻撃手口

  • ロードされるマッシュアップ素材に悪意のスクリプトを忍ばせておく
  • いわゆる「DOMベースのスクリプト注入」
シナリオ4

侵害する側

ユーザの意思によらずブラウザにロードされた、マッシュアップ合成物とは無関係の第三者のコンテンツ

侵害される側

いずれかのマッシュアップAPIサーバ(クロスオリジンリクエストで呼び出されるサーバ)

侵害の内容

データの漏えい・改ざん・破壊、プログラム機能の無断使用

主な攻撃手口

  • 他源泉のリクエスト強要攻撃(CSRF)
シナリオ5

侵害する側

悪意のユーザによって用意されたクライアント側プログラム
(Webコンテンツおよびスタンドアロンプログラム)

侵害される側

いずれかのマッシュアップAPIサーバ(クロスオリジンリクエストで呼び出されるサーバ)

侵害の内容

データの漏えい・改ざん・破壊、プログラム機能の無断使用

主な攻撃手口

  • Webサーバに対する従来型の攻撃手口

各シナリオについての検討

シナリオ1~3は、悪意の APIサイトによってクライアントが侵害されるというものである。次の節「悪意のAPIサイトからの脅威」では、これら 3つに共通の問題について論じる。

シナリオ4は、無関係なサイトの攻撃者によってユーザが使うブラウザが侵害されユーザの意図に関係なく善意の API に攻撃が行われてしまうというものである。以降の節「リクエスト強要攻撃による善意のAPIへの侵害」では、この問題について論じる。

シナリオ5は、悪意のクライアントによって APIサイトが攻撃されるというものである。このシナリオについては、従来のWebアプリケーションのセキュリティ対策と同様のため、本稿では割愛する。

対策に利用できる技術

本章最後の節「対策に利用できる技術」では、クライアントサイドマッシュアップにおけるセキュリティ確保に利用できるいくつかの技術について論じる。