族谱网 头条 人物百科

计算机病毒

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:640
转发:0
评论:0
历史学术工作第一份关于计算机病毒理论的学术工作(虽然"病毒"一词在当时并未使用)于1949年由约翰·冯·诺伊曼完成。当时是以"Theoryan

历史

学术工作

第一份关于计算机病毒理论的学术工作(虽然"病毒"一词在当时并未使用)于 1949年由约翰·冯·诺伊曼完成。当时是以"Theory and Organization of Complicated Automata"为题的一场在伊利诺伊大学的演讲,稍后改以"Theory of self-reproducing automata"为题出版。冯·诺伊曼在他的论文中描述一个计算机程序如何复制其自身。

1972年,Veith Risak根据冯·诺伊曼在自我复制上的工作为基础发表"Self-reproducing automata with minimal information exchange"一文。该文描述一个以西门子4004/35计算机系统为目标,用汇编语言编写,具有完整功能的计算机病毒。

1980年,Jürgen Kraus于多特蒙德大学撰写他的学位论文"Self-reproduction of programs"。在他的论文中,他假设计算机程序可以表现出如同病毒般的行为。

“病毒”一词最早用来表达此意是在弗雷德·科恩(Fred Cohen)1984年的论文《电脑病毒实验》。

科幻小说

而病毒一词广为人知是得力于科幻小说。一部是1970年代中期大卫·杰洛德(David Gerrold)的《When H.A.R.L.I.E. was One》,描述了一个叫“病毒”的程序和与之对战的叫“抗体”的程序;另一部是约翰·布鲁勒尔(John Brunner)1975年的小说《震荡波骑士(ShakewaveRider)》,描述了一个叫做“磁带蠕虫”、在网络上删除数据的程序。

病毒程序

1960年代初,美国麻省理工学院的一些青年研究人员,在做完工作后,利用业余时间玩一种他们自己创造的计算机游戏。做法是某个人编制一段小程序,然后输入到计算机中运行,并销毁对方的游戏程序。而这也可能就是计算机病毒的雏形。

感染策略

为了能够复制其自身,病毒必须能够运行代码并能够对内存运行写操作。基于这个原因,许多病毒都是将自己附着在合法的可执行文件上。如果用户企图运行该可执行文件,那么病毒就有机会运行。病毒可以根据运行时所表现出来的行为分成两类。非常驻型病毒会立即查找其它宿主并伺机加以感染,之后再将控制权交给被感染的应用程序。常驻型病毒被运行时并不会查找其它宿主。相反的,一个常驻型病毒会将自己加载内存并将控制权交给宿主。该病毒于背景中运行并伺机感染其它目标。

非常驻型病毒

非常驻型病毒可以被想成具有搜索模块和复制模块的程序。搜索模块负责查找可被感染的文件,一旦搜索到该文件,搜索模块就会引导复制模块进行感染。

常驻型病毒

常驻型病毒包含复制模块,其角色类似于非常驻型病毒中的复制模块。复制模块在常驻型病毒中不会被搜索模块调用。病毒在被运行时会将复制模块加载内存,并确保当操作系统运行特定动作时,该复制模块会被调用。例如,复制模块会在操作系统运行其它文件时被调用。在这个例子中,所有可以被运行的文件均会被感染。常驻型病毒有时会被区分成快速感染者和慢速感染者。快速感染者会试图感染尽可能多的文件。例如,一个快速感染者可以感染所有被访问到的文件。这会对杀毒软件造成特别的问题。当运行全系统防护时,杀毒软件需要扫描所有可能会被感染的文件。如果杀毒软件没有察觉到内存中有快速感染者,快速感染者可以借此搭便车,利用杀毒软件扫描文件的同时进行感染。快速感染者依赖其快速感染的能力。但这同时会使得快速感染者容易被侦测到,这是因为其行为会使得系统性能降低,进而增加被杀毒软件侦测到的风险。相反的,慢速感染者被设计成偶而才对目标进行感染,如此一来就可避免被侦测到的机会。例如,有些慢速感染者只有在其它文件被拷贝时才会进行感染。但是慢速感染者此种试图避免被侦测到的作法似乎并不成功。

传播途径和宿主

