delphij's Chaos
选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
最近我厂对 LSI 6Gb/s SAS HBA 的驱动 (mps(4)) 进行了改进,令其可以在 FreeBSD 环境中进行固件刷写操作。目前最新的固件版本是 14,这个版本修正了目前已知的全部问题。
以前一直没有太注意,这类 HBA 卡上可以用两种固件。一种是 IT (initiator target) 固件,这类固件只提供HBA功能;另一种是 IR (integrated RAID) 固件,这类固件提供集成 RAID 功能。对于我们的应用来说,显然希望用 IT 固件,因为它的代码量要少得多,而由于减少了包含校验的冗余,卡本身的 RAID 功能在 ZFS 环境多数情况下都是有害的。
LSI 的 HBA 设计与 nanoBSD 类似,其运行环境和卡上的版本是分离的,也就是说可以进行热替,并以稍后重启的方式让固件生效,而不需要进入单用户模式或停止磁盘访问等等。
注意:在线将 IT 改换成 IR 固件,或将 IR 固件改换为 IT 固件的方法未经测试,最好是在 DOS 中进行。(其中 sas2flash -o -e 6 这部操作会对总线做一次复位,因此有相当的风险)。多数主板集成的 LSI 控制器是 IR 模式的固件,在升级时应特别注意。
Read more...正确地使用一次性密码本进行加密,在理论上是无法破解的。需要注意的是,许多对称式加密算法本质上是通过一定的算法来将密钥作为伪随机数发生器的种子来产生(近似于)一次性密码本的序列,因此类似的问题也需要予以重视:不要重复使用同一个一次性密码本(或密钥)来加密不同的明文数据。
以基本的一次性密码本加密算法,即按字节做 XOR 来看,由于在这个算法中明文和密文的字节位置是一一对应的,很明显,同一个位置的两份密文之间做 XOR,可以知道两份明文之间的 XOR 值(因为在这个过程中,密钥 k 被 XOR 消去了)。
假如明文碰巧又没有做任何压缩处理,实际上我们可以用程序来穷举出部分的密码本,并逐步解出全部明文。具体方法大致如下:
Read more...Alan L. Cox 今天 commit 了 r240000。我记得刚换 svn 的那会才18到19万 revision 的样子。。。
FreeBSD 的 svn 代码库包括了从 1993 年 6 月 12 日到现在的全部 revision。与之前的 “n"cvs 不同(由于诉讼原因,FreeBSD 在 1994 年以 4.4-Lite 为基础重建了新的 cvs 代码库,也就是 2.x 和后来版本的 ncvs;早期代码库仍然可以在一些光盘出版物上找到),这套代码库包括了 FreeBSD 从一开始到现在的全部修订历史(不过,FreeBSD 2.0 之前的 tag 并未保留)。
Read more...昨天去了 Monterey 看那里的虎鲸。2009年1月的时候去 San Diego 的 海洋世界 看过一次虎鲸的表演(2010年2月发生了一次事故,此后,这类有人进入水中参与的表演被禁止),这以后没有再见过虎鲸。Monterey 是位于北加州海岸的一个城市,1777到1846年是西班牙和墨西哥时期的上加利福尼亚州州府所在地。
有兴趣的同学可以在 这里 看照片,不过因为天气的原因,而且在海上的浪也比较大,这次拍的效果不是很好,也有一些东西(例如从船旁边飘过的大型水母)没有拍到。
Read more...很久以前 Cisco 的 刘老师 就做过蜜罐系统,所谓蜜罐其实是一些"看起来"像是正常,但并不对正常人提供服务的网络资源,例如邮箱、网页,甚至网络服务等等。它们存在唯一的作用是吸引攻击者的机器人来攻击,从而得到关于攻击本身的更多信息,或在攻击开始之前采取防御。这种做法有点像有些国家在火箭基地附近建设几个一模一样的、假的火箭基地,防止敌军轰炸等等。
Project HoneyPot 是一个分布式的蜜罐系统,它的主要作用是防止针对网站的垃圾评论和垃圾邮件。除了 捐赠 蜜罐资源(这个对网站并不会造成很大的压力,但可以帮助更多的人来获得高质量的蜜罐数据)之外,网站管理员可以用它提供的 HTTP:bl 来保护自己的网站。 HTTP:bl 实际上是一个 DNS 黑名单,和邮件常用的 DNS 黑名单很类似。网站的拥有者可以利用这个黑名单来决定是否对提交评论的人采取进一步措施,例如启用 Captcha,等等。
Read more...最早是初中的时候听一个同学讲的,原文大致是说做了一件没啥意义的事,然后大家可以回家洗洗睡了。
今天找到了 武汉人 来解释这个说法的含义,官方释义是:
全文是" 大人的事,小孩一边洗了洗睡去了。。没你事"
Read more...最近不知道为什么这个 blog 被某个垃圾评论团伙盯上了。 Movable Type 的 captcha 比较弱,于是先换了 Google 的 reCaptcha。通过 Google、 Facebook 或 OpenID 以及其他方式登录的用户还是可以直接发表评论。
除了变形夸张之外, reCaptcha 也同时帮助 Google 的图书扫描计划来识别 OCR 识别有问题的文字。这样,解这个 captcha 同学也有一半的时间是在做公益。关于"人计算"概念可以看 Google Tech Talks 由 Luis von Ahn讲的 这个 视频 (Youtube)和 这里。
如果 reCaptcha 也抗不住的话,也许就只好关闭匿名评论了。不过其实互联网上的反垃圾基本是符合丛林法则的—-你不一定需要比猎食者跑得更快,只要你跑的比别人快一些,就足够了。
UPDATE 20120813: 观察了一下,以这个反应速度来说,应该不是人类。我想一定是有垃圾团伙发现了某类 captcha 的破解方法,不过对 reCaptcha 来说暂时还没有什么作用。
Read more...昨天测试成功,下面是大致过程。
做转换的 pool 要符合几个条件:
大致过程如下:
另外想了一个在线转换的方法,等有时间实现一下看看。
Read more...TextMate 2 宣布开源了,在 一则报道 中指出,这是对苹果 OS X 新增的限制的回应,我对此十分怀疑。
为什么呢?因为沙箱是非常重要的安全机制。沙箱其实到处存在,只不过在过去没有 OS X 中这样全面和细致而已。例如,现代操作系统中两个进程不能随便互相写对方虚拟内存中的内容;又比如,操作系统中通过"用户"、“属主"等概念来进行访问控制,等等。这些机制的存在,限制了由于开发人员偶然犯错导致的损失范围。许多不靠谱而且不负责任的开发者,则会以种种借口指责沙箱拖慢了他们的开发进度。更有甚者,其中的一些甚至还会告诉用户打破沙箱(例如比较常见的是很多 php 应用建议用户 chmod -R 777),其结果则必然是在发生问题时产生更大的损失。
是的,我的意思就是,如果有人建议你用一些方法削弱操作系统的沙箱机制来运行他的程序,那不仅这个开发者的水平太差,而且他的良心也让狗吃了。
Read more...没什么特别,这里记一下大致过程,以及一些想到的值得 FreeBSD 学习,以及 OS X 应该改进的地方。
我选择的方法是借助 USB 安装盘来做重装的操作。在 App Store 下载 Mountain Lion 之后,不要选择继续安装(继续安装的话,在安装结束后会删掉安装的文件)。
在 Finder 中找到 /Applications/Install Mac OS X Mountain Lion.app,在其上按右键,Show Package Contents,这会将 Bundle 内容打开,在其中找到 Contents/SharedSupport,其中有一个叫 InstallESD.dmg 的文件。双击 InstallESD.dmg 挂载它。
接着,启动 Disk Utility,选择 U 盘(需要至少 5GB 的空间),将其中内容擦除;接着选择刚才挂载的 InstallESD,在 Restore 标签页中,将 U 盘拖拽到 Destination 的位置,然后按 Restore。
这个操作将会把 InstallESD.dmg 写入 U 盘。重启系统时按住 Option,选择刚刚制作的 U 盘,就进入了 OS X 的恢复界面。
在这里有四个选项,使用 Disk Utility (最后一个)清除硬盘或 SSD 内容(此处可以选择Mac OS Extended (Case sensitive, Journaled) )。如果原先的硬盘使用了 File Vault,可能需要先输入任意用户的口令来解锁。完成后退出 Disk Utility,选择 Reinstall OS X Mountain Lion。
重装的过程大致需要20分钟左右。然后是一些基本的配置,完成后,重新进入 App Store 安装 Garage Band、iMovie 和 iPhoto。
Read more...