2020.07.22 システム
クリックジャッキング攻撃とは
こんにちは
今回は、「クリックジャッキング攻撃」と「対策」について触れていきたいと思います。
「クリックジャッキング攻撃」とは何かというと、IPAによると、以下のように記載されております。
<IPAからの引用>
クリックジャッキング攻撃とは、ユーザを視覚的に騙して正常に見えるウェブページ上のコンテンツをクリックさせ、別のウェブページのコンテンツをクリックさせる攻撃のことである。その結果、ユーザが公表するつもりのないプライバシー情報を公開させられたり、意図しない情報を登録させられたりするなどの被害を受ける可能性がある。
要するに、ユーザが意図せず、「クリックジャッキング攻撃」が埋め込まれたページをクリックしたら、いつの間にか、別のサイトの非公開にしていた情報が公開されていたり、変な記事が投稿されたり、退会されたりしてしまう。みたいな攻撃を行うことが出来ます。
攻撃の被害を受ける流れとしては以下のようなものがあります。
<攻撃の被害を受ける流れ>
①ユーザが、Aというサイトにログインする。(もしくはログアウトされない状態になっていたとする)
②ユーザが、悪意のあるBというサイトを気づかずに表示。
③悪意のあるBというサイト上で、リンククリックを促されたため、何気ないリンクをクリックする。
④いつの間にか、Aのサイトで、非公開にしていたプロフィール情報が公開されてしまった!!
上記を見ると、ユーザは、Bのサイトを閲覧しているだけで、Aのサイトは操作していないのに、Aのサイトの情報の書き換えがされてしまいました。
どういう仕組でしょうか?
実は、上記③の部分で、悪意のあるサイトでは、iframeを使用して、Aのサイトの会員情報変更ページを開いて、Bのサイトに重ねて表示していたのです。
そして、iframeをCSSを使って透明にして、あたかもBのサイトのリンクをクリックさせたと見せかけて、Aのサイトの会員情報変更ページ内の「プロフィールを公開する」というボタンをクリックさせていたのです。
これにより、ユーザが意図すること無く、プロフィールが公開されてしまうといった被害が発生してしまうのでした。
では、この攻撃を防ぐためにはどうしたら良いでしょうか?
対策方法としては、Aのサイト側で、悪意のある外部サイトから埋め込まれないように対策を行う必要があるとのことでした。
具体的には、「X-Frame-Optionsヘッダ」というヘッダー情報を出力すると、ブラウザ側でiframeの読み込みを制限することが出来るので、今回のケースですと、Aのサイトは、Bのサイトからそもそも読み込めないので攻撃が成功しないということになるようです。
また、今回のような「クリックジャッキング攻撃」を受けた際に被害が出るサイトは以下の機能を持っているサイトになります。
以下の機能を持っているサイトについては、対策を行わないと、悪意のあるサイトから自身のサイトがiframe等で読み込まれ
サイト利用者に不利益が出てしまうかもしれません。
<対策を行う必要があるサイト>
・ユーザ情報を登録し、情報の公開/非公開を選択することが出来る。
・インターネット上に情報を共有することが出来る。
・日記やつぶやき等で自身の情報として投稿することが出来る。
・ユーザがクリックのみで登録しているサイトを退会できる。
逆に言うと、以下のような投稿したり変更するような機能が無いサイトの場合は、「クリックジャッキング攻撃」を受けたとしても、データの変更のやりようが無いので対策は不要と考えます。
セキュリティ対策としては、それ以外にも考えるべきことがありますが、サイトの内容によって、どこまで実施するべきか、お客様と協議の上、進めさせていただきます。
脆弱性やセキュリティ対策の件など、不安がございましたら、お気軽にマリンロードまでご相談ください。
(参考)
https://www.ipa.go.jp/files/000026479.pdf