由于世界操作系统桌面环境90%的市场都是使用微软Windows系列产品, 所以病毒作者纷纷把病毒攻击对象选为Windows。制作病毒者首先应该确定要攻击的操作系统版本有何漏洞,这才是他所写的病毒能够利用的关键。Windows当时并没有有效的安全与防御功能,且用户常以管理员权限运行未经安全检查的软件,这也为Windows下病毒的泛滥提供了温床。Linux、Mac OS等操作系统,因使用的人群比较少,病毒一般不容易扩散。大多病毒发布作者的目的有多种,包括恶作剧、想搞破坏、报复及想出名与对研究病毒有特殊嗜好。 病毒主要通过网路浏览以及下载,电子邮件以及可移动磁盘等途径迅速传播。

可移动驱动器

市面上大多的可移动驱动器都是属于可读写模式,因此很容易写入Autorun.inf文件以及许多恶意程序。受到感染的U盘病毒插入电脑里后,病毒会躲藏在操作系统中的进程,侦测电脑上的一举一动。当用户将其他干净的USB插入受感染的电脑里,病毒会复制到干净的USB里,然后一传十、十传百。公用电脑的使用亦导致USB病毒快速散播。

躲避侦测的方法

隐蔽

病毒会借由拦截杀毒软件对操作系统的调用来欺骗杀毒软件。当杀毒软件要求操作系统读取文件时,病毒可以拦截并处理此项要求,而非交给操作系统运行该要求。病毒可以返回一个未感染的文件给杀毒软件,使得杀毒软件认为该文件是干净未被感染的。如此一来,病毒可以将自己隐藏起来。现在的杀毒软件使用各种技术来反击这种手段。要反击病毒匿踪,唯一完全可靠的方法是从一个已知是干净的媒介开始引导。

自修改

大部分杀毒软件通过所谓的病毒特征码来侦知一个文件是否有被感染。特定病毒,或是同属于一个家族的病毒会具有特定可识别的特征。如果杀毒软件侦测到文件具有病毒特征码,它便会通知用户该文件已被感染。用户可以删除或是修复被感染的文件。某些病毒会利用一些技巧使得通过病毒特征码进行侦测较为困难。这些病毒会在每一次感染时修改其自身的代码。换言之,每个被感染的文件包含的是病毒的变种。只能重装或下载杀毒软件.

随机加密

胡搞更高级的是对病毒本身进行简单的加密。这种情况下,病毒本身会包含数个解密模块和一份被加密的病毒拷贝。如果每一次的感染,病毒都用不同的密钥加密,那病毒中唯一相同的部分就只有解密模块,这部分通常会附加在文件尾端。杀毒软件无法直接通过病毒特征码侦测病毒,但它仍可以侦知解密模块的存在,这使得间接侦测病毒是有可能的。因为这部分是存放在宿主上面的对称式密钥,杀毒软件可以利用密钥将病毒解密,但这不是必需的。这是因为自修改代码很少见,杀毒软件至少可以将这类文件标记成可疑的。

一个古老但简洁的加密技术将病毒中每一个字节和一个常数做逻辑异或,欲将病毒解密只需简单的逻辑异或。一个会修改其自身代码的程序是可疑的,因此加解密的部分在许多病毒定义中被视为病毒特征码的一部分。

多态

多态是第一个对杀毒软件造成严重威胁的技术。就像一般被加密的病毒,一个多态病毒以一个加密的自身拷贝感染文件,并由其解密模块加以解码。但是其加密模块在每一次的感染中也会有所修改。因此,一个仔细设计的多态病毒在每一次感染中没有一个部分是相同的。这使得使用病毒特征码进行侦测变得困难。杀毒软件必须在一模拟器上对该病毒加以解密进而侦知该病毒,或是利用加密病毒其统计模板上的分析。要使得多态代码成为可能,病毒必须在其加密处有一个多态引擎(又称突变引擎)。关于多态引擎的技术细节请参阅Polymorphic code。

有些多态病毒会限制其突变的速率。例如,一个病毒可能随着时间只有一小部分突变。或是病毒侦知宿主已被同一个病毒感染,它可以停止自己的突变。如此慢速的突变其优点在于,杀毒专家很难得到该病毒具有代表性的样本。因为在一轮感染中,诱饵文件只会包含相同或是近似的病毒样本。这会使得杀毒软件侦测结果变得不可靠,而有些病毒会躲过其侦测。

变形

