导语:最近一个安全研究团队发现了银行应用程序中的漏洞,该漏洞可导致数百万银行用户的用户凭证受到黑客的攻击。这个漏洞是伯明翰大学安全隐私安全部门的研究人员发现的。研究中,他们测试了iOS和Android上的数百种不同的银行应用程序,发现了
最近一个安全研究团队发现了银行应用程序中的漏洞,该漏洞可导致数百万银行用户的用户凭证受到黑客的攻击。这个漏洞是伯明翰大学安全隐私安全部门的研究人员发现的。研究中,他们测试了iOS和Android上的数百种不同的银行应用程序,发现了这一共性问题。
受影响的银行包括汇丰银行、NatWest、 Co-op、桑坦德银行和爱尔兰联合银行。目前,这些银行已经在研究人员报告这个问题后就及时的进行了更新。
根据研究人员发表的研究论文,应用程序之所以容易受到攻击可能是因为其允许与受害者连接到同一网络的攻击者拦截SSL连接,并检索用户的银行凭证,如用户名和密码/ PIN码,即使该应用程序正在使用SSL pinning 功能。
SSL pinning 是一项安全功能,可以通过在主机和设备之间启用额外的信任层来防止中间人(MITM)攻击。
实施时,SSL pinning 有助于对抗基于网络的攻击,因为攻击者可能会尝试使用那些不正规的认证机构颁发的有效证书。
研究人员在论文中写道:
如果是一个单一的CA恶意行为或之前已经发生的泄密行为,就可能会生成任何域的有效证书,从而使攻击者信任该CA证书的所有应用。但是,验证SSL连接有两个关键部分 – 第一个(验证)是验证证书是否来自受信任的机构颁发,第二个(授权)是要确保您连接的服务器提供正确的授权证书。
研究人员发现,由于缺乏主机名验证,以致于一些银行应用程序没有检查他们是否连接到可信来源。验证主机名可确保银行应用程序连接到URL中的主机名与服务器(作为SSL连接一部分)发回的数字证书中的主机名匹配。
TLS错误漏洞是很常见的,但是现有的框架都没有检测到客户端引用了根证书或中间证书,而且也没有检测到叶证书中的主机名。除此之外,研究人员还详细描述了桑坦德银行和联合爱尔兰银行的“ 应用程序内钓鱼攻击 ”,这些攻击允许攻击者在应用程序运行时劫持部分受害者的屏幕,并用它来钓鱼受害者的登录凭据。
为了快速在数百个应用程序中检测到这个漏洞,并且不需要购买证书,研究人员创建了一个名为Spinner的新的自动化工具。Spinner利用Censys IoT搜索引擎来查找在不同的备用主机上的证书链。研究人员解释说;“鉴于是目标域证书,所以该工具查询仅限于不同备用主机的叶证书链,然后它会将流量从被测试的应用程序重定向到具有由相同CA证书的网站,毋容置疑这当然是不同的主机名(Common Name)。如果建立阶段连接失败了,那么我们就会知道应用程序检测到了错误的主机名,而如果连接建立并且客户机在连接失败之前传输加密的应用程序数据,那么我们就会知道应用程序已经接受了主机名。
克里斯·麦克马洪·斯通(Chris McMahon Stone),Tom Chothia和弗拉维奥·D·加西亚(Flavio D. Garcia)目前已经与国家网络安全中心(NCSC)进行了合作,并已经通知了所有受影响的银行,银行在他们公开研究成果之前就已经解决了这些问题。