私は多数のITセキュリティブログを読んで(セキュリティの専門家ではありません)、実際の悪用のかなりの割合が、ハッキングされたWebサイトに悪意のあるiframeを追加することによって配信されているようです。
これを踏まえると、不快ではない正当なiframeアプリケーションがほとんど見られないという事実と合わせて、なぜ最近のブラウザーではまったく許可されているのですか?かなりの数のドライブバイ攻撃をブロックする簡単な方法は、ブラウザのiframeサポートを無効にすることだと私には思われます。
または、多くのブラウザに共通の「クリックしてフラッシュ」プラグインと同様の「クリックしてロード」メカニズムは、iframeを使用する既存のサイトの動作を完全に妨げることなく、同様の効果をもたらします。
または、別のドメインからコンテンツをロードするiframeを許可しないことも、おそらく効果的です。
IframeをブロックすることですべてのWebセキュリティソリューションを解決できるとは私は断言しませんが、費用対効果の観点からすると、これはかなりの数のセキュリティ問題を解決する非常に簡単な方法のようです。
フレーミングが廃止され、AJAX= Origin制御があるため、iframeが別のページを埋め込む唯一の方法です。
もう1つは、iframeを使用してPDFなどを表示できることです。確かに、<object>
も同様ですが、iframeの方が簡単です。
Gmailはiframeから作成されています。 GMailのスムーズなUX(インターネット接続が切断された場合でも引き続き使用でき、毎回リロードする必要がないスムーズなナビゲーション)はiframeから提供されます。繰り返しますが、これはAJAXで実装できますが、より困難です。
最後に思い浮かぶのは、後方互換性です。多くのサイトでiframeが使用されており、無効にすると多くのサイトが壊れてしまいます。もちろん、クリックして有効にしても、ここではカットされません。 AJAXの前兆の1つは、iframeとJavaScriptを使ったトリックでした。多くのWebサイトがこれを使用していたため、「クリックしてロード」するとJSのフローが壊れます。
一方、iframeに関する問題(CSRF、クリックジャッキングなど)は最近の開発者によく知られており、それを回避するための対策を講じることができます。
これを見ると、この質問の引数は、Javaアプレット。またはFlash。またはPDF埋め込み。または画像(CSRF)に等しく適用できます。またはCookie。たとえば、他のサイトが画像を介してCSRFを実行する可能性があります。サイトがこれらに対して脆弱でないことを確認するのはあなた次第です。
-D Secure 支払いシステム(例 MasterCard SecureCode )はiframe
を使用します。以前のバージョンではポップアップが使用されていましたが、その起源はユーザーがはるかに簡単に確認できました。 VISA/MasterCardからポップアップが表示されているユーザーは、実際にはポップアップの出所を確認していないことが判明しました。代わりに、彼は混乱し、救済して彼のトランザクションを中止します。
これから、次の結論を導き出すことができます。iframeはすぐには消えません。それらは、最終的にはインターネット全体の料金を支払う支払いシステムとの下位互換性のために現在必要です。また、iframeをしないと言っても、ユーザーが脳を活性化し、パニックにならない限り、セキュリティ上の利点は得られます。 。
Iframeを許可しないと、機能が損なわれ、何も実行されません。
エクスプロイトインジェクションは通常、攻撃者がリダイレクトを設定および管理するための最も便利な方法であるため、iframeで行われます。しかし、実際のiframeはエクスプロイトとは何の関係もありません。 JavaおよびFlashプラグインで直接実際のエクスプロイトから保護されているClick-to-Playとは異なります。
ほんの数人のユーザーがiframeをオフにしている場合、これらの攻撃を回避することにより、セキュリティ上の利点が得られます。 (ただし、iframeはWeb全体でさまざまな種類の機能に広く使用されているため、その価値があるかどうかは疑問です。)
しかし、すべてのブラウザがiframeサポートをオフにした場合、攻撃者は、直接<script>
、ページリダイレクト、ポップアップなど、侵害されたサイトにエクスプロイトを挿入する他の方法を選択するだけです。
問題の根本的な原因の代わりに<iframe>
のような症状に対処するセキュリティ対策は、異常な場合にのみ役立つため、攻撃者はそれを予期しません。主流になるとすぐに価値を失います。主要なブラウザベンダーである場合、すぐに役に立たなくなるセキュリティコントロールを実装しても意味がありません。
ワールドワイドウェブは、リンクされたリソースのコレクションです。 iframe
は究極のリンカーであり、リソースのバンドル全体にリンクします。そして、他のテクノロジーと同様に、それは善悪に使用することができます。
iframe
は、マルウェアリソースにリンクする唯一の方法ではありません。最終的には、JavaScriptスクリプトや、ブラウザーを利用するSWFやJARなどの他のリソースがあります。 iframe
は、集中管理されたソースからのマルウェアコンテンツのロードを管理するための優れた、柔軟でコンパクトな方法です。
Noscript には、 block iframes
のような種類のコントロールがあります。それは多くのものを壊すのでそれはデフォルトで無効になっています。多くのWebテクノロジーはiframe
に基づいており、iframes
をブロックまたはプロンプトすると、インターネットの多くが機能しなくなります。
iframe
は、さまざまなソースからのコンテンツを1つのクライアントに向けて混合できるようにする単なる要素です。このような他の要素があります。 iframe
要素を禁止しても、Flashアニメーションなど、同じセキュリティリスクが依然として存在します。 object
またはembed
要素では、サイトAがFlash広告を表示することで、サイトBはサイトAのユーザーに表示するコンテンツを決定できます。Flashアニメーションはスクリプトを実行し、マイクロにアクセスできます。ストレージ…したがって、クロスサイトのリスクがあります。
ビデオの99%は、YouTube、vimeo、Vk、およびファイルホストの大部分を含むiframeで表示されます。
Paypal、3D安全、ほとんどの銀行システム、EBAY、Amazon、Alibaba、Facebookも見てください。リストは無限大です。
すべてiframeを使用します。トップ100のWebサイトにアクセスして、ソースを表示します。ほぼすべてのiframeが見つかるはずです。