自社のWebサイトは安全ですか? - 不審な接続先の調査方法 Webスキミング編-
-
- ツイート │
1.ECサイト利用の増加
2.フォーム入力情報の窃取 -Webスキミング‐
ですが、このWebスキミング攻撃の場合、フィッシングサイトとは違い、正規のWebサイト上にスキマーのスクリプトが埋め込まれてしまっています。そのため、Webサイトの利用者は「今アクセスし表示しているWebサイトは正規のURLであるため、個人情報を入力しても問題ないだろう」と、裏では攻撃者が用意したサーバに情報が送られていることに気付くことができずに、個人情報を入力してしまうかと思います。
Webスキミング攻撃の厄介さについては何となくイメージしていただけたかと思いますが、上述のような「自社で管理しているWebサイトの脆弱性を突かれ、自社WebサイトのHTMLにスキマーが埋め込まれる」パターンだけでなく、近年は別のアプローチによるWebスキミング攻撃が観測されています。
3.外部参照先サーバの脆弱性を突いた攻撃 -サプライチェーンアタック-
▼WebサイトのコンテンツがWebブラウザ上に表示されるまで
▼サプライチェーン攻撃について
自社Webサイトの管理やセキュリティ対策が行き届いており、攻撃者による改ざんがされないような状態だとしても、外部参照コンテンツの配信元サーバが脆弱性を突かれて改ざんされ、スキマーが埋め込まれてしまった場合、利用者のWebブラウザからは、攻撃者が用意したサーバへの通信・個人情報の漏洩が発生してしまうことになります。
このように、Webサイトを管理する企業側がコントロールできない部分への攻撃となっているため、サプライチェーン攻撃は一般的なWebスキミングよりも厄介です。
4.サードパーティドメインへ発生している通信の把握
▼Passive Totalについて
https://community.riskiq.com/research
先日より騒がれている、SolarWinds社の製品Orionに関する脆弱性に関連する記事も複数公開されています。
今回ご紹介する「自社のWebサイトで発生している通信先一覧を確認する方法」「スキマーの配布元サーバの情報をもとに、スキマーが埋め込まれたWebサイトを調査する方法について」については、こちらの画面ではなく、Use PT Classic の画面にて行います。
▼自社のWebサイトで発生している通信先一覧の確認方法
手順
1.Discoverのフォームに調査対象のWebサイトのFQDNを入力
今回は例として、弊社のFQDNを使用します。
検索すると、上のような画面が表示されます。
2.DATA -> Host Pairsタブに遷移
Passive Totalの画面上での操作は1クリック毎に1クエリという形で処理され、有償/無償版それぞれ定められた上限クエリ数までドリルダウンが可能です。
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サイトを調査する方法について
続いて、実際に観測されたスキマーの配布元サーバの情報をもとに、スキマーが埋め込まれたWebサイトを調査する方法についてご説明します。
手順
1.Discoverのフォームにスキマーの配布元サーバの情報を入力
今回はサンプルとして、コロナ禍第一波期間の2020年5月頃に観測されたスキマーの配布元となったサーバのIPアドレス 185[.]195.26.147 をもとに、確認を進めていきます。
2.Resolutionsタブで、IPアドレスに紐づいている不審なFQDNを確認
3.不審なFQDNをドリルダウンし、Host Pairsタブを確認
不審なFQDNのうち、今回は cdnpack[.]net をサンプルとしてピックアップし、ドリルダウンしていきます。
スキマーが埋め込まれたことで攻撃者が用意したサーバへの通信が発生してしまった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タブを確認
5.自社のWeb資産の把握
手順
1.Discoverのフォームに自社のWebサイトのFQDNを入力
例として、当ブログのFQDNである mnc.macnica.net を起点として確認を進めていきます。
2.Whoisタブに遷移し情報を確認
ドメインの取得の際に、特定のメールアドレスをWhois情報に登録している場合は、Whoisのメールアドレスや、Organizationの情報をドリルダウンすることによって、同一のWhois情報で登録されている他のドメインを確認することが可能です。
最新のWhois情報のEmailに登録されているメールアドレスをクリックすると、下記のような画面に遷移し、対象のメールアドレスで取得された他のドメイン一覧が表示されます。
3.Subdomains, Componentsタブを確認
また、対象のドメインのサブドメイン一覧についてはSubdomainsタブで確認可能です。
その他、Componentsタブでは、対象のWebサイトで使用されているWebサーバのソフトウェアの情報なども確認することが可能です。
6.Web資産の自動検出・監視
Passive Totalを使い、自社のWebサイトで不審な通信が発生していないかの確認方法や、自社のWeb資産の確認方法についてここまでご紹介しました。
今回ご紹介したPassive Totalを利用した調査方法は、どうしても人的なリソースがかかる作業でもあります。
Passive Totalを提供しているRiskIQ社の他の製品群では、自社のWebサイトを監視し不審なスクリプトの埋め込みを検知することや、自社のWeb資産を自動的に検出したり、使用されているWebコンポーネントの情報を可視化することが可能です。
RiskIQサービス概要~Digital Footprint (DF)関連資料~をダウンロードください。