X-Frame-Optionsは何をしますか?

click fraud protection

HTTPヘッダーは、Web要求および応答とともに送信されるメタデータの一種であり、それらが提供する情報は重要である場合もあれば、単に情報を提供する場合もあります。 セキュリティヘッダーは、Webサーバーで設定できる「応答ヘッダー」のサブセットであり、多くのセキュリティ問題に対処するのに役立つ機能の1つです。 「X-Frame-Options」と呼ばれるセキュリティヘッダーの1つは、クリックジャッキング攻撃を防ぐように設計されています。

クリックジャッキング

「ユーザーインターフェースの修正」とも呼ばれるクリックジャッキングは、攻撃者がユーザーをだまして、見た目とは異なるものをクリックさせる可能性がある問題です。 Webサイトの場合、これは、透明なWebサイトを表示されているWebサイトにオーバーレイすることによって行われます。 このタイプの攻撃では、ユーザーは目に見えるWebサイトを操作していると思いますが、実際には、透過的なWebサイトに無意識のうちに影響を与えています。

たとえば、攻撃者は、ユーザーがボタン(おそらくビデオの再生ボタン)をクリックする可能性が高いWebサイトを設定する可能性があります。 そのWebページの上部の透明なレイヤーには、再生ボタンの真上にある[アカウントの削除]ボタンを使用してFacebookアカウントを削除するWebページなどの2番目のWebページがあります。 このシナリオでは、ユーザーが[再生]をクリックしようとすると、実際にボタンをクリックしてFacebookアカウントを削除します。

クリックジャッキングは、「フレーミング」と呼ばれるプロセスを通じて、ダミーWebサイトの上にターゲットWebサイトを表示する機能に依存しています。 フレーミングは、別のページ内に個別のWebページ全体をロードできるHTML要素「iframe」を使用します。 ターゲットのWebページをフレームにロードし、慎重に配置し、透明にすることで、被害者は、だまされてアクションを実行していることに完全に気付くことはありません。

Xフレーム-オプション

HTTP応答ヘッダー「X-Frame-Options」は、サーバー構成ファイルでWebサイトに設定できるオプション機能です。 X-Frame-Optionsは、Webページがiframeに読み込まれないようにします。これにより、Webページが別のWebサイトにオーバーレイされるのを防ぎます。 被害者のブラウザは実際にセキュリティ制御を適用します。これは、すべてのブラウザがX-Frame-Optionsヘッダーを尊重し、ヘッダーがフレームに設定されているWebページの読み込みを拒否するためです。

ヘッダーを使用すると、Webサイトの所有者は設定の制限を構成できます。 2つの設定があります。「X-Frame-Options:DENY」は、保護されたWebページがフレーム化されないようにします。 もう1つのオプション「X-Frame-Options:SAMEORIGIN」では、フレームをロードするページのドメイン名が同じである場合にのみ、保護されたWebページをフレーム化できます。 この場合、自分のWebサイトにフレームをロードすることはできますが、他の誰も自分のWebサイトにフレームをロードすることはできません。