delphij's Chaos
选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
今天 John-Mark Gurney 修正了一个影响过去4个月左右的 FreeBSD -CURRENT 的随机数发生器问题,具体受影响的版本是 r273872(引入问题)到 r278907 (修正)。
由于问题只影响 -CURRENT,因此我们不会就此发表安全公告。
问题的影响:在对随机数发生器 (/dev/random)进行重构的过程中,原先为内核 arc4random(9) API 进行初始化(seeding)的部分没有正确地在新的随机数处理器上线(randomdev_init_reader)时进行配置,导致内核一直使用 dummy RNG 来生成 arc4random(9) 的种子。由于 dummy RNG 的输出范围有限(大约 2^30),导致 arc4random(9) 的输出容易预测。
由于 arc4random(9) 同时也用来在用户态代码中产生随机数种子,因此这个问题也连带影响了用户态的随机数生成(由于 arc4random(9) 在内核中被广泛使用,因此或多或少地减弱了这个问题的实际影响,但我们建议用户不要因此而产生侥幸心理)。
我们建议使用这些版本的 FreeBSD -CURRENT 的用户 立即 升级到最新的 -CURRENT,同时销毁并重新生成在这段时间内生成的全部私钥。
Read more...翻了个船,记一笔。题目如题。
Read more...对口相声选段:Node.js Is Bad Ass Rock Star Tech。视频
p1: And in conclusion we have found Apache to be an excellent server for our web applications. Any questions?
p2: Yes, I have a question. Why didn’t you use node.js? node.js is an event driven, non-blocking IO server that can be used to build high-performance web applications.
p1: That is an excellent question. We evaluated several alternative web servers and concluded, that while options like node.js are very interesting, Apache meets our needs and has a solid track record.
p2: But it doesn’t have performance. Everybody knows that Apache applications are slow because they use blocking IO and have context switches.
p1: That’s a commonly held belief that threaded web servers are somehow less performant or as scalable than event based servers. In fact, if you measure carefully, you will find that both models have similar performance characteristics.
p2: Threads don’t scale. Simple as that.
Read more...将近三年前搬家的时候买了一台三星 WF350ANW/XAA 洗衣机,结果上周发现门合不上了。上网找到了 这个视频,发现更换并不麻烦,打电话给三星,对方说已经过保,于是决定自己动手修理一下。
首先是断开电源和水源。
拆解比较简单:首先用尖嘴钳从洗衣机下部胶皮中将弹簧拽出(这是一个细金属丝+弹簧构成的圈,用来箍住橡胶皮隔水圈),然后小心将橡胶隔水圈拆开。接下来把门锁的螺丝拧掉,然后把它取出(有连接线)。
首先将外面的塑料外壳卸下(有两个比较重要的塑料卡隼)。接下来将连接的线断开。
拆下来以后,发现最下面的螺丝所在的位置的塑料裂开了,同时在这个地方发生了比较严重的开裂。
由于是受力的地方,而采用的材料是较为廉价的塑料,因此可以预见这个部件在未来还是会发生问题。
安装过程基本是拆解过程反过来,其中比较费力的部分是将金属圈装回的部分,基本上要把圈上到3/5左右,剩下的部分用 iFixIt 套件中的 Spudger 在两侧同时用力来装上。
Read more...The tide recedes, but leaves behind bright seashells on the sand.
The sun goes down, but gentle warmth still lingers on the land.
The music stops, yet echoes on in sweet, soulful refrains.
For every joy that passes, something beautiful remains.
– Hardin Marshall via
Read more...WhatsApp CEO及创始人 Jan Koum 宣布捐出一百万美元给 FreeBSD基金会。这是 FreeBSD 基金会成立十五年以来收到的 最大一笔捐款。
Jan Koum 在他的 Facebook 页面上写道:
Last week, I donated one million dollars to the FreeBSD Foundation, which supports the open source operating system that has helped millions of programmers pursue their passions and bring their ideas to life.
I’m actually one of those people. I started using FreeBSD in the late 90s, when I didn’t have much money and was living in government housing. In a way, FreeBSD helped lift me out of poverty - one of the main reasons I got a job at Yahoo! is because they were using FreeBSD, and it was my operating system of choice. Years later, when Brian and I set out to build WhatsApp, we used FreeBSD to keep our servers running. We still do.
Read more...
详情参见 Google Online Security Blog。
说两个我认为比较有意思的事情:
第一个是 Google 并没有公布作为证据的证书。由于证书是以 CA 的私钥签署,因此这类未经授权的证书本身就可以作为证据。但是,Google这样做(不公布证书)意味着签发者不得不销毁全部签发的证书,而不仅仅是被公布的那些。
第二个是 Google 在 Chrome 中限制,而不是直接删除或禁止了负有责任的根CA: India CCA 的许可范围。我认为这是远比禁止使用或删除根CA更好的做法(同样的原则也适用于几年前 Mozilla 基金会决定接纳 CNNIC 证书),原因如下:
接上回书。
启用 virt-net 支持。采用 RedHat 的 virtio-win-0.1-52.iso 版本驱动,这是最后一个可以在 Windows 2003 上安装的版本,之后(0.1-59 及以上)的版本均有问题,这里先记一笔,等有空的时候再看看到底 KVM 把哪儿改错了。换网卡的过程中需要重新激活 Windows,直接网上激活即可。
将原有的 IDE 控制器换成 AHCI 控制器。这个其实主要是体力活:先切换芯片组并增加一个 AHCI 控制器,启动 Windows,然后在 Intel 网站找到 AHCI Windows 2003 的驱动(F6那款,以前装 Windows NT 时代插软盘的那种),那个未知设备就是虚拟出来的 Intel AHCI 控制器,选中刷掉驱动。重启后可摘除 IDE 控制器,并将磁盘挂到 AHCI 控制器上。
然后注意在 Windows 2003 中启用磁盘的 Advanced Performance,在换控制器的时候会需要。
Read more...我知道这是个十分蛋疼的需求。
这篇 介绍了如何转换,但是实际情况是进 Device Manager,打开 Computer,只会看到两个适用于单处理器的选项(一个ACPI,一个非ACPI)。
仔细查资料发现需要使用一个叫 DevCon 的工具。Q311272 可以下载这个工具。DevCon 可以绕开 Device Manager 的一些限制。
接下来是暗黑科技:
SET HAL=ACPIAPIC_MP
devcon.exe sethwid @ROOT\ACPI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP
devcon.exe sethwid @ROOT\ACPI_HAL\0000 := +%HAL%
devcon.exe update %windir%\inf\hal.inf %HAL%
devcon.exe ReScan
然后重启即可。这一操作适用于在虚拟机中安装了Windows 2003,然后主机升级,增加内存及CPU数量之后的情形。
Read more...今天早上4点多就爬起来准备发安全公告(友商约的是早上5点发),一刷,OpenSSL官方已经正式发表了(时间大约是4点30),于是立即开始相关手续,commit修正,发公告,通知CERT,这些不表。
总体来说,这次安全公告比之前 Heartbleed 那回要有序的多,这主要归功于上回大家的声讨以及 Solar Designer 同学做的友商提前告知列表。大致时间线如下:
本次问题可分成两类:SSL/TLS 和 DTLS。DTLS 常见于采用 UDP/SCTP 等 datagram 协议的应用,实际影响范围较小。
SSL/TLS 方面,CVE-2014-0224 CCS协议可在任意状态下使用的问题,可导致中间人攻击,后果严重,利用容易(可改变网络数据即可)但实际影响面较小,因为大部分人使用的浏览器并不是用 OpenSSL 来实现 SSL/TLS 支持的。但对邮件本身未做加密的邮件来说,基本等于是全军覆没了。这个漏洞存在了约16年,是的,十六年。发现者blog [英文]。我想,可能搞个可以形式证明的描述语言来重写SSL/TLS的实现才是正路?
另一个 CVE-2014-3470 可导致崩溃,影响较小一些。
值得一提的是,这次的一个 DTLS 问题 CVE-2014-0195 (可有任意代码执行之虞)也是上回引入 Heartbleed 的 Robin Seggelmann 引入的,呵呵。
总体来说,我觉得这批漏洞让人觉得有些绝望。 OpenSSL 有非常多的问题,但其中有很多必须对协议十分理解才能看出来,而另一方面看出来了报告给开发者也无非是得到几句赞扬而已。在现在这个年代,有能力看出来问题的人未必不会选择找个好的买家把漏洞卖掉。这种趋势十分危险,而最近几年有愈演愈烈的趋势。
Read more...