ATM攻击和场景分析(上)
ATM工作原理
在分析攻击场景之前,我们先了解下什么是ATM以及攻击者对那些部件感兴趣。
ATM包含两个主要的部分:cabinet(柜子)和safe(安全部分)。Cabinet也就是ATM的主体部分含有ATM计算机,这是与网络设备、读卡器、键盘、现金出口等设备相连的。这部分是没有说明保护的,只是罩了一个铁盒子和一把锁。而且,厂商一般对同一系列的ATM都使用相同的锁。而钥匙可以通过在线购买很容易地获得。
Safe部分是由钢筋做成的,含有吐钞口和钞票入口等模块。计算机一般运行的都是Windows系统,不过是一种专门为ATM所设计的嵌入式版本。只有管理员可能访问Windows系统,其他用户是不能访问的。所以用户看到的应用是运行在kiosk模式下的。
这些应用提供给用户必要的功能:也就是我们日常看到的ATM使用的接口。应用还要与ATM的其他部分进行通信踩你完成ATM的功能,包括从读卡器获取卡信息,从键盘获取用户输入,发送命令给吐钞模块。通信使用的是XFS(extensions for financial services),一个简化的中心化的设备控制标准。有了XFS,硬件管理器就可以将API开放给所有的Windows应用并转发请求到设备。到每个XFS互联的设备的命令都是通过相应的服务提供商发送的。硬件管理器将API函数翻译为SPI函数,并将结果转发给服务提供商。每个ATM厂商都有自己实现XFS的方式。
ATM提现时并不是单机运行的。在处理交易时,首先联系银行的处理中心,联系所需的连接可以是有线的,也可以是无线的。因此,确保连接的安全性非常重要。一般情况下,都会有软件或硬件VPN客户端来执行这一任务。与处理中心的数据交换一般都是通过NDC/DDC协议来完成的,偶尔也会使用其他的方法。除了处理中心,ATM还会连接到银行的内部网络和软件更新服务器。
图1. ATM组件之间的交互
犯罪分子最感兴趣的是ATM模块就是计算机、网络设备和主要的外部设备。对这些设备的攻击可以拦截卡数据,干扰处理中心对交易的处理,或让体现模块吐钞。对于这样的攻击,犯罪分子需要对ATM的cabinet有物理访问或与ATM所在的网络建立连接。
图2. 针对ATM设备的潜在攻击
漏洞类型
ATM的漏洞类型可以分为4类:
网络安全漏洞
外部安全漏洞
系统或设备配置不当
应用控制漏洞或配置不当
网络安全漏洞
犯罪分子可以访问ATM网络,攻击可用的网络服务,拦截和伪造流量,并攻击网络设备。犯罪分子可以伪造来自处理中心的响应,获取ATM的控制权。
外部安全漏洞
在许多实际应用场景中,外部安全漏洞存在的原因是外部设备和ATM操作系统之间缺乏认证。因此,犯罪分子可以感染访问设备或者直接连接设备到读卡器或吐钞的恶意软件。然后就可以提现或拦截卡数据。
系统或设备配置不当
配置不当是指保护和攻击能力之间的差距,缺乏硬件驱动加密、认证错误、也有的kiosk模式保护不当、连接任意设备的能力。
应用控制漏洞或配置不当
包括应用控制(Application Control)漏洞。这种解决方案可以预防ATM上的不想要的代码执行漏洞,但事实上会效果并不好。漏洞可能出现在应用控制代码或不适当的配置结果中。
攻击场景
研究人员将攻击场景按照目标分为两大类:第一类是从ATM safe中提现,第二类是从客户端银行卡中复制信息。
Cash robbery
网络攻击
网络级攻击需要能够访问ATM连接的网络。如果攻击者是银行的雇员或网络提供商,那么就可以远程访问网络。否则攻击者不需要在ATM跟前,插入网线,连接恶意设备到光猫上。然后就可以连接到设备并攻击可用的网络服务,进行中间人攻击等等。有时候光猫位于ATM cabinet以外,所以攻击者甚至不需要打开ATM就可以执行修改。
图3. ATM网络攻击
注:这里不考虑入侵银行IT基础设施的攻击。因为如果攻击者能够入侵银行内网,就可以访问ATM管理,也就可以在ATM上放置恶意软件。
处理中心伪造
如果不能确保ATM和处理中心之间的数据是不安全的,攻击者就可以处理交易确认过程。处理中心模拟器同意ATM接收的所有请求,并发送命令来吐钞作为回应。模拟器是通过以太网接口连接到ATM cabinet或放置网络设备。
图4. 处理中心伪造
如果同时满足以下条件,就可以伪造处理中心:
ATM和处理中心之间的数据没有加密。因为NDC/DDC协议本来没有应用数据加密,攻击者就可以拦截和修改信息。
VPN保护不充分。在测试的ATM中,所有的软件和硬件VPN方案都没有开启。如果VPN客户端在ATM之外,或攻击者可以访问ATM cabinet,那么攻击者就可以安装在ATM和VPN硬件之间安装自己的设备。
交易请求和响应中没有使用消息认证码(Message Authentication Codes),这样就可以在未经检测的情况下修改流量。
在测试期间,专家发现了另一个攻击场景,那就是来自处理中心的响应可以伪造。ARP欺骗是一种中间人攻击,通过发送伪造的ARP响应消息来修改ARP表。这样,流量就会被重定向到攻击者的设备。如果流量没有加密,攻击者就可以修改响应的内容来使ATM吐钱。
ATM工作原理
在分析攻击场景之前,我们先了解下什么是ATM以及攻击者对那些部件感兴趣。
ATM包含两个主要的部分:cabinet(柜子)和safe(安全部分)。Cabinet也就是ATM的主体部分含有ATM计算机,这是与网络设备、读卡器、键盘、现金出口等设备相连的。这部分是没有说明保护的,只是罩了一个铁盒子和一把锁。而且,厂商一般对同一系列的ATM都使用相同的锁。而钥匙可以通过在线购买很容易地获得。
Safe部分是由钢筋做成的,含有吐钞口和钞票入口等模块。计算机一般运行的都是Windows系统,不过是一种专门为ATM所设计的嵌入式版本。只有管理员可能访问Windows系统,其他用户是不能访问的。所以用户看到的应用是运行在kiosk模式下的。
这些应用提供给用户必要的功能:也就是我们日常看到的ATM使用的接口。应用还要与ATM的其他部分进行通信踩你完成ATM的功能,包括从读卡器获取卡信息,从键盘获取用户输入,发送命令给吐钞模块。通信使用的是XFS(extensions for financial services),一个简化的中心化的设备控制标准。有了XFS,硬件管理器就可以将API开放给所有的Windows应用并转发请求到设备。到每个XFS互联的设备的命令都是通过相应的服务提供商发送的。硬件管理器将API函数翻译为SPI函数,并将结果转发给服务提供商。每个ATM厂商都有自己实现XFS的方式。
ATM提现时并不是单机运行的。在处理交易时,首先联系银行的处理中心,联系所需的连接可以是有线的,也可以是无线的。因此,确保连接的安全性非常重要。一般情况下,都会有软件或硬件VPN客户端来执行这一任务。与处理中心的数据交换一般都是通过NDC/DDC协议来完成的,偶尔也会使用其他的方法。除了处理中心,ATM还会连接到银行的内部网络和软件更新服务器。
图1. ATM组件之间的交互
犯罪分子最感兴趣的是ATM模块就是计算机、网络设备和主要的外部设备。对这些设备的攻击可以拦截卡数据,干扰处理中心对交易的处理,或让体现模块吐钞。对于这样的攻击,犯罪分子需要对ATM的cabinet有物理访问或与ATM所在的网络建立连接。
图2. 针对ATM设备的潜在攻击
漏洞类型
ATM的漏洞类型可以分为4类: 本文来自无奈人生安全网
网络安全漏洞
外部安全漏洞
系统或设备配置不当
应用控制漏洞或配置不当
网络安全漏洞
犯罪分子可以访问ATM网络,攻击可用的网络服务,拦截和伪造流量,并攻击网络设备。犯罪分子可以伪造来自处理中心的响应,获取ATM的控制权。
外部安全漏洞
在许多实际应用场景中,外部安全漏洞存在的原因是外部设备和ATM操作系统之间缺乏认证。因此,犯罪分子可以感染访问设备或者直接连接设备到读卡器或吐钞的恶意软件。然后就可以提现或拦截卡数据。
系统或设备配置不当
配置不当是指保护和攻击能力之间的差距,缺乏硬件驱动加密、认证错误、也有的kiosk模式保护不当、连接任意设备的能力。
应用控制漏洞或配置不当
包括应用控制(Application Control)漏洞。这种解决方案可以预防ATM上的不想要的代码执行漏洞,但事实上会效果并不好。漏洞可能出现在应用控制代码或不适当的配置结果中。
攻击场景
研究人员将攻击场景按照目标分为两大类:第一类是从ATM safe中提现,第二类是从客户端银行卡中复制信息。
Cash robbery
网络攻击
www.wnhack.com
网络级攻击需要能够访问ATM连接的网络。如果攻击者是银行的雇员或网络提供商,那么就可以远程访问网络。否则攻击者不需要在ATM跟前,插入网线,连接恶意设备到光猫上。然后就可以连接到设备并攻击可用的网络服务,进行中间人攻击等等。有时候光猫位于ATM cabinet以外,所以攻击者甚至不需要打开ATM就可以执行修改。
图3. ATM网络攻击
注:这里不考虑入侵银行IT基础设施的攻击。因为如果攻击者能够入侵银行内网,就可以访问ATM管理,也就可以在ATM上放置恶意软件。
处理中心伪造
如果不能确保ATM和处理中心之间的数据是不安全的,攻击者就可以处理交易确认过程。处理中心模拟器同意ATM接收的所有请求,并发送命令来吐钞作为回应。模拟器是通过以太网接口连接到ATM cabinet或放置网络设备。
图4. 处理中心伪造
如果同时满足以下条件,就可以伪造处理中心:
ATM和处理中心之间的数据没有加密。因为NDC/DDC协议本来没有应用数据加密,攻击者就可以拦截和修改信息。
VPN保护不充分。在测试的ATM中,所有的软件和硬件VPN方案都没有开启。如果VPN客户端在ATM之外,或攻击者可以访问ATM cabinet,那么攻击者就可以安装在ATM和VPN硬件之间安装自己的设备。
交易请求和响应中没有使用消息认证码(Message Authentication Codes),这样就可以在未经检测的情况下修改流量。
在测试期间,专家发现了另一个攻击场景,那就是来自处理中心的响应可以伪造。ARP欺骗是一种中间人攻击,通过发送伪造的ARP响应消息来修改ARP表。这样,流量就会被重定向到攻击者的设备。如果流量没有加密,攻击者就可以修改响应的内容来使ATM吐钱。
内容来自无奈安全网
copyright 无奈人生