「Angler Exploit Kit(Angler EK)」を利用して不正プログラムを POS(販売時点情報管理)システムに侵入させ、事前調査を実行する攻撃が確認されました。この不正プログラムは、弊社の製品では「TROJ_RECOLOAD.A」として検出され、侵入した システム が POS端末もしくは POSシステムの一部であるかを複数の条件で確認します。その後、その条件に合った特定の不正プログラムをダウンロードします。トレンドマイクロではまた、検出を回避するため、Angler EK が備えるファイルを用いずに感染させる機能を利用していることも確認しました。
弊社は、今回の脅威の感染連鎖を検証した結果、特定の Webサイトや企業に関連した情報を検索する「事前調査」として役割を果たしている挙動を確認しました。検索される企業の 1つは、POS端末メーカーの「VeriFone」です。この感染連鎖から、今回の攻撃は Webベースの POS端末を狙ったものと弊社は考えています。
こうした状況は、攻撃者がより広範囲に POSマルウェアを感染させる方法を模索していることを示唆します。弊社は、2015年7月、POSシステムにアクセスするために、古くから存在するボットネット「Andromeda」を利用する POSマルウェアを確認しました。
■侵入経路
Angler EK は、感染経路として、「malvertisement(不正広告)」や改ざんされた Webサイトを利用することが多くあります。今回の攻撃では、侵入経路として、Adobe Flash Player の 2つの脆弱性「CVE-2015-0336」および「CVE-2015-3104」が利用されたことを確認しています。いずれかの脆弱性が利用されると、「TROJ_RECOLOAD.A」に感染することになります。
厄介な点は、この不正プログラムがファイルを用いずに感染する機能を利用することです。この機能により、セキュリティ製品によるスキャンや検出が困難な場所に不正プログラムが感染します。不正プログラムはメモリ上に存在し、対象とするシステム端末のハードドライブに感染する代わりに、「Random Access Memory(RAM)」に直接書き込まれます。
■解析回避の手法
事前調査は、ユーザに気付かれずに実行される必要があります。「TROJ_RECOLOAD.A」は、主な不正活動を実行する前に、以下の複数の解析回避手法を用います。
- 仮想化やサンドボックス、解析ツールに関連したモジュールが読み込まれていないかを確認します。
- 感染システム端末の現在のユーザが不正プログラムの解析に関連したユーザ名を持っていないかを確認します。
- 不正プログラムには、解析ツールのプロセス名のハッシュ値のリストがあり、実行中かどうかを確認します。以下は、確認するプロセスの一部です。
図1:不正プログラムを解析するモジュールが読み込まれていないか確認する
図2:不正プログラムの解析に関連したユーザ名がないか確認する
- wireshark.exe
- dumpcap.exe
- Tcpview.exe
- OllyDbg.exe
いずれかの条件に合えば、主となる不正活動を実行しません。
■POS を事前調査
「TROJ_RECOLOAD.A」はシステム端末上で事前調査し、どの不正ファイルが感染システム端末に適しているかを決定します。不正ファイルの選択には以下の 3つのケースがあります。
図3:不正ファイルの選択
図3 の関数「POS_Reco」で、各ケースに合う条件が確認できます。
図4:POS の事前調査
ケース 1: type=555 および 922
不正プログラムは、「文字列のタイプ=<ケース>」を追跡に利用します。この文字列のタイプは、ダウンロードする不正プログラムを決定する識別子となる URL に連結します。以下は、その URL の形式です。
- http://<C&Cサーバ>/photolibrary/?user=(エンコードされたユーザ名および PC名>&id=13&ver=115&os=<OS情報>&os2=<OSバージョン>&host=<ブール値>&k=<変数>&type=<ケースによって異なる>
図4 では、POSシステムに関連した URL の一覧が確認できます。不正プログラムは、「Search_URLCache」として参照される関数の URL のキャッシュ内にあるこれらの URL を検索します。
図5:URL のキャッシュ内にある POS に関連した URL を検索
また、「TROJ_RECOLOAD.A」は、下記のレジストリ内に文字列「Verifone」があれば、不正プログラムをダウンロードします。この情報には、インストール済みのアプリケーションの一覧があります。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall DisplayName
上述したように、VeriFone は POS端末メーカーです。
ケース 2: type=666 および 922
この不正プログラムは、コマンド「net view」の出力を確認します。ここで得られるネットワーク内の PC名の一覧から、以下の文字列を検索します。
- POS
- STORE
- SHOP
- SALE
図6:ネットワーク内の POS端末名を検索
ケース 3: type=505
図4 では、変数「POS_case」は、関数「POS_Reco」の冒頭で 3 に初期設定されています。これは、上記 2つの条件に合わなかったケースであることを意味します。
■不正ファイルの解析
残念ながら、コマンド&コントロール(C&C)サーバは、解析中にすでにアクセス不可となってしまったため、ケースごとの各不正ファイルを入手することができませんでした。以下は、type=555 のケース 1 の不正ファイルです。
■ケース 1(type=555)の不正ファイル:自身の署名付きバージョン
このバージョンは、静的に第1段階の不正プログラム「TROJ_RECOLOAD.A」と非常によく似ていますが、不正活動は異なります。「TROJ_RECOLOAD.B」は、POS の事前調査を実行しない代わりに Webブラウザのプロセスを検索します。C&C サーバとの通信のために正規のプロセス “explorer.exe” に自身を組み込むと、このプロセスが実行されているかを確認します。
図7:実行中の Webブラウザを確認する「TROJ_RECOLOAD.B」
「TROJ_RECOLOAD.B」は、URL のパラメータ「k」で利用されるハッシュ値を作成して、自身の C&Cサーバに通知します。URL の構造は、第1段階の不正プログラムに類似していますが、いくつかの違いがあります。以下はその比較です。
directory | photolibrary/ | yovovitch2/ |
id (botID) | 13 | 11 |
ver (build version) | 115 | 15 |
図9:パラメータ「k」のハッシュ値を作成
図10:パラメータ「k」を含む URL の構築
この不正プログラムが、Chrome や Firefox、Internet Explorer(IE)を検索するのは、Webベースの端末を探すためだと思われます。
「TROJ_RECOLOAD.B」は、自身のコピーを<Windows>(C:\Windows)にインストールし、自動起動のレジストリ値を作成します。そのため、比較的検出が容易です。
攻撃者がこうした決定を下したのは、第1段階の不正プログラムで検出を回避するため、第2段階の不正プログラムはより安全にインストールできると考えたからかもしれません。弊社では、「TROJ_RECOLOAD.B」を第2段階の不正プログラムとしています。これは、URLのパラメータで利用される「type」がさらに確認され、他の不正プログラムをダウンロードするために C&Cサーバに送信されていたことが確認されたためです。
図11:不正プログラムをダウンロードするさまざまな「type」
■進化する POSマルウェア
エクスプロイトキットを利用することは、POSマルウェアを拡散する上で巧妙な方法のように思えます。ボットネットと同じように、サイバー犯罪者は、エクスプロイトキットを利用することでシステム端末を狙う範囲を拡大することができます。もちろん、改ざんされた Webサイトや不正広告を利用したからといって、POSシステム端末に感染できるとは限りません。不正プログラムを検出するフィルタがあるからです。
不正プログラムのコードを検証すると、不正プログラムの作成者はセキュリティ対策製品に非常に注意深くなっていることが確認されました。例えば、「TROJ_RECOLOAD.A」の data セクションは、サンドボックスを用いた分析で使用される不正プログラムに関連するモジュールやユーザ名を検索します。この手法は、2014年に報告された不正プログラムで確認されたものです。
■トレンドマイクロの対策
エクスプロイトキットは、その名が示すとおり、システム端末に感染するために脆弱性を利用します。ユーザは、公開された修正プログラムを可能な限り適用して下さい。しかし、修正プログラムの適用だけでエクスプロイトキットから完全に防御されるわけではありません。ゼロデイ脆弱性がエクスプロイトキットに利用される可能性もあります。そのため、馴染みのない Webサイトにはアクセスしない、などのセキュリティ対策も必要となるでしょう。こうした Webサイトにアクセスする前に、弊社の「Site Safety Center」を使用してその Webサイトが安全かどうかを確かめることができます。さらに、総合エンドポイント向け「ウイルスバスター コーポレートエディション」は、アクセスした Webサイトを評価します。
不正プログラム「RECOLOAD」は、Webベースの POS端末を狙っていると考えられるため、管理者は、Webベースの情報を厳しくフィルタする必要があります。社内のセキュリティ保護から外れて、遠隔に設置されている端末もあるかもしれません。Webブラウザから仕事で必要のない Webサイトにアクセスすることもできるため、接続が必要な Webサイトだけに端末を接続させるようにして下さい。アクセスが必要な URLをホワイトリスト化することは、初期潜入や情報送出を検出し、ブロックするのに役立ちます。
管理者は、POSシステムを保護するために、以下のセキュリティ対策を講じることができます。
- OS の堅牢化 – 脆弱性にさらされる部分を減らすことで OS をより強固にする
- Webフィルタリング – 端末のユーザがアクセスできる Webサイトを制限する
- 「統合脅威監視(Unified Threat Management、UTM)」ゲートウェイ – 複数のシステムやサービスを 1つのエンジンやアプライアンスに統合するネットワークセキュリティ対策製品を使用する
また、POSマルウェアの詳細に関しては、弊社のリサーチペーパー「Defending Against PoS RAM Scrapers: Current Strategies and Next-Gen Technologies(英語情報)」をご参照下さい。
「TROJ_RECOLOAD.B」として検出される、ケース1 type=555 の不正プログラムのデコードの共有に関して、セキュリティリサーチャー「Kafeine」氏に御礼申し上げます。
なお、今回の攻撃に関連した不正プログラムのハッシュ値は以下のとおりです。
- 35e8addfe82b8b4ae56cd4a64869fed97983aa96 – TROJ_RECOLOAD.A
- 45ec3a28b430fecd75111e1637c6d697a5c169b2 – TROJ_RECOLOAD.B
参考記事:
- 「Angler Exploit Kit Used to Find and Infect PoS Systems」
by Anthony Joe Melgarejo (Threat Response Engineer)
翻訳:品川 暁子(Core Technology Marketing, TrendLabs)