迅雷应该是此次 XCodeGhost 事件躺枪最严重的了吧

2015-09-19 17:24:07 +08:00
 aa45942

非 5 毛水军,就事论事

很多人都说用迅雷拖官网下载链接下载的 XCode 也会带毒,事实上真的有人试过么?

这类支持离线下载的软件为了保证文件被正确下载,会依照 MD5 值、 hash 等方式判断用户需要下载的文件与服务器保存的文件是否为同一文件吧

由上面一条,被投毒的 XCode 与官方 XCode 从 MD5 到 hash 、大小都不一样,在服务器上就是两个完全不同的文件,怎么可能会发生用户下载的是 A 文件而服务器给 B 文件这种乌龙

不过,确有下载的文件和原始链接不匹配的时候,这种情况即下载的文件与原始文件的特性相同造成服务器误判。

真实例子:先后上传两张 MD5 、大小均相同但内容不同的图片文件到 EverNote ,发现后一张上传的图片下载下来实际上是第一张图

然后证明了一个道理:网上很多人都是看到什么消息就人云亦云当,就像亲身经历一样。

所以现在,坐等有人用迅雷拖 XCode 官方下载链接,然后给出与官方 XCode 不同的 MD5 校验值打脸

6697 次点击
所在节点    信息安全
84 条回复
binux
2015-09-20 19:18:35 +08:00
@aa45942 “那么这样一来就是寻找两个文件使得他们的 MD5 值与指定文件相同了” 我并没有这么说,我说的是两个文件互相相同。
“某两个文件的 MD5 值相同的概率 ” 构造碰撞时,是同时更改两个文件的,所以就是 “有一批文件,其中存在两个文件 MD5 值相同的概率 ”

不多说了, https://marc-stevens.nl/p/hashclash/ 里面论文的概论里面就有对基础知识的概述。
然后, http://blog.binux.me/2012/03/hash_algorithm_of_xunlei/ 这篇文章就是我写的。
aa45942
2015-09-20 19:19:52 +08:00
@juneszh
1.如果你仔细看了我的主题,就会发现我从来没否认“迅雷下载的文件不是源文件”存在的可能性,甚至我还证明了有这种可能

2.如果你说我的是强盗逻辑,那么我倒要问问你了,“迅雷拖官方 XCode 下载链接下载回来的 XCode 带毒”这条结论是怎么成立的,有没有证据?如果你没有证据,我同样可以说你是强盗逻辑(如果你说迅雷下载的文件不是源文件就证明了迅雷拖官方 XCode 下载链接下载回来的 XCode 带毒,那我只能说呵呵,截图、微博、链接都行,但请注意不是从百度网盘上拖的链接,而是官网!你证明了百度网盘拖的带毒 XCode 下载回来带毒那只能证明你在说废话)

3.不管官方声明是不是软文,是不是编造的数据,至少官方给出了证据,而要反驳这条证据,最好的办法就是拿出和证据矛盾的另一条证据或者指出证据的疑点,如果你不能反驳别人提出的证明,那和喷子有什么区别。

4.本来就是一个很容易判断的事实,被网上某些黑子抹了一刀歪曲事实,然后被不明真相的围观群众大肆鼓吹,这才是我感到愤怒的地方,谣言就是这么来的。谣言止于事实,而不是止于自己的猜测

5.你的结论让我想起了一个笑话,如何证明你不是神经病
aa45942
2015-09-20 19:22:33 +08:00
@binux 存在相同和指定他们相同,两者不一样的
就比如 366 个人,肯定存在两个人生日相同,但是我从中指定了两个人,他们两个生日相同的概率依然是 1/365
Cu635
2015-09-20 19:36:14 +08:00
@geeglo “诶嘛呀、搞的好像碰撞这么容易似的。还有工具了,呵呵呵,有本事的话发个工具吧。”

你这话在十年前说还对,但是在 2004 年的时候就已经出现 md5 碰撞的理论论文了: http://link.springer.com/chapter/10.1007/11426639_2 ,基于这篇论文的 md5 碰撞实际实现也在 2005 年有了结果: http://link.springer.com/chapter/10.1007/11506157_23http://infoscience.epfl.ch/record/164540/files/NPDF-33.pdf

新闻报道也是在 2005 年就有了。

所以说你的知识还停留在十年前么……
aa45942
2015-09-20 20:06:24 +08:00
@binux 刚才又仔细回顾了一下你的回复,其实你在意的是工具能否指定 MD5 值吧

