|
信息安全半世纪——一个程序员的简单回顾
江海客
....序: 友人命填是文,提了三个要求,关于信息安全问题的世纪末回顾、总结十大病毒和十大黑客,我只好硬着头皮接下来了,但是有一种似曾相识的感觉——初一作文竞赛,题目抽签完毕,才发现别人的都是《一件小事》、《谈劳动》什么的,而我竟然抽到的是《我所知道的文化大革命》。好在是那时的我知道什么是困难,我没有去试图复述我从书本上知道的东西,我想到的仅仅是回忆我所听到的我们家族中的三个人在文革中的不幸。因此,今天这篇文章,不想完全作为对信息安全史的简单回溯,也有一些关于自己的回忆,但这无非是为了表明,每个程序员都是计算机某一段技术飞速进步的见证。
....计算机的诞生离不开图灵、维纳和冯·诺伊曼这些元勋,事实上,安全史也理应从这里开始。有很多人误以为计算机的创始人们没有考虑到安全问题,所以现有的技术体系才有如此多的漏洞,这纯属无稽之谈,只要信息要发生,要传输,要联系就会面临安全问题,决不是某个技术体系能解决的了的。恰恰值得一提的是,图灵本人就是个某种意义的黑客,二战中,他依靠一台继电器组成设备,为英国破译纳粹德国的密码。而计算机病毒最先理论预言者,也不是写P-1的homas.J.Ryan。恰恰就是计算机缔造者之一的冯·诺伊曼本人。 但信息安全本身来说应该说经过60年代的理论时代,70年代的数学时代,80年代的实践时代,直到90年代才真正成为一个产业时代。也产生了系列的划分标准。如何准确的分类界定信息安全?对圈外的人来说,往往第一联想就是反黑客与反病毒,这种定式未免狭窄。而业内同样争论不休。我比较赞同一种说法,那就是信息安全由网络安全、系统安全和数据安全组成。网络安全依赖安全路由器、防火墙等设施保护,系统安全则需要反病毒产品,而数据安全则依靠算法加解密保护。从所倚重的背景来说,网络安全是一个软硬结合的制造业,反病毒则彻底的由科学界移植到了工程界,主要是软件编程的问题;而加密解密则更多发展于数学领域。
....关于病毒和反病毒技术来说,是三个方面中最容易描述的,这是因为病毒有足够长的历史和足够多的文献记载、有比较科学的统计,有比较通用的解决方案。 其实,人类最早的计算机病毒并不产生于恶意的造毒者,而是诞生于1983年VAX机上科学实验。而真正意义上的电脑病毒,则三年后才在IBM-PC上出现。应当说病毒制造者总是最熟悉也最看好主流的桌面系统的,因此,我们今天仅仅说一下PC病毒。
....1986年的Brain病毒是被多数计算机公史认可的第一种真正意义上的电脑病毒,但造毒的两兄弟不是为了破坏而造毒,而是为了追查盗版。而这种采用有害数据保护版权的先例,在十年后的中国竟然还有人效仿。
....第一种进入中国病毒是小球,随即在国内又出现了一些变种。这时是1988年,对付计算机病毒还停留在“原始社会”,为了对抗病毒一些用户竟然要为自己的程序文件或引导区中加上这种或那种流行病毒的感染标记作为免疫。而另一些程序员则一对一的剖析病毒,发布那些只能杀一种病毒的小程序。而这些程序员中无疑诞生了一披当今活跃在信息安全领域的公司老板们。
....随着病毒的增多,商用杀毒软件不断出现,他们不再是一对一的小执行文件,而逐渐集成了检测杀除多种病毒的子程序。也逐渐有了GUI。但随着可杀病毒数量过百过千,最早一批杀毒软件面临的共同问题是,对于这种有上百上千个子程序的产品,如何保证其可靠性和稳定性。于是,杀毒产品的结构有了一次突破,有了病毒库的机制和一个相对固定的调用引擎,这是个巨大的进步。
....93年的记忆里MCAFEE 还是个行命令工具,倒是CPAV风头很盛号称可杀2000种以上的病毒,而且有漂亮的界面,还OEM进了MSDOS。关于那个时代的插曲是关于防毒卡的,硬防还是软杀的争论喋喋不修,而中国的一个公司则以世界三大领先技术之一宣传他们的防毒卡。但起决定作用的不是专家,而是病毒,DIRII的出现,轻松突破了全部防毒卡的保护层,从此,硬件防毒,一蹶不振。
....关于DIRII我倒是有点特别的记忆,DIRII是自己手工杀掉的第一种病毒,而掉链子的事情发生在自己远程电话指导一个以前的女同学手工杀DIRII,病毒是杀掉了,程序也不能执行了。于是我明白一个道理,使用不可靠杀毒方法,远没有带毒运行潇洒。今年十月去北京,惊奇的发现,那个女孩子竟然在一家信息安全公司做程序员,她于是回忆起我当年遥控她进行扇区操作,我哈哈一笑。
....反病毒工作者在很长时间是的在造毒者后面跟跑,一对一的对那些甚至做了反跟踪处理的病毒进行分析,而当他们难以逐个面对的时候,对不少的病毒其实只是进行了静态二进制结构的分析而已。会有一些熟练的反病毒程序员,在找到出了填充入病毒库的杀毒参数后,并不能完整说清病毒的特性,这并不惊奇。但一个倾向出现了,那就是病毒对自身的加密,使对病毒的分析和提取特征码空前困难,这个问题事实上被虚拟机技术搞定了。而对病毒的检测,除了传统的静态特征码外,也就多了依靠虚拟机还原后动态的判定的启发式扫描。而这些新技术,也首次使反病毒工作者面对造毒者有了优势。但病毒对反病毒提出的挑战并不到此终结,宏病毒,以CIH为代表的PE病毒、MELISSA为代表的通过电子邮件附件传播的病毒等等,都提出了新的挑战。特别是MELISSA的大规模流传,使我们更期待反病毒核心技术能再有突破,期待反病毒产品能有个科学的先见性。
....对于网络安全的方面很难整理出如此清晰的脉络,关键在于网络安全形成一种系统的产业的时间太短了,而发展又太快了。我对网络安全比较全面的记忆起于93年,93年考入了大学,视野迅速开阔,93年尽管正是美国开始推行NII、INTEL发布了Pentium的一个那样值得记忆的年头,但信息安全远未全面走进工程界的视野,而更多的在科学界的供桌上。那年底我鬼始神差的读到了一本莫瑞.加瑟写的计算机安全的小册子。但里面还更多的是一种思想性的教诲和看起来并不算复杂的数学描述,你找不到关于任何专用于安全的硬件产品的介绍,事实上防火墙、安全路由器、VPN、这样的产品确实是随着NII到全球信息高速公路的巨大推动力成长起来的。这种速度确实惊人,94年的时候,我能见到的最先进的集线设备莫过于一个10M的共享HUB了,但98年,我则经常建议别人采用千兆的交换机了,安全与应用的进步是相辅相成的,没有应用的进步这个基础,安全绝对没有出路,而应用的进步则需要安全的保障。如果没有近5年人类社会的信息化要求对整个网络基础设备研、产、供、销的巨大拉动。FIREWALL则还是UNIX系统中不引人注目的小角色模块。至于VPN,别开玩笑了, SHARE而非交换技术的基础上可能谈什么VPN呢?
....加密/解密很容易被误解为CRACKER,事实上,信息安全领域的加密和解密与指纹盘、软件狗、或是SOFT-ICE没有任何关系。这里说的加密解密属于密码学,是一种把信息进行变换使未授权者无法识别的过程。加密解密的历史,似乎和人类的信息史一样长,无论加密算法、还是数字签名与认证都似乎可以在历史中溯源。但在计算机历史上,作为信息加密/解密的真正突破在于1976年出现了公开密钥加密技术,这使密码技术真正成为了信息安全的核心问题。讨论这种数学问题,未免使一些人觉得枯燥,我只好对代表性的东西点到为止。加密算法领域,最有名的两种无非是DES和RSA了。DES是IBM提出的,而且幸运在被美国政府推荐和业界自然选择的基础上成为一种标准,而RSA则是后起之秀,1977年DES正好成为联邦标准的那一年RSA才出现。
....应当说自己对DES是有些感情的,为了写一个运行要比JOHN16慢很多的东东,最不爱学习的我破天荒的看了好几天的DES的资料,我承认那时我大学阶段唯一一次对数学发生兴趣。但感情归感情,我们似乎要说,DES和RAS都有些老了,前者作为元老和很长久的行业标准已经渐渐力不从心,后者虽然被理论上称为4亿亿年才能破解,却在93到94年,在贝尔公司的一个研究员协调下,由连接于internet上的1600台计算机,用了八个月的时间解开。于是新的算法大战打响了,美国政府不惜重金全球征集到15个21世纪密码算法,结果评比还没开始其中6个就被远在北京的卿斯汗教授领导的小组破掉了。我无法计算全球的学者已经提出了多少新算法,但听说在中国官方密码管理机构排队等候审批算法就达300个,这其中不乏全新的思想和理念,但谁敢保证,这些正向推导仿佛格外严谨,强度甚高的东西,就一定比DES、和RSA这样经过时间反复考验的老古董强悍呢?当然也有不少专家看中对RSA做加强和拓展,比如曹珍富教授和他的RSA*,其实我的发言权不在于我很了解RSA,而在于,每天上班,推开左手的门就是我的软件开发三部,而右手的门就是他的哈工大信息安全研究所。
....追溯历史往往使人感到恐惧和苍茫,但回味计算机技术的发展则完全不同,每每找到的总是那种激动人心的感觉,以至想到不能因频繁回首影响到自己拼命追赶主流技术的步伐。所以更多目光还是需要向前,与其告诉来者,“不是我不明白,IT变化快”;不如告诉未来,“眼前的问题太多,可是多不过我们看不见的无穷的欢乐,振兴中国信息产业就是我们无穷的欢乐!”
(本站站长为CPCW 网站2000特刊写的专稿,兼做本站新年致辞)
(CPCW,2000-01-05)
|