康神

共 7 篇文章。

实现安全的三种途径

• Security

回国的时候和 康神 及端木吃饭的时候聊起过这个话题,这里整理出来。

实现安全有三种主要的手法:基于隐蔽的安全(或者,基于假象的安全)、基于默认配置的安全和基于设计的安全。

基于假象的安全很容易理解,也很容易实现。举一个简单的例子,在一片西瓜地前面戳一块牌子,说这块西瓜地里有一个西瓜里面注射了剧毒。

可以想象,由于信息的不对称(不知道是哪个西瓜有毒,或者根本就没有西瓜有毒),试图偷西瓜的人就会有所忌惮—-如果偷走的西瓜含有剧毒,那么这个西瓜是没办法吃的。然而,这样做有至少三个很致命的弱点:首先,为了实现最大化的利益,很可能瓜地的主人并不真的注射剧毒(或者反过来说,把偷瓜的人毒死并不是他的目的,他的目的是尽可能地保护瓜不被偷);其次,即使瓜地的主人真的只给一个西瓜注射了剧毒,那么如果有人偷了那个西瓜并且死掉,那么知道这件事的人就可以冲过来直接把所有的西瓜偷走;最后,一个以牙还牙的小偷,很可能会在牌子上留下这么一段话:现在有两个了……

简单地说,基于假象或隐蔽的安全,建立在"别人不知道其机制"的基础上。这样的做法有时能够在一定程度上延缓攻击,但并不能使攻击的成功率降低。将弱点隐蔽这种方法成本比较低,例如,把门钥匙放在门框上、将知名服务端口如ssh(tcp/22)转到不知名端口如tcp/12580上、port knocking技术,以及国内银行常用的Active X插件等等。然而,假象终归是假象,这些方法都不能真正改善系统的安全性。这类做法,充其量只能作为没有其他更好的办法时候的一种临时 workaround,而不能带来长久的安全。

第二种做法,也就是基于默认配置的安全,是一类非常常见的策略。这种做法通常与其他安全机制合并使用。简单地说,采用这种策略的系统,在其出厂的时候是没有暴露在外的弱点的,例如它可能只开启了非常少量,甚至完全不开启任何服务,随后,管理员可以根据需要进行配置来开放一些需要的服务。

阅读全文… ( 本文约 1515 字,阅读大致需要 4 分钟 )

Google中文搜索越来越差了

• Life

很久很久以前,百度有过一个很有意思的广告,叫《我知道你不知道我知道你不知道我知道你不知道》,很可惜当时百度的中文搜索做得很差,差到搜索"我知道你不知道我知道你不知道我知道你不知道"的时候,Google的中文搜索反而能够返回正确的相关结果,这是2005年前后的事情。

而今天我们看到的是百度的中文搜索越做越好。我认为Google的中文搜索已经差到让我觉得搜索中文的时候,除了简单搜索(例如只搜索一个短语)之外我根本不会考虑它的地步了。这才几个月啊……(大家可以在Google和百度上分别搜索"如果 当年 茅十八"来测试,还有很多例子,而几年前百度的中文搜索是100%比Google差的)

阅读全文… ( 本文约 332 字,阅读大致需要 1 分钟 )

拜会了 A core

• Life

今天去 Stanford 拜会了 A core,并在 A core 带领下参观了 Stanford 校园。今天选择的路线是从公司上 Shoreline Blvd,到 Central Expwy,然后从 University ave (这个路名就足见 Stanford 的实力了!)接 Palm Dr,不过今天没带装备,所以没有拍照片。

阅读全文… ( 本文约 151 字,阅读大致需要 1 分钟 )

Python的浮点数 __str__ 方法的小问题

• Development

今天 康神 发现一个浮点数的问题,一个 class 里面有两个浮点(double) 成员 x、y,然后用 return (self.x, self.y).__str__() 返回时,发现输出是 (39.210279999999997, 116.34528) 而不是希望的 (116.345280, 39.210280)。

查了一下,改成 return “(%f, %f)” % (self.x, self.y) 解决。C里面printf的 %f 默认显示小数点后面6位,但是 __str__ 似乎自己对于浮点数精度有些想法?没看 Python 具体的实现。

参与评论

奇妙的事情

• Development

今天看到一个奇怪的用户订了cnproj的邮件列表,咨询了康神,他也不知道 bsdmailinglist-garchive-37263@ 是不是他们公司的bot,orz!如果这个是bot可就真的太NB了……

参与评论