选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
我知道这是个十分蛋疼的需求。
这篇 介绍了如何转换,但是实际情况是进 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 协议的应用,实际影响范围较小。
\[[英文](http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html)\]。我想,可能搞个可以形式证明的描述语言来重写SSL/TLS的实现才是正路?
另一个 CVE-2014-3470 可导致崩溃,影响较小一些。
值得一提的是,这次的一个 DTLS 问题 CVE-2014-0195 (可有任意代码执行之虞)也是上回引入 Heartbleed 的 Robin Seggelmann 引入的,呵呵。
总体来说,我觉得这批漏洞让人觉得有些绝望。 OpenSSL 有非常多的问题,但其中有很多必须对协议十分理解才能看出来,而另一方面看出来了报告给开发者也无非是得到几句赞扬而已。在现在这个年代,有能力看出来问题的人未必不会选择找个好的买家把漏洞卖掉。这种趋势十分危险,而最近几年有愈演愈烈的趋势。
Read more...初步尝试了一下 Google Compute Engine(G社类似 Amazon EC2的产品,基于 Linux/KVM)。确认 FreeBSD 可用(在家里用qemu建一个image出来,装好,然后打包扔到 Google 的系统上,然后用这个包建一个image,再用image起个instance)。
几个比较显著的坑:
存到盘上的数据据说是加密的,不过个人认为扔到 Internet 上的数据基本就没有隐私可言了,有加密自然可以阻止一些泄密(例如如果一家创业公司想要保存一些患者信息,那么在 Google 本身不被黑掉且他们遵守一系列安全设计准则的前提下,他们至少不用担心由于硬盘坏掉,替换硬盘时这些数据被第三方厂商偶然得到),但基本上跟家里的门窗结实程度一样,你懂的。
实际测试,虚拟网络至少可以做到 100Mbps 跑满(对 Internet)。我认为对大部分普通应用而言应该是够用了。比较遗憾的是本地读写性能忘记测试了,等有时间再研究一下(看 这里 估计太快不了;可靠性方面,据说有内建冗余和校验和检查,不知道实际情况如何,个人感觉可靠性应该还不错)。
Read more...大通银行最近经常发一些其信用卡的 balance transfer 的活动。这种 offer 的特点是提供两张支票(一般来说有效期在2个月左右),通常提供18个月的免息期。
由于这种 offer 要收 2% 或 $5(以两者中较高者为准),所以我之前基本是直接碎掉的。今天和一位同学讨论了一下,发现似乎不是完全不存在合理价值,当然这次这份我还是要碎掉,但先把这个观点记下来,等以后有机会再做评估。
想要充分利用这种 offer,需要满足下面全部条件:
我个人认为意义不太大:现金流不足的时候似乎应该采取更稳健的投资策略而不是继续举债?而如果现金流充足的话,为什么要举债投资呢?(毕竟信用卡的额度通常不会让一个人的现金流增加数倍,吧?)但是假如有很可靠的高收益投资机会,似乎并不是太坏的选择,只是在充分竞争的市场中出现这种投资机会应该不太常见就是了。
Read more...今天看到 John Baldwin commit 的这个 r266391 增加了相关支持。
RDSEED 和 RDRAND 的区别是 RDRAND 采用的是 128-bit AES 密钥的 CTR-DRBG,而 RDSEED 则是直接从真随机数发生器中获得输出(两者并不是直接使用真随机发生器的输出,这些输出是做过 AES-CBC-MAC 处理的,防止外界通过观测输出了解内部运行的细节),较慢,后者具备 multiplicative prediction resistance 特性。
具体细节可以参考 Intel® Digital Random Number Generator (DRNG) Software Implementation Guide 和 The Difference Between RDRAND and RDSEED。
Intel 的后一份文档中建议实现 PRNG 时使用 RDSEED,不太清楚这样做是否会同时复位 RDRAND 的状态?假如不复位的话,这样做似乎也意义不太大?(PRNG 的实现者应该从更多的地方收集 entropy 而不是假定真随机发生器的输出可信)。
此外, DRNG 用的 AES-CBC-MAC 这个事情,我认为是一把双刃剑(虽然用比不用要好),因为这样一来便很难验证来自硬件的随机数是否具有某些特性了(此外我找到的文档也没有具体描述如何 AES-CBC-MAC 是如何使用的)。
Read more...由于送修 iPad 最终没有修好,因此店家给提供了一台二手的 iPad。作为不折腾就会死星人我觉得显然应该重刷一遍固件(卖家已经重新清空了数据),因此做了一次 DFU mode 固件更新。
具体做法是先把 iPad 接在 Macbook 上,同时按住 power 和 Home。等待大约10秒后屏幕變黑,此时按住 Home,等到 iTunes 上可以看到 Recovery 为止。
然后就是刷 iOS 和恢复数据了,此前过程中在网关听包未见明显异常。
Read more...这次 Heartbleed 安全漏洞之后,阿里巴巴集团的多个产品均迅速修复了漏洞(好事),但事后的公关处理做的却有待改进。
我在微博上看到有人转发 阿里安全 在4月9日13:01发表的一篇微博,内容如下:
关于OpenSSL某些版本存在基于基础协议的通用漏洞,阿里各网站已经在第一时间进行了修复处理,目前已经处理完毕,包括淘宝、天猫、支付宝等各大网站都确认可以放心使用。
大家可以放心了!
我并不是阿里巴巴/支付宝的客户,不过看到有人转发这条消息,我半开玩笑地 回了一句:
Read more...冲这句"大家可以放心了"就没法放心了……
又一次出手为民除害了! Undeadly报道: OpenBSD has started a massive strip-down and cleanup of OpenSSL。
这次 Heartbleed 的事情搞的我十分不爽,这事固然不能全怪 OpenSSL 的开发者,但是整个过程非常的让人不舒服,具体的就不多说了。等过个几十年再回头看看这次这件事情再说吧。
OpenBSD 目前对 OpenSSL fork 的改进主要包括:
我个人非常希望 OpenBSD 的 fork 能够成功,那样的话我们就可以在几年以后(已经发布的版本还需要继续支持一段时间)彻底从 FreeBSD 基本系统中砍掉 OpenSSL 了。
Read more...去年第四季度的时候,在网上看到 华擎科技 推出了一款基于 Intel Atom C2750 SoC 的主板, Asrock C2750D4I,感觉很赞,于是立即和华擎科技取得了联系(当时这款主板还没进入量产),并着手开始了测试等工作。这张主板的重要特色包括:
此处强行插入一条广告: 我厂 目前这一代的 FreeNAS Mini 采用了这张主板,组装好的产品可以通过 Amazon 购买,我厂每年都会将一部分利润捐给 FreeBSD 基金会,如果先 在 smile.amazon.com 注册支持 FreeBSD 基金会,并使用前述链接, Amazon 公司还会再捐出 0.5% 的金额给 FreeBSD 基金会。
目前这张主板已经进入了量产阶段,因此也可以从其他零售渠道获得相关组件自行组装。
Read more...这是我加入 FreeBSD Release Engineering Team (re@) 之后,我们发布的第一个主要(X.0)版本。
这个版本对整个系统进行了大量的改进。其中的重要变化包括在基本系统中用 clang 取代了 gcc(所有 Tier-1平台)、新增了 unbound(用于取代BIND的部分功能,后者十分复杂,且支持计划经常与 FreeBSD 的发生冲突)、基本系统中提供了转码API iconv(3) (我在2010年指导的 Summer of Code项目)、使用了 PkgNG 包管理工具、BHyVe虚拟机、对于虚拟化支持的大幅改进(virtio(4)以及 Hyper-V支持)、ZFS新增了TRIM支持、ZFS的LZ4完整支持(我在去年新增的功能),等等。
这个版本的发布工程过程将发布日期推迟了总共三次(从2013年11月18日推迟到了2014年1月15日,大约两个月的时间)。我认为有很多需要改进和汲取经验教训的地方。总结如下:
由于这些问题,导致在 BETA2 之后增加了两个新的 BETA。RC1之后,开发节奏基本是按照计划进行的,但由于意外情况必须增加RC4(一个非常严重的 VM bug)。而此后又发现了一个 10.x 新引入的安全问题,因此不得不发布 RC5 以便对修正进行更充分的测试。这些延期导致的一项(我认为是好的)副作用是,原定 10.0-RELEASE 之后两周左右发布的一批安全公告的修正内容也在 10.0-RELEASE 之前得到修正和公布。
注意(此处大坑):由于之前 freebsd-update 的 bug (EN-13:04 和 EN-13:05),在更新之前的版本可能无法直接通过二进制方式升级到 FreeBSD 10.0-RELEASE。这些版本的 FreeBSD 应首先用 freebsd-update 升级到 9.2-RELEASE-p2、 9.1-RELEASE-p9、 8.4-RELEASE-p6、 8.3-RELEASE-p13 或更高版本之后再使用 freebsd-update 进行升级。
Read more...