Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

Debian可信任──关于OpenSSL那个问题

12/02/08。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


好几个月以前的事了,就是Debian Linux发行版中OpenSSL这个很重要的包被Debian开发者修改,从而降低加密可靠度的问题。Slashdot上有很多讨论,主贴就质疑Debian,这是很不科学的。

这个事情,其实告诉我们Debian的开发者,也就是俗称的DD们,真的要看他们维护的代码;这个事情还是挺出乎我的意料的,毕竟DD们也并不总是开发者,更不总是特别牛的人,维护某个包不一定就很熟悉那一门的专业知识。这些东西不在DD的要求里面(基本的编程知识是要求的)。

事情就是某位DD看了这个代码(起因也可能是某工具报警),发现一个没有初始化的变量就直接使用了,然后他安全起见,就把这个变量初始化一下,给了个Null。没想到这个没有初始化的东西是原作者用来当作随机数的一部分的,随机数是用来加密的,这样一来,这个随机就没了,只剩下当前进程的ID号作为随机数,而Linux上ID号是个整数,2^15那么大,所以就不够大,更不够随机,总是存在猜测出来的可能性了。这就是那个Bug的问题所在。

好像这个问题在2年多的时间里也没有造成什么问题,这当然是侥幸了。但是,虽然有许多其他意见,比如认为DD太傻,老改人家代码之类,我还是认为这个发行版的人们很靠谱,很认真。Debian走到今天,不是没有原因的。


12/02/08 14:17:32,由cathayan发表。目录:电脑

6条评论

做这个修改的 dd 可能有洁癖,比如看不得编译 warning 之类。

洁癖有时不是坏事,如果像 edyfox 说的那样,到 openssl 邮件列表嚷嚷了一通也没人理,那确实无法苛求了。

只是,这样做本身,已经违反了 do not fix it if it is not broken 原则。

http://lymanrb.spaces.live.com lyman 于 12/02/08 14:44:45 发表. 

内存检查记得用的是valgrind。收费的工具有Purify,free的也就是Valgrind了。

roy_hu 于 12/02/08 15:05:51 发表. 

我觉得是原作者的注释写得不够清楚, maintainability不好才导致这样的问题.

Albert 于 12/02/08 20:25:56 发表. 

我觉得 openssl 的 maintainer 已经尽力了,虽然有些鲁莽。

去 mentors-debian 看看一个新的包进入 Debian 有多难,就知道 Debian 的维护者和 DD 有多认真了。当然,他们有的时候也会犯错。但是 Debian 的规章制度和维护者执着的信念让我们相信 Debian 在很长时间里仍然会有它的影响力的。

http://tchaikov.blogsome.com tchaikov 于 12/02/08 21:07:23 发表. 

不光是注释不好,似乎还有另一个问题就是他在程序里同一个名字却用了两次,用于不同的目的,更加混淆,当时在另一个Blog上看来的。再说那个方法实在也太tricky了点。

haha 于 12/03/08 09:34:16 发表. 

还是觉得,足够而且清楚的注释,
是能够避免这种情况发生的。

http://www.fwolf.com/blog Fwolf 于 04/08/09 01:42:00 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.