行业新闻与博客

TLS 只有最弱的链接一样强大

弱加密是对数据隐私和安全性的真正威胁。本文基于 Packet Detectives 的“ 未知 TLS 版本的案例 ”一集中,展示了如何使用数据包捕获(通过 Endace)和 Wireshark 来发现网络中存在的过时和易受攻击的设备

TLS 的更新通过在 TLS 1.2 和 TLS 1.3 中引入完美的前向机密性和更强大的加密密码,大大增强了 Internet 上的数据隐私。使用现代计算机几乎无法破解的更强大的密码,可以保护敏感数据在遍历 Internet 时的私密性。



弱密码会使敏感交易容易受到暴力攻击和中间人(MitM)攻击。例如,如果网络犯罪分子可以解密 TLS 会话,则可能会泄露您在 Web 浏览器中显示的登录凭据,密码或敏感数据。出于这个原因,行业正在迅速淘汰 TLS 1.0 和 1.1。



早在 2018年,Google,Microsoft,Apple 和 Mozilla 宣布他们的浏览器将删除对这些过时 TLS 版本的支持。许多云服务(例如 Office 365)已承诺这样做。



为了减少这些攻击的威胁及其带来的后果,至关重要的是,所有设备,服务器和应用程序都必须使用最新版本的 TLS(TLS 1.2 或更高版本)。但是,如何得知正在使用哪个版本的 TLS 加密?以及如何确保所有连接的设备和端点都未使用 TLS 协议的过时版本?我们将引导您完成使用 Endace 和 Wireshark 收集网络数据包数据的过程。



让我们对其进行哈希处理。



为什么使用 TLS 1.2 或更高版本来保护数据加密通道

重要的是要确保企业中的所有设备,服务器和应用程序都使用最新版本的 TLS,以减少这些威胁。2020年8月来自 SSL Labs 的数据显示,65.5%的站点支持 TLS 1.2,而 32.8%的站点支持 TLS 1.3。该数据基于全球 150,000 个最受欢迎的网站(根据 Alexa 的列表)。



但是,由什么决定客户端和服务器使用哪个版本的 TLS 进行通信?用于加密数据的 TLS 版本是通过服务器与客户端之间的协商来定义的,握手时双方就可以处理的最强加密达成一致。



Hashed Out 已经破坏了 TLS 握手过程。但是,这里快速直观地概述了该过程的工作原理以及客户端和服务器之间的通信。







                                                                                                    TLS 1.2 握手过程如何工作的说明







                                                                                   较短的 TLS 1.3 握手过程的说明,该过程涉及一次往返而不是两次。



每个使用 SSL / TLS 的设备(包括应用程序,网络元素,服务器,IoT 设备和端点)都必须使用支持 TLS 1.2 或更高版本的最新软件和 / 或操作系统进行更新。此外,必须将每个设备配置为拒绝 TLS 1.1 及更低版本的连接请求。



这是因为过时的旧设备成为安全性和数据隐私的最薄弱环节。不用说,跟踪企业中的所有设备并进行更新可能是一项艰巨的任务-尤其是当几乎所有设备都连接到 Wi-Fi 并具有 Web 界面时!



您可以使用数据包捕获来检测旧的 TLS 版本流量

有些防火墙可以按 TLS 版本检测和阻止流量,因此一种解决方案是阻止网络中较旧的 TLS 流量。但是,如果在不了解谁使用什么或使用什么的情况下阻止 TLS 的较旧版本,可能会导致令人讨厌的(和意外的)意外。



更新 Web 浏览器可能不足以删除旧的 TLS 通信。网络上的许多端点都使用 TLS(包括服务器,软件代理和 IoT 设备),而所有这些端点也可能已过时。另一种方法是观察网络上正在发生的事情,并确定较旧的 TLS 流量源自何处。然后可以识别出过期的 TLS 代理,并在需要阻止流量之前对其进行更新或替换(如果需要)。



服务器日志,事件日志和监视系统不一定跟踪 TLS 版本,因此使用 EndaceProbe 捕获 TLS 版本协商。数据包捕获可以真实,准确地描述所有网络活动-因此不会遗漏或更改任何内容,并且很难争论(如果有必要的话)。不利的一面是没有好的方法论,大量的数据(难以使用)可以被收集-大量的噪音需要整理。但是通过正确的步骤,可以轻松管理此过程。



