云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_网站建设找哪家公司好_怎么买

小七 141 0

中间盒中的怪物:介绍两种新的检测HTTPS截获的工具

HTTPS拦截的做法在互联网上仍然司空见惯。HTTPS拦截遭遇了审查,最引人注目的是2017年的研究"HTTPS拦截的安全影响",以及美国计算机应急准备小组(US-CERT)警告说,这种技术削弱了安全性。在这篇博客文章中,我们简要回顾了HTTPS截获,并介绍了两个新的工具:MITMEngine,一个用于HTTPS拦截检测的开源库,以及一个显示我们在Cloudflare上观察到的HTTPS截获指标的仪表板Malcolm网络。输入基本的HTTPS连接,浏览器(客户端)直接与源服务器建立TLS连接,以发送请求和下载内容。然而,互联网上的许多连接并不是从浏览器直接连接到服务于网站的服务器,而是通过某种代理或中间盒(middlebox,middlebox)进行的。造成这种行为的原因有很多,既有恶意的,也有良性。类型如MiddleOne中的各种怪物所示,常见的HTTPS截取器是TLS终止转发代理。(这些是所有转发代理的一个子集;非TLS终止的转发代理转发TLS连接,而没有任何检查加密通信量的能力)。TLS终端转发代理位于TLS连接中的客户端前面,透明地转发并可能修改从浏览器到目标服务器的流量。为此,代理必须从客户机终止TLS连接,然后(希望如此)通过新的TLS连接重新加密并将有效负载转发到目标服务器。为了在客户端不出现浏览器证书警告的情况下拦截连接,转发代理通常要求用户在其计算机上安装根证书,以便代理可以为目标生成可信证书并将其提交给浏览器。这些根证书通常是为公司管理的设备安装的,由网络管理员在没有用户的情况下完成干预。防病毒客户机通过前向代理进行连接的一些合法原因是允许防病毒软件或公司代理检查进入和离开的加密数据用于检测不适当内容、恶意软件和数据泄露的本地网络。Symantec提供的Blue Coat数据丢失预防工具就是一个例子。在这种情况下,HTTPS截取是为了在向目标发送请求之前检查员工是否泄漏敏感信息目的地。恶意软件然而,proxiesmaliciousforward代理可能会在网页中插入广告或过滤私人用户信息。像Superfish这样的恶意软件将目标广告插入加密的流量中,这需要截获HTTPS流量并修改给a的响应中的内容客户,漏嘴任何终止转发代理的TLS——不管它是不是出于善意——也有暴露私人信息的风险,并为欺骗打开了大门。安装代理根证书后,Internet浏览器将失去端到端验证连接的能力,必须信任代理来维护连接的安全性,以确保敏感数据受到保护。一些代理使用不太安全的TLS参数重新加密并将流量转发到目的地。代理还可能需要安装容易被其他恶意方滥用的供应商根证书。2018年11月,一种Sennheiser无线耳机要求用户安装使用不安全参数的根证书。此根证书允许任何对手模拟网站并向具有此证书的计算机发送欺骗响应,以及观察其他加密数据。终止转发代理的TLS甚至可以信任被认为不安全的根证书,如Symantec的CA。如果实施不当,任何终止转发代理的TLS都可能成为广泛的攻击媒介,泄漏私人信息或允许响应欺骗。反向代理反向代理也位于用户和源服务器之间。反向代理(如Cloudflare和Akamai)代表原始服务器执行操作,缓存静态数据以提高内容交付速度,并提供DDoS缓解等安全服务。关键的是,反向代理不需要在用户设备上安装特殊的根证书,因为浏览器直接与反向代理建立连接,以下载源服务器上托管的内容。源服务器经常使用反向代理来提高客户机HTTPS连接的安全性(例如,通过实施严格的安全策略和使用tls1.3等最新的安全协议)。在这种情况下,反向代理是为TLS提供更好性能和安全性的中介关系。为什么是否继续检查HTTPS拦截?在之前的一篇博文中,我们认为HTTPS截取在互联网上很普遍,而且它常常降低互联网连接的安全性。拒绝协商弱加密参数的服务器应该是安全的,不会受到许多降低连接安全性的风险,但是有很多原因可以解释为什么服务器运营商想知道来自其客户端的HTTPS流量是否第一次被拦截, 检测HTTPS拦截可以帮助服务器识别连接到其网络的可疑或潜在的易受攻击的客户端。服务器可以使用此知识通知合法用户其连接安全性可能已降级或受到损害。HTTPS拦截还增加了系统的攻击表面积,为攻击者获取敏感连接提供了一个有吸引力的目标数据。第二内容检测系统的存在不仅会削弱TLS连接的安全性,而且会阻碍TLS采用新的创新和改进。通过旧的中间盒连接的用户可能会将其连接降级到旧版本的TLS(中间盒仍然支持),并且可能无法获得新TLS版本的安全性、隐私性和性能优势,即使浏览器和服务器。介绍MITMEngine:Cloudflare的HTTPS拦截检测程序任何TLS客户端实现都可以通过客户端Hello消息的功能进行唯一标识,例如支持的版本、密码套件、扩展、椭圆曲线、点格式、压缩,以及签名算法。"HTTPS拦截的安全影响"介绍的技术是为常见的浏览器和middlebox实现构造TLS客户端Hello签名。然后,为了识别已被拦截的HTTPS请求,服务器可以查找与请求的HTTP用户代理相对应的签名,并检查请求的客户端Hello消息是否与签名匹配。不匹配表示欺骗的用户代理或截获的HTTPS连接。服务器还可以将请求的客户机Hello与已知的HTTPS拦截工具进行比较,以了解哪些侦听器负责拦截交通。那个Caddy服务器MITM检测工具基于这些启发式方法,并实现对有限的浏览器版本集的支持。但是,我们需要一个工具,可以轻松地应用到Cloudflare支持的广泛的TLS实现中,包括以下内容目标:可维护性:当浏览器更新时,添加对新浏览器的支持和更新现有浏览器签名应该很容易释放。灵活性:签名应该能够捕获各种各样的TLS客户端行为,而不是过于宽泛。例如,签名应该能够解释在现代版本中发送的润滑脂值铬。性能:根据请求,MITM检测应便宜,以便系统可以部署在缩放到为了实现这些目标,Cloudflare的加密团队开发了MITMEngine,一种开源的HTTPS拦截检测器。MITMEngine是一个Golang库,它接收用户代理和TLS客户端Hello指纹,然后返回HTTPS截获的可能性和用于识别拦截的因素。要了解如何使用MITMEngine,请查看上的项目GitHub.MITMEngine通过比较观察到的TLS客户端Hello和一组已知的浏览器客户端Hello中的值来工作。比较的领域包括:TLS版本,密码组,扩展及其值,支持的椭圆曲线群,椭圆曲线点格式。什么时候给定一对用户代理和观察到的TLS客户机Hello,MITMEngine将检测给定客户机Hello与所呈现的用户代理程序所期望的客户机Hello之间的差异。例如,考虑以下用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,像壁虎)镀铬/47.0.2526.111 Safari/537.36此用户代理对应于Windows7上运行的Chrome47。成对的TLS客户机Hello包括以下密码套件,以十六进制形式显示在下面倾倒区:0000 c02b c0 2f 00 9e c0 0a c0 14 00 39 c0 09 c0 13.+./。。。9。。。。0010 00 33 00 9c 00 35 00 2f 00 0a.3…5./。。这些密码套件转换为以下列表(和顺序)共13个密码:TLS_ECDHE_ECDSA_AES_128_GCM_SHA256(0xc02b)TLS_ECDHE_RSA_AES_128_GCM_SHA256(0xc02f)带ĀU的AESĀTLS_ECDHE_ECDSA_带_AES_256_CBC_SHA(0xc00a)TLS_ECDHE_RSA_AES_256_CBC_SHA(0xc014)TLS_DHE_RSA_带_AES_256_CBC_SHA(0x0039)TLS_ECDHE_ECDSA_带_AES_128_CBC_SHA(0xc009)TLS_ECDHE_RSA_AES_128_CBC_SHA(0xc013)TLS_DHE_RSA_带_AES_128_CBC_SHA(0x0033)TLS_RSA_带_AES_128_GCM_SHA256(0x009c)TLS_RSA_带_AES_256_CBC_SHA(0x0035)TLS_RSA_带_AES_128_CBC_SHA(0x002f)TLS趶RSA_3DES_EDE_CBC_SHA(0x000a)的TLS_RSA_chrome47的参考TLS客户端Hello密码套件是以下:0000 c02b c0 2f 00 9e cc 14立方厘米13 c0 0a c0 14 00 39.+./。。。。。。。90010 c0 09 c0 13 00 33 00 9c 00 35 00 2f 00 0a…..3。5./。。仔细观察,我们发现观察到的流量的密码套件列表比我们预期的Chrome47要短;有两个密码套件