计算机病毒之父
1983年,计算机病南加州大学的计算机病一位博士生在论文里画了一条线。那条线后来被叫作“计算机病毒”。计算机病他叫弗雷德·科恩,计算机病当时没人觉得这事有多严重,计算机病包括他自己。计算机病 科恩的计算机病导师伦·阿德曼看完论文初稿,第一反应是计算机病:这玩意不可能存在。科恩没争辩,计算机病写了个演示程序,计算机病五分钟后,计算机病阿德曼的计算机病电脑屏幕上跳出一行字——“欢迎来到病毒世界”。导师沉默了一会儿,计算机病说,计算机病好吧,计算机病你赢了。这段对话我每次想起来都觉得有意思:一个改变整个数字安全史的概念,最初只是学生和导师之间的一场赌气。 但“计算机病毒之父”这个头衔,科恩自己从来不太认。他说他只是命名者,不是发明者。病毒这种自我复制、寄生传播的逻辑,早在他之前就有人玩过。1971年,BBN技术公司的鲍勃·托马斯写了个叫Creeper的程序,在ARPANET上乱窜,每台被感染的机器都打印一句“I'm the creeper, catch me if you can!”——这大概是史上第一个蠕虫。它不搞破坏,纯粹是程序员闲得慌。你看,最早的恶意代码,动机居然是幽默感。 科恩的贡献在于把这事说清楚了。他给病毒下了个数学定义:一段代码,能通过修改其他程序来复制自己。定义一出,学术界才意识到这不是恶作剧,是理论问题。1984年,他的论文正式发表,里面有个判断我至今觉得精准——他说,病毒能不能防住,本质上是个图灵机停机问题,没有通用解法。翻译成人话就是:你不可能造出一把万能钥匙,能识别所有病毒。这个结论在四十年后依然成立。 有个细节值得说。科恩做实验时,把病毒代码写得极短,短到当时所有的安全检测工具都扫不出来。不是工具太弱,是工具的设计思路错了——它们只看特征码,不看行为。科恩在论文里点破了这件事:检测病毒,得看它做了什么,而不是它长什么样。这思路后来催生了行为监控、沙箱技术,一直用到今天。 科恩后来没继续搞病毒。他去了工业界,做安全咨询,偶尔写点东西。2000年后,他公开说过几次:病毒泛滥不是技术问题,是经济问题。写杀毒软件的人,和写病毒的人,其实在同一个市场里博弈。这话听着 cynical,但你细想,挺对。每次勒索软件爆发,安全公司的股价就涨一波。这不是阴谋论,是激励结构摆在那。 我翻过他早年的论文,字里行间有种冷幽默。比如他写:“病毒的唯一限制是人类的想象力。”下面加了个脚注:“以及编译器的容错率。”这种句子在学术论文里很少见,但你读得出来,这人写代码的时候是快乐的。 科恩不是那种“我创造了怪物”的悔恨型父亲。他更像一个划清边界的人——在纸上画了条线,说,这边是安全,那边是危险,你们自己看着办。至于后来这条线被踩成什么样,那是别人的事。 他现在还在世,低调得很。偶尔有人叫他“病毒之父”,他就笑笑。那笑容里大概有句话没说出来:我当年只是想让导师的电脑弹个窗而已。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-