Coders Conquer Security:シェアして学ぶシリーズ - クリックジャッキング
スージーは、2日後に迫った嫌なレポートから逃れるためにメールを開きました。すると、受信トレイに無料でiPadがもらえるというリンクが表示されていた。そのリンクをクリックすると、「無料でiPadを手に入れるにはここをクリックしてください!」という大きなバナーのページがあるウェブサイトにアクセスします。ボタンをクリックしても、特に何も起こらない。問題は、何かが起こったということだ。
受信箱に戻ってみると、すべてのメールが削除されていることに気がつきました。彼女はどのメールにも「削除」を押していない。どうしたんだ?
メールサイトがクリックジャッキングされた。クリックジャッキングは、ユーザーを騙して意図しない行動を取らせるもので、深刻な問題に発展する可能性があります。
ここでは、クリックジャッキングがどのような仕組みで、なぜ危険なのか、そして開発者がどのようにしてそれを防ぐことができるのかを見ていきましょう。
クリックジャッキングの理解
クリックジャッキングは、「UIリドレス攻撃」とも呼ばれ、攻撃者がWebページ上のいくつかの透明なレイヤーを使って、ユーザーを騙し、ユーザーが意図しないボタンやリンクをクリックさせることで発生します。
車の中で虫が動かなくなったことはありませんか?虫は外に飛び出そうと、窓に向かって猛烈に飛んできます。虫の意図は、木や外気に見えるところに飛んでいくことであり、ガラスが行く手を遮っていることには気づかない。
クリックジャッキングは、ユーザーが虫で、あなたのウェブサイトが道を塞ぐガラスであることを除けば、デザイン的には似ています。ユーザーは無料のiPhoneのような欲しいものを見つけます。攻撃者は、無料のiPhoneの広告の上に、あなたのサイトを透明なフレームの中に配置します。ユーザーが「無料」とされている賞品を手に入れるためにボタンをクリックすると、実際にはあなたのサイトのボタンをクリックしていることになり、意図しない動作を行ってしまいます。
クリックジャッキングが危険な理由
クリックジャッキングで攻撃者は何ができるのか?それは、対象となるウェブサイトの機能に大きく依存します。
攻撃者は、ユーザーにソーシャルメディアで攻撃者のサイトを「いいね!」や「シェア」してもらうことができます。多くの人が利便性のためにソーシャルメディアのアカウントにログインしたままにしているので、これは簡単に実行できます。
あなたのサイトがフレーム内に設置できる場合、ボタンをクリックすることで機密性の高い操作が完了してしまい、これが攻撃のベクトルとして機能してしまいます。例えば、ユーザがiPadを無料で手に入れようとクリックしたにもかかわらず、代わりにサイトのアカウント設定を変更して、アカウントの安全性を低下させてしまうような場合です。この種の攻撃は、Adobe Flashプラグインの設定ページに対して発生しました。この設定は、透明なフレームの中に配置され、ユーザーを騙して、Flashアニメーションがマイクやカメラにアクセスできるようにします。これにより、攻撃者は被害者を録音することができ、プライバシーの重大な侵害となります。
メールクライアントがサイトにハメられ、ユーザーがメールボックス内のすべてのメールを削除したり、攻撃者が管理するメールアドレスにメールを転送したりする可能性があります。
要するに、ユーザーは自分が何をクリックしているのか分からないので、何でも納得してクリックすることができるのです。それがソーシャルシェアであれ、マルウェアのダウンロードであれ、可能性は無限大です。
クリックジャッキングに対抗するには
クリックジャッキングは防ぐことができます。クリックジャッキングを防ぐには、サイトにコンテンツ・セキュリティ・ポリシー(CSP)を設定することをお勧めします。frame ancestors」というHTTPレスポンスヘッダを使用することで、サイトのフレーム化を制御することができます。
- "frame-ancestors none"-他のサイトがあなたのサイトをフレームに入れることはできません。これは推奨される設定です。
- "frame-ancestors self"-サイト内のページは、サイト内の他のページによってのみ囲まれます。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
CSP のフレーム・アンセスタは、現在すべての主要ブラウザでサポートされていません。そのようなブラウザでは、"X-Frame-Options" HTTPヘッダを予備のオプションとして使用してください。
- DENY - 誰もあなたのサイトをフレームできません。これは推奨される設定です。
- SAMEORIGIN - CSPの「self」と同じです。自分のコンテンツをフレーム化することはできますが、他の人はできません。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
クリックジャックされないために
クリックジャッキングとは、巧妙で誤解を招くような攻撃のことで、貴社の製品が攻撃者に操作されてしまうと、風評被害や収益の損失につながる可能性があります。クリックジャッキングについての詳細は、無料のラーニングリソースをご覧ください。
コンテンツ・セキュリティ・ポリシーと「X-Frame-Options」ヘッダーを使用して、他の人があなたのサイトを悪意のある方法で使用するのを防ぎましょう。攻撃者がユーザーを操作することを許してはいけません。クリックジャックされないようにしましょう。
Jaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、Secure Code Warrior の共同設立者です。
Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するJaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、Secure Code Warrior の共同設立者です。
スージーは、2日後に迫った嫌なレポートから逃れるためにメールを開きました。すると、受信トレイに無料でiPadがもらえるというリンクが表示されていた。そのリンクをクリックすると、「無料でiPadを手に入れるにはここをクリックしてください!」という大きなバナーのページがあるウェブサイトにアクセスします。ボタンをクリックしても、特に何も起こらない。問題は、何かが起こったということだ。
受信箱に戻ってみると、すべてのメールが削除されていることに気がつきました。彼女はどのメールにも「削除」を押していない。どうしたんだ?
メールサイトがクリックジャッキングされた。クリックジャッキングは、ユーザーを騙して意図しない行動を取らせるもので、深刻な問題に発展する可能性があります。
ここでは、クリックジャッキングがどのような仕組みで、なぜ危険なのか、そして開発者がどのようにしてそれを防ぐことができるのかを見ていきましょう。
クリックジャッキングの理解
クリックジャッキングは、「UIリドレス攻撃」とも呼ばれ、攻撃者がWebページ上のいくつかの透明なレイヤーを使って、ユーザーを騙し、ユーザーが意図しないボタンやリンクをクリックさせることで発生します。
車の中で虫が動かなくなったことはありませんか?虫は外に飛び出そうと、窓に向かって猛烈に飛んできます。虫の意図は、木や外気に見えるところに飛んでいくことであり、ガラスが行く手を遮っていることには気づかない。
クリックジャッキングは、ユーザーが虫で、あなたのウェブサイトが道を塞ぐガラスであることを除けば、デザイン的には似ています。ユーザーは無料のiPhoneのような欲しいものを見つけます。攻撃者は、無料のiPhoneの広告の上に、あなたのサイトを透明なフレームの中に配置します。ユーザーが「無料」とされている賞品を手に入れるためにボタンをクリックすると、実際にはあなたのサイトのボタンをクリックしていることになり、意図しない動作を行ってしまいます。
クリックジャッキングが危険な理由
クリックジャッキングで攻撃者は何ができるのか?それは、対象となるウェブサイトの機能に大きく依存します。
攻撃者は、ユーザーにソーシャルメディアで攻撃者のサイトを「いいね!」や「シェア」してもらうことができます。多くの人が利便性のためにソーシャルメディアのアカウントにログインしたままにしているので、これは簡単に実行できます。
あなたのサイトがフレーム内に設置できる場合、ボタンをクリックすることで機密性の高い操作が完了してしまい、これが攻撃のベクトルとして機能してしまいます。例えば、ユーザがiPadを無料で手に入れようとクリックしたにもかかわらず、代わりにサイトのアカウント設定を変更して、アカウントの安全性を低下させてしまうような場合です。この種の攻撃は、Adobe Flashプラグインの設定ページに対して発生しました。この設定は、透明なフレームの中に配置され、ユーザーを騙して、Flashアニメーションがマイクやカメラにアクセスできるようにします。これにより、攻撃者は被害者を録音することができ、プライバシーの重大な侵害となります。
メールクライアントがサイトにハメられ、ユーザーがメールボックス内のすべてのメールを削除したり、攻撃者が管理するメールアドレスにメールを転送したりする可能性があります。
要するに、ユーザーは自分が何をクリックしているのか分からないので、何でも納得してクリックすることができるのです。それがソーシャルシェアであれ、マルウェアのダウンロードであれ、可能性は無限大です。
クリックジャッキングに対抗するには
クリックジャッキングは防ぐことができます。クリックジャッキングを防ぐには、サイトにコンテンツ・セキュリティ・ポリシー(CSP)を設定することをお勧めします。frame ancestors」というHTTPレスポンスヘッダを使用することで、サイトのフレーム化を制御することができます。
- "frame-ancestors none"-他のサイトがあなたのサイトをフレームに入れることはできません。これは推奨される設定です。
- "frame-ancestors self"-サイト内のページは、サイト内の他のページによってのみ囲まれます。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
CSP のフレーム・アンセスタは、現在すべての主要ブラウザでサポートされていません。そのようなブラウザでは、"X-Frame-Options" HTTPヘッダを予備のオプションとして使用してください。
- DENY - 誰もあなたのサイトをフレームできません。これは推奨される設定です。
- SAMEORIGIN - CSPの「self」と同じです。自分のコンテンツをフレーム化することはできますが、他の人はできません。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
クリックジャックされないために
クリックジャッキングとは、巧妙で誤解を招くような攻撃のことで、貴社の製品が攻撃者に操作されてしまうと、風評被害や収益の損失につながる可能性があります。クリックジャッキングについての詳細は、無料のラーニングリソースをご覧ください。
コンテンツ・セキュリティ・ポリシーと「X-Frame-Options」ヘッダーを使用して、他の人があなたのサイトを悪意のある方法で使用するのを防ぎましょう。攻撃者がユーザーを操作することを許してはいけません。クリックジャックされないようにしましょう。
スージーは、2日後に迫った嫌なレポートから逃れるためにメールを開きました。すると、受信トレイに無料でiPadがもらえるというリンクが表示されていた。そのリンクをクリックすると、「無料でiPadを手に入れるにはここをクリックしてください!」という大きなバナーのページがあるウェブサイトにアクセスします。ボタンをクリックしても、特に何も起こらない。問題は、何かが起こったということだ。
受信箱に戻ってみると、すべてのメールが削除されていることに気がつきました。彼女はどのメールにも「削除」を押していない。どうしたんだ?
メールサイトがクリックジャッキングされた。クリックジャッキングは、ユーザーを騙して意図しない行動を取らせるもので、深刻な問題に発展する可能性があります。
ここでは、クリックジャッキングがどのような仕組みで、なぜ危険なのか、そして開発者がどのようにしてそれを防ぐことができるのかを見ていきましょう。
クリックジャッキングの理解
クリックジャッキングは、「UIリドレス攻撃」とも呼ばれ、攻撃者がWebページ上のいくつかの透明なレイヤーを使って、ユーザーを騙し、ユーザーが意図しないボタンやリンクをクリックさせることで発生します。
車の中で虫が動かなくなったことはありませんか?虫は外に飛び出そうと、窓に向かって猛烈に飛んできます。虫の意図は、木や外気に見えるところに飛んでいくことであり、ガラスが行く手を遮っていることには気づかない。
クリックジャッキングは、ユーザーが虫で、あなたのウェブサイトが道を塞ぐガラスであることを除けば、デザイン的には似ています。ユーザーは無料のiPhoneのような欲しいものを見つけます。攻撃者は、無料のiPhoneの広告の上に、あなたのサイトを透明なフレームの中に配置します。ユーザーが「無料」とされている賞品を手に入れるためにボタンをクリックすると、実際にはあなたのサイトのボタンをクリックしていることになり、意図しない動作を行ってしまいます。
クリックジャッキングが危険な理由
クリックジャッキングで攻撃者は何ができるのか?それは、対象となるウェブサイトの機能に大きく依存します。
攻撃者は、ユーザーにソーシャルメディアで攻撃者のサイトを「いいね!」や「シェア」してもらうことができます。多くの人が利便性のためにソーシャルメディアのアカウントにログインしたままにしているので、これは簡単に実行できます。
あなたのサイトがフレーム内に設置できる場合、ボタンをクリックすることで機密性の高い操作が完了してしまい、これが攻撃のベクトルとして機能してしまいます。例えば、ユーザがiPadを無料で手に入れようとクリックしたにもかかわらず、代わりにサイトのアカウント設定を変更して、アカウントの安全性を低下させてしまうような場合です。この種の攻撃は、Adobe Flashプラグインの設定ページに対して発生しました。この設定は、透明なフレームの中に配置され、ユーザーを騙して、Flashアニメーションがマイクやカメラにアクセスできるようにします。これにより、攻撃者は被害者を録音することができ、プライバシーの重大な侵害となります。
メールクライアントがサイトにハメられ、ユーザーがメールボックス内のすべてのメールを削除したり、攻撃者が管理するメールアドレスにメールを転送したりする可能性があります。
要するに、ユーザーは自分が何をクリックしているのか分からないので、何でも納得してクリックすることができるのです。それがソーシャルシェアであれ、マルウェアのダウンロードであれ、可能性は無限大です。
クリックジャッキングに対抗するには
クリックジャッキングは防ぐことができます。クリックジャッキングを防ぐには、サイトにコンテンツ・セキュリティ・ポリシー(CSP)を設定することをお勧めします。frame ancestors」というHTTPレスポンスヘッダを使用することで、サイトのフレーム化を制御することができます。
- "frame-ancestors none"-他のサイトがあなたのサイトをフレームに入れることはできません。これは推奨される設定です。
- "frame-ancestors self"-サイト内のページは、サイト内の他のページによってのみ囲まれます。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
CSP のフレーム・アンセスタは、現在すべての主要ブラウザでサポートされていません。そのようなブラウザでは、"X-Frame-Options" HTTPヘッダを予備のオプションとして使用してください。
- DENY - 誰もあなたのサイトをフレームできません。これは推奨される設定です。
- SAMEORIGIN - CSPの「self」と同じです。自分のコンテンツをフレーム化することはできますが、他の人はできません。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
クリックジャックされないために
クリックジャッキングとは、巧妙で誤解を招くような攻撃のことで、貴社の製品が攻撃者に操作されてしまうと、風評被害や収益の損失につながる可能性があります。クリックジャッキングについての詳細は、無料のラーニングリソースをご覧ください。
コンテンツ・セキュリティ・ポリシーと「X-Frame-Options」ヘッダーを使用して、他の人があなたのサイトを悪意のある方法で使用するのを防ぎましょう。攻撃者がユーザーを操作することを許してはいけません。クリックジャックされないようにしましょう。
以下のリンクをクリックし、この資料のPDFをダウンロードしてください。
Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
レポートを見るデモを予約するJaap Karan Singhは、Secure Coding Evangelistであり、Chief Singhであり、Secure Code Warrior の共同設立者です。
スージーは、2日後に迫った嫌なレポートから逃れるためにメールを開きました。すると、受信トレイに無料でiPadがもらえるというリンクが表示されていた。そのリンクをクリックすると、「無料でiPadを手に入れるにはここをクリックしてください!」という大きなバナーのページがあるウェブサイトにアクセスします。ボタンをクリックしても、特に何も起こらない。問題は、何かが起こったということだ。
受信箱に戻ってみると、すべてのメールが削除されていることに気がつきました。彼女はどのメールにも「削除」を押していない。どうしたんだ?
メールサイトがクリックジャッキングされた。クリックジャッキングは、ユーザーを騙して意図しない行動を取らせるもので、深刻な問題に発展する可能性があります。
ここでは、クリックジャッキングがどのような仕組みで、なぜ危険なのか、そして開発者がどのようにしてそれを防ぐことができるのかを見ていきましょう。
クリックジャッキングの理解
クリックジャッキングは、「UIリドレス攻撃」とも呼ばれ、攻撃者がWebページ上のいくつかの透明なレイヤーを使って、ユーザーを騙し、ユーザーが意図しないボタンやリンクをクリックさせることで発生します。
車の中で虫が動かなくなったことはありませんか?虫は外に飛び出そうと、窓に向かって猛烈に飛んできます。虫の意図は、木や外気に見えるところに飛んでいくことであり、ガラスが行く手を遮っていることには気づかない。
クリックジャッキングは、ユーザーが虫で、あなたのウェブサイトが道を塞ぐガラスであることを除けば、デザイン的には似ています。ユーザーは無料のiPhoneのような欲しいものを見つけます。攻撃者は、無料のiPhoneの広告の上に、あなたのサイトを透明なフレームの中に配置します。ユーザーが「無料」とされている賞品を手に入れるためにボタンをクリックすると、実際にはあなたのサイトのボタンをクリックしていることになり、意図しない動作を行ってしまいます。
クリックジャッキングが危険な理由
クリックジャッキングで攻撃者は何ができるのか?それは、対象となるウェブサイトの機能に大きく依存します。
攻撃者は、ユーザーにソーシャルメディアで攻撃者のサイトを「いいね!」や「シェア」してもらうことができます。多くの人が利便性のためにソーシャルメディアのアカウントにログインしたままにしているので、これは簡単に実行できます。
あなたのサイトがフレーム内に設置できる場合、ボタンをクリックすることで機密性の高い操作が完了してしまい、これが攻撃のベクトルとして機能してしまいます。例えば、ユーザがiPadを無料で手に入れようとクリックしたにもかかわらず、代わりにサイトのアカウント設定を変更して、アカウントの安全性を低下させてしまうような場合です。この種の攻撃は、Adobe Flashプラグインの設定ページに対して発生しました。この設定は、透明なフレームの中に配置され、ユーザーを騙して、Flashアニメーションがマイクやカメラにアクセスできるようにします。これにより、攻撃者は被害者を録音することができ、プライバシーの重大な侵害となります。
メールクライアントがサイトにハメられ、ユーザーがメールボックス内のすべてのメールを削除したり、攻撃者が管理するメールアドレスにメールを転送したりする可能性があります。
要するに、ユーザーは自分が何をクリックしているのか分からないので、何でも納得してクリックすることができるのです。それがソーシャルシェアであれ、マルウェアのダウンロードであれ、可能性は無限大です。
クリックジャッキングに対抗するには
クリックジャッキングは防ぐことができます。クリックジャッキングを防ぐには、サイトにコンテンツ・セキュリティ・ポリシー(CSP)を設定することをお勧めします。frame ancestors」というHTTPレスポンスヘッダを使用することで、サイトのフレーム化を制御することができます。
- "frame-ancestors none"-他のサイトがあなたのサイトをフレームに入れることはできません。これは推奨される設定です。
- "frame-ancestors self"-サイト内のページは、サイト内の他のページによってのみ囲まれます。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
CSP のフレーム・アンセスタは、現在すべての主要ブラウザでサポートされていません。そのようなブラウザでは、"X-Frame-Options" HTTPヘッダを予備のオプションとして使用してください。
- DENY - 誰もあなたのサイトをフレームできません。これは推奨される設定です。
- SAMEORIGIN - CSPの「self」と同じです。自分のコンテンツをフレーム化することはできますが、他の人はできません。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
クリックジャックされないために
クリックジャッキングとは、巧妙で誤解を招くような攻撃のことで、貴社の製品が攻撃者に操作されてしまうと、風評被害や収益の損失につながる可能性があります。クリックジャッキングについての詳細は、無料のラーニングリソースをご覧ください。
コンテンツ・セキュリティ・ポリシーと「X-Frame-Options」ヘッダーを使用して、他の人があなたのサイトを悪意のある方法で使用するのを防ぎましょう。攻撃者がユーザーを操作することを許してはいけません。クリックジャックされないようにしましょう。