Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于在近期收到的数个漏洞的项目组公告 #2542

Closed
xiaokangwang opened this issue Jun 3, 2020 · 22 comments
Closed

关于在近期收到的数个漏洞的项目组公告 #2542

xiaokangwang opened this issue Jun 3, 2020 · 22 comments

Comments

@xiaokangwang
Copy link
Contributor

xiaokangwang commented Jun 3, 2020

V2Ray 项目在最近的几天内收到了数个隐匿性能方面的漏洞报告。这些漏洞都在被提出的数个小时内被解决(除 mKCP 修复暂缓)并发布相关更新。您可以升级到最新版本 v4.23.4 来获取最大程度的保护。我们支持和鼓励寻找并提出 V2Ray 各个方面漏洞的人。我们希望 V2Ray 的用户不要指责或者攻击为我们提供安全审计的人士。

可以使用

如果你已经升级到 V2Ray v4.23.4,并且没有开启 TLS 的 AllowInsecure 选项,以下配置组合不会泄露识别信息:

VMess over Websocket with TLS
VMess over TLS
VMess over HTTP/2 (使用 TLS 的 HTTP/2,并非 h2c)
Shadowsocks(AEAD) over Websocket with TLS

谨慎使用

以下配置组合可能会在攻击者位于网络路径上时可能会使攻击者获得的协议数据的一些统计学属性,但是这些信息不足以用于确定服务器上部署了这些协议

VMess over TCP (还在继续改进中)

并不建议

以下配置组合不建议用于穿越被攻击者控制的网络:

任何协议 + SOCKS5
任何协议 + HTTP 代理
任何协议 + HTTP 伪装
任何协议 + mKCP + 任何伪装

漏洞认定和影响

我们把这次几个VMess实现的漏洞归纳为隐匿性欠缺考虑,原因为在项目形成初期(2017~2018年),网络流量审查防火墙机制并未迭代至目前带有回放探测机制的级别。VMess 的实现过于注重性能,未能考虑停止读取和关闭连接会泄露协议处理分支走向的问题。

但是区别于信息安全性漏洞,隐匿性欠缺的结果可能是服务器地址被屏蔽,对用户通信的机密性能、信息完整性能没有影响。但是作为一个作为翻墙软件被用户记忆和相信的程序,我们认为这些问题属于安全性问题,会在被报告后立刻进行修复( mKCP 修复暂缓)。

如果您将 VMess 流量通过其他隧道(如 IPLC , Kcptun )发送,那么这个配置的隐蔽性取决于这个隧道。

我们会继续为 V2Ray 提供安全更新并加入新功能。因此并不需要对这些漏洞过度担心,只需要及时更新程序就可以避免被发现和封锁。毕竟 V2Ray 程序的更新速度肯定是显著快于 GFW 等识别程序的更新速度的。

为了更快的获取未来的更新,建议所有用户以及客户端脚本开发者自 https://github.com/v2fly/v2ray-core/releases 下载更新数据。

误传和理清

此前有传播的说法是启用 AllowInsecureCiphers 选项,如今此方案不再需要。
不管 AllowInsecure 还是 AllowInsecureCiphers,都是跳过安全检查或降低安全标准的一个不应当在任何不可控传输通路中用于生产的选项,不存在所谓的“开了更安全”。

技术细节

TLS 协议的相关漏洞

V2Ray 之前会根据算法是否安全选择对应的加密参数,在更新后加密参数会保持和 Go 语言默认值相同,阻止位于网络路径上的攻击者识别客户端类型。

VMess 协议的相关漏洞

VMess 的漏洞在于服务器在读取分析协议内容必要的数据之后就会立刻关闭连接。因此根据认证信息错误,认证信息正确但是连接密钥重复,认证信息密钥不重复等情况会在读取定长的数据后关闭连接。通过判断程序读取多少字节的数据后关闭连接,可以判定分析出程序的内部处理分支以识别监听程序类型。
我们通过根据 UUID 程序性生成读取长度和读取长度抖动,并在判断连接合法性后继续读取数据直到读取到生成的读取长度为止消除了此特征。

假 HTTP 头伪装的相关漏洞

V2Ray 中的 HTTP 头伪装的 HTTP 实现与标准 HTTP 实现不一致,已经在最新的更新中通过进一步逼近 HTTP 标准库的实现来进一步提高相似度,抵抗主动探测。在修复后的 HTTP 头伪装协议仍然和 HTTP 协议一样没有加密,无法阻止位于网络路径上的攻击者使用特化工具进行识别,只能用于对抗运营商对于未知流量的 QoS ,限速和劣化。

mKCP 的相关漏洞

mKCP 目前未实现加密功能,无法阻止位于网络路径上的攻击者使用特化工具进行识别,只能用于对抗运营商对于的 QoS ,限速和劣化。

尾声

V2Ray 的开发和发布仓库已经移动至 https://github.com/v2fly/v2ray-core ,请开发者以此仓库的内容为基准,并将PR发布至这里。

V2Ray 项目组在过去的一段时间内经历了一些较大的变动。但是我们会坚守在这里,带着最开始的目标,继续和你一起去看那边的世界。

