安全路透社
当前位置:安全路透社 > 网络转载 > 正文

关于近期曝光的针对银行SWIFT系统攻击事件综合分析

swift-hacker.jpg

一、 概述

2016 年 2 月孟加拉国央行被黑客攻击导致 8100 万美元被窃取的事件被曝光后,如越南 先锋银行、厄瓜多尔银行等,针对银行 SWIFT 系统的其他网络攻击事件逐一被公开。在相关 事件曝光后,我们立即对相关攻击事件的展示溯源分析,就越南先锋银行相关攻击样本,我们形成了技术报告《SWIFT 之殇——针对越南先锋银行的黑客攻击技术初探》

在分析孟加拉国央行和越南先锋银行攻击事件期间,我们发现近期曝光的这 4 起针对银 行的攻击事件并非孤立的,而很有可能是由一个组织或多个组织协同发动的不同攻击行动。 另外通过对恶意代码同源性分析,我们可以确定本次针对孟加拉国央行和越南先锋银行的相 关恶意代码与 Lazarus 组织(APT-C-26)有关联,但我们不确定幕后的攻击组织是 Lazarus 组 织(APT-C-26)。 另外攻击组织对目标银行作业流程极为熟悉,也就并非短期内所能达到的,我们推测在 侦查跟踪环节,攻击者应该针对目标进行了长时间且非常专注的持续性分析。 在对相关攻击事件的分析和剖析过程中,也暴露出诸多银行等金融行业本身的安全问题。 如这一系列攻击事件要想达到金钱窃取,前提就需要获得银行本身 SWIFT 操作权限,而要获得相关权限则首先需要将银行自身网络攻陷。 

近年来,针对银行、证券等金融行业的 APT 攻击不断出现,尽管目前披露的还只是以 境外银行业发生的安全事件为主,但是网络攻击本就是跨国界的,这对于国内银行业的安全 防护也敲响了警钟。在过去的安全实践中,我们不止一次发现了国内金融行业曾遭受到了 APT 攻击,安全态势并不是天下太平;再结合之前安天移动发布的《针对移动银行和金融支付的持续黑产行动披露——DarkMobileBank 跟踪分析报告》中所披露的地下黑产针对金融 行业最终用户的攻击现状,我们确实有必要重新审视国内金融行业所面临的安全风险,以及在过去的安全规划与建设基础上创新思路,以应对不断出现的新兴威胁。

二、 孟加拉央行攻击事件回顾 

1. 背景 

2016 年 2 月 5 日,孟加拉国央行(Bangladesh Central Bank)被黑客攻击导致 8100 万美 元被窃取,攻击者通过网络攻击或者其他方式获得了孟加拉国央行 SWIFT 系统操作权限,进 一步攻击者向纽约联邦储备银行(Federal Reserve Bank of New York)发送虚假的 SWIFT 转账 指令,孟加拉国央行在纽约联邦储备银行上设有代理帐户。纽约联邦储备银行总共收到 35 笔,总价值 9.51 亿美元的转账要求,其中 30 笔被拒绝,另外 5 笔总价值 1.01 亿美元的交 易被通过。进一步其中 2000 万美元因为拼写错误(Foundation 误写为 fandation)被中间行 发觉而被找回,而另外 8100 万美元则被成功转走盗取。 而我们捕获到的这次网络攻击中所使用的恶意代码,其功能是篡改 SWIFT 报文和删除相 关数据信息以掩饰其非法转账的痕迹,其中攻击者通过修改 SWIFT 的 Alliance Access 客户端 软件的数据有效性验证指令,绕过相关验证。 

2. 攻击流程  

QQ截图20160902135818.png

QQ截图20160902135916.png

QQ截图20160902135951.png

QQ截图20160902140003.png

3. 篡改 MT900 报文 

《SWIFT 之殇——针对越南先锋银行的黑客攻击技术初探》3中“二、 关于 SWIFT”,详 细介绍了 SWIFT。MT900 是 SWIFT MT 十大类报文中其中第 9 类的一种,关于 MT900 报文的 格式,下面有详细介绍,这样有助于理解后门具体篡改细节。 

1) MT900 借记证实 

MT900 范围 

这是由帐户行发给开户行,用来通知开户行某笔款项已借记其所开帐户的报文格式。该 借记将在对帐单中被进一步证实。如果帐户行经常发送该帐户的对帐单,那么就不会定期发 送此报文。  该报文不能用于记帐,它只是向收报行(即开户行)证实这一笔借记。  

QQ截图20160902140115.png

1.png

2) 具体篡改流程

2.png

