HTAを利用したワンクリックウエアの新たな手口

この事例に関するサポートページが公開されました。インストールした覚えのないアプリケーションのポップアップウィンドウが繰り返し表示される問題に遭遇されているユーザは、以下のサポートページをご参照ください。

「不正なポップアップウィンドウが表示される問題の解決方法」

  • Windows XP の場合
    http://esupport.trendmicro.co.jp/pages/JP-2079453.aspx
  • Windows Vista/Windows 7 の場合
    http://esupport.trendmicro.co.jp/pages/JP-2079467.aspx
  • 「作業を専門家に依頼する場合」

  • おまかせ!不正請求クリーンナップサービス
    http://jp.trendmicro.com/jp/support/personal/contact/remotesup/popupcleanup/
     service/index.html?cm_sp=Sup-_-Consoma-_-securityblog_omakase_top
  •  ワンクリック詐欺は、従来からインターネット上の脅威の一つとして認識されていますが、年月と共にその騙しのテクニックもより巧妙となってきています。 ワンクリック詐欺に引っかかってしまうのはその存在を知らないという大前提もありますが、手口をよく知らないという側面も問題として考えられます。

     今回はより巧妙化している現在のワンクリック詐欺サイトについて、最新事例を取り上げ、技術的な側面からその巧妙な手口をレポート致します。

    ■ワンクリック詐欺で単純に「無視」できないケース

     一般的に、ワンクリック詐欺に対する基本対策は、「無視」する事が鉄則である、と言われています。

     その背景として以下の2点が挙げられます。

  • 法的に無効であること
  • IPアドレスやISP情報だけでは、ユーザの個人情報までは取得できないこと
  •  しかし、中には単純に「無視」できないワンクリック詐欺も存在します。

     その代表例としてあげられるのが、いわゆるワンクリックウエア(※1)を利用するケースです。悪質なワンクリックウエアは、コンピュータ内の個人情報(名前や住所、メールアドレス、電話番号)を取得・送信し、脅しに利用する可能性が考えられます(2012年3月追記:これまでには、コンピュータ内の個人情報を取得するような被害を当社で確認していません)。

     また、広告を繰り返し表示するなど、通常業務を妨げる動作を行うこともあるため、単純に無視することもできません。

    (※1)ワンクリックウエア:ユーザの意図無くインストールされ、一定間隔で広告を表示させる、または、ブラウザを勝手に開き指定したサイトへアクセスさせるなど、ユーザを困惑させる動作を行う不正プログラム。トレンドマイクロではスパイウエア・トロイの木馬として検出駆除対応しています。

    ■HTAを利用したワンクリックウエア詐欺サイトを実検証

     従来のワンクリックウエアは、EXE形式のものが多くを占めており、拡張子を判別出来るようなユーザであれば、実行直前で被害を防げる可能性も考えられます。

     しかし、今回国内で確認された複数のワンクリック詐欺サイトでは、さらに巧妙な手口を利用し、その被害を着実に拡大させている事がわかりました。それは、Windows標準搭載のプロセスである「mshta.exe」、およびHTA形式のファイル(※2)を悪用するという新たな手法です。

    (※2)「HTA」とは、HTML Applicationの略であり、Internet Explorer 5以降利用可能となった技術で、HTML言語などを利用してPEアプリケーションとほぼ同程度のプログラムファイルを作成する事が可能になっています。

     以下では、技術的視点を加えながら、順を追ってその巧妙な手口を実検証していきます。

     被害者は実際にどのような過程を踏み、ワンクリックウエアをインストールさせられてしまうのでしょうか。

     トップページにアクセスすると、まず年齢確認ページが、次のページに進むと「ご利用確認」ページが表示されます。複数の確認事項に同意しない限り、次のページに進むことが出来ない仕組みになっています。ページ最後尾には利用規約が明示されているものの、小スペースのiframeタグを使い、利用料金はその中に分かり辛く記載されています。

    図1 複数の確認を行うワンクリック詐欺サイト
    図1 複数の確認を行うワンクリック詐欺サイト

     こうして何度も確認画面を表示させているのは、電子消費者契約法を意識した対策であると考えられます。

     従来までは文字通り、トップページから「ワンクリック」するだけで契約終了画面、入金依頼画面が表示されていましたが、そうした単純な作りでは、電子消費者契約法による契約の無効を主張することが比較的容易となります。そこで、悪質業者は繰り返し確認画面を出すことで、「利用者に対し明示的に契約内容を契約前に確認した」という、あたかも正当な理由であるような返答を用意している事が窺い知れます。

     法的に理解が浅く、動転して正常な判断がつかない被害者は、上記のような事実内容を提示されると、早く問題を解決したい一心から、支払いを行ってしまう可能性が考えられます。

     「最終確認ページ」から先へ進むと、ようやく動画ダウンロードページが表示されます。ここでは動画の再生方法について具体的な手順が指示されています。

    図2 具体的な実行手順が記された「動画配布ページ」
    図2 具体的な実行手順が記された「動画配布ページ」

     しかし、クリックしてダウンロードされるのは動画形式のファイルではなく、拡張子が「HTA」のファイルです。拡張子がHTAであれば、よくわからず開いてしまうユーザも少なくないのではないでしょうか。

     それでは、実際にダウンロードされたHTAファイルを実行させて動作を検証してみます。

     実行後、画面の中央にメディアプレイヤーのようなウインドウが表示され、画面の中央には動画が繰り返し再生されています。このウインドウはどこをつかんでもマウスで移動することができません。

     ここで、この画面を閉じようと、ウインドウの右上にある「×」ボタンをクリックします。

     すると、ウインドウ内が「ご入会ありがとうございます!」という表示に切り替わり、料金振り込みの案内へと誘導されます。※なお、一般的にこうした反応しないウインドウは、「Alt+F4」で汎用的に消す事が出来ます。

    図3 動かせないウインドウと「×」ボタンで表示される「入会完了ページ」
    図3 動かせないウインドウと「×」ボタンで表示される「入会完了ページ」

     以降Windowsを起動するたびに、動かすことのできないウインドウが表示され続け、ユーザに入金を催促させます。動きは完全に不正な振る舞いですが、いったいどのように動作しているのでしょうか。

    ■HTAワンクリックウエアの技術的な仕組み

     では今回ダウンロードされたワンクリックウエア(HTAファイル)のソースを見てみましょう。HTAファイルはインタプリタ言語で作成されるため、そのままメモ帳で開けばソースを表示させることができます。

    図4 HTAファイルのソース
    図4 HTAファイルのソース

     ウインドウの描画設定を細かく指定されている事がわかります。これで動かせないウインドウの仕組みは判明しました。しかし、Windowsの起動時に動作するようなレジストリ改変コードなどが見あたりません。その他に判断可能なのは、転送URLが指定されており、実行時のウインドウ内には転送先が表示されるようになっているという点です。

     では、次にその転送先ページのソースを見てみます。

     HTMLを読むと、先程右上に表示されていた「×」ボタンは実はgifファイルであり、クリックすると「入金完了ページ」へ飛ぶようにリンクが張られていることがわかります。

    図5 HTAファイル内部で転送されるページのHTMLソース
    図5 HTAファイル内部で転送されるページのHTMLソース

     ここで注目すべきなのは、HTMLソース中間に組み込まれている次のコードです。

    図6 VBScript.Encodeにより符号化されているスクリプトコード
    図6 VBScript.Encodeにより符号化されているスクリプトコード

     一見すると判別不明ですが、これはVBScript.Encode(※3)という方法で暗号化(符号化)されているVBScriptコードであり、Internet Explorerでは問題なく複合化出来ます。

    (※3) VBScript.Encodeとは、スクリプト言語のコードを保護し流用を防ぐために存在する符号化手法です。

     これを手動でデコードさせたものを次に示します。 

    図7 VBScript.Encodeを手動でデコードしたVBScriptコード
    図7 VBScript.Encodeを手動でデコードしたVBScriptコード

     レジストリの自動実行キーに「mshta http://.com/regist2.php”」というコードを追加するVBScriptコードである事がわかります。つまり、これがシステムの起動時に表示されるウインドウの正体です。

     ここで指定されている「mshta(mshta.exe)」とは、Windowsに標準搭載されている正規のシステムファイルであり、セキュリティーゾーンを無効にした状態で指定のサイトへアクセスさせることが出来ます。(※参考)

     (※参考)過去ブログ「<コラム>USBワームが作成する「Autorun.inf」の分析とその傾向」

     Internet Explorer上では本来ブロックされる上記のVBScriptコードも、「mshta.exe」経由でアクセスさせることで警告なしに実行される事がわかります。

     ここまでの動きをまとめるとこういうことになります。

  • EXEファイルより警戒するユーザが少ないと思われるHTAファイルを使っている
  • HTAの中で転送させるため、ダウンロードファイルのソースだけではレジストリを改変させる悪質なコードを確認出来ない
  • 転送先のHTMLには、暗号化されたVBScriptを使用し、人の目では動作が判別できないようにしている
  • 「mshta.exe」を利用し、警告を出す事無くスクリプトコードを実行させている
  •  こうして見ると、ワンクリック詐欺として非常に悪質な新手法が既に確立されている事実がわかります。

     現在こうした「HTA」を利用するワンクリック詐欺サイトとして、トレンドマイクロが把握している複数のサイトは、国内のサーバーで運営されており、それらのサイトが全てほぼ同一構成である事を確認しています。詐欺サイトを少ない工数で広く分散させ、より多くの被害者を集めようとしていることがわかります。

     なお、今回ご紹介した複数のサイトは、トレンドマイクロのURLフィルタリング(アダルトカテゴリ)および、トレンドマイクロWRS(WebReputationService)によりブロック可能です。また、トレンドマイクロでは、パターンファイルにおいても通常の不正プログラムと同じく固有名(※4)で対応します。

     (※4)今回ご紹介した国内のサイトで使用されているHTAファイルは、全て「HTML_PORN.AP」「HTML_PORN.AM」として検出削除対応しています。

     加えて、ウイルスバスター2009に搭載されている「システムチューナー」は、Windows起動時に自動実行される全てのプロセスを列挙・設定変更できます。「システムチューナー」を利用することでワンクリックウエアに改変された自動実行レジストリを修正することが可能です。

    図8 「システムチューナー」でワンクリックウエアによるレジストリ改変を修正可能
    図8 「システムチューナー」でワンクリックウエアによるレジストリ改変を修正可能

    ■まとめと対策

     当然ですが、万が一これらのワンクリック詐欺サイトへ訪れてしまい、画面に脅迫文が表示されたとしても、それらに従う必要性はありません。IPアドレスやプロバイダ名、OSの種類などが表示されても、それらから個人情報が判明することはないという事実も確かです。

     こうした対策は常に言われ続けていますが、それらに加え、近年のワンクリック詐欺に陰を潜めているワンクリックウエアという脅威の存在を忘れてはいけません。ワンクリックウエアを利用されると、通常業務に支障を来すばかりか、コンピュータ内に保存しているあらゆる個人情報を脅しの材料として使われる危険性があるため、単純に無視出来ないケースへと発展します。

     トレンドマイクロが提示するワンクリックウエアに対する対応策は、以下となります。

  • 不審なサイトへはアクセスしないこと
  • 適切なペアレンタルコントロールを実施すること
  • 安易なクリックをやめ、警告文にしっかりと目を通すこと
  • 通常のウイルスケースと同じようにセキュリティ対策製品を最新の状態に保ち保護すること
  •  利用者をいかに騙し動揺させるかを常に考えているのが詐欺サイトの運営者側です。行動指針として重要なのは、まず早まった行動は避け、冷静に何が起きたかの状況を判断し、目の前の脅威についての情報を知ることから始めることです。

    【更新情報】

    2012/03/30 22:20 「おまかせ!不正請求クリーンナップサービス」に関するサポートページへのリンクが追加されました。
    2011/07/05 11:00 「不正なポップアップウィンドウが表示される問題の解決方法」に関するサポートページへのリンク(Windows XPWindows Vista/Windows 7)が追加されました。