就在去年,还只有极少数人听说过环球银行金融电信协会(SWIFT)。该组织的标准化信息格式,被采纳为银行间金融转账的全球标准;相关软件和消息网络,驱动着今天大多数的国际银行转账,每年产生的金融消息超50亿条。然而,这并不是大多数人听闻SWIFT的原因所在。
近些年,利用或入侵SWIFT应用的网络攻击和欺诈频频见诸报端。2016年,孟加拉央行和纽约联邦储蓄银行便涉入一场净值1.01亿美元的网络劫案——其中大多数资金都未追回。若非其中一笔交易出现拼写错误引发质疑,另外8.5亿美元恐怕也会被盗。随后,对SWIFT网络的攻击此起彼伏,越南、厄瓜多尔、乌克兰都发生了此类事件,不过大多数受影响银行和国家都未公开事件。
攻击策略在进化
对支付系统的攻击,包括对SWIFT的攻击,都不算新鲜。金融机构从一开始就在与欺诈和盗窃作斗争,攻击者则紧跟技术发展,利用一切可以利用的漏洞。
数年前,攻击者选中的策略,是入侵用户电脑,然后以该用户的名义提交虚假金融交易。这让银行恶意软件和远程访问木马(RAT)的流行,成为了金融机构的主要关注点。尽管这些策略依然留存,也是对个人、公司和银行的一个威胁,对这些威胁的认知,已经导致了更好的防护和罪犯成功率的下降。
不过,攻击者也是越战越勇的类型,他们开始改变策略,从对用户终端的攻击,转变到对驱动银行系统本身的应用和网络的攻击。除大量资金被盗外,孟加拉央行攻击事件的重点,在于攻击者使用的攻击方法。除了利用从授权用户处盗得的凭证,攻击者还安装了恶意软件以在支付系统中形成驻留。
举个例子,有系统负责所有交易的打印,那么所有交易记录必然会有一份复印件拷贝。为规避记录,攻击者禁用了该过程,让自己的虚假交易不会出现在打印件里。越南网络劫案中,攻击者修改了用于跟踪SWIFT转账的PDF阅读器,让虚假转账不显现。
除了阻止交易记录打印,攻击者还将恶意软件安装到托管着SWIFT网络管理和连接软件集 SWIFT Alliance Software 的服务器上。 该恶意软件可以解密各种配置文件,搜索特定条款,然后绕过验证检查,规避交易被发现的风险。
很明显,此类攻击正演变得越来越复杂,他们正将攻击堆栈向底层移动,从终端用户,移动到之前尚未触及的银行系统和安全措施上。
Swift Alliance Software架构
凝练出有效防御
针对此一情况,SWIFT发布了其《客户安全计划》,围绕 Swift Alliance Software 和与SWIFT网络互动的任何定制应用,为金融机构提供安全防护指南。
尽管该指南是迈向正确方向的第一步,实际防护SWIFT应用堆栈却是说起来容易做起来难,因为太多SWIFT应用组件都是遗留实体系统,不支持最新的安全软件,也不接收任何安全性更新,并且这些应用组件还往往存在于那些难以适应新安全协议的数据中心里。
防护银行应用的安全控制也有那么一些——交易监测、用户行为监视、反恶意软件、用户安全培训等等,但 SWIFT Alliance Software (或定制SWIFT应用)无论安全通常难以实现。
直到最近,安置各种SWIFT组件的最佳实践,都还是将它们都放到防火墙后面,但这依然阻挡不了同区域内与其他工作负载的自由通信,而且提供不了第4层之上的可见性与控制。很明显,对付熟知SWIFT应用逻辑的黑客时,更精妙的方法是必需的。
有效保护SWIFT应用堆栈的理想解决方案应包含3个要素:
- 微分隔——获得对所有数据中心通信的完整可见性与控制
- 实现从第7层开始的安全策略,获得细粒度的高效策略构建
- 支持虚拟和物理两种工作负载——因为很多金融机构依然是两套系统并行的
微分隔SWIFT应用架构的各种组件,确保了只有恰当的终端和应用组件可以相互通信,且只通过经批准的应用协议进行通信。于是,如果攻击者想要侵入你的SWIFT应用堆栈,他们就得利用SWIFT应用协议中的漏洞,而且要从另一个经授权的应用组件发起攻击,不能简单地在运行SWIFT组件的服务器上通过可用端口或协议获得立足点了。即便是技术高超的攻击者,这也是个极难跨越的障碍。
保护支付系统不受诈骗或网络攻击侵扰是没有万灵丹的。不过,将支付系统组件间通信限制在“有必要才允许”的范围内,可以大幅减小攻击界面,这比其他方法提供的控制严格得多。随着我们继续见证对银行和支付应用的攻击,以及随之而来的安全最佳实践和网络安全监管的收紧,对系统应用间各个方面通信的细粒度可见性与控制的需求,只会不断上升。