事实上,很早就有工具实现修改两个不同文件达到相同 MD5 值( fastcoll_v1.0.0.5 )
现在有没有指定 MD5 修改工具这个确实不知道,这种工具我觉得即便有也不会公布出来(网上倒是有这类工具的截图,但是我下载的时候都会报毒,没敢下来测试)
binux
2015-09-20 20:27:45 +08:00
@aa45942 并不能指定 2 个文件, MD5 碰撞是要同时修改两个文件,使他们计算 hash 时能更接近,以实现加速碰撞。是可以实现“修改两个不同文件”,但是并不能只修改一个使它和另一个不变的文件(即给定 hash )相同。
而在上面的场景中,你是没法修改苹果服务器上的文件的,所以并不能在有效的时间内,构造另一个文件,让它的 hash 和苹果服务器上的文件 md5 相同。
aa45942
2015-09-20 20:57:01 +08:00
@binux
现有技术能不能实现的确不知道,因为即便有这种工具,也不会公开,别人还指着这工具达到某种目的,公开的话 MD5 就废了,然后这个工具也就没用了(目前 MD5 应用广,利益诱人,这种工具会给他们带来很高的收益)
另外,之前所说的是构造两个 MD5 相同大小相同的图片,并未指定 MD5 值。
科技的发展是很快的(王小云的实验需要几个小时,而 fastcoll 只需要几秒钟就完成了碰撞)
比如 37L @znoodl 提供的两个程序就不是依靠尾部添加数据达到的碰撞,我也不相信这两个程序 MD5 相同完全是巧合
那么可以确定的是某些人又发现了可以修改程序 MD5 值而又不破坏程序的运行的方法,甚至是不是可以猜想已经达到了修改程序某些字节而不改变原程序 MD5 的程度

另外,有毒 XCode 的 MD5 值与官方的并不相同,这个和我们讨论的其实是两件事, XCodeGhost MD5 如果与官方相同,那就不仅仅是大事了,那就是席卷整个 IT 界的大海啸
geeglo
2015-09-20 22:28:33 +08:00
@Cu635 存在碰撞但肯定还没到烂大街的程度, md5 值的固定长度就决定了他肯定存在碰撞。

我的认知不是停在数年前,而是我认为:既要生成和原安装包一样 md5 的包,又要保证伪造包可用,又要保证伪造包带毒。目前不可能。
Cu635
2015-09-20 23:57:55 +08:00
@geeglo 看看这篇文章: http://blog.jianguoyun.com/?p=537

“ MD5 最大的问题在于,通过我国的王晓云教授等学者的工作, md5 已经被证明可以进行碰撞攻击。也就是说,攻击者可以产生两个应用程序,内容不一样,但是哈希值完全一样。

在云存储的应用场合中,这种危害表现为攻击者可以伪造一个 Windows 的安装光盘,在其中嵌入木马,通过上述手段让 MD5 哈希值和微软官方发布的光盘签名一致,抢先上传到分享类网盘中。如果该网盘采用 MD5 检查重复文件(例如离线下载服务), 木马就会被植入到希望下载原版光盘用户的电脑中。”

再强调一遍“攻击者可以伪造一个 Windows 的安装光盘,在其中嵌入木马,通过上述手段让 MD5 哈希值和微软官方发布的光盘签名一致”

也许(注意是也许),构造一个 sha1 值相同,又要保证伪造包可用,又要保证伪造包带毒的伪造包,现在还没有一个有效时间内完成的工具。但是 md5 可不是这样了。

“事实上,早在 2005 年, On the possibility of constructing meaningful hash collisions for public keys [7] 提出了一种利用 MD5 Collision 构造 PKI 证书的方法,并且构造出了两个散列值一样,而公钥不同 X.509 证书,以最直接的方式强调了现行 PKI 系统的脆弱性。 2007 年, Chosen-prefix Collisions for MD5 and Colliding X.509 Certificates for Different Identities [12] 中用特定前缀的 MD5 碰撞对,为不同 ID 构造出具有相同 MD5 值的 X.509 证书。 2008 年 12 月, 25th CCC ( Chaos Communication Congress )会上,研究人员里用 MD5 碰撞创造假的数字证书认证( certificate authority ),利用 200 台 PS3 ,他们能在短时间破解 SSL 加密。安全研究人员利用 200 台 PS3 攻击 MD5 算法,创造了一个假的来自可信 CA 的数字证书。”

注意,这一对 md5 值相同的 X.509 证书都是合法的,可用的。

你说的对于可执行文件这“不可能”的情况大部分是在黑产里面,所以说知道的人比较少。看看这个帖子吧: http://lcx.cc/?i=1822

如果你还是视而不见的话,那我只能说要怀疑你的人格问题了。