V2Ray/V2Fly

@noah137
Copy link

noah137 commented Jun 3, 2020

第一次知道shadowsocks可以over tls

@MinGGeMG-sourcecode
Copy link

MinGGeMG-sourcecode commented Jun 3, 2020

建议将此 issue 置顶(pin)

@xiaokangwang xiaokangwang pinned this issue Jun 3, 2020
@RPRX
Copy link
Contributor

RPRX commented Jun 3, 2020

感谢你们的付出,以及找出这些漏洞的人们

@HynoR
Copy link

HynoR commented Jun 3, 2020

发现漏洞是好事,每个制定的协议不可能是完美无缺的。相信v2ray作为抗封锁工具能创造更多可能

@MonNomSontPasUtile
Copy link

MonNomSontPasUtile commented Jun 3, 2020

As for now, V2Ray, or V2Fly, is the only fully featured encrypted proxy with custom routing, DNS resolving and much much more, and its stunning ability to bypass the state-founded information border has surprised and attracted people from Mainland China, Iran, Uganda and beyond. Any audit, review or improvement of this amazing encrypted proxy software is pushing its perfectibility further, which is greatly appreciated and welcomed by its users, I personally think. I sincerely hope Project V will last as long as possible.

@iseki0
Copy link

iseki0 commented Jun 3, 2020

感谢聚聚们的辛勤劳动,iseki致上最诚挚的谢意(

@stamhe
Copy link

stamhe commented Jun 3, 2020

感谢项目组和为v2项目提供安全审计的所有人士。。。

@1265578519

This comment has been minimized.

@zhongqiujie13
Copy link

zhongqiujie13 commented Jun 4, 2020

感谢你们的付出🙏

@kakaruoterl
Copy link

kakaruoterl commented Jun 4, 2020

感谢你们所做的工作,安全方面VMess over TCP with tls 是否也不推荐了?

@blueinkgz
Copy link

blueinkgz commented Jun 4, 2020

谢谢,加油!

@jiemo9527
Copy link

jiemo9527 commented Jun 4, 2020

quic是否存在风险?

@aaronlam
Copy link

aaronlam commented Jun 4, 2020

感谢!

@sixg0000d
Copy link

sixg0000d commented Jun 4, 2020

感谢你们所做的工作,安全方面VMess over TCP with tls 是否也不推荐了?

同问

@sayainchina
Copy link

sayainchina commented Jun 4, 2020

有批评才会有进步,感谢v2ray社区与审计出问题的人,希望v2ray越做越好

@proxysu
Copy link

proxysu commented Jun 5, 2020

感谢V2Ray项目组及找出安全漏洞的人们!
墙一直在提高翻墙软件的使用成本及技术门槛,因为其知道,懂技术的人,是永远封不住的,墙只要提高翻墙软件的使用成本及技术门槛,封住99%的不懂技术的人,就是成功了。
个人认为翻墙软件,能友好方便的组建机场,这个也很重要,再一个就是尽可能的降低使用门槛。现在各种一键脚本很多,很方便。我不太精通写脚本,我用C#写了一个小工具,可以一键安装种翻墙代理,包括V2Ray,Trojan,Trojan-go,NaiveProxy。链接就不发了,会被认为是打广告,有兴趣的可以点我头像去看看。
我觉得降低翻墙软件的使用门槛,是很有必要的。也是我写这个小工具的原因。
再次感谢V2Ray项目组及找出安全漏洞的人们!没有你们时间与精力上的付出,翻墙也不会这么容易!

@edmund-zhao
Copy link

edmund-zhao commented Jun 5, 2020

感谢你们的付出,如果可以,可以请你们喝杯咖啡

@man2018
Copy link

man2018 commented Jun 6, 2020

支持 大爱

@xinlonzh
Copy link

xinlonzh commented Jun 6, 2020

感谢你们的坚守!

mritd added a commit to mritd/dockerfile that referenced this issue Jun 6, 2020
reference v2ray/v2ray-core#2542

Signed-off-by: mritd <mritd@linux.com>
mritd added a commit to mritd/dockerfile that referenced this issue Jun 6, 2020
reference v2ray/v2ray-core#2542
close #105

Signed-off-by: mritd <mritd@linux.com>
@hy817120
Copy link

hy817120 commented Jun 16, 2020

感谢你们的无私奉献, 让这黑暗的社会有那么一些光明,你们的存在,是无论什么时候都有正义和光明,
再次衷心感谢你们.

@galvasis193
Copy link

galvasis193 commented Jun 16, 2020

TLS协议的相关漏洞 => 客户端更新到4.23.2+版本可以修复
现有Vmess协议的相关漏洞 => 客户端服务端同时更新到4.23.4+可以修复
新协议Vmess AEAD => 客户端服务端同时更新到4.24.2+,更改配置文件后可以启用
假HTTP头伪装的相关漏洞 => 服务端更新到v4.23.4+可以修复
mKCP相关漏洞 => 客户端服务端同时更新到4.24.2+, 更改配置文件后可以修复

@nathanielhawthorne
Copy link

nathanielhawthorne commented Sep 30, 2021

加油

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests