セキュリティセンターTOP > セキュアプログラミング講座 > Webアプリケーション編 > マッシュアップ > クライアントサイドマッシュアップ: #1 クライアントサイドマッシュアップをめぐる脅威
第8章 マッシュアップ
クライアントサイドマッシュアップ: #1 クライアントサイドマッシュアップをめぐる脅威
複数の侵害シナリオ
クライアントサイドマッシュアップのシステム構成を選択した場合、主なセキュリティ侵害として次の5つのシナリオが考えられる。
- シナリオ1:悪意のAPIサイトによるユーザの侵害(詐欺)
- シナリオ2:悪意のAPIサイトによるクライアントデバイス上のリソースの侵害
- シナリオ3:悪意のAPIサイトによる善意のAPIの侵害
- シナリオ4:無関係のサイトによる善意のAPIの侵害
- シナリオ5:悪意のクライアントによる善意のAPIの侵害
なお、ここでは「マッシュアップ合成物(マッシュアップ手法を用いて組み立てられたコンテンツ)自体は善意のコンテンツである」と想定する。

図8-2: 5つのシナリオ
表:5つのシナリオ
| シ ナ リ オ |
侵害する側 | 侵害される側 | 侵害の内容 | 主な攻撃手口 |
|---|---|---|---|---|
| 1 | コンテンツに取り込まれたマッシュアップ素材 (第三者のサーバからロードされたリソース) | クライアントデバイスのユーザ | ニセ画面表示を用いた詐欺によるパスワードの盗み出し等 |
|
| 2 | クライアントデバイス上のリソース(保存されているデータやプログラム) | データの漏えい・改ざん・破壊、プログラム機能の無断使用 | ||
| 3 | 別のマッシュアップAPIサーバ(マッシュアップ素材を提供するサーバ) | |||
| 4 | ユーザの意思によらずブラウザにロードされた、マッシュアップ合成物とは無関係の第三者のコンテンツ | いずれかのマッシュアップAPIサーバ(クロスオリジンリクエストで呼び出されるサーバ) | データの漏えい・改ざん・破壊、プログラム機能の無断使用 | |
| 5 | 悪意のユーザによって用意されたクライアント側プログラム (Webコンテンツおよびスタンドアロンプログラム) |
各シナリオについての検討
シナリオ1〜3は、悪意の APIサイトによってクライアントが侵害されるというものである。次の節「悪意のAPIサイトからの脅威」では、これら 3つに共通の問題について論じる。
シナリオ4は、無関係なサイトの攻撃者によってユーザが使うブラウザが侵害されユーザの意図に関係なく善意の API に攻撃が行われてしまうというものである。以降の節「リクエスト強要攻撃による善意のAPIへの侵害」では、この問題について論じる。
シナリオ5は、悪意のクライアントによって APIサイトが攻撃されるというものである。このシナリオについては、従来のWebアプリケーションのセキュリティ対策と同様のため、本稿では割愛する。
対策に利用できる技術
本章最後の節「対策に利用できる技術」では、クライアントサイドマッシュアップにおけるセキュリティ確保に利用できるいくつかの技術について論じる。