获取 nfzp/nfzf 下所有”%d_%d”报文,并且根据 MSG_TRN_REF 是否已经在配置纪录当 中进行分类,同时获取”%d_1″中的”60F”和”Sender”。  

注:以下表 3 和表 4 是 MT900 报文中具体需要修改的项,具体修改操作细节暂不公开 

3.png

此处操作的执行条件为:上张报文中的”Sender”为”FEDERAL RESERVE BANK”。foff 下会更 新数据库,fofp 时不会跟新数据库。

打开 foff/fofp 目录下的第一个含有”-”的报文。更该账单中的 19A 和 90B,在账单中,19A 和 90B 应该只有一项。 

4.png

4. liboradb.dll 分析 

本次事件中攻击者通过修改 SWIFT 的 Alliance Access 客户端软件中数据有效性验证指令, 绕过相关验证,而导致相关问题的文件就是 liboradb.dll。 liboradb.dll 基于 OCI 编程开发,作为 SWIFT alliance 核心组件,为程序提供 Oracle 数据 库交互操作接口,其中包含权限验证功能。此 dll 被 SWIFT 数据库服务进程调用,作为连接 Oracle 数据库的接口。 OCI 介绍:OCI(Oracle Call Interface,即 0racle 调用层接口)是 Oracle 公司提供的由头 文件和库函数等组成的一个访问 Oracle 数据库的应用程序编程接口(application programming interface API),它允许开发人员在第三代编程语言(包括 C, C++, COBOL 与 FORTRAN)中通过 SQL(Structure Query Language)来操纵 Oracle 数据库,而且 OCI 在一定 程度上支持第三代编程语言(诸如 C, C++, COBOL 与 FORTRAN)的数据类型、语法等等。 

三、 相关攻击事件综合分析 

1. SWIFT 官方预警或申明 

2016 年 5 月 9 日,环球银行金融电信协会(SWIFT)发表声明表示5,SWIFT 拒绝由孟加 拉国银行和孟加拉国警方的刑事调查部门(CID)官员提出的虚假指控,SWIFT 对孟加拉银行劫 案不负有任何责任,孟加拉银行有责任维护其银行系统环境的安全。 2016 年 5 月 10 日,孟加拉国央行的新掌门人、纽约联邦储备银行和 SWIFT 官员在瑞士 巴塞尔会晤讨论。在一份简短的联合声明中,双方表示,他们致力于追回被窃资金,将肇事 者绳之以法,并协同工作来“标准化操作”。6 2016 年 5 月 13 日,SWIFT 协会发布的一份报告7中称,已有第二家银行报告遭到网络攻 击,这起攻击与孟加拉国央行在纽约联邦储备银行的账户被窃 8100 万美元的网络攻击类似, 具体损失情况未知。并强调称,针对孟加拉国央行的恶意软件,对 SWIFT 的网络或核心信息 交互系统没有影响,该恶意软件只能在黑客已经成功发现并利用当地(银行)系统网络安全 隐患之后才能被植入。就此,SWIFT 已经研发出相应设备,帮助客户提升网络安全、找准当 地数据库记录有出入之处。 2016 年 5 月 24 日,在布鲁塞尔欧洲金融服务第十四届年度会议上,SWIFT 首席执行官 Gottfried Leibbrandt 表示8,SWIFT 将提升其网络系统安全性,采取包括对银行管理软件提出 更严格的安全要求,管控支付方式和第三方机构认证等措施。他重申,攻击并未对 SWIFT 的网络或核心信息交互系统造成影响,并透露将会启动一个新项目,旨在维护全球金融体系 安全。 2016 年 5 月 27 日,SWIFT 协会宣称启动新的客户项目,针对日益猖獗的网络威胁,保 护全球金融体系的财产安全。该项目分为 5 个战略举措9,包括提高国际机构之间信息共享、 增强客户的 SWIFT 相关工具、加强指导,提供审计的框架、支持增加事务模式检测、加强支 持第三方提供者。 

2. 战术:瞄准 SWIFT 系统 

1) 针对银行系统的一系列攻击事件 

2016 年-孟加拉国央行(Bangladesh Central Bank) 

在本报告第二部分内容详细介绍了攻击流程和篡改 MT900 报文的细节,在这里不进一 步占据,具体内容请参看:“二、孟加拉央行攻击事件回顾”。 

2015 年-越南先锋银行(Tien Phong Bank) 

QQ截图20160902140820.png

针对越南先锋银行的攻击中,相关恶意代码内置了 8 家银行的 SWIFT CODE,越南银行 均在这些银行中设有代理帐户。目前看到的 Fake PDF Reader 样本目的不是攻击列表中的这 些银行,而是用来删除越南银行与其他家银行间的转帐确认(篡改 MT950 对帐单)。这样银 行的监测系统就不会发现这种不当交易了。 关于针对越南先锋银行的攻击,可以参看我们之前发布的报告:《SWIFT 之殇——针对 越南先锋银行的黑客攻击技术初探》。 

