安全研究人员发现了一个新漏洞,使潜在的攻击者可以劫持受影响的* NIX设备上的VPN连接,并将任意数据有效载荷注入IPv4和IPv6 TCP流中。
他们向发行版和Linux内核安全团队以及其他受影响的系统(如Systemd,Google,Apple,OpenVPN和WireGuard)披露了跟踪为CVE-2019-14899的安全漏洞。
已知该漏洞会影响大多数Linux发行版和类Unix操作系统,包括FreeBSD,OpenBSD,macOS,iOS和Android。
下面提供了当前不完整的易受攻击的操作系统及其附带的初始化系统的列表,一旦测试并发现受影响的操作系统,便会添加更多列表:下面提供了当前不完整的易受攻击的操作系统及其附带的初始化系统的列表,一旦测试并发现受影响的操作系统,便会添加更多列表:
• Ubuntu 19.10 (systemd)• Fedora (systemd)• Debian 10.2 (systemd)• Arch 2019.05 (systemd)• Manjaro 18.1.1 (systemd)• Devuan (sysV init)• MX Linux 19 (Mepis+antiX)• Void Linux (runit)• Slackware 14.2 (rc.d)• Deepin (rc.d)• FreeBSD (rc.d)• OpenBSD (rc.d)
这个安全漏洞“允许网络相邻的攻击者,以确定是否另一用户连接到VPN,它们已经由VPN服务器分配的虚拟IP地址,以及是否不存在于给定的网站的活动连接,” 根据给William J. Tolley,Beau Kujath和Jedidiah R. Crandall,新墨西哥大学的Breakpointing Bad研究人员。
研究人员说:“此外,我们还可以通过计算加密的数据包和/或检查它们的大小来确定确切的序列号和确认号。这使我们能够将数据注入TCP流并劫持连接。”
利用CVE-2019-14899进行的攻击可对抗OpenVPN,WireGuard和IKEv2 / IPSec,但研究人员仍在测试其针对Tor的可行性。
他们还指出,所使用的VPN技术似乎并不重要,因为即使在从目标获得的响应被加密的情况下,攻击也仍在测试过程中起作用,因为数据包的大小和发送的数据包的数量足以发现通过加密的VPN隧道传送的数据包的类型。
在Ubuntu 19.10发行之前,这种攻击对我们测试过的任何Linux发行版都没有作用,并且我们注意到rp_filter设置被设置为“宽松”模式。我们看到systemd储存库中sysctl.d / 50-default.conf中的默认设置已于2018年11月28日从“严格”模式更改为“宽松”模式,因此在此日期之后使用未修改配置的systemd版本进行分发现在很脆弱。我们测试的大多数使用其他init系统的Linux发行版都将值保留为0(Linux内核的默认值)。
研究人员发现,他们测试的大多数Linux发行版都容易受到利用此缺陷的攻击的攻击。他们还发现,所有使用2018年11月28日之后发布的 systemd版本的发行版(带有从严格模式切换到宽松模式的反向路径过滤)都容易受到攻击。
鉴于此,在此日期之后使用默认配置的systemd版本的所有Linux发行版都容易受到攻击。
值得注意的是,尽管某些发行版本的特定systemd版本易受攻击,但已知该漏洞会影响各种init系统,并且不仅与systemd有关,如上面可用的受影响的操作系统列表所示。
此外,网络安全顾问Noel Kuntze 在对公开报告的回复中说,此漏洞仅影响基于路由的VPN实施。
一名所谓的Amazon Web Services员工还表示, 利用此漏洞的攻击未影响Amazon Linux发行版和AWS VPN产品。
根据研究人员的说法,缓解是可能的,并且有可能通过打开反向路径过滤,使用bogon过滤(过滤虚假的IP地址)或在加密的数据包大小和定时的帮助下实现。
这些是运行旨在利用此漏洞并劫持目标的VPN连接的攻击所需的步骤:
1.确定VPN客户端的虚拟IP地址2.使用虚拟IP地址推断活动连接3.使用对未经请求的数据包的加密答复来确定活动连接的顺序和确认号,以劫持TCP会话
在此处公开提供的披露报告中,详细说明了在Linux发行版上重现该漏洞的完整过程。
该研究小组计划在找到适当的解决方法后,发表一篇对该漏洞及其含义进行深入分析的论文。