现在谷歌事件,要翻中国政府的桌子的原因,不断变化,从谷歌威胁退出,到希拉里站台,到奥巴马关注,要求中国如何如何发最后通牒,开始炒作的一件事,就是所谓中国政府的有关机构,据说对谷歌和其他一系列大公司攻击。
俺在开车的途中,听到了NPR(公共广播电台)去采访美国的网络安全专家们,倒是个个仿佛胸有成竹,说是已经掌握的证据,用英文话说,就是“caught the hands in the jar”,翻译成中文,意思就是给人抓了个现场。
这些专家铁口咬定是中国政府的作为,主要是两点:
一个就是所有的攻击是从台湾的伺服器发起的。而据这些专家猜测,一般台湾的背后,就是中国。
这个观点听起来有点扯。因为网络上高超的黑客,根本不会只走一站。因为考虑到台湾和美国的亲密关系,一旦美国的网络专家发现攻击来自于台湾的伺服器,那么就可以很快的接管这些机器,从而对来源继续追踪。这个时候,要是人家用一站到位的方法,马上就可以确定你是从那个地方来的,那么这个黑客也太笨了,没有资格在这个圈子里混了。
通常人家平均都是过三关或者五寨,就是防止你追踪的太近。而其中的几个站必须是你美国专家,不具备立即接管能力的地区。所以就算你看到台湾后面的来源是中国大陆,并不能排除这个攻击是来源于东欧,比如说俄罗斯这些地方。
而且在美国发生的大多数网络攻击,动用的头一站都是美国各个大学的伺服器,怎么会这么傻让你追踪。
第二点,就号称很确切,那就是这次的攻击,是很精致和严密的。据专家们说,比如说 Joe Stewart就认为,这次攻击所用的算法,是一个CRC用16个常数的方法。而他作为这个行业的可数的专家之一,认为这个算法是在中国大陆创造出来的,是中国以外的英文世界没有听说过的事。
俺倒是对这个东西蛮有兴趣,因为俺自己做过几年的网络安全工作,也花了不少功夫,研究过反向工程(reverse engineering)。谈不上是专家,但也还看得明白这帮专家们在玩什么花花。
首先这个攻击的工具,被命名为 Aurora,是因为程序写手留下了一个文件夹名字。
其次就是这个工具主要是用来 Hydrag 后门木马。因此专家们断定这个程序是不早于2006年。
然后就是所谓最铁的证据,因为如果你在谷歌上搜索这个算法 crc_ta[16],天哪!几乎所有的文章都是中文简体字!(又是谷歌搜索,呵呵)
因此美国专家们断定,这个源代码是在中国大陆产生。而且说“这个CRC-16应用似乎在中国之外,基本没人知道”(原文是This CRC-16 implementation seems to be virtually unknown outside of China, as shown by a Google search for one of the key variables, "crc_ta[16]".)
所以英文结论如下:
This information strongly indicates the Aurora codebase originated with someone who is comfortable reading simplified Chinese. Although source code itself is not restrained by any particular human language or nationality, most programmers reuse code documented in their native language. To do otherwise is to invite bugs and other unexpected problems that might arise from misunderstanding of the source code’s purpose and implementation as given by the code comments or documentation.
In my opinion, the use of this unique CRC implementation in Hydraq is evidence that someone from within the PRC authored the Aurora codebase. And certainly, considering the scope, choice of targets and the overwhelming boldness of the attacks (in light of the harsh penalties we have seen handed out in communist China for other computer intrusion offenses), this creates speculation around whether the attacks could be state-sponsored.
“这个信息强烈表明,Aurora源码是由那些可以很熟练阅读简体中文的人士创造出来的。尽管源代码本身不受到任何特定的人类语言或者民族身份不同的影响,但大多数程序员会选用以自己母语描述的源代码。不这样做的话,可能会因为对源代码不熟悉,或者误解而产生程序虫和其他未知的问题。我个人观点,在Hydrag里面运用这个特殊的CRC,证明了来自中国大陆的人是Aurora的原作者。而且考虑到这个攻击行动的范围、目标的选定和攻击之大胆(考虑到共产党中国对网络侵入罪行的判罚之重),这个引发的猜测,就是攻击是由中国政府发动的。”
看到这里,俺不由得笑了。美国硅谷的中国工程师,大概几万有了吧。这么容易就被你的谎话给忽悠过去了?
不过虽然在硅谷,除了老印,就是老中,但是俺们老中的话,还是没有什么分量的。还好,具有专业良心而不撒谎的老美专家,也还是大有人在的。
一位叫做 Dan Goodin 的老美网络安全专家指出,其实英语世界里的程序员,凡是做微控制器和其他少量储存仪器的人,对这个算法了如指掌。不光是网络上有这些讨论,比如说硬件设计师Michael Karas就在2007年讨论过,其他人也贴过完整的源代码出来(当然,谷歌搜索是找不到这些的,呵呵)。
而且最关键的是,1988年W. David Schwaderer出版了一本程序书,叫做《C Programmer's Guide to NetBIOS》,其中的第200页,谈到这种方法。在第205页,人家作者也给了源代码。这个源代码和Aurora的算法非常类似。
而且据这方面的专业人士看法,这种用一个nibble(4 bits)代替一个byte(8 bits)来计算CRC的方法,在embedded这个行当的单片机(single-chip computer)里面,用得非常普遍。把这个算法,叫做新算法,或者说“中国大陆之外的人士基本没有听过”,要么就是无知,要么就是别有用心罢。
其实谷歌的邮箱不安全,在俺们这个行当里,根本就是公开的秘密。为啥这样说呢?因为为了方便的让美国政府的情报部门随时查看谷歌用户的邮件,谷歌的源代码里面,是专门留了后门给人家进来的。
当然要找到这些后门并不是一件难事。只不过大部分的程序员是遵纪守法的主儿,吃饱了饭,还有不少其他的更重要的事情要做。