こんにちは。新規事業の開発や既存業務の効率化などに使える補助金・助成金の無料診断 / 申請支援を行う『補助金サポート』を提供しているクラウド軍師運営チームです。

クリックジャッキングは、さまざまな方法でインターネットやデバイスの利用者に不利益を与えるサイバー攻撃のひとつ。Webページの閲覧やSNSなど、一般的なインターネット利用における何気ないワンクリックから攻撃を行い、マルウェア感染や不正送金といった被害を発生させます。

この被害を避けるには、サイト運営者を中心に然るべき対策を実施しなければなりません。では、具体的にどのような対策を行えばいいのでしょうか。

今回は、クリックジャッキングについて、その攻撃の仕組みや対策を詳しく解説します。

クリックジャッキングとは

クリックジャッキングとは、Webブラウザを通したインターネット利用において、利用者を視覚的に欺くことで、ユーザー本人が望んでいない操作を誘発させる攻撃です。
この攻撃では、攻撃者は正式なWebページの上に被せて、目には見えないボタンやリンクを設置します。この仕掛けにより、ユーザーが正式なWebページを見て操作を行なった時に、見えないボタンやリンクがクリックされ、ユーザーにとって望ましくない操作が行われてしまうというわけです。

クリックジャッキングは、情報だけでなく金銭的な被害も生みます。
その被害は、Webページの閲覧だけでなくSNSの利用においても多く発生しており、またデバイスもパソコンに限定されません。スマートフォンやタブレットの利用においても、この被害に遭う可能性があります。

Web利用においてブラウザの利用は必須ですが、ブラウザを悪用した目に見えないこの仕掛けにユーザーが気づくのは困難です。
そのため、その被害は気づかないうちに拡大してしまう恐れがあります。

クリックジャッキング攻撃の仕組み

クリックジャッキングは、「Webページに透明のWebページを重ねる」手法で行われます。

例えば、ユーザーがWebページ「A」を閲覧していたとしましょう。この攻撃が仕掛けられていた場合、表示されている「A」には透明なページ「B」が重ねてあります。
この時、「A」の「次へ」ボタンの上に、透明な「B」の「商品を購入する」ボタンが重ねられていたらどうなるでしょう。
表示されている「A」の「次へ」ボタンをクリックしたつもりが、実際には「B」の「商品を購入する」ボタンが押され、ユーザーは望まない商品を購入することになってしまいます。

クリックジャッキング攻撃の仕組み 図解

この攻撃では、HTMLタグのiframe(インラインフレーム)を用い、一見何の問題もない罠ページの上に見えないページを重ねます。ユーザーがブラウザからそのページを閲覧した時には罠ページだけが表示されますが、操作自体は透明なページ上で反映されるため、結果としてユーザーの望まない操作が誘発されるのです。

クリックジャッキングによる被害事例

望まない操作を誘発するこの攻撃は、具体的にどのような被害を生むのでしょうか。

クリックジャッキングの生む被害は、仕掛けられたページの内容によって異なります。
具体的には、次のような被害が起こる可能性があります。

・望まない商品の購入
・不正送金
・SNSの望まない設定変更
・SNSの望まないフォローや投稿
・アカウントやデバイスの乗っ取り、悪用
・Adobe Flashからの望まないWebカメラやマイクの作動
・悪意あるサイトへのアクセス
・マルウェア感染
・情報の流出、データ破壊
・無限にウィンドウが開き続ける
・無限にCD-ROMドライブが開閉し続ける など

上記は一例で、この脅威はあらゆる内容の被害を引き起こします。

またこの攻撃では、ログイン機能のあるサービスが狙われる傾向にあります。
ユーザーがサービスにログインした状態から罠ページに誘導することで、通常ログインしていなければできない操作を誘発させることができるためです。

クリックジャッキングを防ぐには?

この脅威を防ぐには、サイト閲覧者側、サイト運営者側の双方での対策が必要になります。
それぞれの対策について確認していきましょう。