如何捕获和评估 TLS 版本协商和流量

首先,以 Wireshark 兼容的语法在 EndaceProbe(例如 Port443)上创建一个过滤器,以捕获端口 443 流量。将过滤器设置为忽略不需要的任何其他流量。







除了过滤之外,还使用智能截断功能,通过截断数据包并保持 TLS 握手协商不变,可以进一步减少数据量。这样可以减小捕获文件的大小,从而更易于存储和管理。



将 Port443 过滤器应用于 EndaceProbe 上的数据管道,并进行一整天的捕获,以获取典型的流量样本。端口 443 严格用于 HTTPS 通信。











您现在可以分析了。您可以使用内置的调查工具快速了解端口 443 上的流量。Microsoft One Drive 流量排在首位,这并不意外-但请看一下 Tik Tok(musical.ly)流量!







要更详细地了解 TLS Hello 数据包的字段,您需要使用 Wireshark 之​​类的工具。将时间窗口限制为工作时间,然后从 EndaceProbe 中提取捕获内容。这将产生一个 48GB 的捕获文件。



打开捕获文件时,可以通过应用 Wireshark 读取过滤器来进一步减少数据量。这限制了读取类型为 1 或 2(客户端和服务器 Hello 的握手类型)的 tls.handshake.type 数据包中的内容,并忽略了证书和密钥交换之类的项目。这将装入 Wireshark 的数据包数量从超过 500 万减少到了约 42,000。







您可以使用配置文件在 Wireshark 中节省时间。这些示例使用 Wireshark 配置文件,该配置文件已创建以按客户端或服务器上的 TLS 版本进行过滤。您可以从 Endace 网站下载此 Wireshark 配置文件。



评估数据包详细信息以确定 TLS 的最高版本







在握手期间,服务器将仅转到客户端支持的最高 TLS 版本。这意味着一个好的起点是首先检查客户端问候。如果查看 Client Hello 数据包的数据包详细信息,则可以看到该客户端的 TLS 版本和最大版本功能。



该捕获显示了正在使用的实际 TLS 版本以及正在使用它的客户端。许多因素都会影响所使用的 TLS 版本。例如,请求较旧的 TLS 版本的 Web 浏览器可能是由于来自上一次会话的 cookie,或者可能正在使用非浏览器软件代理或设备。



如果发现过时的客户,可能还有很多工作要做,但是至少您现在可以确定地知道问题所在。







服务器通过选择客户端和服务器都支持的最高版本来最终确定使用哪个 TLS 版本。您可以使用 Wireshark 的统计信息和端点列出服务器,然后将“ 限制”应用到使用过滤器进行显示,因此仅列出那些使用 TLS 1.1 或更早版本的服务器。这样一来,您就可以进一步缩小定位目标流量。







在此阶段,您可以从 Wireshark(CSV 或 YAML 格式)导出可能需要更新的服务器列表。通过切换过滤器和端点,可以确定可能需要注意的其他区域。最好的情况是使所有内容都达到 TLS 版本 1.3。但是,迫切需要消除 1.2 版以下 TLS 版本的使用(及其伴随的漏洞)。



最后的想法

将 Wireshark 与合理的方法和过滤方法结合使用,可以有效,高效地分析网络中 TLS 的使用情况。当与不可捕获的数据包捕获结合使用时,您可以对网络中发生的事情进行详细,完整和确定的描述,从而无需进行猜测即可进行更改。因此,您可以在阻止网络级别的活动之前开始解决 TLS 问题的起源。



通过确定网络中最薄弱的链接,您可以继续消除它们,而不会出现任何令人不愉快的意外情况-并且无需处理愤怒的用户的投诉。



本文是与位于美国佐治亚州亚特兰大市的应用和网络性能咨询与培训公司 Packet Detectives 的首席侦探 Betty DuBois 共同撰写的。自 1997年以来,DuBois 一直致力于解决难题。她在一系列硬件和软件数据包捕获解决方案方面经验丰富,可以在正确的位置,正确的时间捕获正确的数据,以找到真正的罪魁祸首。请访问 bettydubois.com 了解更多信息或与她联系。



本文由机器译制