Tag Archives: JavaScript

Malvertising and OpenX servers

      No Comments on Malvertising and OpenX servers

Malvertising is an abbreviation of malicious advertising and means that legitimate sites spread malware from their infected advertisement systems. There were many malvertising campaigns in last few years, some of them confirmed even on big sites like The New York Times, but most of them go unnoticed because they are well hidden and served only […]

Android App Contains Windows Worm

      No Comments on Android App Contains Windows Worm

When developers are unaware of security they open the door to threats against their customers and users. We are not just talking about exploitable vulnerabilities in their code, but about something much more obvious than that. Here is the curious case of an Android application on Google Play that contains some traces of malware, but Read more…

Beware of Clicking the Web Translator Hyperlink

Foreign languages are no longer as difficult to understand as they once were, thanks to improvements in web translation services, which instantly translate words and web pages. The website translator plug-in can expand your global world with an amazing and effortless approach by automatically recognizing foreign-language identifiers. Website translators require JavaScript to be enabled to Read more…

??????????? JavaScript ???

      No Comments on ??????????? JavaScript ???

日頃の業務の中で、ときとして新しいタイプのマルウェアを発見することがあります。ファイルに感染する、仮想マシンに感染する、あるいは特定の文書を標的にするなど、新しい手法はさまざまですが、その多様性を生んでいるのは、ひとえにマルウェア作成者の想像力です。

JS.Proslikefan にその実例を見ることができます。マルウェアは JavaScript や VBScript などを使って作成できますが、いずれにしても解凍後のサイズは数キロバイトほどしかない場合がほとんどです。ところが JS.Proslikefan は、自己解凍後に 130 キロバイトという法外なサイズになります。上層ではカスタムの不明瞭化と、一般公開されている Dean Edwards JavaScript パッカーが使われています。図 1 に、解凍後のマルウェアの最下層を示します。
 

図 1. 解凍後の最下層
 

このファイルを解析するには、まず変数名と関数名の不明瞭化をすべて解除する必要がありました。これが完了すると、このマルウェアの意図する全体像が少しずつ明らかになってきます。まず、このマルウェアの標的は Windows コンピュータです。Web ブラウザ上でこのマルウェアを実行するには、ブラウザで ActiveX がサポートされている必要があり、通常は Internet Explorer がそれに該当しますが、他のブラウザもプラグインを介して ActiveX をサポートすることはすでに知られています。また、このマルウェアは他の悪質なプログラムによってコマンドラインで実行することもできます。

今回の脅威には、JavaScript で作成されたマルウェアには通常見られない機能がほかにもあります。たとえば、マルウェアにハードコード化されたキーワードを Google で検索し、検索結果からすべての URL を収集することができます。
 

図 2. SQL インジェクション
 

図 2 からわかるように、この脅威は URL の収集後にそれぞれの結果を解析し、Web サイトで SQL インジェクションが可能かどうかの目安になる特定のエラーを探します。エラーが見つかった場合には、いずれかのコマンド & コントロール(C&C)サーバーに接続し、関連情報を返信します。

JS.Proslikefan の動作は、これで終わりではありません。Google 検索の結果を調べて、WordPress を使ったブログサイトが見つかるかどうかを確認する機能も備えています。
 

図 3. WordPress の TimThumb の脆弱性をチェック
 

JS.Proslikefan は、サイトのテーマディレクトリを調べて、TimThumb 拡張機能が使われているかどうかを確認します。TimThumb を使っているサイトは、ある種のファイルアップロードの脆弱性による影響を受ける恐れがあります。攻撃者はこれを利用してファイルをアップロードし、Web サーバーで実行できます。昨年発見されたこの脆弱性について詳しくは、こちら(英語)を参照してください。

しかし、このマルウェア作成者はこれでもまだ満足しないようです。JS.Proslikefan にはさらに、侵入先のコンピュータで Cookie のディレクトリをスキャンし、有効な Facebook セッションを探そうとする機能もあります。Facebook セッションが存在する場合には、一度に複数の処理を内部で実行します。C&C サーバーから指令されるコマンドに応じて、「いいね」を押すか、特定ページのファンになることができます。他の Facebook ユーザーにチャットメッセージを送信することさえ可能です。ただし、Facebook は最近、このマルウェアの検出機能を追加しており、感染したデバイスをユーザーが修復できるようになっています。詳しくは、Facebook Security のページを参照してください。

このように多様な機能をマルウェアに詰め込んだところを見ると、作成者は可能な限り多くのコンピュータに拡散させようと目論んだようです。拡散方法のひとつとして、利用者の多い何種類かのファイル共有アプリケーションが使うフォルダに、自身のコピーを zip ファイルとして配置する手口も使われています。このときのファイル名の選び方も独特で、人気のある Torrent サイトで特定の RSS ページにアクセスし、XML ファイルの内容を解析して zip ファイルの名前として使っています。
 

図 4. PirateBay にアクセス
 

拡散を試みるとき、ウイルス対策ソフトウェアのレーダーをかいくぐろうとしていることは言うまでもありません。従来型のウイルス対策シグネチャをすり抜けるために、JS.Proslikefan はファイル共有アプリケーションのフォルダを含めたいくつかの場所に、ポリモーフィズムを利用して自身をコピーします。ウイルス対策アプリケーションのリストも持っており、侵入先のコンピュータにそのいずれかがインストールされているかどうかも確認します。この情報もやはり、C&C サーバーに送信されています。何らかのウイルス対策アプリケーションが見つかった場合には、ネットワークセキュリティ企業とは無関係な IP アドレスにユーザーをリダイレクトするために、ホストファイルを書き換えます。リダイレクト先の IP アドレスはクラス A のアドレスであり、エネルギーや技術インフラ、金融投資などの部門を擁する多国籍複合企業に属しています。本稿の執筆時点で、問題の IP アドレスは悪質な Web コンテンツにはいっさいリンクしていませんでした。

他の脅威と同様、このマルウェアもリムーバブルドライブに拡散する機能を備えています。さらに、コンピュータの起動時に毎回実行する、特定のプロセスを終了する、他のプログラムやスクリプトをダウンロードして実行する、自身を更新する、コマンドを処理するなどの機能まで揃っています。日頃のマルウェア解析で、作成者がこれほど多くの機能を盛り込んだマルウェアが見つかるのは、きわめて異例のことです。

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。