另外在迅雷下载文件损坏这个问题上,只要迅雷找到的一个文件块是同名不同内容文件的,这文件就是坏了,不需要那么强的条件。
geeglo
2015-09-21 08:25:30 +08:00
@Cu635 我看了,还看了这个 http://lcx.cc/?i=2680 请看方案 2 另外,你慢慢怀疑吧。呵呵
lnkisi
2015-09-21 09:25:49 +08:00
就是两个不同的文件,迅雷都是用 GCID 来标识文件的。
helloyang
2015-09-21 09:28:05 +08:00
@geeglo @Cu635 你们二人给的网站 小红伞 chrome 插件显示警告 ,可能已对计算机产生危害,岔个话题,这两个网站应该有什么问题
helloyang
2015-09-21 09:50:35 +08:00
是 Avast 更正 ps 这网站介绍的好霸气
lawder
2015-09-21 16:44:36 +08:00
@atan 跟你一样,我也是下这个微软虚拟机镜像, 2 次都不一样,从此以后就很少用迅雷下载了。
aa45942
2015-09-21 17:18:09 +08:00
@geeglo MD5 的应用就单单是校验程序?你看了那个方案二就相信了?少年我只能说你图样图森破
黑客界从来不惮以最坏的恶意来推测他人用心。
某些黑客界的大神密码、算法学水平远远超过大学教授,你怎知他人不能改进碰撞算法,又怎知他人没有使用先进的超级计算机的机会?最简单的例子,在王小云的论文出来后曾有人说伪造数字证书不可能, 69L 就是打脸的例子

比如,若黑客掌握了指定 MD5 碰撞的技术,那么以 MD5 加密的密码就不再保险,无论你设的密码多复杂,黑客只要知道你密码的 MD5 值,就等于知道了你的密码

再仔细想想就知道,为什么这么多安全专家(非砖家)说 MD5 已经不再安全,需要靠多种方式校验,如果按你说的“不可能”,那干脆只使用 MD5 就好了,何必多此一举再验一次
binux
2015-09-21 17:19:49 +08:00
@Cu635 “攻击者可以伪造一个 Windows 的安装光盘,在其中嵌入木马,通过上述手段让 MD5 哈希值和微软官方发布的光盘签名一致” 不可以, 碰撞是要求能同时修改碰撞双方的两个文件, 指定 hash 值寻找碰撞, 难度上升 2^64 倍
aa45942
2015-09-21 17:24:02 +08:00
@binux 其实这个倒不必担心,安装盘一般用 MD5 和 SHA1 两个值来校验
geeglo
2015-09-21 17:56:43 +08:00
@aa45942 要不我发个 火狐浏览器的 安装包给你,然后你发我一个 MD5 相同且带病毒能运行的?
你可能又会讲,你找不出不代表不存在。黑客啥啥的可能早就掌握了。

大哥啊,给定 MD5 ,要产出一个相同 MD5 的文件已经不容易了,还要实现原来安装包的功能,又要。。。。 这,又不是随便算几天就能出来的。


另外,我觉得和你争论没意义,我说的不可能是有前提的。我不是在坚持:( MD5 不可能相同这个观点)
aa45942
2015-09-21 18:47:07 +08:00
@geeglo MD5 的应用领域有这么多,为什么非要干伪装校验这种吃力又没卵用的事,黑客真没你想的这么 2
这么个假设吧,黑客做中间人窃听用户与服务器之间的通讯,因为用 MD5 碰撞创造了一个假的来自可信 CA 的数字证书(若能指定 MD5 ,那就是伪造了一份可验证的服务器数字证书,不过没人会检查可通过验证的证书是不是和以前的证书一样,所以黑客完全没必要指定 MD5 ),截获了用户本应发往服务端的加密数据包。
然后就是你要的实际意义了:哪天你用了网银在完全正常的网站付了一次款,然后发现你银行卡里的钱被转走,你甚至不知道钱是怎么丢的

伪造文件等待别人安装?你的观念还停留在十几年前
如果是我是黑客,我甚至不需要让你安装伪装文件,你所浏览的一切网页、发出去的每一个数据包都有可能能被我控制

当然,黑客不会对普通人干这种事,因为这么干了,等于逼着让全球安全领域的人掘地三尺把他(们)找出来,因为这样代表这个黑客正在威胁全球互联网络,你并不知道也不会知道是否会有人有能力干这件事,这种事情一旦连普通人都知道了,代表的要么是这种技术早就被淘汰,要么就是要发生大事

另外,就 XCodeGhost 事件来说,有传言说 CIA 早在 3 月就知道了,而 XCodeGhost 被爆出通讯过程容易被第三人攻击,你就可以想想这 6 个月 CIA 能从中获得什么。黑色世界真的没你想的这么简单
geeglo
2015-09-21 19:52:06 +08:00
@aa45942 你懂的真多,我借用你自己发的一句话:网上很多人都是看到什么消息就人云亦云,就像亲身经历一样。


另外,从你的言论中我只看到了说教,完全没见到实质的证据。想一下应该是因为我的观念落后了十年。
呵呵呵。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/222018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX