アクセシビリティ

Flash記事

 

Flash Player 8 のセキュリティ機能の変更点


Deneb Meketa

Deneb Meketa

Adobe

目次

作成日:
2005年 11月 10日
ユーザレベル:
中級

Flash Player 8 では、ローカル Flash コンテンツに適用されるセキュリティモデルが変更されました。HTTP 経由ではなく、ユーザーのローカルファイルシステムから直接、Flash アプリケーションを実行する場合、デフォルトでは、Flash Player 7 でよりも Flash Player 8 でのほうが、権限が厳しく制限されるようになりました。セキュリティモデルの今回の変更はすべてのバージョンの Flash コンテンツに適用されます。つまり、Flash Player 8 のリリース前にパブリッシュされたコンテンツは、この変更による影響を受ける場合があります。また、そのリリース後に作成された新しいコンテンツも、この変更による影響を受ける場合があります。この記事では、今回の変更から生じる問題を解決する方法について説明します。

セキュリティモデルが変更されたほか、Flash Player 8 では、制限と新しいセキュリティ機能がいくつか追加されています。この記事では、これらの新しい制限や機能についても説明しますが、Flash Player 8 では、ローカルセキュリティの変更のほうが、セキュリティ上はるかに重要なテーマです。

メモ : ローカルセキュリティの今回の変更は "HTTP 経由でサービスを提供される Flash コンテンツには影響を与えません。" ほとんどの Flash コンテンツは HTTP 経由でサービスを提供され、今回の変更による影響を受けることはありません。

新しい制限

ここでは、Flash コンテンツに適用される最新の制限を挙げます。

  • ローカルサンドボックス : デフォルトでは、ローカル SWF がインターネットへのアクセス、HTTP 経由の通信、ローカル HTML ファイルとの通信を行うことは許可されなくなりました。バージョン 7 以前の SWF がこれらのアクションのいずれかを実行しようとすると、警告ダイアログボックスが表示され、そのアクションを実行できないことが通知されます。このダイアログボックスが表示され、既存のコンテンツの処理が停止されたら、エンドユーザーまたは Flash 開発者は適切な許可を与えることによって、この状況を回避できます。
  • ロードに関する制限 : 非ローカル URL にある SWF および HTML コンテンツがローカルパスにあるコンテンツ (SWF、HTML、PNG など) をロードすることは許可されなくなりました。
  • サードパーティのストレージ : Flash Player ユーザーがサードパーティの SWF (ブラウザのアドレスバーに表示されるドメインとは異なるドメインにある SWF) による永続共有オブジェクトへの読み書きを禁止できるようになりました。この制限はデフォルトでは適用されません。適用されるように事前に設定しておく必要があります。
  • allowScriptAccess のデフォルト値 : バージョン 8 以降の SWF の場合、HTML allowScriptAccess パラメータのデフォルト値は「always」ではなく、「sameDomain」です。この制限はバージョン 7 以前の SWF には影響を与えません。allowScriptAccess パラメータは、SWF が HTML ページ内の JavaScript を呼び出すことを許可するかどうかを制御します。

新しいセキュリティ機能

ここでは、Flash コンテンツで使用できる新しいセキュリティ機能を挙げます (Flash Player 7 に関するセキュリティ情報については、Macromedia Flash Player 7 のセキュリティ機能の変更点に関する記事を参照)。

allowDomain でのワイルドカードの使用 : System.security.allowDomain() で、任意のドメインにある SWF によるアクセスを許可するワイルドカード「*」引数を使用できるようになりました。

許可の適用先の絞り込み : System.security.allowDomain() と System.exactSettings が呼び出し元の SWF のドメイン全体ではなく、呼び出し元の SWF にのみ適用されるようになりました。この機能は新しい (バージョン 8 以降の) コンテンツにのみ影響を与えるため、下位互換性は保持されます。

永続共有オブジェクトの保護 : HTTPS 経由でロードされる SWF は、同じく HTTPS 経由でロードされる SWF によってのみアクセスできる SharedObject オブジェクトを作成できるようになりました。この機能は、ブラウザの Cookie の機能を反映し、共有オブジェクトに格納されているデータをスヌーピングや改ざんの脅威から保護します。既存の共有オブジェクトは影響を受けません。

著者について

Deneb Meketa は Adobe Flash Player チームのエンジニアです。Deneb は自ら現在問題になっているセキュリティの変更を実装しました。セキュリティの問題では深い自責の念に駆られましたが、Deneb 自身その 10 倍以上大変だったことは間違いありません。最近は、週末をサンフランシスコのベイエリアでハンググライダーに乗って過ごすようになりました。