悪意のあるコインマイナーやWebスキマーに感染したAlexaランキング上位サイト

By , , and

Category: Unit 42

Tags: , , ,

Vulnerabilities in websites, as conceptualized in this image, can include malicious coinminers and web skimmers.

This post is also available in: English (英語)

概要

最近Unit 42ではAlexa上の世界上位1万件のWebサイトについて、脅威ハンティングキャンペーンを行いました。AlexaランキングはWebサイトの人気度をはかるもので、閲覧者のインタラクションや閲覧数に基づいてランキングが算出されます。今回の脅威ハンティングでは脅威による影響を受けたサイトが4つ見つかりました。この概要を表1に概要を記載します。以下の分析では、悪意のあるアクティビティについて詳しく説明し、CPUリソースを乗っ取って暗号通貨をマイニングする悪意のあるコインマイナーのほか、ユーザーを悪意のあるサイトに誘導する悪意のある外部リンク、チェックアウトフォームから支払いカードの詳細を盗むように設計されたWebスキマー攻撃などについて取り上げていきます。

影響を受けたドメイン 影響の種類 攻撃の種類 Alexaランク(2020年6月15日現在) サイトの種類
libero[.]it 悪意のある外部リンク 悪意のあるコインマイナー 607 イタリアでAlexaランク1位のWebサイト。Webメール、検索エンジン、ニュースなど、さまざまな種類のコンテンツとサービスを提供
pojoksatu[.]id 侵害されたサイト 悪意のあるコインマイナー 1494 インドネシアのニュースサイト
www[.]heureka[.]cz 悪意のある外部リンク Webスキミング 5204 中央・東ヨーロッパ市場で最大のeコマースプラットフォーム
zoombangla[.]com 侵害されたサイト 悪意のあるコインマイナー 6579 バングラデシュのニュースサイト

表1 影響を受けたトップAlexaサイトの概要

パロアルトネットワークス製品をご利用のお客様は前述の脅威からURLフィルタリングとクラウド配信のセキュリティサブスクリプション脅威防御により保護されています。

侵害されたサイト

悪意のあるコインマイナー

CoinhiveはMoneroブロックチェーン用JavaScriptマイナーを提供するブラウザーマイニングサービスでしたが、サイバー犯罪者に広く悪用されたことが一因となり、2019年3月にシャットダウンされました。ですが、Coinhiveのマイナースクリプトを提供しているWebサイトはまだ存在しています。coinhive.min[.]jsJSEcoinの2つです。下の図1は、侵害されたWebサイト(zoombangla[.]com)でコインマイナーを起動するのに発行されたコマンドを示しています。

侵害されたWebサイトのソースzoombangla[.]comに悪意のあるコインマイナーを起動して被害者のCPUの使用量などのパラメーターを設定するために使用されるコマンドが表示されています。
図 1 定義されたパラメータでCoinhiveマイナーを開始するコマンド
このマイナーは、以下のコードでユーザーのCPUをどのように使うかや、マイニング用スレッド数などを制御することができます。このほか、対象CPUをどの程度使うかについても制御可能です。パラメータに使用できるオプションを表2に示します。奇妙なことに上記のコードはマイナーが感染デバイスのバッテリを急速に枯渇させるような構成にしてありました。おそらくこの攻撃者は侵害に成功した対象デバイスを最大限利用してやろうと目論んだのでしょう。ほとんどの攻撃者は侵害デバイスの電力消費量を低く抑えることで検出を回避し、不正な金儲けを継続しようとするものですが、この事例では慌ててマイニングをして、適切な構成がされていなかったようです。

Throttle (スロットル) CPU usage limit to (CPU使用率の制限)
0 (デフォルト) 100%
0.3 80%
0.5 50% – 70%

表2 スロットルとCPU使用率マッピング用のパラメータ

