漏洞全史——听TK教主讲那过去的故事

要说黑客界的“名媛”,非TK莫属,早年他曾经夺魁微软安全挑战赛,得到十万美金大奖;还不遗余力地在黑客圈内传播日本先进影视文化,可用色艺双绝来形容之。然而,这些都是往事,现在的TK作为腾讯玄武实验室的掌门人,潜心修炼,守望着黑客江湖。

在今天的CSS(中国互联网安全领袖峰会)上,TK教主展示了深沉的一面。站在巨大的屏幕前,为大家奉献了有关漏洞攻防的全史。

和人类其他历史不同,甚至和计算机史不同,TK口中的漏洞攻防史开端于1995年,这意味着,大多数正在浏览这篇文章的人都完整地见证了这段历史。对于老一辈的顶级黑客TK来说,更是目睹这个“漏洞”这个恶魔,搅动赛博空间、催生安全产业、改变世界的全过程。也许有人曾经读到过相关的一些点滴碎片,但是,惊心动魄的故事,多听几次也无妨吧。

漏洞全史——听TK教主讲那过去的故事

TK(TombKeeper) 于旸

一、先知的呐喊

据说知道创宇著名的Slogen“未知攻、焉知防”就是TK捻断数根须吟出的的佳句。那么,赛博空间里第一次攻击究竟发生在什么时候呢?

别急,往往天降大灾之前都有先知跳出来警示众人。这个先知的名字叫做 James P. Anderson。

函数的代码没有正确地检查源地址和目的地址,允许用户覆盖部分系统数据。这可能被用来想系统中注入代码,从而使用户获得机器的控制权。

——《计算机安全技术规划研究》 James P. Anderson

现在看来,James 把这种威胁说得直白而具体,但是当时并没有引起美国社会的重视。这件事不怪大家,因为当时是1972年,计算机刚刚发明不久,面对庞大而笨拙的计算机,恐怕人们并不是很有兴趣去想象它所营造出的世界。第一次真正意义上的攻击将会发生在14年之后。14年间,世界仿佛都在静静等待。

二、75美分引发的血案

1986年终于来了。彼时美苏冷战正在达到白热化的地步。苏联间谍克格勃从一所西德大学,通过德国联邦邮局勾搭上了美国卫星,以此为跳板接入了美国劳伦斯伯克利国家实验室。他们利用一个Emacs漏洞远程获得了实验室的Root权限,试图窃取核技术资料。

这一酷炫的技术配上酷炫的战斗民族间谍,仿佛一切都像电影里那样扣人心弦。然而现实却向更加戏剧化的方向发展了。

作为一个网管,需要尽职尽责地核对机房的每一台设备。然而,如果网管是一名科学家,会发生什么呢?恰好这个高规格的国家实验室的网络管理员都是科学家。在间谍入侵不久,他发现了一个小小的问题。

“上网是要给钱的,亲。”沐浴在共产主义阳光里的间谍没想到万恶的资本主义国家居然上个网都要钱。事实上间谍占用了服务器一段时间,但是并没有付费。网管算来算去,就是有75美分的帐对不上。于是克格勃阴沟里翻船,兵败如山倒。

三、来自外太空的计算机

在1986年,来自赛博空间的袭击只是美苏两大高手的一个小试牛刀,所有人都认为这种旁门左道远不如多造几个核弹头来得实在。直到1988年,莫里斯蠕虫病毒在数小时之内感染了当时互联网所有服务器的10%,世界为之震惊了。这个世界上第一个电脑病毒拥有一个惨绝人寰的特性——自我复制。在数小时之内全世界十分之一的服务器被感染,造成了近亿美元的损失。而法庭居然不知道要用什么罪名为病毒的制造者莫里斯定罪。

借用中国工程院院士沈昌祥的一句话,这时的计算机“如同来自外太空,对病毒没有丝毫的免疫力。”

漏洞全史——听TK教主讲那过去的故事

TK展示1988年 Morris 蠕虫爆发时的新闻截图

