2005年秋天,19岁的Samy Kamkar在MySpace.com发布世界上第一个AJAX蠕虫。两年后的2007年,Samy Kamkar被判3年缓刑,社区服务90天,向MySpace赔款,不得出于个人原因访问互联网。
1988年冬天,罗伯特.莫里斯(Robert Morris)在MIT发布世界上第一个蠕虫病毒。两年后的1990年,莫里斯被判处3年缓刑,社区服务400天,罚款1万美金。
很难猜测蠕虫作者们的目的,好玩? 某个群体里的尊敬?个人英雄主义? Sam Kamkar 在蠕虫中留下的一句话是"but most of all, Samy is my hero."(翻译为中文是,但最重要的是,Samy是我的英雄)。
非技术的观点上,借用《IT史记》中对罗伯特.莫里斯事件的评论,"黑客从此真正变黑,黑客伦理失去约束,黑客传统从此中断,大众对黑客的印象永远不可能回复"。恐怕法律上,莫里斯的"先行"也给现在的法官提供了判例。
技术的角度上看,莫里斯的蠕虫和Sam的蠕虫,采用的具体的技术区别很大。前者是利用缓冲区溢出,后者是跨站脚本+XMLHttpRequest。但共同点,就是都来源于数据和指令的混合。我们的堆栈既有着可爱的指令,也有着用户们输入的数据,当用户是莫里斯时,情况就糟透了;我们的可爱的HTML里,夹杂了很酷的Javascript,当用户是Sam时,Samy就变成了英雄。
我们可以指责莫里斯和Sam,更重要的是思考解决的方法,而方法却是不容易的。原因何在?计算机领域很多问题,是人和机器的战役,比如说性能,人战胜了机器,够快则胜已。而安全不一样,它是人与人的战役,是攻击者和用户和厂商间的较量,甚至在利益的驱使,变为多方的博弈。这样的战役,在熊猫依旧在烧香的"今天",在空调烤箱热水器都能上网的"明天",都不是尽头。
注:在依靠网络获取新闻的今天,我并不百分之百保证任何消息的真实性,比如我今天谈论的这条。