権限の制御

Flash Player 9 以降、Adobe AIR 1.0 以降

Flash Player クライアントランタイムのセキュリティモデルは、SWF ファイル、ローカルデータ、インターネット URL などのオブジェクトであるリソースに基づいて設計されています。 ステークホルダーは、これらのリソースの所有者または使用者です。 ステークホルダーはそのリソースを管理(セキュリティ設定)できます。また、各リソースにはステークホルダーが 4 つあります。 次の図に示すように、Flash Player ではこれらの管理の権限階層が厳密に適用されます。

権限階層
セキュリティ管理の階層

これは、例えば管理者がリソースへのアクセスを制限した場合、他のステークホルダーはこの制限をオーバーライドすることはできないことを示します。

AIR アプリケーションでは、これらのアクセス制御は AIR アプリケーションサンドボックスの外部で実行するコンテンツに対してのみ適用されます。

管理ユーザーのコントロール

コンピューターの管理ユーザー(管理者権限でログインするユーザー)は、そのコンピューターの全ユーザーに有効な Flash Player セキュリティ設定を適用できます。 家庭用コンピューターなど、エンタープライズ以外の環境では、管理者権限も持つユーザーは通常 1 人です。エンタープライズ環境でも、個々のユーザーが管理者権限を持つ場合があります。

管理ユーザーのコントロールには次の 2 種類があります。

  • mms.cfg ファイル

  • Global Flash Player Trust ディレクトリ

mms.cfg ファイル

mms.cfg ファイルは、様々な機能へのアクセスを許可または制限するために管理者が使用できるテキストファイルです。 Flash Player が起動すると、このファイルからセキュリティ設定を読み取り、機能を制限するために使用します。 mms.cfg ファイルには、プライバシー制御、ローカルファイルセキュリティ、ソケット接続などの機能を管理するために管理者が使用する設定が含まれています。

SWF ファイルは、 Capabilities.avHardwareDisable および Capabilities.localFileReadDisable プロパティを呼び出すことにより、無効化されている機能に関する一部の情報にアクセスできます。ただし、mms.cfg ファイルのほとんどの設定は、AcrionScript から照会できません。

コンピューターのセキュリティとプライバシーに関するセキュリティを、アプリケーションから独立して適用するには、システム管理者のみが mms.cfg ファイルを変更する必要があります。 mms.cfg ファイルは、アプリケーションインストーラーが使用するためのものではありません。 管理権限のあるユーザーが実行しているインストーラーは、mms.cfg ファイルの内容を変更できますが、アドビ システムズ社では、そのような使用状況はユーザーの信頼を裏切るものであると考えており、インストーラーの作成者に mms.cfg ファイルを決して変更しないように強く要請しています。

mms.cfg ファイルは次の場所に格納されています。

  • Windows: system ¥Macromed¥Flash¥mms.cfg

    (例:C:¥WINDOWS¥system32¥Macromed¥Flash¥mms.cfg)

  • Mac: app support /Macromedia/mms.cfg

    (例:/Library/Application Support/Macromedia/mms.cfg)

mms.cfg ファイルについて詳しくは、『Flash Player 管理ガイド』( www.adobe.com/go/flash_player_admin_jp )を参照してください。

Global Flash Player Trust ディレクトリ

管理ユーザーおよびインストーラーアプリケーションは、指定されたローカル SWF ファイルをすべてのユーザーの信頼できるファイルとして登録できます。これらの SWF ファイルは、local-trusted サンドボックスに割り当てられます。 割り当てられたファイルは、他の SWF ファイルと自由に通信し、リモートまたはローカルを問わずどこからでもデータをロードできます。 ファイルは、次の場所の Global Flash Player Trust ディレクトリで信頼できるファイルとして指定されます。

  • Windows: system ¥Macromed¥Flash¥FlashPlayerTrust

    (例:C:¥WINDOWS¥system32¥Macromed¥Flash¥FlashPlayerTrust)

  • Mac: app support /Macromedia/FlashPlayerTrust

    (例 : /Library/Application Support/Macromedia/FlashPlayerTrust)

Flash Player Trust ディレクトリには、任意の数のテキストファイルを格納でき、それぞれのファイルは、信頼できるパスを 1 行に 1 パスずつ示したリストです。 1 つのパスを 1 つの SWF ファイル、HTML ファイル、またはディレクトリとすることもできます。 コメント行は、 # 記号で始まります。例えば、次のテキストが入っている Flash Player トラスト構成ファイルは、指定されたディレクトリとそのすべてのサブディレクトリにあるすべてのファイルに、信頼されている状態を付与します。