TK为听众展示了当时电视台播放蠕虫病毒新闻的场景,主持人表情惊愕,新闻的配图是“芯片和电阻”。现在看来,当时对于病毒的认知方式值得玩味。

四、Windows 天然免疫?

直到现在,仍然没有进入TK所说的漏洞攻防历史的开端。他认为在这一阶段所有的计算机都是待宰的羔羊,根本没有任何防护能力,属于“单向大屠杀”。而“善良的人们”仍然相信“缓冲区溢出只会导致程序崩溃”,并不会使得黑客获得电脑的控制权。

而反黑客的力量真正开始武装起来,已经到了1995年。那一年,第一篇公开发表缓冲区溢出的文章《How to Write Buffer Overflows》刊登在互联网上,这意味着James P. Anderson 早在1972年的预言终于被人们相信了;也意味着终于有人站出来,开始把反病毒、反攻击作为一种事业来进行了。

TK心中的内存战争“元年”到来了。

漏洞全史——听TK教主讲那过去的故事

发表《How to Write Buffer Overflows》的 Peter Zatko(左右两张为同一人)

不过,由于之前“出事”的计算机均为Unix系统,研究人员侥幸地认为在“堆栈地址不稳定,并且通常高位包含0”的Windows中,一切都没那么糟。1998年、1999年,安全社区里出现了两篇文章详尽地讲述了Windows缓冲区溢出的漏洞利用技术,彻底打破了人们的幻想。

在1997年,出现了硬件层面和软件层面的两大基础防御机制,这两大机制应用于个人电脑是在六年后的2003年。看来,漏洞防御机制的建立要晚于大多数人心中的时间点,因为2003年中国已经申奥成功、加入WTO,连房价也开始飞涨。

五、人民战争的汪洋大海

自从出现了职业黑客和专业安全人员,世界就再也回不去了。说到近十年间的攻防局势,简直是一部春秋史。

总之,黑客技术的日益强大,让防护技术总是显出颓势。TK认为,经过多年发展,“边界防御”这种御敌于国门之外的策略已经不甚奏效了。目前的防御策略大多是“持久战”的纵深防御。因为敌人已经成长为一个强大而且全副武装的对手了。只有从设计、开发、编译、运行这些阶段全部使用安全工具和流程,并且业界尽可能地进行协作,才能最大程度上对抗黑客的攻击。这就是“人民战争”的汪洋大海。

TK说,试图完全战胜黑客,是不切实际的。但是,安全人员的不懈努力让漏洞的利用过程变得不稳定,攻击的成本大幅提高。由于不断封堵,真正的高危漏洞变得越来越难发现。

美国某个收漏洞的公司,为一个苹果的漏洞开出了100万美金。要求这个漏洞可以实现用苹果手机浏览某网页,就能够使这个手机被完全控制。

即使有人挖出这样的超级漏洞,这个价值百万美元的漏洞也绝对不会被购买他的人用来攻击普通人;就像没有人会用导弹轰炸一顶普通的帐篷。而更大的可能是,根本没有人能够拿到这100万美元。

TK认为,这个漏洞的价格,本身就是安全人员心血的凝聚。


It isn't a bunch of kids anymore. These are people who do this for a living.

这件事再也不是儿戏。有人以此为生。

TK用兰德公司资深研究员马丁·C·利比基这句话作为故事的结尾。这个著名的黑客不止一次强调:“我的生活和大多数普通人没有区别。”

或许在无数人眼中他是TombKeeper,是万人崇拜的暗黑教主;但在TK的眼里,或许自己仅仅是一个以此为生的人。只不过这个普通的职业,让他引以为傲。


注释:TK 全名 TombKeeper ,本名于旸,腾讯玄武实验室负责人。曾是一名医生,被人称为黑客界的“妇科圣手”和“段子手”,诸多安全业内人士尊崇的黑客。

雷锋网原创文章,未经授权禁止转载。详情见转载须知

漏洞全史——听TK教主讲那过去的故事

(完)