三张
时间过得真是太快了。
阅读全文…计时攻击和登录系统设计
计时攻击是一种通过观测由于某些操作时泄露出来的时间信息来获取更多信息的攻击。由于设计和实现的不同,攻击者能够通过计时得到的信息也会不一样。简而言之,作为安全系统的设计者,必须对可能泄露信息的各种渠道有充分的了解,并针对它们采取因应措施。
阅读全文…shell 中的 ` 和 $()
sh(1) 脚本中,` 和 $() 的作用类似。比如:
rm `find /foo/bar -ctime +3d -type f`📓 注意
FreeBSD系统中,此处实际可以用
find /foo/bar -ctime +3d -type f -delete来代替。
表示将 find 的输出结果作为 rm 的命令行输入。
GNU libtool 和 FreeBSD 10
FreeBSD 开始用 10 以上的版本号有一段时间了。这个变动立刻导致了大量 ports 无法编译,多数情况下是因为开发者采用了较早版本的 libtool 导致的,具体来说,是类似下面的代码:
阅读全文…为什么安全更新通常在周三发表
目前多数软件产品的安全更新都是在周二或者周三公布了。这种做法 据说 是微软开始采用的,不过具体是谁先开始这么做,目前我还没有找到非常可靠的资料。
一般来说,软件开发者在发布安全更新之前,需要做下面这些事情:
阅读全文…FreeBSD 的 strlen(3)
之前只有一篇关于较早版本的 strlen(3) 实现的笔记,这里补上我在 2010 年做的新增改进。
与 Pascal 等语言不同,C 的字符串并不保存串的长度,而是在字符串末尾以 nul 字符(’\0’)来表示字符串结束。这个设计决策是上世纪 60 年代作出的,有都市传说是为了省几个字节的空间,不过我个人认为也可能是因为汇编里面到处都是判断是否碰到了 0 的操作。不管怎么说,这个设计令 strlen 变成了一个 O(n) 的操作。
阅读全文…远程升级 FreeBSD 系统备忘
📜 历史文件已不具备现实意义
目前(2020)的最佳实践是使用 etcupdate 和 package。本文内容已过时。
最近两次失败记录的教训。
首先是联编 world 和 kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是 UFS(即,可使用 nextboot),且配置了 watchdog,则操作步骤为:
阅读全文…伯南克讲课
今天在电视上看了 C-SPAN 上播出的伯南克讲联储局与经济危机(也可以在网上收看)。之前一直不太明白的一些问题得到了解答,不过还是有一些别的问题不太明白。
阅读全文…湾区买房记(4)
发现前面写的完全没什么逻辑,等有时间再来整理吧。
关于贷款。这个主要是我自己的理解总结,不一定对,仅供参考。
在美国,贷款的利率是由几个因素决定的。
首先是和股市类似的"大盘",或者说"基准利率",这个利率是以美国政府发行的中长期国债利率决定的。国债一旦发行,其票面利率便确定了,那么为什么说它是"大盘"呢?因为投资者随时可以在市场上买进或卖出国债,这样一来国债成交的价格便可能不同于其票面价值。假如国债价格下跌,也就意味着实际利率的上升。反之,如果国债价格上升,也就意味着实际利率的下降。
在投资者方面看到的效果就是,如果有大批资金涌入国债,推高其价格,那么新买入国债的人拿到的收益便会减少(因为最后还本付息时是按照票面的本金和利率);反之,如果大家发现有更好的投资纷纷卖出国债,导致其价格下跌,则新买入国债的人拿到的收益便会增加。
为什么美国国债如此重要呢?因为美国国债是目前市场上普遍认为风险最低的投资(说句题外话,如果发生了美国国债危机,则一定也会出现另外一种债券来替代它的地位,不过这个几乎是不可能事件)。另一方面,一般来说,如果债务人信誉良好,贷款债权也被认为是风险较低的投资,但这个风险仍然高于美国国债。既然风险高,那么投资者当然也就希望获得更高的回报,这个回报便反映在价格上,即贷款的利息。
因此,通常银行提供的贷款利息的基准利率,便是国债的市场收益率加上一个数额。这个数额的多少,取决于贷款人的信用分数(FICO Score)。
所以我们会看到一个很有意思的现象:在股市大盘下跌的时候,由于许多投资人会选择撤出资金投入债券市场而推高债券价格,从而降低债券收益率,进而促使银行降低贷款利率;反之,当经济复苏,大量投资人卖出债券并买入股票时,银行也会因应提高贷款利率。
还有一个潜在的外力因素是美国政府(具体实施可能通过央行,即联储局)以"量化宽松"的形式买入债券,或外国政府大量买入债券,从而推高债券价格。此时发生的效果和股市大跌类似。
有时,银行也会考虑未来的利率走势,例如,如果银行预期未来贷款利率会大幅提高,则固定利率的贷款利率会开始有所提高,等等。
常见的贷款形式包括头5、7甚至10年固定利率的30年期可变利率贷款(ARM),以及十五年、三十年期的固定利率贷款。对债务人而言,利率固定的时间越长,未来的不确定性就越小,但对银行而言的风险也就越大。由于银行承担的风险不同,它们对应的利率也依次提高。
阅读全文…全盘加密
最近在琢磨一个产品里实现全盘加密的问题,简单来说就是加入存储卷的硬盘存储的是完全加密的数据。对于保存机密数据(例如患者数据)的存储设备来说,这一点十分重要,举例来说,如果硬盘出现故障,OP可以直接把硬盘拆下送回厂商,而不是必须做抹除数据的动作。
阅读全文…