# Trust files in the following directories: 
C:\Documents and Settings\All Users\Documents\SampleApp

トラスト構成ファイル内に示されるパスは、常にローカルパスであるか SMB ネットワークパスであることが必要です。 トラスト構成ファイル内の HTTP パスは、すべて無視されます。信頼できるのは、ローカルファイルだけです。

競合を避けるため、それぞれのトラスト構成ファイルにはインストールするアプリケーションに対応したファイル名を付け、.cfg のファイル拡張子を使用してください。

ローカルで実行する SWF ファイルをインストーラーアプリケーションから配布する開発者は、インストーラーアプリケーションに Global Flash Player Trust ディレクトリへ構成ファイルを追加させて、配布するファイルに対するすべての権限を付与することができます。 インストーラーアプリケーションは、管理者権限のあるユーザーが実行する必要があります。 mms.cfg ファイルと異なり、Global Flash Player Trust ディレクトリはトラスト許可を付与するインストーラーアプリケーションのために組み込まれています。 管理ユーザーとインストーラーアプリケーションは、どちらも Global Flash Player Trust ディレクトリを使用して、信頼できるローカルアプリケーションを指定できます。

また個々のユーザーの Flash Player Trust ディレクトリも使用できます( ユーザーのコントロール を参照)。

ユーザーのコントロール

Flash Player には、権限を設定するためのユーザーレベルのメカニズムとして、設定 UI、設定マネージャーおよび User Flash Player Trust ディレクトリの 3 つがあります。

設定 UI および設定マネージャー

設定 UI は、特定のドメインの設定をすばやくインタラクティブに行うメカニズムです。 設定マネージャーは、詳細なインターフェイスを提供し、多数またはすべてのドメインのアクセス許可を対象とするグローバルな変更を行う機能を備えています。 また、SWF ファイルによって新しいアクセス許可が要求され、セキュリティやプライバシーに関する実行時決定が必要なとき、ユーザーが Flash Player 設定を調整できるダイアログボックスが表示されます。

設定マネージャーおよび設定 UI には、カメラとマイクの設定、共有オブジェクトの記憶領域の設定、古いコンテンツに関する設定などのセキュリティ関連のオプションが用意されています。設定マネージャーまたは設定 UI のいずれも AIR アプリケーションでは使用できません。

注意: mms.cfg ファイルで行われる設定は( 管理ユーザーのコントロール を参照)、設定マネージャーに反映されません。

設定マネージャーについて詳しくは、 www.adobe.com/go/settingsmanager_jp を参照してください。

User Flash Player Trust ディレクトリ