サイト閲覧者側の対策

サイト閲覧者側で行う対策としては、次の2点が挙げられます。

1.ブラウザをアップデートする
2.注意すべきWebサイトを把握する

これらの策は、攻撃のリスク緩和に効果的です。

1.ブラウザをアップデートする

クリックジャッキングをはじめとした脅威に備えるには、ブラウザを常に最新の状態にアップデートしておくことが大切です。

ブラウザを古い状態のままにしておくと、ベンダー側で行われたセキュリティ対策が反映されず、脆弱性を放置してしまうことになります。すると、当然脆弱性を狙った攻撃のリスクは高まります。

あらゆるリスクを回避するためにも、ブラウザのアップデートは速やかに行うよう心がけましょう。

2.注意すべきWebサイトを把握する

被害を受けやすいWebサイトを把握しておくことも、対策として有効です。
IPA(情報処理推進機構)が発信する「安全なウェブサイトの作り方」では、次のようなWebサイトの利用は特にこの攻撃の被害に注意すべきだとしています。

・ログインした利用者だけが利用できる機能を、マウス操作のみで実行できるWebサイト
・利用者情報の公開範囲に関する変更処理等が、マウス操作のみで実行できるWebサイト

ログイン機能のあるサービスやマウス操作のみで重要な機能を実行できるWebサイトは、この攻撃のターゲットになりやすいとされています。そのため、これらの利用は慎重に行い、必要に応じてWebサイトで行なわれている脆弱性対策を確認する必要があります。

サイト運営者側の対策

次に、サイト運営者側の対策について見ていきましょう。

この攻撃の被害を防ぐには、運営者側の対策が重要になります。対策の具体例としては、次のような手段が挙げられます。

1.X-Frame-Optionsの導入
2.Content Security Policyの導入

それぞれの対策について詳しくご説明します。

1.X-Frame-Optionsの導入

X-Frame-Optionsとは、クリックジャッキングからWebアプリケーションを守るためのヘッダのことです。これを導入することで、ブラウザ利用におけるiframeなどのWebページの読み込みを制限することが可能です。
つまりこの仕組みを活用すれば、攻撃が仕掛けられているWebページのiframeの呼び出しをブロックし、意図しない操作を引き起こさないようにすることができるのです。
ただし、それが可能なのは対応するブラウザのみ。Internet Explorer 7は対応不可なので注意しましょう。

この手法では、HTTPのレスポンスヘッダから設定を行います。
この時の主なヘッダ値は、次の2種類です。

DENY:iframe などで埋め込まれたWeb ページの表示を全て拒否する(自社サイトで iframe を利用していない場合に有効)
SAMEORIGIN:アドレスバーに表示されるドメインと同一ドメインのWeb ページだけを表示する

X-Frame-Optionsは脅威への対策として有効ですが、その設定や対応の可否の判断がやや複雑なのでご注意ください。

2.Content Security Policyの導入

Content Security Policyとは、ブラウザ上におけるコンテンツの読み込みを制限する仕組みのこと。X-Frame-Optionsと同じような機能を有するものだと考えてください。
これは、クリックジャッキングだけでなく、クロスサイトスクリプティング攻撃の対策としても効果的です。

その特徴は、X-Frame-Optionsに比べより細かな設定を行うことができる点にあります。
ただし、これも設定によってトラブルが起きたり古いブラウザでは対応できなかったりすることがあるため、設定や対応の可否は慎重に行う必要があります。

まとめ

クリックジャッキングは、ユーザーが気づかないうちにさまざまな被害を発生・拡大させる悪質な攻撃です。
特に、WebサービスやSNSが充実し、その利用が一般的になった現代においては、最大限の注意が必要です。もしSNSを通して情報が漏洩してしまったら、それを完全に回収することはできません。

この攻撃の対策は運営者側で行なうものがメインになります。ただし、ユーザー側でも正しいリテラシーとリスクを回避する意識を持って、インターネット利用を行うことが大切です。