コンテンツデリバリーネットワーク(CDN)サービスを基盤に、各種のクラウド型セキュリティサービスを手掛けるアカマイ・テクノロジーズでWebセキュリティの動向を追う中西一博氏が、非常に発見が難しくなっているWeb攻撃の実態と手口を暴き、その対策について解説する。
これまでの連載:迷惑bot事件簿
前回の記事では、“見えないWeb攻撃”の一つである「Webスキミング」の巧妙な手口を暴き、それらの手口によって起きているクレジットカード情報などの情報漏えいの実態を取り上げた。今回は対策編として、前回の内容を簡単に振り返りつつ、Webスキミングを可視化し防止するための対策の最前線について解説する。
まずは、前回取り上げたWebスキミングの手口を簡単に振り返ってみよう。
犯罪者集団Magecartが用いるWebスキミングの特徴は、ECサイトなどのWebサイトにアクセスした利用者のブラウザに悪性のJavaScriptをダウンロードさせることで、偽の入力フォームを表示したり、ブラウザに入力または表示される情報を窃取(スキミング)するプログラムをブラウザ上で動かしたりするという手口だった。抜き取った情報は、犯罪者が用意したサーバに送信される。
Webサイト自身を攻撃して、正規のJavaScriptを改ざんするケースもある。しかし厄介なのは、Webサイトがビジネス上必要な機能を実装するために正規に参照している、外部ベンダー製のスクリプト(サードパーティースクリプト)を改ざんするケースだ。ブラウザはスクリプトをサードパーティーのサイトから直接読み込むため、ECサイトなどのWebサーバやそれを守るWAF(Webアプリケーションファイアウォール)を悪意ある通信が通過しない。このため、Webスキミングの防止やサーバログなどの記録が出来ず、何が起きていたかの認知さえできない。まさに「見えない攻撃」だ。
JavaScriptを使ったWebスキミングは、Magecartの編み出した手法をベースに、さらに巧妙に攻撃の存在を隠して「見えなく」なるよう、日々進化を続けている。例えば、2019年11月にクレジットカードブランドのVISAが実態を分析、報告したJavaScriptのスキミングプログラム「Pipka」は、JavaScriptがブラウザ上でいったん実行されるとその直後に自身の悪性スクリプトをページから消去する。そのため人の目でチェックしても、不正なコードを発見できない。さらに、窃取したデータを攻撃者の用意したサーバに送る際(上図4番の通信)に暗号化などを施すことで、カード番号やメールアドレスなどの文字列が送信されたと分からないよう工夫している。
こうなると、一般人はもちろんセキュリティの専門家でさえ、日常的なWebブラウザの利用中に、スキミングが裏で起きていると気付くのは難しい。
最も単純な予防策は、Webサイトで利用しているJavaScriptを整理して、最小限に絞り込むことだ。しかし自サイトでのリスクも明らかにならないまま、商用サイトを運用する各事業部門がいったん必要と判断して実装したスクリプトを予防的に除外することは容易ではない。
Webサイトに設定することで、ブラウザが読み込み可能なコンテンツ(スクリプトなど)を制限する「コンテンツセキュリティポリシー」(Content Security Policy, CSP)や、コンテンツの改ざんをハッシュ値で確認する「サブリソース完全性」(Subresource Integrity, SRI)などの、不正対策用のHTTPレスポンスヘッダを使うというアイデアもある。しかしこれらの仕組みは、頻繁にコンテンツやスクリプトが入れ替わる商用サイトや、予告もなく更新されるサードパーティースクリプトの運用の実態に即しているとは言いがたい。「部分的に試したことはあるが、手間が掛かりすぎる」とは、ある商用サイトの運用担当者が漏らした正直な現場の声だ。
もう一つ注意すべき点がある。ここで挙げた対策はどれも、ECサイトなどのWebサーバが直接侵害されると容易に無効化されてしまうことだ。それを防ぐには、まずWebサーバの脆弱(ぜいじゃく)性対策や、WAFなどでWebセキュリティの強化を図る必要がある。他方で、Webサイト自身とサードパーティーのどちらのJavaScript侵害にも対処できる、新たな仕組みの検討を始めるべきだろう。
追加対策としてまず考えられるのは、悪意のあるJavaScriptを発見するスキャナーだろう。Webブラウザをエミュレートする形で調査対象のWebサイトに定期的にアクセスを行い、参照しているサードパーティーJavaScriptまで含めて読み込んだうえで、危険なスクリプトを自動的に見つけ出す。サイバーセキュリティ企業の米RiskIQなどのソリューションが対応しており、同社は実際にこれまで幾つものWebスキミングを詳細に分析のうえ公開している。しかしこの方式の課題は、実際の利用者がアクセスしたブラウザの中で起きるスキミングをリアルタイムに検知して阻止できないことだ。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR