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」ヘッダーを使用して、他の人があなたのサイトを悪意のある方法で使用するのを防ぎましょう。攻撃者がユーザーを操作することを許してはいけません。クリックジャックされないようにしましょう。
目次
始めるためのリソース
セキュア・バイ・デザインベストプラクティスの定義、開発者の能力向上、予防的セキュリティ成果のベンチマーク
このリサーチペーパーでは、Secure Code Warrior 共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士、そして専門家であるクリス・イングリス(Chris Inglis)氏(元米国サイバーディレクター、現パラディン・キャピタル・グループ戦略顧問)、デヴィン・リンチ(Devin Lynch)氏(パラディン・グローバル・インスティテュート・シニアディレクター)が、CISO、アプリケーション・セキュリティ担当副社長、ソフトウェア・セキュリティの専門家など、企業のセキュリティ・リーダー20人以上への詳細なインタビューから得られた主な知見を明らかにします。
セキュリティ スキルのベンチマーク: 企業におけるセキュアな設計の合理化
セキュアバイデザイン(SBD)構想の成功に関する有意義なデータを見つけることは、非常に困難である。CISO は、セキュリティプログラム活動の投資収益率(ROI)とビジネス価値を、従業員レベルと企業レベルの両方で証明しようとすると、しばしば困難に直面します。言うまでもなく、企業にとって、現在の業界標準に対して自社の組織がどのようにベンチマークされているかを把握することは特に困難です。大統領の国家サイバーセキュリティ戦略は、関係者に「デザインによるセキュリティとレジリエンスを受け入れる」ことを求めている。セキュアバイデザインの取り組みを成功させる鍵は、開発者にセキュアなコードを保証するスキルを与えるだけでなく、規制当局にそれらのスキルが整っていることを保証することである。本プレゼンテーションでは、25万人以上の開発者から収集した社内データ、データに基づく顧客の洞察、公的研究など、複数の一次ソースから得られた無数の定性的・定量的データを紹介します。こうしたデータ・ポイントの集積を活用することで、複数の業種におけるセキュア・バイ・デザイン・イニシアチブの現状をお伝えすることを目的としています。本レポートでは、この領域が現在十分に活用されていない理由、スキルアッププログラムの成功がサイバーセキュリティのリスク軽減に与える大きな影響、コードベースから脆弱性のカテゴリーを排除できる可能性について詳述しています。
始めるためのリソース
明らかになった:サイバー業界はセキュア・バイ・デザインをどのように定義しているか
最新のホワイトペーパーでは、当社の共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士が、CISO、AppSecリーダー、セキュリティ専門家を含む20人以上の企業セキュリティリーダーと対談し、このパズルの重要なピースを見つけ出し、Secure by Design運動の背後にある現実を明らかにしました。セキュア・バイ・デザインは、セキュリティ・チーム全体で共有された野心ですが、共有されたプレイブックはありません。