为了避免被杀毒软件模拟而被侦知,有些病毒在每一次的感染都完全将其自身改写。利用此种技术的病毒被称为可变形的。要达到可变形,一个变形引擎是必需的。一个变形病毒通常非常庞大且复杂。举例来说,Simile(英语:Simile (computer virus))病毒包含14000行汇编语言,其中90%都是变形引擎。

命名

以下表格所示是国际上对病毒命名惯例的前缀释义,DOS下的病毒一般无前缀:

中间部分指的是病毒的英文名,而后缀一般是变种代号。

特征

在计算机科学里,电脑病毒是类似生物病毒一样的程序,它会复制自己并传播到其他宿主,并对宿主造成损害。宿主也是程序,通常是操作系统,从而进一步传染到其他程序、其他的电脑。电脑病毒在传播期间一般会隐蔽自己,由特定的条件触发,并开始产生破坏。

电脑病毒具有的不良特征有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性,通常表现两种以上所述的特征就可以认定该程序是病毒。

计算机病毒的生命周期为开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。

主要特征详解

传播性

病毒一般会自动利用电子邮件传播,利用对象为某个漏洞。将病毒自动复制并群发给存储的通讯录名单成员。邮件标题较为吸引人点击,大多利用社会工程学如“我爱你”这样家人朋友之间亲密的话语,以降低人的警戒性。如果病毒制作者再应用脚本漏洞,将病毒直接嵌入邮件中,那么用户一点邮件标题打开邮件就会中病毒。

隐蔽性

一般的病毒仅在数KB左右,这样除了传播快速之外,隐蔽性也极强。部分病毒使用“无进程”技术或插入到某个系统必要的关键进程当中,所以在任务管理器中找不到它的单独运行进程。而病毒自身一旦运行后,就会自己修改自己的文件名并隐藏在某个用户不常去的系统文件夹中,这样的文件夹通常有上千个系统文件,如果凭手工查找很难找到病毒。而病毒在运行前的伪装技术也不得不值得我们关注,将病毒和一个吸引人的文件绑扎合并成一个文件,那么运行正常吸引他的文件时,病毒也在我们的操作系统中悄悄的运行了。

感染性

某些病毒具有感染性,比如感染中毒用户计算机上的可执行文件,如exe、bat、scr、com格式,通过这种方法达到自我复制,对自己生存保护的目的。通常也可以利用网络共享的漏洞,复制并传播给邻近的计算机用户群,使邻里通过路由器上网的计算机或网吧的计算机的多台计算机的程序全部受到感染。

电脑病毒潜伏性

部分病毒有一定的“潜伏期”,在特定的日子,如某个节日或者星期几按时爆发。如1999年破坏№BIOS的CIH病毒就在每年的4月26日爆发。如同生物病毒一样,这使电脑病毒可以在爆发之前,以最大幅度散播开去。

可激发性

根据病毒作者的“需求”,设置触发病毒攻击的“玄机”。

表现性

病毒运行后,如果按照作者的设计,会有一定的表现特征:如CPU占用率100%,在用户无任何操作下读写硬盘或其他磁盘数据,蓝屏死机,鼠标右键无法使用等。但这样明显的表现特征,反倒帮助被感染病毒者发现自己已经感染病毒,并对清除病毒很有帮助,隐蔽性就不存在了。

分类

根据中国国家计算机病毒应急处理中心发表的报告统计,占近45%的病毒是木马程序,蠕虫占病毒总数的25%以上,占15%以上的是脚本病毒,其余的病毒类型分别是:文件型病毒、破坏性程序和宏病毒。

木马/僵尸网络

有些也叫作远程控制软件,如果木马能连通的话,那么可以说控制者已经得到了远程计算机的全部操作控制权限,操作远程计算机与操作自己计算机基本没什么大的区别,这类程序可以监视、摄录被控用户的摄像头与截取密码等,以及进行用户可进行的几乎所有操作(硬件拔插、系统未启动或未联网时无法控制)。而Windows NT以后的版本自带的“远程桌面连接”,或其他一些正规远控软件,如若未进行良好的安全设置或被不良用户篡改利用,也可能起到类似作用。但他们通常不会被称作病毒或木马软件,判断依据主要取决于软件的设计目的和是否明确告知了计算机所有者。

用户一旦感染了特洛伊木马,就会成为“僵尸”(或常被称为“肉鸡”),成为任黑客手中摆布的“机器人”。通常黑客或脚本小子(script kids)可以利用数以万计的“僵尸”发送大量伪造包或者是垃圾数据包对预定目标进行拒绝服务攻击,造成被攻击目标瘫痪。