2015 年-厄瓜多尔银行(Banco del Austro)

据路透社报道,2015 年 1 月 12 号,在一条来自厄瓜多尔 Banco del Austro(DBA)银行系 统信息的指引下,位于旧金山的 Wells Forga 向香港的银行账户进行了转账。并且在接连 10 天内,至少有 12 笔的 BDA 银行资金通过 SWIFT 系统被转走,总金额高达 1200 万美金。BDA已就该事件将 Wells Frago 向纽约法庭提起了诉讼,理由是 Wells Forgo 美国银行本应该将这 些交易标记为可疑交易,然而从诉讼资料看,双方银行都相信这些资金是被匿名黑客盗走的。 另外,SWIFT 方面的负责人在案件被报道之前却对此毫不知情。相关人士称,SWIFT 确 实会核验系统发送信息中的密码来确保信息来自银行用户的终端设备。但是一旦网络盗窃者 获取了密码和证书,SWIFT 就无法判断操作者是不是真正的账户持有人了。而黑客正式钻了 这个空子,盗取了一名银行雇员的 SWIFT 证书,金额盗走了巨额资金。 

2013 年-索纳莉银行(Sonali Bank)

据路透社报道,2013 年孟加拉国的索纳莉银行(Sonali Bank)也发生了类似孟加拉央行 的攻击事件,在索纳莉事件中,攻击者盗取了 25 万美金的银行资金。银行 IT 运营部的高级 官员称,在索纳莉银行劫案中,黑客们在一台电脑上安装 keylogger 来窃取其他系统的密码, 然后使用 SWIFT 系统发送伪造的转账申请。  

2) 相似的攻击战术 

QQ截图20160902141049.png

通过分析从 2013 年的索纳莉到 2016 年的孟加拉国央行这 4 个攻击银行的事件,结合 上图,不难看出相关攻击事件之间有很多的相似性。 从攻击战术或攻击流程进行分析,其中主要环节是获得 SWIFT、利用 SWIFT 发送转账指 令和最终清除证据掩盖事实这三个部分。

第一,获得目标银行 SWIFT 权限:首先需要获得目标银行的 SWIFT 系统操作权限,索 纳莉银行和厄瓜多尔银行从相关报道来看,均是通过网络攻击来获得了相关权限。据有关报 道称索纳莉银行 SWIFT 相关登录帐号和密码是被植入的恶意代码所监控窃取,而厄瓜多尔也 是类似登录验证凭证被窃取,由此我们可以得到一个信息,就是攻击者要获得 SWIFT 操作权 限,并不需要进行物理接触,完全通过网络即可完成。而目前尚未有报道明确指出孟加拉国 央行的 SWIFT 系统权限是通过网络攻击获得,但相关调查孟加拉央行事件的研究人员表示应 该是黑客利用网络攻击获得了相关登录凭证。而越南先锋银行本身没有被攻击,问题出在其 第三方服务商(提供 SWIFT 服务),但目前不清楚是否是通过网络进行攻击获得相关 SWIFT 操作权限的,先锋银行之后表示要改为直接连接 SWIFT 系统。 

第二,向其他银行发送转账指令(代理帐户):攻击者在获得 SWIFT 权限之后,最核心 的目的就是要利用 SWIFT 发送转账指令,我们推测应该是 SWIFT MT 报文中第一类报文,如 MT103(单笔客户汇款)。除索纳莉银行以外,我们发现攻击者均向存在目标银行代理帐户 的银行发送转账指令,如美国国富银行设有厄瓜多尔银行的代理帐户、大华银行等其他 7 家银行设有越南先锋银行的代理帐户和纽约联邦储备银行设有孟加拉国央行的代理帐户。通 俗来讲也就是孟加拉国央行等这几个目标银行存在其他银行上的钱被冒名转走了。 

