1.クリックジャッキング
(1)クリックジャッキングの概要
情報処理安全確保支援士試験の過去問(H24SC春午前2問1)では、「 Webページのコンテンツ上に透明化した標的サイトのコンテンツを配置し,利用者が気づかないうちに標的サイト上で不正操作を実行させる。」とあります。ジャッキングとは、飛行機を乗っ取るハイジャックをイメージしてください。クリックを乗っ取ると考えればいいでしょう。
IPAの資料(https://www.ipa.go.jp/security/vuln/websecurity/clickjacking.html)に、詳しい解説があるので、時間があれば読んでください。
この資料では、「クリックジャッキング攻撃とは、ユーザを視覚的にだまして正常に見えるウェブページ上のコンテンツをクリックさせ、別のウェブページのコンテンツをクリックさせる攻撃のこと」と述べられています。
※出典:https://www.ipa.go.jp/security/vuln/websecurity/clickjacking.html
ユーザには、後ろにある悪意のページしか見えていないのですが、実際には表側にあるサイトをクリックしているのです。このケースでは、勝手に「情報公開」にしてしまいます。
具体的な透過方法は、iframe等によりクリックさせたいサイトを読み込み、そのページをCSS(Cascading Style Sheets)の設定で透明にします。
(2)対策
情報処理安全確保支援士試験の過去問(H26年秋SC午後Ⅱ問2)で詳しく問われましたので、その内容を確認しましょう。
(Ⅱ)クリックシャッキングの対策(H26年秋SC午後Ⅱ問2より) |
---|
クリックシャツキングの対策には,④HTTP応答ヘッダで“X-FRAME-OPTIONS”にDENYを指定することによって,自サイトをフレーム内で表示させないようにする方法がある。近年,クリックシャッキングによると思われる事件が発生しており,この応答ヘッダに対応したブラウザが増えている。 |
対策ですが、自社のWebサイトが攻撃者のサイトのiframe内で勝手に表示されないようにします。具体的には、ブラウザからコンテンツを要求されると,Webサーバはブラウザに対して「このサイトをiframe内で表示させないようにしてください」いう通知を送るのです。このとき、Webサーバからの通知に使うのが「X-FRAME-OPTIONS」というHTTPヘッダです。Webサーバが通知した「X-FRAME-OPTIONS」をブラウザが確認し,拒否が設定されていればブラウザはiframe内にコンテンツを表示しません。
この点は、午前問題(R4秋SC午前2問11)でも問われました。「クリックジャッキング攻撃に有効な対策」として、「HTTPレスポンスヘッダーに,X-Frame-Optionsを設定する」が正解です。
(3)サンプルコード
実際にサンプルコードを動かしてみましょう。
ページとソースコードは以下です。
❶Normal Site(normal-site.html)
正規のページです。たとえば、商品を購入するとか、設定を変更するなどのボタンがあります。このサイトはもちろん改編することができません。
normal-site.html |
---|
<html> <body> <h1>normal site</h1> This is Normal Site<br> <br> <input type="button" value="normal site download" onclick="alert('Normal site Clicked')"> </body> </html> |
❷ClickJacking Site(cj-site.html)
クリックジャッキングのサイトです。このページは、たとえば、「お得!」などの目を引くキーワードを並べて、ボタンを押させるサイト構成になっています。
サイトの見た目はClickJacking Siteの中身が見えます。具体的には「download」ボタンが見えますが、実際には、iframeで上記のNormal Siteが透明になって埋め込まれています。よって、サイトの閲覧者がdownloadボタンを押すと、iframeにあるNormal Siteのdownloadボタンを押してしまいます。結果、Normal Siteの商品を購入するなどをしてしまいます。
cj-site.html |
---|
<html> <head> <style type="text/css"> <!-- .cj{ position: absolute; top: 5px; opacity: 0; } --> </style> </head> <body> <h1>ClickJacking-site</h1> This is ClickJacking Site<br> <br> <input type="button" value="download" onclick="alert('download start')"> <div class="cj"> <iframe src="normal-site.html"></iframe> </div> </body> </html> |
画面は以下です。downloadボタンを押してみてください。「Normal site Clicked」、つまり、このサイトではなく、iframeで透過されているNormal siteのボタンを押してしまいます。
2.クリプトジャツキング
仮想通貨においては、マイニングをすることで対価を得ることができる。だが、マイニングには大規模な計算処理が求められていて、第三者のPCにマルウェアを仕込むなどして勝手に利用する行為がクリプトジャッキングである。
情報処理安全確保支援士試験の過去問(H31春SC午前2問5)をみてみよう。
過去問(H31春SC午前2問5) |
---|
問5 仮想通貨環境において,報酬を得るために行われるクリプトジャッキングはどれか。 ア 他人のPC又はサーバに侵入して計算資源を不正に利用し,台帳への追記の計算を行う。 イ 他人のPC又はサーバに保存された顧客情報を不正に取得して,販売する。 ウ 他人のPC又はサーバのキーボードからの入力値を不正に取得して,攻撃者のサーバに送信する。 エ 他人のPC又はサーバのファイルを暗号化して利用できなくし,警告文を表示して報酬を要求する。 |
↓
↓
↓
↓
↓
正解:ア
3.MITB
この後に記載するWebインジェクトと同様に、オンラインバンキングを狙った攻撃の一つがMITB(Man-in-the-Browser)攻撃 である。情報処理安全確保支援士試験の過去問(H26SC春午後Ⅰ問3)に紹介されているので、引用する。
引用(H26SC春午後Ⅰ問3より) |
---|
海外では,利用者が入力した送金内容をマルウェアKが書き換えて,攻撃者の口座に送金するという被害が発生したそうです。 |
では、対策はどうすればいいのでしょうか。
情報処理安全確保支援士試験の過去問(H29春SC午前Ⅱ問11)を見てみましょう。
過去問(H29春SC午前Ⅱ問11) |
---|
問11 インターネットバンキングの利用時に被害をもたらすMITB (Man-in-the-Browser)攻撃に有効な対策はどれか。 ア インターネットバンキングでの送金時にWebブラウザで利用者が入力した情報と,金融機関が受信した情報とに差異がないことを検証できるよう,トランザクション署名を利用する。 イ インターネットバンキングでの送金時に接続するWebサイトの正当性を確認できるよう, EV SSL サーバ証明書を採用する。 ウ インターネットバンキングでのログイン認証において,一定時間ごとに自動的に新しいパスワードに変更されるワンタイムパスワードを用意する。 エ インターネットバンキング利用時の通信をSSLではなくTLSを利用して暗号化する。 |
↓
↓
↓
↓
↓
セキュリティ対策としては、どれも重要だと思います。
はい、その通りです。しかし、MITB攻撃の対策になるのは、アだけです。
先ほどのMITB攻撃の流れを確認しましょう。
攻撃は、ログイン後に仕掛けられるのです。ですから、いくらログイン時の対策をしても意味がありません。
アの内容も、よくあるセキュリティ対策だと思います。
なぜMITB攻撃が防げるのですか?
ポイントは、ログインの認証だけではなく、トランザクション(取引)も認証することです。
ログインID/パスワードだけを認証するのではなく、どの口座にいくら振り込んだか、という情報も、サーバ側でチェックします。ですから、利用者が意図しない取引が行えない様になるのです。
さて、埼玉りそな銀行の場合は、カメラ機能でコードを読み取る方式で、以下の流れでトランザクション認証を行います。
http://www.resonabank.co.jp/hojin/b_direct/security/transaction.html
(画像出典:上記のサイトより)
詳しくは、上記のサイトを確認ください。
4.Webインジェクト
オンラインバンキングを狙った攻撃の一つがこれである。
情報処理安全確保支援士試験の過去問(H26SC春午後Ⅰ問3)に紹介されているので、引用する。
引用(H26SC春午後Ⅰ問3より) |
---|
G部長:この攻撃は,利用者ID,パスワード,乱数表の情報(以下,併せて認証情報という)を盗もうとするものだが,利用者を①偽Webサイトに誘導するものではないね。マルウェアJに感染したPCで,正規のWebサイトにアクセスすると,マルウェアJが,認証情報を盗むために邪魔なメッセージを削除し,偽の乱数表情報入力画面を表示するものだね。 W主任:そのとおりです。利用者は,マルウェアJが不正な画面を表示していることに気付かず,認証情報を入力してしまうようです。 |
5.フィッシング(Phishing)
本物そっくりの偽サイトによって利用者をだまし,利用者の重要な情報を盗み出す手口は,フィッシング(Phishing)である。過去問(H22秋IP問75)では、フィッシングに関して「銀行やクレジットカード会社などを装った偽のWebページを開設し,金融機関や公的機関などを装った偽の電子メールなどで,利用者を巧みに誘導して,暗証番号やクレジットカード番号などの個人情報を盗み取る行為」と述べられています。
この言葉の語源はいくつかあるようだが「魚釣り(Fishing)」で覚えておくとよいだろう。釣り竿にエサをつけ,誘導された魚がひっかかるのを待つ様子が,Fishing(魚釣り)を連想したのであろう。
これに関して、H26春SC午後Ⅰ問3設問1にて問われた。
具体的には、「下線①のようなWebサイトの一般的な総称を、10字以内で答えよ」
※下線①は、問題文の「偽Webサイト」である。
この場合は、サイトを問われているので、フィッシングサイトが答えである。
■過去問を解いてみましょう。
過去問(H24年IP) |
---|
問66 a~cのうち,フィッシングへの対策として,適切なものだけを全て挙げたものはどれか。 a Webサイトなどで,個人情報を入力する場合は, SSL接続であること,及びサーバ証明書が正当であることを確認する。 b キャッシュカード番号や暗証番号などの送信を促す電子メールが届いた場合は,それが取引銀行など信頼できる相手からのものであっても,念のため,複数の手段を用いて真偽を確認する。 c 電子商取引サイトのログインパスワードには十分な長さと複雑性をもたせる。 ア a, b イ a, b, c ウ a, c エ b, c |
↓
↓
↓
↓
↓
aは正解です。フィッシングサイトという偽サイトは、費用がかかる点からSSL通信をしないことがあります。また、サーバ証明書が正当であることを確認すれば、正規のサーバかどうかを判断できます。
bも正解です。たとえば銀行からのメールであれば、銀行にそういうメールを送ったかを電話で確認するといいでしょう。
cは不正解です。パスワードの複雑さは関係ありません。パスワードを入力する前に、偽サイトに何かの情報を入力してしまうことが問題です。たとえば、複雑にパスワードを設定していたとしても、それを偽サイトを信用して入力してしまっては、そのパスワードが偽サイトに漏えいしてしまいます。
正解は、アです。
◆【参考】
フィッシングサイトですが、本物のドメインに似たドメインを取得して、クリックさせているようです。
たとえば、佐川急便さんであれば、以下が正式なドメインです。
sagawa-exp.co.jp
フィッシングサイトとしては、以下のドメインが取得されているようです。
sagawa-expx.com
sagaawa-exp.com
sagawaa-exp.com
sagawa-expreess.com
細かくチェックはしないので、間違えてクリックしてしまいますよね。
参考URL
did2memo.net
6.SEOポイズニング
情報処理安全確保支援士試験の過去問(H24SC秋午前2問3)では、SEO (Search Engine optimization)ポイズニングの説明として、「Web検索サイトの順位付けアルゴリズムを悪用して,キーワードで検索した結果の上位に,悪意のあるサイトを意図的に表示させる」とある。
ただ、最近は検索エンジンが非常に優秀で、このような手口では上位に表示されないようになっている。
7.ディレクトリリスティング
ディレクトリのリスト(一覧)を表示する機能です。
たとえば、https://sc.seeeko.com/dir/ と入力すると、そのディレクトリにあるファイル一覧を表示してしまう機能です。
攻撃者に、どんなファイルがあるかを伝えてしまうので、設定はOFFにしておく必要があります。