さて次は別のWebサイト(pojoksatu[.]id)の事例を以下に示します。このサイトでもCoinhiveマイニングスクリプトを提供してコマンドを開始していました。

侵害されたWebサイトpojoksatu[.]idからのソース。悪意のあるコインマイナーを起動するために使用されるデフォルトのコマンドを示しています。
図 2 デフォルトのパラメータ設定でCoinhiveマイナーを開始しているるコマンド
ユーザーが上記のサイトのいずれかにアクセスすると、コインマイニングスクリプトが自動的に実行され、攻撃者のためのマイニングを開始します。この結果、図3に示すようにユーザーのCPU負荷は増加します。

悪意のあるコインマイナーの影響を受けた場合のCPU負荷アクティビティの例
図 3 マイニングアクティビティによるCPU負荷

pojoksatu[.]idとzoombangla[.]comには合わせて60以上のURLページにCoinhiveマイニングスクリプトが挿入されていました。詳細については本稿末尾の付録を御覧ください。

悪意のある外部リンク

外部リンクのセキュリティはこれまでにまして重要になっています。メールサービス側のスパムを含む悪意のあるメッセージの発見能力が向上したために、攻撃者がそれらの代わりに外部リンクを使用したオープンリダイレクトを使うようになってきているからです。攻撃者が正当なWebサイトの投稿に悪意のあるURLを含めたとして、それを疑わしいと察知できる閲覧者はほぼいないでしょう。ユーザーがリンクをクリックしたり、まずはリンク先を確認しようとリンクにカーソルを合わせただけで、リンクに有効なWebサイトが表示されたとしても、結局は攻撃者がリダイレクトさせたい悪意のあるサイトに飛ばされてしまいます。その後ユーザーは、悪意のあるコインマイナーなど、ある種のマルウェアに感染したり個人情報を窃取される可能性があります。

次の図4は、libero[.]it上で中古車販売を行っている正当なWebサイトです。このサイトでは車両を検索・比較できるようになっていますが、図5-7に示すように、攻撃者は悪意のあるリンクを車の広告に挿入することで、車に関心のある閲覧者を悪意のあるサイトにリダイレクトして、JSEcoinコインマイニングスクリプトを挿入していました。なおJSEcoinプラットフォームは2020年4月4日に閉鎖されていますので、この点はご留意ください。スクリプト自体は実行されますが攻撃者はスクリプトからコインを収集することはできなくなっています。

これは、攻撃者が悪意のある外部リンクを、ここに示す正規の中古車Webサイトなどの侵害されたWebサイトに挿入する方法の例を示しています。
図 4 libero[.]itの外部リンク。閲覧者を侵害されたサイトにリダイレクトしている
このソースページは次のようになっています。

この画像は、libero[.]itを指すすべての外部リンクを強調表示しています。リンクは正当に見えますがリンクをクリックするとユーザーは悪意のあるサイトにリダイレクトされます。
図 5 悪意のあるリンクを含むページのソースコード
図5に示すように、強調表示されているすべての外部リンクはlibero[.]itに向けられています。この車についてもっと知りたければリンクをクリックする必要がありますが、そうすることで悪意のあるサイトにリダイレクトされます。

赤で強調表示した領域は、ユーザーを正当なWebサイトから悪意のあるサイトに誘導するリダイレクトチェーンの仕組みを示しています。
図 6 リダイレクトチェーン

このサイトが悪意のあるコインマイナーが挿入される場所です。

これは、www.clicautosate[.]itのソースを示しています。ここでコマンドはJSEcoinの悪意のあるコインマイナーを開始します。
図 7 JSEcoinマイナーを開始するコマンド

Webスキミング

Eスキミング、あるいはMagecart攻撃とも呼ばれるWebスキミング攻撃は、あらかじめWebサイトの支払いページを侵害して悪意のあるコードが埋め込んでおき、チェックアウトフォームが入力された段階で支払いカードの詳細を盗むという攻撃手法です。

