結局のところ「Webスキミング」って何? 専門家に聞いてみた!Webスキミングを知るための5つの質問
この記事は約15分で読むことができます。
新卒2年目になったAさん。
前回、無事WAFの導入を終えたのですが、WAFで守れない攻撃があることを知り、気になったので再度専門家Bさんの元へ。
Q1.WAFで防御できない攻撃とは?
Aさん WAFさえ導入すれば、いろんな脅威からWebサーバを守ってくれると思っていたのですが、WAFで防御できない攻撃があると聞いてとても心配になってきました。
専門家Bさん WAFは多くの脅威からWebサイトを守ってくれる心強い存在だけれど、WAFで守り切れない脅威というのも確かに存在するよ。例えば、「Webサイトの個人情報の漏えい」と聞くと、サーバサイドから個人情報が盗まれるケースを思い浮かべると思う。
【サーバサイドの脅威】
- Webサーバの脆弱性を突かれて個人情報データベースが盗まれた。
- Webサーバの設定を間違えていて、個人情報データベースにアクセスができる状態になっていた。
一方で、サーバサイドから情報を盗むのではなく、一般ユーザ(クライアント側)から直接情報を盗む方法もあるよね。
【クライアントサイドの脅威】
- 偽サイト(フィッシングサイト)に一般ユーザを誘導して、個人情報を入力させる。
- 不正なJavaScriptを一般ユーザに読み込ませ、ブラウザのフォーム画面に入力された文字列を盗む。
クライアントサイドの脅威は、一般ユーザと攻撃者の間で個人情報の流出が発生する訳だけれど、
これはWAFの知らないところで発生していることだから、WAFでの対応が難しいんだ。
もちろんこれはWAFだけではなく、IPS/IDSやFWでも同じ。
Q2. Webスキミングとは?
Aさん フィッシング攻撃は聞いたことありますが、他のクライアントサイド脅威には、どのようなものがあるのですか?
専門家Bさん 近年、特に猛威をふるっているクライアントサイド脅威として、「Webスキミング」が挙げられるかな。「Magecart攻撃」とか「フォームジャッキング」と呼ばれることもあるよ。
例えばオンラインショッピングで何か物を購入するとき、住所とかカード番号を入力するよね。
この時、Webページに「スキマー」と呼ばれる不正なJavaScriptが改ざん設置されていると、
この入力情報が勝手に攻撃者に送られてしまうんだ。
Q3.どんなサイトが狙われるの?
Aさん 自分たちのWebサイトも狙われるのではないかと心配になってきました......。
専門家Bさん 例えばオンラインショッピングサイト(ECサイト)はWebスキミングに狙われやすい傾向にあるよ。クレジットカード情報の入力が発生するため狙う価値があるし、ECサイトで使われているContents Management System (CMS)の脆弱性をついて、Webスキミングのための不正なスクリプトの改ざん設置するケースが非常に多いんだ。
とはいえ、最近ではずる賢いWebスキミング手法も登場してきているから、どんなWebサイトであっても標的となりえると思っておいた方がいいね。
Aさん ずる賢いWebスキミング手法?
専門家Bさん 例えばあるオンラインショッピングサイトでは、クレジットカード決済を外部サイトで行っているため、そのWebサイト自身ではクレジットカード情報を入力するフォームを持っていなかったんだ。しかし、「入力フォームがないのであれば作ってしまえばいい」と考えた攻撃者がいて、攻撃者は偽の入力フォームを表示させて、一般ユーザに入力を促してWebスキミングを行った事例があるんだ。偽のクレジットカードやログインID/パスワードの入力フォームを表示させるといったこともWebスキミングでは容易にできてしまうんだ。
Q4.日本国内でWebスキミングを聞いたことないけれど?
Aさん 自分たちのWebサイトもWebスキミング被害にあう可能性があるのは分かったのですが、対策は必要でしょうか?日本でのWebスキミング被害事例をあまり聞いたことがないので......。
専門家Bさん 国内のWebサイトで情報漏洩が発生した場合、その手法に関わらず「不正アクセス」として公表されることが多いから、脅威の知名度は決して高いとは言えないと思う。あと、国内のWebスキミング被害規模も数百件程度と小さめのことが多いというのもあるかもしれないね。
けれど、1件でも情報漏洩には変わりないし、実際に国内Webサイトでも数千件~数万件規模の被害事例もあるから、対策はしっかりすべきだと思うよ。
Q5.どのように対策をとればよい?
Aさん WAFやIPS/IDSで防御が難しいのであれば、具体的にどのような対策を立てていくのがいいのでしょうか?
専門家Bさん 「自分たちのWebサイトが脆弱じゃないかどうかチェックする」とか「不正なスクリプトが埋め込まれていないかどうかチェックする」とか、従来通りの対策はもちろんしっかりすべき。
それに加えて、一般ユーザのブラウザに対して、不正なスクリプトを実行させないように、攻撃者への個人情報送信をさせないように、強制する技術を用いることが、Webスキミングにおいて効果的な防御手法になるよ。特にここ数年、この技術を使って、様々なセキュリティソリューションベンダがWebスキミング対策ソリューションをリリースしているんだ。
Aさん 具体的に、どういった技術なのですか?
専門家Bさん 話すと長くなるので簡単な説明になるけれど、大きく2種類の方法が主流だよ。
- ブラウザ標準技術(Content Security Policy, Subresouce Integrity等)を使う方法
- Content Security Policyのポリシー生成を支援する観点で、セキュリティベンダはソリューションをリリースしていることが多い
- JavaScriptで監視エージェントを開発し、他のJavaScriptが不審な挙動をしていないかチェックする方法
どちらもWebスキミングに対して高い防御効果を発揮するけれど、それぞれの一長一短を理解したうえで、自分たちのWebサイトとの親和性があるかどうか、使いこなせるかなどを見ていく必要がある。
Aさん よくわかりました。ありがとうございます!
【補足】
WebスキミングやContent Security Policyについてもっと詳しく知りたい方は、以下より資料ダウンロードが可能です。