セキュリティセンターTOP > セキュアプログラミング講座 > Webアプリケーション編 > マッシュアップ > クライアントサイドマッシュアップ: #1 クライアントサイドマッシュアップをめぐる脅威

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

複数の侵害シナリオ

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

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

5つのシナリオ
図8-2: 5つのシナリオ

表:5つのシナリオ



侵害する側 侵害される側 侵害の内容 主な攻撃手口
1 コンテンツに取り込まれたマッシュアップ素材 (第三者のサーバからロードされたリソース) クライアントデバイスのユーザ ニセ画面表示を用いた詐欺によるパスワードの盗み出し等
  • ロードされるマッシュアップ素材に悪意のスクリプトを忍ばせておく

  • DOMベースの、スクリプト注入攻撃(XSS)
  • 2 クライアントデバイス上のリソース(保存されているデータやプログラム) データの漏えい・改ざん・破壊、プログラム機能の無断使用
    3 別のマッシュアップAPIサーバ(マッシュアップ素材を提供するサーバ)
    4 ユーザの意思によらずブラウザにロードされた、マッシュアップ合成物とは無関係の第三者のコンテンツ いずれかのマッシュアップAPIサーバ(クロスオリジンリクエストで呼び出されるサーバ) データの漏えい・改ざん・破壊、プログラム機能の無断使用
  • 他源泉のリクエスト強要攻撃(CSRF)
  • 5 悪意のユーザによって用意されたクライアント側プログラム
    (Webコンテンツおよびスタンドアロンプログラム)
  • Webサーバに対する従来型の攻撃手口

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

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

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

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

    対策に利用できる技術

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