在移动互联网时代,我们在使用与区块链、数字资产相关的服务时,常常使用移动客户端。比如通过一个交易所App,或者钱包App进行数字资产的交易、转账,当然,期间必然要经过网络,而正是这个过程中存在这不可忽视的安全问题。
连接WIFI竟然会“丢币”?
那么,当你要做联网操作的时候,你的第一个动作是什么?或许不少人的选择是找一个WIFI连上,除了家里和公司,就是在机场、咖啡馆、餐馆等公共场合,相关WIFI接入已经非常方便,你需要做的只是通过手机做个验证码的确认。
而对于一家公司来说,WIFI更是标配,但是,如果你是一家提供数字资产服务的公司,你可曾留意公司WIFI布置上的门道?如果一个客户前来拜访等待的时候,向前台询问连接WIFI,是不是也会配合帮助客户连上?
事实上,在上述场景中,都可能将用户、公司的数字资产安全置于一种危险的境地,特别基于当前很多区块链行业App本身的安全缺陷更放大了这种危险。北京链安的安全工程师们在日常App安全渗透测试和安全审计过程中发现经常会有交易所和钱包App在网络传输与服务器交互时存在安全隐患,包括使用不安全的 HTTP 协议传输数据和使用 HTTPS 协议时客户端未校验证书的正确性导致黑客可通过中间人攻击监听客户端 App 的传输数据并对其进行解密,从而造成敏感信息泄露的隐患,如果这些信息包括密码、密钥,后果将非常严重。
这是怎么回事呢?为何连接一下WIFI还可能“丢币”,接下来,就请北京链安的移动安全专家Zer0Man为大家介绍这里面的门道。
什么是“中间人攻击”?
据Zer0Man介绍,造成这种威胁的攻击手段即中间人攻击,中间人攻击(Man-in-the-middle Attack 缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。
在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容,也就是说你以为正通过正常的网络与诸如交易所App的服务器进行通讯,结果其实中间已经有人放了个“渔网”,中途会拦截你传输的报文,他可能只是看看里面的内容让其正常通讯,甚至可能直接干涉这个过程。
为了成为中间人,攻击者不但要能同时和服务器与客户端通信,还要介入到服务器和客户端的通信链路之中,将服务器的数据转发给客户端,将客户端的数据转发给服务器。实现这样目的的手段有很多种,比较常见的有 DNS 劫持和局域网 ARP 欺骗。
上面我们提及的WIFI连接场景就可能被黑客通过局域网 ARP 欺骗造成中间人攻击。
所谓APR欺骗即攻击者首先连上WIFI,将自己置于与受害者设备同样的局域网络中,然后通过一些黑客工具使得其它设备将攻击者当做网关从而前来连接,这样受害者设备的任何网络通讯流量都将经过攻击者,被其截获。
以上图片就是我们的测试,一款交易所App遭到中间人攻击,其报文信息被攻击者截获,其中甚至包括用户的密码信息。
“中间人攻击”的危害有哪些?
在以上过程中,如果这些App本身做了一定的安全防护,比如数据的高强度加密,那么还能提高攻击者进一步作恶的成本。但是,正如我们此前介绍的,区块链领域的App在这方面的安全工作做的还很不够,弱加密,甚至就不加密明文传输的情况时有发生,而在涉及敏感信息的操作上,依然有一些区块链App没有采用安全度更高的HTTPS协议。
那么,作为一家涉及数字货币服务的公司,中间人攻击又可能造成怎样的危害呢?如上所述,如果你的局域网没有进行相应的安全配置,没有将办公网络与访客网络进行隔离,那么黑客就可能通过你的WIFI入侵,进行中间人攻击,获取你内网环境下涉及业务的一系列敏感信息,进而不断提升攻击者在内网的权限,甚至可能直接接触你存储的数字资产并将其窃取。
是的,以上过程其实就是所谓的APT攻击,APT攻击的一大特点就是目标针对性很强,攻击者往往会做一些前期准备工作,拟定了攻击目标,并通过技术,甚至社会工程学手段侵入内部系统。而侵入内部系统的手段也不一定需要“内鬼”里应外合,向客服发一封误导其点开附件运行木马代码的邮件就是常用套路,而通过办公环境网络漏洞进入被攻击目标内网也是一个重要的切入点。
总结一下,中间人攻击就是一种攻击者欺骗网络使用者将其当作网络连接通道,进而截获受害者通讯信息的操作,而一旦获得了这些信息,攻击者可以进一步解析和破解,进而可能获得用户的密码、密钥,甚至干涉后续过程,试想一下如果攻击者将一个客户端向服务器发起的比特币转账申请截获,进而修改接收地址,将会给受害者带来多么直接的经济损失?
“中间人攻击”怎么防?
那么,对于中间人攻击,该如何防范呢?在这里,Zer0Man对三类角色提出了防范建议。
1. 区块链App的用户:执行一些敏感操作的时候,请谨慎连接公共WIFI网络。
2. 区块链App的开发者:请在客户端应使用HTTPS协议传输网络数据,并在客户端中校验SSL证书的正确性,防止信任伪造证书。
3. 区块链业务涉及的公司机构:做好内网安全防御,为访客设立 Guest 账号和权限,或进行访客网络隔离来避免APT攻击。对于办公环境的WIFI设置强类型密码,同时禁用 WIFI WPS 功能。
以上例子中,我们主要提及的是数字资产这样的经济价值更容易直接衡量的场景,事实上,随着区块链技术应用到更多行业,更多敏感数据上链并在一些业务中与App通讯,而在诸如企业的私有链、联盟链场景中,更是会大量涉及基于内网环境的敏感信息传输,在这样的情况下,中间人攻击将是破坏区块链价值的重大隐患,需要我们在进行相关系统的开发和部署中重点防范。