(无)危险的网上银行:俄罗斯和世界各地银行的网络资源研究

我们决定重复2015年的大规模研究工作,并分析了世界领先银行的网络资源的安全性。 从那时起,网上银行不仅变得越来越普遍,而且变得越来越普遍。 确实,它既快速又方便,但是有多安全呢? 银行是否遵循最佳做法?



上次一样,在研究过程中,我们发送了普通的HTTP和DNS查询,而不会干扰银行。 也就是说,所有数据的收集都是普通用户可以通过访问资源来完成的。 为了进行分析,我们选择了200家俄罗斯银行和400家外资银行。 摘录自研究摘录。 全文可在我们的网站上找到。


这次,我们通过将外国银行的在线资源添加到范围来扩展了研究领域。 这使您可以比较俄罗斯和世界其他国家/地区对网络安全的态度。


放眼未来,我们遗憾地注意到,提高安全级别的经典方法通常被银行忽略,尽管它们不需要全球金融和技术资源。 错失机会是自愿的,但是错误地使用它们完全不同。 例如,对于内容安全策略,所检查的所有资源中有五分之一具有设置,并且几乎每个资源都有配置错误。 作为研究的一部分,我们试图详细考虑如何正确使用此类设置,以及最常出现的错误。


研究目的


该研究的主要目的是根据建立网络资源的最佳做法,评估可公开获得的银行资源:官方网站和苏格兰皇家银行的安全级别。 我们选择了许多要点,可以检查其是否合格,不包括任何技术损失,并且不影响银行的工作。 重要的是要注意,我们收集的所有信息都是公共领域的,处理这些数据不需要深入的技能:如果您愿意,任何感兴趣的用户都可以得出这样的结果。


研究对象


为了进行测试,我们选择了俄罗斯的TOP-200银行。 完整列表可在以下网站找到: http//www.banki.ru/banks/ratings/ (截至2019年3月的当前数据)。


我们还从另外30个国家/地区中选择了20家银行(列表)

奥地利
白俄罗斯
比利时
保加利亚
波斯尼亚和黑塞哥维那
的巴西
英国
匈牙利
德国
丹麦文
以色列
爱尔兰
西班牙
义大利
的加拿大
中国
列支敦士登
卢森堡省
马耳他岛
荷兰
挪威
阿联酋
波兰
葡萄牙
美国
芬兰语
法国
瑞士
瑞典语
日本


第一步,我们确定了RB为个人和法人实体提供的所有官方网站和Internet资源。 然后,对于每家银行,都使用HTTP / HTTPS / DNS协议使用几个标准请求进行检查,类似于银行客户的通常请求。 分组列表:


  1. SSL设置-提供实施与SSL相关的众多攻击之一的机会;
  2. DNS设置-允许您获取有关公司子域的信息。

以下是一些检查的描述和结果。 我们特别注意内容安全策略部分:在其中,我们试图突出显示主要错误并说明如何避免这些错误。 完整的描述和所有检查的结果都在研究中


测试中


SSL / TLS


最重要的一点之一是检查SSL / TLS设置,如下 如今,这些加密协议是在Internet上提供安全数据交换的最流行方法。 主要的潜在威胁是使用流量拦截攻击。
选择了以下检查:


验证名称简短说明
等级根据Qualys SSL Labs的总体SSL配置等级。 它取决于许多因素,其中包括:证书的正确性,服务器设置和服务器支持的算法。 从F到A +的毕业。
DH弱键支持弱参数可用于交换Diffie-Hellman密钥,从而降低了资源的安全性。
漏洞POODLE允许您解密用户数据。 有关更多信息,请参见研究人员的出版物
漏洞怪胎它包含以下事实:攻击者可以在建立连接和交换数据时强迫用户和服务器使用“导出”密钥,其长度非常有限。
Logjam攻击敏感性与FREAK一样,Logjam的基础是将加密级别降低到“导出”级别,其中密钥长度为512位。 区别在于Logjam攻击Diffie-Hellman算法。
DROWN漏洞如果未在使用同一私钥运行的所有服务器的服务器端禁用SSL 2.0,则允许您解密客户端TLS通信。
漏洞机器人使用RSA时,完全违反了TLS隐私。
脆弱野兽攻击者可以使用TLS 1.0,SSL 3.0及以下版本解密在双方之间交换的数据。
漏洞CVE-2016-2107远程攻击者可能利用此漏洞,使用TLS / SSL或DTLS服务器作为oracle填充,从加密数据包中提取文本。
令人流血的漏洞访问客户端或服务器内存中的数据。
票务漏洞远程攻击者可以利用此漏洞提取SSL会话ID,还可以从未初始化的内存区域提取其他数据。
SSL重新协商如果没有安全的SSL重新协商,将增加DoS或MITM攻击的风险。
RC4支持发现在短时间内有机会解密使用RC4密码隐藏的数据。
支持前向保密这是某些密钥协商协议的一个属性,该协议保证即使服务器的私钥被泄露,会话密钥也不会被泄露。
TLS版本TLS协议对所有类型的Internet通信进行加密,从而使Internet上的通信安全。 但是,早期版本的TLS 1.0和1.1依赖于不可靠的哈希算法MD5和SHA-1,建议禁用
SSL 2.0和SSL 3.0支持两种协议都被认为是过时的,并且具有许多漏洞,因此,建议在服务器端断开连接。
支持NPN和ALPN在客户端和服务器之间建立安全的SSL / TLS连接后,允许您指定使用哪种协议。

