自社のWebサイトは安全ですか? - 不審な接続先の調査方法 Webスキミング編-

1.ECサイト利用の増加

近年、キャッシュレス決済の普及や、昨今のコロナ禍における巣ごもり消費の増加に伴い、ECサイトを利用したオンラインショッピングの利用率は益々高まっています。オンラインショッピングの機会の増加は、同時に攻撃者による攻撃の機会を招きます。特に欧米を中心に、Webスキミングと呼ばれる攻撃が数年前から観測されており、甚大な被害が発生しています。コロナウイルスによるパンデミック期間中の今この瞬間も、Webスキミングによる攻撃は観測され続けています。

2.フォーム入力情報の窃取 -Webスキミング‐

Webスキミングとは、スキマーと呼ばれる悪意のあるスクリプトを、Webサイトのログインページ等に設置し、フォームに入力される個人情報(ID,Password, クレジットカード番号等)を収集する攻撃のことを指します。

フィッシングサイトについては昨今ニュースでも取り上げられているため、一般消費者の方々の中にも「今アクセスしているWebサイトのURLは怪しいものではないか?」という警戒心を持っている方もいるのではないかと思います。

ですが、このWebスキミング攻撃の場合、フィッシングサイトとは違い、正規のWebサイト上にスキマーのスクリプトが埋め込まれてしまっています。
そのため、Webサイトの利用者は「今アクセスし表示しているWebサイトは正規のURLであるため、個人情報を入力しても問題ないだろう」と、裏では攻撃者が用意したサーバに情報が送られていることに気付くことができずに、個人情報を入力してしまうかと思います。
そのようにして一般消費者の方々のクレジットカード情報が漏洩してしまった場合、スキマーを埋め込まれてしまった企業側も被害者ではあるものの、消費者の金銭的被害を補償する必要に迫られるほか、企業の信用やブランドの損失に繋がってしまいます。

Webスキミング攻撃の厄介さについては何となくイメージしていただけたかと思いますが、上述のような「自社で管理しているWebサイトの脆弱性を突かれ、自社WebサイトのHTMLにスキマーが埋め込まれる」パターンだけでなく、近年は別のアプローチによるWebスキミング攻撃が観測されています。

3.外部参照先サーバの脆弱性を突いた攻撃 -サプライチェーンアタック-

▼WebサイトのコンテンツがWebブラウザ上に表示されるまで