ユーザーおよびインストーラーアプリケーションは、指定されたローカル SWF ファイルを信頼できるファイルとして登録できます。 これらの SWF ファイルは、local-trusted サンドボックスに割り当てられます。 割り当てられたファイルは、他の SWF ファイルと自由に通信し、リモートまたはローカルを問わずどこからでもデータをロードできます。 ユーザーは、User Player Trust ディレクトリでファイルを信頼できるファイルに指定します。このディレクトリは、Flash 共有オブジェクトの記憶領域と同じディレクトリ内にあり、現在のユーザーに固有の次の場所にあります。

  • Windows:app data¥Macromedia¥Flash Player¥#Security¥FlashPlayerTrust

    (例:Windows XP の場合は C:¥Documents and Settings¥JohnD¥Application Data¥Macromedia¥Flash Player¥#Security¥FlashPlayerTrust、Windows Vista の場合は C:¥Users¥JohnD¥AppData¥Roaming¥Macromedia¥Flash Player¥#Security¥FlashPlayerTrust)

    Windows では、Application Data フォルダーはデフォルトで非表示になっています。非表示のフォルダーおよびファイルを表示するには、マイコンピューターを選択して Windows エクスプローラーを開き、ツール/フォルダーオプションを選択して「表示」タブを選択します。「表示」タブで「すべてのファイルとフォルダーを表示する」ラジオボタンを選択します。

  • Mac: app data/Macromedia/Flash Player/#Security/FlashPlayerTrust

    (例 : /Users/JohnD/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust)

    この設定は、現在のユーザーだけに影響を及ぼし、コンピューターにログインする他のユーザーには影響を及ぼしません。 管理権限のないユーザーがシステムの個人領域にアプリケーションをインストールする場合、インストーラーは User Flash Player Trust ディレクトリに、アプリケーションをそのユーザーの信頼できるアプリケーションとして登録できます。

    ローカルで実行する SWF ファイルをインストーラーアプリケーションによって配布する開発者は、インストーラーアプリケーションに User Flash Player Trust ディレクトリへ構成ファイルを追加させて、配布するファイルに対するすべての権限を付与することができます。 この場合でも、User Flash Player Trust ディレクトリファイルは、管理ユーザーのアクション(インストール)によって開始されるため、管理ユーザーのコントロールと見なされます。

    また、管理ユーザーまたはインストーラーが、コンピューターの全ユーザーのアプリケーションの登録先に使用する Global Flash Player Trust ディレクトリもあります( 管理ユーザーのコントロール を参照)。

Web サイトのコントロール(ポリシーファイル)

Web サーバーにあるデータを他のドメインの SWF ファイルから利用できるようにするために、サーバー上にポリシーファイルを作成できます。ポリシーファイルは、サーバーの特定の場所に配置される XML ファイルです。

ポリシーファイルは、次のようなアセットへのアクセスに影響を及ぼします。

  • ビットマップ、サウンド、およびビデオのデータ

  • XML ファイルとテキストファイルのロード

  • 他のセキュリティドメインから、ロードする SWF ファイルのセキュリティドメインへの SWF ファイルの読み込み

  • ソケットと XML ソケット接続へのアクセス

ActionScript オブジェクトは、2 種類のサーバー接続をインスタンス化します。ドキュメントベースのサーバー接続とソケット接続です。 Loader、Sound、URLLoader、URLStream のような ActionScript オブジェクトは、ドキュメントベースのサーバー接続をインスタンス化し、URL からファイルをロードします。ActionScript の Socket オブジェクトと XMLSocket オブジェクトはソケット接続を作成し、ロードされたドキュメントでなくストリーミングデータを処理します。

Flash Player は 2 種類のサーバー接続をサポートするので、URL ポリシーファイルとソケットポリシーファイルの 2 種類のポリシーファイルがあります。
  • ドキュメントベースの接続では、URL ポリシーファイルが必要です。これらのファイルにより、サーバーは、そのデータとドキュメントを特定のドメインまたはすべてのドメインの SWF ファイルで使用できることを示すことができます。

  • ソケット接続では、Socket および XMLSocket クラスを使用して、下位 TCP ソケットレベルでネットワーキングを直接有効にするソケットポリシーファイルが必要です。

Flash Player では、目的の接続で使用するプロトコルと同じプロトコルを使用してポリシーファイルを送信する必要があります。例えば、ポリシーファイルを HTTP サーバーに置いた場合、他のドメインの SWF ファイルは、その HTTP サーバーからデータをロードできます。 しかし、同じサーバーでソケットポリシーファイルを提供しなければ、他のドメインの SWF ファイルはそのサーバーにソケットレベルで接続できなくなります。つまり、ポリシーファイルを取得する手段は、接続の手段に一致する必要があります。

ポリシーファイルの使用方法とシンタックスは、Flash Player 10 用にパブリッシュされた SWF ファイルに適用されるので、この節の後半で簡単に説明します(最近のリリースでは Flash Player のセキュリティが強化されているので、以前のバージョンの Flash Player ではポリシーファイルの実装が若干異なります)。ポリシーファイルについて詳しくは、Flash Player デベロッパーセンターで Flash Player 9 のポリシーファイル変更点に関するトピック( www.adobe.com/go/devnet_security_jp )を参照してください。

AIR アプリケーションサンドボックス内で実行するコードが URL またはソケットからのデータにアクセスする場合、ポリシーファイルは必要ありません。非アプリケーションサンドボックス内で実行する AIR アプリケーションのコードには、ポリシーファイルが必要です。

マスターポリシーファイル

デフォルトでは、Flash Player(および AIR アプリケーションサンドボックスに含まれていない AIR コンテンツ)は、最初にサーバーのルートディレクトリで crossdomain.xml という名前の URL ポリシーファイルを探し、ポート 843 でソケットポリシーファイルを探します。これらの場所のいずれかにあるファイルは、マスターポリシーファイルと呼ばれます(ソケット接続の場合、メインの接続と同じポート上のソケットポリシーファイルも検索されます。しかし、そのポートで検出されたポリシーファイルはマスターポリシーファイルとは見なされません)。

アクセス許可の指定に加えて、マスターポリシーファイルには、メタポリシーステートメントも含めることができます。メタポリシーは、ポリシーファイルを格納できる場所を指定します。URL ポリシーファイルのデフォルトメタポリシーは「マスターのみ」で、/crossdomain.xml がサーバーで許可される唯一のポリシーファイルです。ソケットポリシーファイルのデフォルトメタポリシーは「すべて」であり、ホスト上の任意のソケットでソケットポリシーファイルを提供できます。

注意: Flash Player 9 以前のバージョンでは、URL ポリシーファイルのデフォルトメタポリシーは「すべて」であり、任意のディレクトリにポリシーファイルを格納できます。デフォルトの /crossdomain.xml ファイル以外の場所からポリシーファイルをロードするアプリケーションを開発し、そのアプリケーションが Flash Player 10 で動作する可能性がある場合は、開発者(またはサーバー管理者)がマスターポリシーファイルを変更して追加のポリシーファイルを許可する必要があります。異なるメタポリシーを指定する方法について詳しくは、Flash Player デベロッパーセンターで Flash Player 9 のポリシーファイル変更点に関するトピック( www.adobe.com/go/devnet_security_jp )を参照してください。

SWF ファイルは、 Security.loadPolicyFile() メソッドを呼び出して、別のポリシーファイル名または別のディレクトリ内をチェックできます。ただし、ターゲットの場所でポリシーファイルを提供できることがマスターポリシーファイルで指定されていない場合は、その場所にポリシーファイルが存在していても loadPolicyFile() への呼び出しは無効です。ポリシーファイルを必要とするネットワーク処理を行う前に、 loadPolicyFile() を呼び出します。Flash Player は、対応するポリシーファイル試行のバックグラウンドでネットワーキング要求を自動的にキューに入れます。したがって、ネットワーキング操作を開始する直前などに Security.loadPolicyFile() を呼び出すことが可能です。

マスターポリシーファイルのチェックを行うとき、Flash Player はサーバーの応答を 3 秒間待機します。応答がない場合、Flash Player ではマスターポリシーファイルが存在しないと判断されます。しかし、 loadPolicyFile() の呼び出しのデフォルトタイムアウト値はありません。Flash Player では、呼び出されているファイルが存在するものとして、そのファイルをロードするのに必要なだけ待機します。したがって、マスターポリシーファイルを確実にロードするには、 loadPolicyFile() を使用し、明示的に呼び出します。

メソッドの名前は Security.loadPolicyFile() ですが、ポリシーファイルは、ポリシーファイルを必要とするネットワーク呼び出しが発生するまでロードされません。 loadPolicyFile() の呼び出しでは、Flash Player に対し、必要なときにポリシーファイルを検索する場所が指示されるだけです。

ポリシーファイル要求が開始されたときまたは完了したときに通知を受信する理由はないので、そのような通知は受信できません。Flash Player ではポリシーチェックは非同期で実行され、ポリシーファイルチェックが成功するまで接続の開始が自動的に待機されます。

次の節には、URL ポリシーファイルにのみ該当する情報が記載されています。ソケットポリシーファイルについて詳しくは、 ソケットへの接続 を参照してください。

URL ポリシーファイルのスコープ

URL ポリシーファイルは、ロード元のディレクトリとその子ディレクトリにのみ、適用されます。ルートディレクトリのポリシーファイルは、サーバー全体に適用されます。任意のサブディレクトリからロードされたポリシーファイルは、そのディレクトリおよびサブディレクトリにのみ適用されます。

ポリシーファイルは、そのファイルが存在する特定のサーバーへのアクセスにのみ影響を及ぼします。 例えば、https://www.adobe.com:8080/crossdomain.xml にあるポリシーファイルは、HTTPS 経由でポート 8080 から www.adobe.com に対して呼び出されるデータロード呼び出しにのみ適用されます。

URL ポリシーファイルでのアクセス許可の指定

ポリシーファイルには、 <cross-domain-policy> タグが 1 つ含まれ、このタグには <allow-access-from> タグが含まれている場合もあります。各 <allow-access-from> タグには、 domain という属性が 1 つ含まれています。この属性は、正確な IP アドレス、正確なドメインまたはワイルドカードドメイン(任意のドメイン)のいずれかを指定します。ワイルドカードドメインは、2 つの方法のいずれかで指定されます。
  • 1 つのアスタリスク(*):すべてのドメインおよびすべての IP アドレスに一致します。

  • アスタリスクの後に接尾辞:指定した接尾辞で終わるドメインにのみ一致します。

接尾辞は、ドットで始める必要があります。 ただし、この先頭のドットは検索には使用されません。ドットを除いた接尾辞に一致するドメインだけが検索されます。 例えば、xyz.com は *.xyz.com の一部と見なされます。IP ドメインの指定にワイルドカードは使用できません。

次の例は、*.example.com、www.friendOfExample.com および 192.0.34.166 に置かれている SWF ファイルへのアクセスを許可する URL ポリシーファイルを示しています。

<?xml version="1.0"?> 
<cross-domain-policy> 
    <allow-access-from domain="*.example.com" /> 
    <allow-access-from domain="www.friendOfExample.com" /> 
    <allow-access-from domain="192.0.34.166" /> 
</cross-domain-policy>

IP アドレスを指定した場合は、IP シンタックス(http://65.57.83.12/flashmovie.swf など)を使用してその IP アドレスからロードされた SWF ファイルにのみアクセスが許可されます。ドメイン名シンタックスを使用した SWF ファイルへのアクセスは許可されません。Flash Player は、DNS 解決を行いません。

次のように、すべてのドメインのドキュメントに対してアクセスを許可できます。

<?xml version="1.0"?> 
<!-- http://www.foo.com/crossdomain.xml --> 
<cross-domain-policy> 
<allow-access-from domain="*" /> 
</cross-domain-policy>

<allow-access-from> タグには、オプションの secure 属性もあります。この属性のデフォルトは true です。ポリシーファイルが HTTPS サーバー上にあり、HTTPS サーバー以外にある SWF ファイルで HTTPS サーバーのデータをロードする場合は、この属性を false に設定できます。

secure 属性を false に設定すると、HTTPS のセキュリティが影響を受けます。特に、この属性を false に設定すると、セキュアなコンテンツがスヌープ攻撃やスプーフィング攻撃にさらされる可能性があります。 secure 属性は false に設定しないことを強くお勧めします。

ロードするデータが HTTPS サーバー上にあり、そのデータをロードする SWF ファイルが HTTP サーバー上にある場合は、SWF ファイルを HTTPS サーバーに移動することをお勧めします。SWF ファイルを HTTPS サーバーに移動すると、セキュアデータのすべてのコピーを HTTPS の保護下に置くことができます。しかし、SWF ファイルを HTTP サーバー上に置く必要がある場合は、次のコードに示すように、 secure="false" 属性を <allow-access-from> タグに追加します。

<allow-access-from domain="www.example.com" secure="false" /> 
アクセスを許可するために、 allow-http-request-headers-from タグも使用できます。このエレメントは、別の許可ドメインのコンテンツをホストとするクライアントにユーザー定義ヘッダーをユーザー自身のドメインに送信する許可を付与します。 <allow-access-from> タグは、その他のドメインに、ユーザー自身のドメインからデータをプルする許可を付与しますが、 allow-http-request-headers-from タグは、その他のドメインに、ユーザー自身のドメインに対してヘッダーの形式でデータをプッシュする許可を付与します。次の例では、SOAPAction ヘッダーを現在のドメインに送信することを任意のドメインに許可します。
<cross-domain-policy> 
    <allow-http-request-headers-from domain="*" headers="SOAPAction"/> 
</cross-domain-policy>

マスターポリシーファイルに allow-http-request-headers-from ステートメントが含まれている場合、このステートメントはホスト上のすべてのディレクトリに適用されます。含まれていない場合、このステートメントは、ステートメントを含むポリシーファイルのディレクトリおよびサブディレクトリにのみ適用されます。

ポリシーファイルのプリロード

サーバーからのデータのロードまたはソケットへの接続は、非同期操作です。Flash Player は、ポリシーファイルのダウンロードが終了するまで、主な操作を開始しません。しかし、イメージからのピクセルデータの抽出やサウンドからのサンプルデータの抽出は同期操作です。データを抽出するには、ポリシーファイルをロードする必要があります。メディアをロードするときは、ポリシーファイルの有無をチェックするよう指定します。

  • Loader.load() メソッドを使用する場合、LoaderContext オブジェクトである context パラメーターの checkPolicyFile プロパティを設定します。

  • <img> タグを使用してテキストフィールドにイメージを埋め込む場合は、次に示すように <img> タグの checkPolicyFile 属性を「 true 」に設定します。

    <img checkPolicyFile = "true" src = "example.jpg">
  • Sound.load() メソッドを使用する場合、SoundLoaderContext オブジェクトである context パラメーターの checkPolicyFile プロパティを設定します。

  • NetStream クラスを使用する場合、NetStream オブジェクトの checkPolicyFile プロパティを設定します。

これらのいずれかのパラメーターを設定すると、Flash Player は最初に、既にそのドメイン用にダウンロードされたポリシーファイルがあるかどうかをチェックします。 次に、サーバー上のデフォルトの場所にあるポリシーファイルが検索され、 <allow-access-from> ステートメントのチェックとメタポリシーの有無のチェックが行われます。最後に、 Security.loadPolicyFile() メソッドへの保留中の呼び出しがスコープ内にあるかどうかがチェックされます。

作成者(開発者)コントロール

セキュリティ権限を付与するために使用される主な ActionScript API は、 Security.allowDomain() メソッドです。このメソッドは、指定されたドメイン内の SWF ファイルに権限を付与します。次の例では、SWF ファイルは www.example.com ドメインに置かれた SWF ファイルへのアクセスを許可します。

Security.allowDomain("www.example.com")

次のメソッドは次の権限を許可します。

  • SWF ファイル間のクロススクリプト

  • 表示リストへのアクセス

  • イベントの検出

  • Stage オブジェクトのプロパティとメソッドへのフルアクセス

Security.allowDomain() メソッドを呼び出す主な目的は、外部ドメインにある SWF ファイルに、 Security.allowDomain() メソッドを呼び出す SWF ファイルをスクリプトする許可を付与することです。詳しくは、 クロススクリプト を参照してください。

Security.allowDomain() メソッドにパラメーターとして IP アドレスを指定しても、指定された IP アドレスに存在するすべてのアクセス元からのアクセスが許可されるわけではありません。許可されるのは、その IP アドレスに対応するドメイン名ではなく、URL として指定された IP アドレスを含むアクセス元からのアクセスだけです。 例えば、ドメイン名 www.example.com が IP アドレス 192.0.34.166 に対応している場合、 Security.allowDomain("192.0.34.166") の呼び出しでは www.example.com へのアクセスは許可されません。

ワイルドカード「 * 」を Security.allowDomain() メソッドに渡して、すべてのドメインからのアクセスを許可できます。「 * 」ワイルドカードはすべてのドメインにある SWF ファイルに、呼び出しを行う SWF ファイルをスクリプトする許可を付与するので、使用に注意してください。

ActionScript には、 Security.allowInsecureDomain() という第 2 の許可 API が組み込まれています。このメソッドでは Security.allowDomain() メソッドとほとんど同じ処理が行われますが、異なる点は、セキュアな HTTPS 接続によって提供された SWF ファイルから呼び出された場合に、HTTP などのセキュアでないプロトコルから提供される他の SWF ファイルに、呼び出し側の SWF ファイルへのアクセスを追加的に許可することです。しかし、セキュアなプロトコル(HTTPS)からのファイルと、セキュアでないプロトコル(HTTP など)からのファイルの間でスクリプティングを許可することはセキュリティ上望ましくありません。それにより、セキュアなコンテンツがスヌープ攻撃やスプーフィング攻撃にさらされる可能性があります。 そのような攻撃が可能になる理由は、 Security.allowInsecureDomain() メソッドは、HTTP 接続によって提供される SWF ファイルがセキュアな HTTPS データにアクセスすることを許可するので、HTTP サーバーとユーザーの間に割り込んだ攻撃者は、HTTP の SWF ファイルを独自のものに置き換えることにより、HTTPS データにアクセスできるからです。

重要: AIR アプリケーションサンドボックス内で実行するコードは、Security クラスの allowDomain() メソッドまたは allowInsecureDomain() メソッドのいずれも呼び出すことはできません。

セキュリティに関連したもう 1 つの重要なメソッドは、 Security.loadPolicyFile() です。このメソッドを使用すると、Flash Player は標準以外の場所にポリシーファイルがあるかどうかをチェックします。詳しくは、 Web サイトのコントロール(ポリシーファイル) を参照してください。