安全警告:针对全球网上银行的 Dyre 恶意软件
去年,
发现了一个名为 Dyre 的恶意软件,该恶意软件针对全球超过1,000多家银行和企业的客户进行欺诈。今年初,在韩国也发现了针对韩国银行的 Dyre 恶意软件,导致韩国主要银行陷入高度紧张状态。
Dyre 已成为当下主要的金融木马威胁。Dyre 主要通过垃圾邮件附件传播。当受害者打开电子邮件附件时,被重定向至一个虚假网站,该网站将在受害者的电脑上安装 Upatre 下载器,并试图盗取信息。Upatre 是金融欺诈组织最常用的检测工具之一。攻击者利用 Upatre 下载器下载并安装 Dyre 恶意软件到受害者的电脑。 预计 Dyre 恶意软件攻击事件将会不断增加,因为它利用所有常用的网页浏览器,如 Internet Explorer(IE)、Chrome 和 Firefox。在本文中,我们对 Dyre 的结构、机制和函数以及其如何威胁韩国银行等方面的详细信息展开了调查。
Dyre 一旦通过电子邮件附件发送到用户系统后,受害者的电脑便被安装恶意软件。当用户登录网上银行时置入虚假网站欺骗用户,诱使用户输入金融信息并盗取该信息。 Dyre 执行的恶意行为见下表。

Dyre 恶意软件的活动过程
[图 1]说明了 Dyre 恶意软件的活动过程。Dyre 通过 Upatre 下载器下载,由注入工具(Injector)和注入的 DLL(系统进程和网页浏览器)构成。

[图 1] Dyre 恶意软件的活动过程
1. 注入工具(Injector)
首次运行 Dyre 时,它会在系统资源区域解码一个
PE 文件,然后替换内存的区段图像。然后,重新在系统资源区域解码 PE 文件,并将其注入到当前运行的系统进程。
被注入到系统进程的 PE 文件以线程(thread)运行并试图连接 C&C 服务器。此后,从 C&C 服务器接收到命令后,执行恶意的行为。尤其企图修补浏览器代码以窃取网上银行信息。

[图 2] 解码例程
为了绕过虚拟机(VM)的检测,Dyre 会检查下表中的信息。

2. 系统进程(System Process)—注入的 DLL
注入的 DLL 的主要函数执行如下动作:
① 检查并创建互斥体(Mutex):创建一个固有互斥体并检查恶意软件是否在活动。
② 检查操作系统(OS)版本
③ 配置读/写日志(设置)文件
如[图 3]所示,Windows 8.1 也包括在注入的 DLL 检查的操作系统范围之列。

[图 3] 被 Dyre 作为攻击目标的操作系统(OS)版本
注入的 DLL 通过下表中所列的三个地址和服务器检查当前的互联网连接。如果连接失败,将不会试图去连接 C&C 服务器。

一旦在互联网上成功建立连接,将解码从文件中获取的已编码的数据并从 C&C 服务器接收IP地址,如[图 4]所示。当 Dyre 与 C&C 服务器通信时,将使用攻击命令中指定的 POST 和 GET 方法。

[图 4] Dyre 中的 C&C 服务器地址
Dyre 为了远程访问,利用 RDP 功能添加或编辑相关的注册表。
3. 浏览器——注入的 DLL
Dyre 可以利用所有主流网页浏览器,包括 IE、Chrome 和 Firefox,以将受害者引诱到虚假网站。本文主要研究 Dyre 如何利用 IE 盗取信息。

[图 5] IE 浏览器挂接代码修补
注入的 DLL 调用浏览器挂接修补函数,如[图 6]所示。利用挂接函数劫持通过网页浏览器传入和传出的银行信息。

[图 6] 调用浏览器挂接修补函数
IE、Firefox 和 Chrome 中的浏览器挂接函数见[表 1]。
|
浏览器 |
函数 |
模块 |
|
Internet
Explorer (IE) |
CreateProcessInternalW |
kernel32.DLL |
|
LoadLibraryExW |
KERNELBASE.DLL | |
|
GetMessageW |
USER32.DLL | |
|
PeekMessageW |
USER32.DLL | |
|
ICSecureSocket::Send_Fsm |
WININET.DLL | |
|
ICSecureSocket::Receive_Fsm |
WININET.DLL | |
|
Firefox |
PR_Read |
nss3.DLL |
|
PR_Write |
nss3.DLL | |
|
PR_Close |
nss3.DLL | |
|
GetMessageW |
USER32.DLL | |
|
PeekMessageW |
USER32.DLL | |
|
Chrom |
LoadLibraryExW |
kernel32.DLL |
|
GetMessageW |
USER32.DLL | |
|
PeekMessageW |
USER32.DLL | |
|
ssl_write |
chrome.DLL | |
|
ssl_read |
chrome.DLL | |
|
ssl_close |
chrome.DLL |
[表1] 浏览器挂接函数
挂接函数启动后 Dyre 将尝试访问银行网站并检查与 C&C 服务器之间的连接,如[图 7]所示。代码还将通过 GetMessageW() 和 PeekMessageW() 函数中修补的代码启动键盘记录。
[图 7] 试图连接银行网站及访问 C&C 服务器
攻击目标持续增加
[图 8]显示了 Dyre 作为攻击目标的银行列表和诱使用户重定向的虚假网站。根据 AhnLab 在今年4月进行的分析,约有500家银行包括在该银行列表中。尤其,在二月份发现有两家韩国银行已被添加到该列表中,预计潜在攻击目标列表将继续增加。

[图 8] 被 Dyre 作为攻击目标的银行列表及用于重定向受害者的钓鱼网页
Dyre 的目的是窃取金融信息和其他个人信息,利用这些信息来获得金钱利益。在2014年底大幅蔓延,尽管内部代码并未发生很大变化,但其外部形式一直在不断变化,使得其很难检测,而且也很难控制其危害。
AhnLab V3 产品群以下面诊断名来检测 Dyre 恶意软件。
<V3 诊断名>
- Win-Trojan/MDA.D709
- Trojan/Win32.Dyre
- Trojan/Win32.Dyzap
<参考>
http://www.secureworks.com/cyber-threat-intelligence/threats/dyre-banking-trojan/
https://blog.korelogic.com/blog/2014/05/27/malware_callback
F5SOC Dyre Malware
Analysis Report November 2014.pdf
Network_insights_of_Dyre_and_Dridex_Trojan_bankers.pdf
http://stopmalvertising.com/malware-reports/introduction-to-dyreza-the-banker-that-bypasses-ssl.html
https://portal.sec.ibm.com/mss/html/en_US/support_resources/pdf/Dyre_Wolf_MSS_Threat_Report.pdf
http://nextpage.com/threatinsight/posts/dyreza-takes-stock.php
F5SOC - Dyre Internals.pdf