サプライチェーン攻撃の説明の前に、Webサイトのページが表示されるまでの動作の概要について触れたいと思います。
利用者がWebブラウザを立ち上げてWebサイトのURLにアクセスする際、まずそのWebサイトのURLへのリクエストが送信されます。そのレスポンスとしてHTMLファイルがクライアントのWebブラウザに返されますが、そのHTML内の記述にはサードパーティドメイン(アクセス先URLのドメイン以外の外部ドメインのこと。スクリプト、画像、広告、CDN等が該当します。のサーバからコンテンツを参照するような記述も含まれていることが一般的です。
WebブラウザはそのHTMLの記述に沿って、サードパーティのサーバへのリクエストを送信し、レスポンスとして返される画像や広告、スクリプトをブラウザ上に表示します。

▼サプライチェーン攻撃について

サプライチェーン攻撃は、利用者が今現在アクセスし表示しているWebサイトドメインではなく、サードパーティドメインのサーバ側にスキマーを設置し、間接的にWebスキミングを行う手法のことを指します。


自社Webサイトの管理やセキュリティ対策が行き届いており、攻撃者による改ざんがされないような状態だとしても、外部参照コンテンツの配信元サーバが脆弱性を突かれて改ざんされ、スキマーが埋め込まれてしまった場合、利用者のWebブラウザからは、攻撃者が用意したサーバへの通信・個人情報の漏洩が発生してしまうことになります。

このように、Webサイトを管理する企業側がコントロールできない部分への攻撃となっているため、サプライチェーン攻撃は一般的なWebスキミングよりも厄介です。

4.サードパーティドメインへ発生している通信の把握

どのようなサードパーティドメインへの通信が発生しているのかを確認する方法としては、Webブラウザの開発者ツールを利用して通信先ドメインを確認する方法や、Webサイトのソースコードを確認する方法があります。

今回当記事では、インターネット上のデータセットを集約し、情報同士の繋がりを見やすく、またドリルダウンしやすい形で提供している、無償版の利用も可能なPassive Totalというツールを使い、自社のWebサイトで発生している通信先の一覧を確認する方法をご紹介したいと思います。

また、実際に観測されたスキマーの配布元サーバの情報をもとに、一体どのWebサイトにスキマーが埋め込まれてしまったのか、Passive Totalを利用したドリルダウン調査方法についても、併せてご紹介したいと思います。

▼Passive Totalについて

Passive TotalはRiskIQ社によって提供されている調査用ツールです。
以下のリンクからアクセス可能です。
https://community.riskiq.com/research

アクセス後に表示される画面では、RiskIQ社による様々な脆弱性等に関する記事が公開されており、ユーザ登録をしていない状態でも一部ご覧いただくことが可能です。

ユーザ登録については、画面右上のRegisterボタンから進めます。

先日より騒がれている、SolarWinds社の製品Orionに関する脆弱性に関連する記事も複数公開されています。



今回ご紹介する「自社のWebサイト
発生している通信先一覧を確認する方法」「スキマーの配布元サーバの情報をもとに、スキマーが埋め込まれたWebサイト調査する方法について」については、こちらの画面ではなく、Use PT Classic の画面にて行います。

▼自社のWebサイトで発生している通信先一覧の確認方法

Use PT Classicの画面は以下のようになっています。
有償/無償版で一部表示情報が異なる部分もありますが、トップページにはユーザ自身の検索履歴や、チーム(企業)の他のユーザの検索履歴、またProjectと呼ばれる特定の設定条件に一致する、インターネット上で観測された情報を蓄積していく機能の画面が表示されます。

手順

1.Discoverのフォームに調査対象のWebサイトのFQDNを入力

今回は例として、弊社のFQDNを使用します。


検索すると、上のような画面が表示されます。

HEATMAPではFQDNに紐づいているIPアドレスの数や稼働状況が表示され、画面下部のDATAの各タブを切り替えることで様々な情報の確認が可能です。

2.DATA -> Host Pairsタブに遷移

Passive Totalの画面上での操作は1クリック毎に1クエリという形で処理され、有償/無償版それぞれ定められた上限クエリ数までドリルダウンが可能です。

自社のWebサイトで発生している通信先一覧の確認においては、Host Pairsタブ内の情報を参照するので、当該タブをクリックして遷移します。

>Host Pairsタブに遷移すると、上のような画面が表示されます。

Host Pairsタブ
内で表示される情報としてはWebサイトへのリクエストと、Webサイトのページ内に埋め込まれている画像やスクリプト等関連するリクエストの親子関係(Parent/Child)が表示されます。

例えば、Parentに www.macnica.net が、Childに外部ドメインが表示されている場合は、www.macnica.net のページ上に、外部ドメインのサーバ上の
コンテンツが埋め込まれている、ということになります。

また、表示する情報を絞り込むために利用可能なフィルタが画面左側にあります。

3.FILTERS -> PARENT HOSTNAME で、調査対象のWebサイトのFQDNを選択

PARENT HOSTNAMEフィルタで、Parentとして自社のWebサイトのFQDNを指定します。


こうして表示される、自社のWebサイトで発生している通信先一覧の中に、怪しいドメインが含まれていないかを確認していくような形になります。怪しいと判断したドメインについては、Passive Totalの画面上でクリックすることで、情報のドリルダウンが可能です。

また、PARENT HOSTNAMEフィルタ以外のフィルタとしてCAUSEフィルタもありますが、こちらを利用することで、例えばJavaScript等のスクリプトや、広告等の画像の取得のために発生している通信先一覧のみを絞り込んで表示することも可能です。


スキマーの配布元サーバの情報をもとに、スキマーが埋め込まれたWebサイト調査する方法について

続いて、実際に観測されたスキマーの配布元サーバの情報をもとに、スキマーが埋め込まれたWebサイト調査する方法についてご説明します。

 
こちらも同様に、Host Pairsの情報がカギとなります。

手順

1.Discoverのフォームにスキマーの配布元サーバの情報を入力

今回はサンプルとして、コロナ禍第一波期間の2020年5月頃に観測されたスキマーの配布元となったサーバのIPアドレス 185[.]195.26.147 をもとに、確認を進めていきます。

先ほどの確認手順と同様、Discoverのフォームに調査対象の情報を入力し、検索を実行します。

2.Resolutionsタブで、IPアドレスに紐づいている不審なFQDNを確認

IPアドレスに対する検索を行った場合、ResolutionsタブにはIPアドレスに紐づいているFQDNが一覧表示されます。
また、First, Lastの列には、同列のFQDNが最初に観測された日付、最後に観測された日付が表示されます。
FQDN一覧を確認すると、「cdn~」「aws~」等、CDNやAWSを標榜しているようなFQDNが見られます。

3.不審なFQDNをドリルダウンし、Host Pairsタブを確認

不審なFQDNのうち、今回は cdnpack[.]net をサンプルとしてピックアップし、ドリルダウンしていきます。

cdnpack[.]net のHost Pairsタブを確認します。



スキマーが埋め込まれたことで攻撃者が用意したサーバへの通信が発生してしまったWebサイトがParent、スキマーの配布元となったFQDNがChildとして表示されます。

4.Cause列を確認


Causeの列にはParentとChild間の通信の発生理由が表示されますが、スキマー等のスクリプトの読み込みが原因で発生した通信は、script.src として記載されます。

手順3での確認と併せて、赤枠部分のParentに表示されているFQDNが、スキマーが埋め込まれてしまったWebサイトであると考えられます。

5.対象のWebサイトのHost Pairsタブを確認



続いて、対象のWebサイト www[.]caddydaddy.com の Host Pairsタブを確認していきます。
CAUSEフィルタの条件として、script.src を指定します。

赤枠部分のChildのFQDNとFirst, Last, Causeの情報を見ると、先ほど触れた cdnpack.net と入れ替わるような形で、いかにも不審な
cdnn-aws.com というFQDNからのスクリプトが参照されていることがわかります。

6.不審なFQDNのHost Pairsタブを確認


Childとして cdnn-aws.com が参照されている 他のWebサイトの有無は、cdnn-aws.com のHost Pairsタブで確認していくことが可能です。このように、観測されたスキマーの配信元サーバの情報を起点として、芋づる式にドリルダウンしていく形でスキマーが埋め込まれた可能性のあるWebサイトを確認していくことが可能です。

5.自社のWeb資産の把握

「自社のWebサイトにスキマーが埋め込まれてしまい、不審な通信が発生していないか」の確認以前に、企業の公式HP以外で、自社が保有しているWebサイトはどのようなサイトがあるのか不明だという方も、Passive Totalを使うことで見つけていくことが可能です。
具体的には、企業のHPのFQDNやドメインの情報を起点として、Passive Total上の Whois や Subdomains タブの情報を芋づる式にドリルダウンしていくような形です。

手順

1.Discoverのフォームに自社のWebサイトのFQDNを入力

例として、当ブログのFQDNである mnc.macnica.net を起点として確認を進めていきます。

2.Whoisタブに遷移し情報を確認

ドメインの取得の際に、特定のメールアドレスをWhois情報に登録している場合は、Whoisのメールアドレスや、Organizationの情報をドリルダウンすることによって、同一のWhois情報で登録されている他のドメインを確認することが可能です

Whoisの情報はインターネット上で公開されており、他のツールやWebサイトでも特定のドメインやIPアドレスのWhoisの情報の確認が可能ですが、Passive Totalを利用する場合は画面に表示される情報を芋づる式でドリルダウンすることができます。

最新のWhois情報のEmailに登録されているメールアドレスをクリックすると、下記のような画面に遷移し、対象のメールアドレスで取得された他のドメイン一覧が表示されます。

3.Subdomains, Componentsタブを確認

また、対象のドメインのサブドメイン一覧についてはSubdomainsタブで確認可能です。


その他、Componentsタブでは、対象のWebサイトで使用されているWebサーバのソフトウェアの情報なども確認することが可能です。

6.Web資産の自動検出・監視

Passive Totalを使い、自社のWebサイトで不審な通信が発生していないかの確認方法や、自社のWeb資産の確認方法についてここまでご紹介しました。

 
・自社のWebサイトで発生している通信:Host Pairsタブの情報をもとにドリルダウン
・スキマーが埋め込まれたWebサイト:Host Pairsタブの情報をもとにドリルダウン
・自社が保有しているWebサイト/ドメイン:Whois/Subdomainsの情報をもとにドリルダウン
・自社のWebサイトで利用されているWebコンポーネント:Componentsタブの情報


今回ご紹介したPassive Totalを利用した調査方法は、どうしても人的なリソースがかかる作業でもあります。

Passive Totalを提供しているRiskIQ社の他の製品群では、自社のWebサイトを監視し不審なスクリプトの埋め込みを検知することや、自社のWeb資産を自動的に検出したり、使用されているWebコンポーネントの情報を可視化することが可能です。

ご興味がある方はぜひお問い合わせ頂けたら幸いです。

●RiskIQIntelligenceサービス
RiskIQサービス概要~Digital Footprint (DF)関連資料~
をダウンロードください。
資料ダウンロードはこちら.JPG
メルマガ登録バナー(セキュリティ).jpg




ランキング