Alexaランキング上位のウェブサイトで見つけたサンプルは、別の外部リンクのセキュリティ問題に由来するものでした。heureka[.]cz 自体はECサイトで、このサイトでCOVID-19対策製品(ウェブサイトのトップ検索キーワード)を検索すると関連製品一覧が表示されます。

AlexaのトップランクのWebサイトにあるCOVID-19対策製品の例。外部リンクのセキュリティ由来の問題により、こうした人気製品一覧をチェックしているユーザーが攻撃にさらされる
図 8 製品例

この商品の後ろにはストアが1つ掲載されていて、閲覧者はそのストアから製品を買うことができます。

これは、heureka[.]czのリンクを示しています。一見COVID-19対策製品を宣伝しているように見えますが、実際にはユーザーを侵害されたサイトにリダイレクトしています。
図 9 heureka[.]cz内の侵害されたサイトへのリンク
このソースページは次のようになっています。

強調表示されている悪意のあるリンクを含むheureka[.]czのページのソースコード。
図 10 悪意のあるリンクを含むページのソースコードを強調表示している
このストアを訪れたユーザーは悪意のあるサイトにリダイレクトされます。

赤で強調表示されている部分はユーザーがどのようにして正当なWebサイトから悪意のあるサイトにリダイレクトされるかを示しています。
図 11 リダイレクトチェーン

図12に示すとおり、このサイトは残念ながら全体が難読化された悪意のあるスキミング用スクリプトで埋め尽くされていました。

私たちが調査した事例は、ユーザーのリダイレクト先となる悪意のあるサイトは難読化された悪意のあるスキマースクリプトだらけでした。難読化されているのでこれらがどのような動作を引き起こすか予測することは困難です。
図 12 難読化されたスキミング用スクリプト

難読化されているとどのような動作が発生するかを予測するのが難しいので、まずはこれを解除してやる必要がありました。難読化を解除すると次の一連の関数が見つかりました。これらの関数では、密かにユーザーによる支払いカード情報の入力を監視し、リモートの攻撃者サーバーに送信しています。

この関数はLuhnアルゴリズムによるクレジットカード番号検証に使われています。Luhnアルゴリズムは、クレジットカード番号のようなさまざまな識別番号の検証に広く利用されているものです。

ここがスキマーの開始部分です。99秒ごとに実行されて関数 XYRUDR を呼び出します。関数 XYRUDR は [input, select, form, button, a, img] に含まれるタグをすべて検索します。

前述のタグの mousedown イベントリスナーを設定します。

イベントがトリガーされるとこの関数を呼び出してタグの値を取得します。

この関数を利用して収集サーバーにクレジットカード情報を送信します。

要約すると、このwebスキマーのワークフローは次のとおりです。

  1. [input, select, form, button, a, img]の各タグ用にイベントリスナーを追加
  2. 数字文字列がクレジットカード検証チェックに合格すれば情報を送出
  3. 収集サーバーのURLとパラメータを作成し情報を送信

攻撃が成功するとクレジットカード番号、住所など、すべてのユーザー情報がリモートの攻撃者サーバーに送信されます。

収集サーバー:metahtmlhead[.]com

収集サーバー:metahtmlhead[.]com赤で囲んだ部分は、Webスキマー攻撃中、収集サーバーに送信される収集済みクレジットカード情報を示しています。
図 13 収集サーバーに送信されるクレジットカード情報

URLフィルタリング分析

この円グラフは、私たちが観察した、脅威の影響を受けたサイトを訪れた閲覧者の地理的分布を示しています。大多数の閲覧は西ヨーロッパからのものでしたが、米国東部・西部もかなりの割合をしめています。
図 14 弊社URLフィルタリングを利用している顧客の地理的分布