等级


SSL / TLS具有大量的设置和功能,它们在某种程度上影响连接本身及其参与者的安全。 为了对此设置进行总体评估,我们使用了Qualys(www.ssllabs.com)提供的功能。 它允许基于众多参数创建从A到F的一般等级,其中“ A +”是可以实现安全性的最佳结果。 很少有公司拥有它,即使是最大的互联网公司也是如此。 因此,“ F”是最差的结果。 如果服务器暴露于任何严重的漏洞,支持过时的协议并存在其他问题,则可以获取此文件。 像“ A +”评级一样,最差的结果很少见,主要与不专业的员工有关。


卡上将显示“ A”以下的额定百分比。 该百分比越高,该国的网络安全状况就越差。


HTTP标头


Web服务器响应中的标头使您可以确定某些情况下浏览器的行为。 它们的存在有助于避免某些攻击或使其行为复杂化,而添加标头则不需要任何复杂的操作或设置。 但是,某些设置(例如CSP)的特征是选择过多,如果使用不当,可能会导致安全性幻觉,甚至损坏站点的某些功能。 我们审查了以下标题:


标题内容描述
内容安全政策它允许您显式指定可以从何处加载该内容。
X-XSS保护Internet Explorer,Chrome和Safari的一项功能,可在检测到XSS攻击时停止页面加载。
X帧选项启用或禁用以框架(iframe)显示网站。
X内容类型选项此标头将告诉IE / Chrome,无需自动确定Content-Type,但是您必须使用已经提供的Content-Type。
严格的运输安全允许您防止在特定时间建立不安全的HTTP连接。
设定CookieHTTP响应标头中不存在HttpOnly和Secure标志,将使您能够窃取或处理Web应用程序会话和cookie。
推荐人政策允许网站控制从页面引导的链接的Referer标头的值。
功能政策允许您控制页面上的各种浏览器功能。
公钥别针降低使用伪证书进行MITM攻击的风险。
期望CT允许您确保符合证书透明性要求,从而防止在该站点上不加确认地使用未经确认的证书。
X动力CMS指示使用的CMS引擎。
X-Powered-by指定运行服务器的应用程序平台。
服务器头指示服务器软件(apache,nginx,IIS等)。

如果前十个标题本质上是“肯定的”,并且希望(正确!)使用它们,那么后三个标题“告诉”攻击者使用了什么技术。 自然,此类标题应被丢弃。


等级


HTTP标头的正确组合可以确保站点的安全性,而设置它们一点也不困难。 我们已经收集了有关HTTP标头使用情况的数据,并基于这些标头为Web资源编制了安全等级。
为了符合以下参数,我们给了分数或得分:


标题设定条件满足条件的要点如果不满足条件则得分
X-XSS保护目前,不是0+1-1
X帧选项存在+1-1
X内容类型选项存在+1-1
X内容安全政策/内容安全政策至少有一个+1-1
严格的运输安全存在且不为空+1-1
伺服器不包含服务器版本+1-1
设定Cookie安全和httponly标志的存在每个+10
推荐人政策当前,> 0+10
功能政策存在+10
公钥别针存在+10
期望CT存在+10
X动力CMS失踪了+1-1
X-Powered-by失踪了+1-1

从“ D”到“ A +”的等级,其中“ A +”是可以实现安全性的最佳结果。 然而,最糟糕的结果却很少,就像最好的一样。


评级分布


卡上将显示“ A”以下的额定百分比。 该百分比越高,该国的网络安全状况就越差。


内容安全政策


“内容保护策略”或CSP是降低与利用XSS攻击相关的风险的主要方法之一。 该工具使站点管理员可以确定允许在页面上使用哪些Web资源-字体,样式,图像,JS脚本,SWF等。 在此处查找支持CSP的浏览器。


借助CSP,您可以完全阻止浏览器加载例如Flash对象或调整域白名单-在这种情况下,浏览器将仅显示位于允许域上的SWF。 CSP策略提供的另一个优点是能够在受控资源的巨大范围内快速了解新XSS的外观。 通过使用“ report-uri”选项,攻击者或受害用户的浏览器会在触发CSP后立即将报告发送到指定的URL。