有害软件

蠕虫病毒漏洞利用类,也是我们最熟知的病毒,通常在全世界范围内大规模爆发的就是它了。如针对旧版本未打补丁的Windows XP的冲击波病毒和震荡波病毒。有时与僵尸网络配合,主要使用缓存溢出技术。

间谍软件和流氓软件,是部分不良网络公司出品的一种收集用户浏览网页习惯而制订自己广告投放策略的软件。这种软件本身对计算机的危害性不是很大,只是中毒者隐私遭到泄露被收集走和一旦安装上它就无法正常删除卸载了。比如对Internet Explorer的广告软件会自动修改并锁定用户缺省主页以及加载广告公司的工具条。

恶作剧的破坏性软件,如破坏性很大的“格盘炸弹”,运行程序后自动格式化硬盘,原本只为“愚人”目的,但这种恶意程序运行后就会对用户重要数据造成很大的损失。与此相同的还有文件感染器(File infector)以及在DOS下的根扇区病毒。

文件型病毒通常寄居于可执行文件(扩展名为.EXE或.COM的文件),当被感染的文件被运行,病毒便开始破坏电脑,这种病毒都是伪装成游戏,成人视频软件等钓鱼的形态出现引发用户点击,病毒便明显地或是偷偷的安装上去。

脚本病毒

宏病毒的感染对象为Microsoft开发的办公系列软件,也有专门针对其他软件的变种。Microsoft Word,Excel这些办公软件本身支持运行可进行某些文件操作的命令,所以也被Office文档中含有恶意的宏病毒所利用。openoffice.org对Microsoft的VBS宏仅进行编辑支持而不运行,所以含有宏病毒的MS Office文档在openoffice.org下打开后病毒无法运行。

免杀技术以及新特征

免杀是指:对病毒的处理,使之躲过杀毒软件查杀的一种技术。通常病毒刚从病毒作者手中传播出去前,本身就是免杀的,甚至可以说“病毒比杀毒软件还新,所以杀毒软件根本无法识别它是病毒”,但由于传播后部分用户中毒向杀毒软件公司举报的原因,就会引起安全公司的注意并将之特征码收录到自己的病毒库当中,病毒就会被杀毒软件所识别。

病毒作者可以通过对病毒进行再次保护如使用汇编加花指令或者给文件加壳就可以轻易躲过杀毒软件的病毒特征码库而免于被杀毒软件查杀。

美国的Norton Antivirus、McAfee、PC-cillin,俄罗斯的Kaspersky Anti-Virus,斯洛伐克的NOD32等产品在国际上口碑较好,但杀毒、查壳能力都有限,目前病毒库总数量也都仅在数十万个左右。

自我更新性是近年来病毒的又一新特征。病毒可以借助于网络进行变种更新,得到最新的免杀版本的病毒并继续在用户感染的计算机上运行,比如熊猫烧香病毒的作者就创建了“病毒升级服务器”,在最勤时一天要对病毒升级8次,比有些杀毒软件病毒库的更新速度还快,所以就造成了杀毒软件无法识别病毒。

除了自身免杀自我更新之外,很多病毒还具有了对抗它的“天敌”杀毒软件和防火墙产品反病毒软件的全新特征,只要病毒运行后,病毒会自动破坏中毒者计算机上安装的杀毒软件和防火墙产品,如病毒自身驱动级Rootkit保护强制检测并结束杀毒软件进程,可以过主流杀毒软件“主动防御”和穿透软、硬件还原的机器狗,自动修改系统时间导致一些杀毒软件厂商的正版认证作废以致杀毒软件作废,从而病毒生存能力更加强大。

免杀技术的泛滥使得同一种原型病毒理论上可以派生出近乎无穷无尽的变种,给依赖于特征码技术检测的杀毒软件带来很大困扰。近年来,国际反病毒行业普遍开展了各种前瞻性技术研究,试图扭转过分依赖特征码所产生的不利局面。目前比较有代表性产品的是基于虚拟机技术的启发式扫描软件,代表厂商NOD32,Dr.Web,和基于行为分析技术的主动防御软件,代表厂商微点主动防御软件等。

防范


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱

相关资料

展开
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
扫一扫添加客服微信