この円グラフは、私たちが観察した、脅威の影響を受けたサイトを訪れた閲覧のおおよその地理的分布を示すものです。大多数は明らかに西ヨーロッパからの閲覧で、米国東部・西部からの閲覧もかなりの割合をしめています。この円グラフは、被害者となりうる閲覧者が世界中の広い範囲におよんでいることを示しています。

結論

今回の調査からは人気もあって一見評判の良いWebサイトであっても慎重に閲覧する必要があることが明らかになりました。なぜならそうしたサイトは悪意のあるコインマイニングやWebスキミングを集中して狙っている攻撃者にとっても最も高い収入をもたらしてくれるサイトだからです。ですから外部サイトを開くようなリンクをクリックするときは、たどりついたサイトのURL全体に注意を払い、いまいる場所が自分が意図したサイトかどうかを確認する必要があります。悪意のあるコインマイナーを回避するシンプルな方法は、エンドポイントセキュリティをインストールしてブラウザやシステムにすべての更新プログラムを適用しておくことです。

パロアルトネットワークス製品をご利用のお客様は前述の脅威からURLフィルタリングとクラウド配信のセキュリティサブスクリプション脅威防御により保護されています。

IoC

  • zoombangla[.]com/career/
  • bandung[.]pojoksatu[.]id/politik-2/pemilihan-legislatif/#terpopuler
  • clickout[.]libero[.]it/auto-furgoni-in-vendita/AVzIAHFZ2VJ8PlgGhbdOweEIAAABZw
  • www[.]heureka[.]cz/exit/ovci-veci-cz/3773569318/?z=2&p=29&tb=0
  • www[.]ovci-veci[.]cz
  • www[.]clicautousate[.]it/auto/mini-cabrio-torino-1855861[.]php?utm_source=libero.it
  • bandung[.]pojoksatu[.]id/read/2018/07/08/made-wirawan-waspadai-motivasi-berlipat/
  • bandung[.]pojoksatu[.]id/lifestyle/wisata/
  • bandung[.]pojoksatu[.]id/persib/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/partai-pendukung-ridwan-kamil-kuasai/
  • bandung[.]pojoksatu[.]id/#mingguini
  • bandung[.]pojoksatu[.]id/bandung-barat
  • bandung[.]pojoksatu[.]id//id/corporate-social-responsibility[.]html
  • bandung[.]pojoksatu[.]id//id[.]html
  • bandung[.]pojoksatu[.]id/iklan/bjb-lebaran/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/warganet-heboh-amanda-manopo-upload-foto/feed/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/pencipta-lagi-syantik-bantah-ambil-jargon/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/siti-badriah-langsung-jawab-sindiran/
  • bandung[.]pojoksatu[.]id/read/2018/07/09
  • bandung[.]pojoksatu[.]id/olahraga/top-soccer/
  • bandung[.]pojoksatu[.]id/jabar-area/
  • bandung[.]pojoksatu[.]id/read/2018/07/09/puncaki-daftar-topscorer-ini-reaksi-ezechiel/
  • bandung[.]pojoksatu[.]id/pojok-info/
  • bandung[.]pojoksatu[.]id/politik-2/pilgub-jabar/
  • bandung[.]pojoksatu[.]id//id/corporate-website/kontak-kami[.]html
  • bandung[.]pojoksatu[.]id/lifestyle/kuliner/
  • bandung[.]pojoksatu[.]id//id/corporate-website/rate-dan-biaya/prime-lending-rate[.]html
  • bandung[.]pojoksatu[.]id/read/tag/berita-selebritis/
  • bandung[.]pojoksatu[.]id/bandung/
  • bandung[.]pojoksatu[.]id/?p%3D177978
  • bandung[.]pojoksatu[.]id/read/2018/07/02/bagaimana-cara-membuat-si-dia-terpuaskan/
  • bandung[.]pojoksatu[.]id/politik/
  • bandung[.]pojoksatu[.]id//id/corporate-website[.]html
  • bandung[.]pojoksatu[.]id/bisnis/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/vincenzo-alberto-annese-persib-vs-psis-duel
  • bandung[.]pojoksatu[.]id/read/2018/07/09/kapolda-jabar-apresiasi-1-800-bandit-jalanan-diamankan-jelang-asian/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/jennifer-lopez-dan-alex-rodriguez
  • bandung[.]pojoksatu[.]id/read/2018/07/08/kroasia-menuju-semifinal
  • bandung[.]pojoksatu[.]id/read/2018/07/08/mario-gomez-demi-3-poin-persib-main/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/livorno-maaf-juve-kami-sudah-dapatkan-cristiano-lebih/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/mantap-lagu-exo-akan-dimainkan-di-final-piala-dunia/
  • bandung[.]pojoksatu[.]id/politik-2/pilkada-serentak/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/warganet-heboh-amanda-manopo-upload-foto/#respond
  • bandung[.]pojoksatu[.]id/read/2018/07/07/jika-mediasi-gagal-sule-pasrah-dicerai/
  • bandung[.]pojoksatu[.]id/kabupaten-bandung/
  • bandung[.]pojoksatu[.]id/read/2018/07/09/made-wirawan-waspadai-permainan-cepat/
  • bandung[.]pojoksatu[.]id//en[.]html
  • bandung[.]pojoksatu[.]id/read/2018/07/07/gairah-seks-menurun-sikat-5-buah-ini-sebelum/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/sah-ade-yasin-iwan-setiawan-menang-di-pilbup-bogor/
  • bandung[.]pojoksatu[.]id/selebritis/
  • bandung[.]pojoksatu[.]id/read/2018/07/06/brotherhood-meradang-keluarkan-maklumat-soal/
  • bandung[.]pojoksatu[.]id/olahraga/
  • bandung[.]pojoksatu[.]id/#grve-polling-modal
  • bandung[.]pojoksatu[.]id/read/2018/07/09/kpu-jabar-klaim-tak-ada-celah-gugat-hasil-rekap-suara/
  • bandung[.]pojoksatu[.]id/comments/feed/
  • bandung[.]pojoksatu[.]id/olahraga/moto-gp/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/rekap-suara-pilgub-jabar-diprediksi-minggu/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/pemkot-bandung-bakal-tertibkan-minimarket/
  • bandung[.]pojoksatu[.]id/lifestyle/belanja/
  • bandung[.]pojoksatu[.]id/read/editor/redaksi3/
  • bandung[.]pojoksatu[.]id/read/2018/07/07/warganet-heboh-amanda-manopo-upload-foto/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/timnas-indonesia-dipastikan-segel-tiket-semifinal-piala-aff-u-19/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/hade-pisan-ezechiel-selain-raja-gol-persib-ternyata-ada-prestasi/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/mario-gomez-ayo-bobotoh-birukan-gbla-sore/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/harga-tiket-asian-games-2018-kemahalan-cak-imin-angkat-suara/
  • bandung[.]pojoksatu[.]id/iklan/iklan-dprd/
  • bandung[.]pojoksatu[.]id/read/2018/07/08/kata-pengamat-peluang-prabowo-ahy-kalahkan-jokowi-lebih/
  • bandung[.]pojoksatu[.]id/iklan/pemprov-jabar/
  • bandung[.]pojoksatu[.]id/read/2018/07/09/si-jago-merah-lahap-rumah-di-jalan-tera-belakang/
  • bandung[.]pojoksatu[.]id//id/corporate-website/rate-dan-biaya/kurs-valas[.]html
  • bandung[.]pojoksatu[.]id/read/2018/07/09/kemenangan-emil-dan-banyak-catatan-bawaslu-untuk-kpu/
  • bandung[.]pojoksatu[.]id/lifestyle/
  • bandung[.]pojoksatu[.]id/read/2018/07/01/cadas-ferry-pak-presiden-jokowi-aja-suruh-bunuh-diri/