第三,篡改 MT9XX 报文\清除证据:由于暂未捕获到针对索纳莉和厄瓜多尔银行进行攻 击的恶意代码,所以我们无法知道是否有该环节。我们主要来看越南先锋银行和孟加拉国央 行,首先攻击者都是对 MT9XX 报文进行了劫持,在对越南先锋银行是劫持 MT950 对帐单, 在针对孟加拉国央行是劫持了 MT900 借记证实,进一步都是对相关报文进行了篡改,目的 是删除相关转帐记录,进行平帐。有区别是孟加拉国央行是对相关报文篡改后直接发送给打 印机,打印出来,而越南先锋银行是对 MT950 的电子版 PDF 进行篡改后,然后打印机打印 篡改后的 PDF。攻击者最终目的就是篡改报告,另外删除其他一些数据信息,目的是抹去相 关证据线索。另外我们发现越南先锋银行和孟加拉国央行中攻击者所使用的恶意代码,从代 码同源性上,都存在一个特殊的安全删除函数,这也更进一步证明的这两次攻击事件并不是 孤立的,两者之间必然有一定联系。 总体而言,这类攻击战术就是针对具备 SWIFT 系统的银行进行攻击,首先需要依托网络 攻击或其他手段获得 SWIFT 权限,进一步向其他银行上的代理帐户发送转帐指令来达到金钱 窃取的目的,最终使用恶意代码进行相关证据清除掩盖事实的过程。  

3. 技术:恶意代码同源性分析 

安全删除函数 

我们发现孟加拉国央行、越南先锋银行攻击中使用的恶意代码内的安全删除函数是复用 了相同的代码,进一步 Lazarus 组织在 2014 年针对索尼的攻击中的恶意代码和赛门铁克安全 公司在近期发布的安全报告13中提到,针对东南亚金融业的有限目标性攻击中出现的 Backdoor.Fimlis 恶意代码,都复用了同样的代码。 安全删除函数有 2 个参数:文件名和迭代次数。首先使用 5F 覆盖文件的末尾字节,然 后根据 6 个控制字节决定使用什么数据覆盖原文件内容。

四、 总结 

1. 攻击由一个组织或多个组织协同发起 

从对相关攻击事件的战术层面和技术层面的深入分析,我们认为近期曝光的这 4 起针对 银行的攻击事件并非孤立的,而很有可能是由一个组织或多个组织协同发动的不同攻击行动。 

2. 攻击组织极为熟悉目标银行的作业流程 

如越南先锋银行中,从将恶意程序构造伪装成Foxit reader(福昕PDF阅读器)到对MT950 对帐单 PDF 文件的解析和精确的篡改等攻击手法,都反映出攻击者对银行内部交易系统和 作业流程非常熟悉。攻击者的攻击意图明确,而且攻击者要如此了解和展开相关攻击行动, 事前进行了大量侦查情报收集的工作。 

3. 与 Lazarus 组织(APT-C-26)存在关联 

针对 SWIFT 攻击事件中与 Lazarus 组织所使用的相关恶意代码,我们从样本代码层面进 行同源性分析,发现其中一个特殊的安全删除函数基本是进行了代码复用。从这一点来看, 针对越南先锋银行和孟加拉国央行的攻击应该是与 Lazarus 组织有一定的联系。 安全删除函数这部分代码能关联到 Lazarus 组织曾今在 2013 年发动的 darkseoul 攻击行 动和 2014 年针对索尼影视娱乐公司的攻击行动,相关攻击行动的 IOC(MD5\C&C 等)在当 时已经被安全机构公开了,也可以理解为安全删除函数这个本身特殊的代码在当时就已经公 开了。也就是在此之后,比如 2015 年、2016 年非 Lazarus 组织的攻击者,也可以轻松的获 得安全删除函数的代码并在进行开发其他恶意代码的时候拿来使用。简而言之,如果我们依 靠这处安全删除函数,来判定某个恶意代码是否属于 Lazarus 组织,是不具备强关联性的。 正如我们之前发布的洋葱狗报告(APT-C-03) 14 “第 5 章 ICEFOG‘重生’:误导?嫁祸?” 中提到的观点,我们不排除这有可能是其他组织刻意加入的干扰项。 

4. 银行业本身暴露出诸多安全问题 

近期曝光的 4 起针对银行的攻击事件中,其中 2013 年的索纳莉银行、2015 厄瓜多尔银 行确定是由网络进行攻击获得相关转账权限,另外越南先锋银行和孟加拉国央行也是自身环 节发生了问题,导致攻击者具备发送 SWIFT 转账指令的权限。 这明显暴露出银行自身的安全防护薄弱,另外攻击者通过网络攻击就可以获得 SWIFT 权限,并加以操作,以及攻击者对 SWIFT 的 Alliance Access 客户端软件的数据有效性验证指 令,绕过相关验证等等,这些都暴露出 SWIFT 本身也存在一定问题,如是否在普通的帐号 密码验证机制基础上,可以加一些需要依赖物理设备或环境才能进行验证的步骤,这样能大 大隔离纯粹来自网络的攻击。 

*企业账号:360安全卫士

未经允许不得转载:安全路透社 » 关于近期曝光的针对银行SWIFT系统攻击事件综合分析

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册