在与CSP策略相关的主要错误中,可以区分以下类别:


  1. 配置错误
    • 缺少指令(script-src | object-src | default-src | base-uri)
    • 冗余选项(非安全内联|非安全评估| https:|数据:| *)
  2. 主持人和白名单的弱点
    • 能够加载任意JS文件
    • 回呼
    • Angular和类似模板引擎中的脚本小工具
  3. 无JS攻击(“无脚本”)
    • 通过未封闭标签泄漏
    • 实施网络钓鱼形式

更详细的信息,错误的具体示例以及避免错误的方法可以在研究全文中找到。


CSP的主要目标是减少利用XSS攻击的可能性,但是,正如研究表明的那样,很少有人能够正确配置此策略:只有3%的人使用CSP。
该图显示了所检查的CSP站点中最常见的错误。


严格的运输安全


HSTS(HTTP严格传输安全性)安全策略允许您建立安全连接,而不使用HTTP协议。 为此,请使用Strict-Transport-Security标头,该标头将强制浏览器强制使用HTTPS。 这样可以防止某些MITM攻击,尤其是具有较低保护等级和Cookie盗窃的攻击。 该机制的原理如下:第一次使用HTTP(S)协议访问站点时,浏览器会收到Strict-Transport-Security标头,并记住当您再次尝试连接到该站点时,只需要使用HTTPS。
这样可以防止攻击者拦截HTTP请求,将用户重定向到克隆页面以获取其数据。


使用Strict-Transport-Security HTTP标头的银行百分比



收到HTTP请求后,服务器可以发送Set-Cookie标头和响应。
仅当通过SSL和HTTPS执行请求时,带有Secure标志的Cookie才会发送到服务器。 但是,重要数据绝不能传输或存储在cookie中,因为其机制非常脆弱,并且Secure标志不提供其他加密或安全措施。 不能通过Document.cookie API属性从JavaScript访问带有HTTPonly标志的cookie,这有助于避免XSS攻击时从客户端盗窃cookie。 应该为不需要通过JavaScript访问的cookie设置此标志。 特别是,如果cookie仅用于支持会话,则在JavaScript中不需要它们,您可以使用HTTPOnly标志。 如果HTTP响应标头中没有HTTPOnly和Secure标志,则可以窃取或处理Web应用程序会话和cookie。


与在波斯尼亚和黑塞哥维那,日本,中国,巴西,保加利亚,卢森堡,芬兰,以色列,法国,英国和西班牙的第二个官方网站上相比,在此标头中找到安全和HTTPonly标志的频率更高。
在DBO中为实物。 人员-中国,爱尔兰,以色列和日本。
在苏格兰皇家银行担任法律顾问。 人员-波斯尼亚和黑塞哥维那,巴西和中国。


在俄罗斯的银行中,统计数据如下:
银行官方网站-42%;
RBS为实物。 人员-37%;
苏格兰皇家银行 人员-67%。


服务器头


此标头告诉您Web服务器正在运行哪种软件,例如,可能具有以下含义:


Server:Apache/2.4.12 (Unix) mod_wsgi/3.5 Python/2.7.5 OpenSSL/1.0.1l 

披露此信息不会构成直接威胁,但可以减少攻击时间。 无需检查特定漏洞,您可以立即开始在特定版本的软件上查找数据。 例如,在研究过程中,发现以下数据:

研究表明,有64%的银行站点报告服务器版本,而这些服务器中有24%易受攻击。


结论


在获得了有关银行Web资源安全性的一般概念之后,我们得出了以下主要结论:许多银行甚至忽略了提高Web资源安全性的最常见且易于实现的技巧。


我们发现的漏洞和错误使攻击者无需花费很多精力即可对资源进行攻击。 但是这些攻击的后果非常严重:客户的现金损失,银行的财务和声誉损失,包括长期损失。 很少有人信任他们的钱到一家因安全事件而名声受损的银行。


当然,遵循提高安全级别的标准做法-搜索和关闭漏洞-会取得成果,并将风险降到最低。 但是,大多数银行Web应用程序开发人员都忘记了最简单的建议和方法,这些建议和方法会显着降低风险或使漏洞利用复杂化(例如,从服务器标头中隐藏有关所用软件或安装CSP的信息)。 使用这种技术的好处不是立即可见的,但可能根本就不是显而易见的:遇到这些技术后,攻击者将无法进行攻击,并且其行动也将不在负责安全的人员的视线范围内。


从不同角度检查了俄罗斯银行的网络资源后,我们发现其中仍然存在相当知名的漏洞和安全问题。 这使攻击者可以指望成功实施对这些金融机构的攻击。 问题越多,银行的财务和声誉风险就越高。
整个世界的情况并没有特别的不同。 在安全性方面明显落后的国家中,可以发现以下国家/地区的网上银行资源:中国,日本,巴西,以色列,西班牙。 矛盾的是,在大多数情况下,外国银行比其银行系统更关注其首页的安全性。 值得注意的是,在研究中,外资银行的分析份额不是那么广泛,而是熟悉。

Source: https://habr.com/ru/post/zh-CN474582/


All Articles