【対策法あり】Webサイトの脆弱性「クリックジャッキング」ってなに?【脆弱性】

【対策法あり】Webサイトの脆弱性「クリックジャッキング」ってなに?【脆弱性】

クリックジャッキング

最近、あるWebサイトの脆弱性診断を受けることがあり、そのときに指摘が入った「クリックジャッキング」に関する対策法を、備忘録的に記述しておきます。

Advertisement

「クリックジャッキング」とは?

ハッカー

そもそもクリックジャッキングとは何か。

クリックジャッキングとは、Webブラウザを悪用して、ユーザーに不利益をもたらすセキュリティ上の攻撃手法の一つです。
具体的な特徴としては、ボタンやリンクなどを透明で見えない状態にして、通常のWebページの上にかぶせてしまうというもの。
引用:クリックジャッキングとは?その攻撃の概要と対策方法を解説

つまり、見た目は通常の悪意のないサイトに見えていても、その上に透明化された悪意のあるサイトへの誘導リンクや、悪意のあるスクリプト発動のボタンなどが設置されており、ユーザはそれを知らずにクリックしてしまい、被害を受ける可能性があるということです。

Advertisement

サイト管理者ができる対策法

このクリックジャッキングに対して、Webサイトの制作者・管理者が対応できる対策は下記のとおりです。

httpd.confに記述を追加

httpd.confを修正出来る環境にある場合は、下記の記述を追加することにより、HTTPレスポンスヘッダにX-Frame-Optionsを設定でき、それを拒否する設定にできます。

Header always append X-Frame-Options DENY

PHPファイルに直接記述する

PHPファイルの頭に直接下記の記述を書くことでも対応ができます。

header('X-Frame-Options: DENY');

効果のない間違った対策

Mozillaのページに下記の記述がありました。

メモ: meta タグに設定しても意味がありません。例えば、
<meta http-equiv=”X-Frame-Options” content=”deny”>は効果がありません。使用しないでください。以下の例にあるように、 X-Frame-OptionsはHTTPヘッダーを通じて設定された場合のみ動作します。
引用:X-Frame-Options – HTTP |
MDN

つまり、ページのmetaタグに記述をしてもX-Frame-Optionsの設定はレスポンスヘッダに設定できず、クリックジャッキングへの対策はできないということです。

Advertisement

まとめ

Webサイトを管理する者にとって、Webの脆弱性というのは切っても切れない関係にあります。
ひとつ脆弱性に対応しても、すぐ次の脆弱性が発見され、そこを突いて攻撃してくるクラッカーなどがいて、、、と、この業界はすべてイタチごっこのようです。

ただ、だからといって脆弱性を放置しておくことはできないので、見つかった場合は速やかに対応し、被害を最小限に食い止められるようにしておきましょう。

Web開発カテゴリの最新記事