浅析计算机病毒及其检测 篇一
计算机病毒是指一种能够在计算机系统中自我复制并传播的恶意软件程序。它们可以通过操纵或破坏计算机的正常运行,对用户的数据和隐私造成损害。本文将从计算机病毒的定义、特点和传播方式以及常见的病毒检测方法等方面进行浅析。
首先,计算机病毒是一种恶意软件程序,它们可以像传染病毒一样在计算机系统中自我复制和传播。病毒通常依附于其他程序或文件,并在用户执行这些程序或文件时激活。计算机病毒的存在可导致计算机系统的不稳定、数据丢失、系统崩溃等问题。
其次,计算机病毒具有一些特点。首先,它们具有自我复制的能力,通过感染其他文件或程序来扩散。其次,病毒可以在感染主机上进行隐藏和休眠,等待特定条件触发后才会激活。再次,病毒可以通过网络传播,例如通过电子邮件附件、恶意链接或下载的文件等方式。最后,病毒可以具有破坏性或盗窃性,例如删除文件、篡改数据、窃取个人信息等。
计算机病毒的传播方式多种多样。首先,通过可移动存储介质,例如USB闪存驱动器、移动硬盘等。当用户将受感染的存储介质插入其他计算机时,病毒会通过自我复制的方式传播到其他计算机上。其次,通过网络传播,例如通过电子邮件附件或下载的文件。这种方式可以快速传播病毒到全球范围内的许多计算机。最后,通过恶意网站或广告,当用户访问这些网站或点击广告时,病毒会通过下载或植入恶意代码的方式传播到用户的计算机上。
为了保护计算机免受病毒的侵害,病毒检测成为必要的工具和技术。常见的病毒检测方法包括特征扫描、行为监测和云端检测。特征扫描通过与已知病毒的特征进行比对,识别和删除已感染的文件。行为监测通过监视计算机的异常行为,例如文件的自我复制、系统资源的异常占用等来检测病毒。云端检测是一种基于云计算的病毒检测方法,它通过与云端服务器进行交互,利用云端数据库中的病毒特征库来检测和清除病毒。
总之,计算机病毒是一种恶意软件程序,它们具有自我复制和传播的能力,对计算机系统和用户的数据造成损害。为了保护计算机安全,病毒检测成为必要的手段。特征扫描、行为监测和云端检测是常见的病毒检测方法。用户应保持计算机系统的及时更新和安装可靠的防病毒软件,以提高计算机的安全性。
浅析计算机病毒及其检测 篇二
计算机病毒是一种恶意软件程序,它们可以在计算机系统中自我复制并传播,对用户的数据和隐私造成损害。本文将从计算机病毒的分类、危害以及病毒检测的挑战等方面进行浅析。
首先,计算机病毒可以根据其传播方式和破坏性质分为多种类型。常见的计算机病毒包括蠕虫病毒、木马病毒、文件病毒和宏病毒等。蠕虫病毒是一种可以自我复制并通过网络传播的病毒,它可以迅速感染到许多计算机。木马病毒是一种通过隐藏在其他程序中来获取用户权限并执行恶意操作的病毒。文件病毒是一种附着在文件上,并在用户执行文件时激活的病毒。宏病毒是一种在宏代码中隐藏的病毒,它可以感染到Office文档等文件。
其次,计算机病毒对用户的数据和隐私造成了严重的危害。病毒可以篡改、删除或加密用户的文件和数据,导致数据丢失。它们还可以窃取用户的个人信息,例如银行账号、密码等,造成用户的财产损失和个人隐私泄露的风险。此外,病毒还可以破坏计算机系统的正常运行,导致系统崩溃或无法启动。
然而,病毒检测也面临着一些挑战。首先,病毒的变种和新型病毒的不断出现使得病毒检测变得更加困难。病毒制作者不断改变病毒的特征和行为,以逃避病毒检测的识别。其次,病毒检测需要及时更新病毒特征库,以识别新出现的病毒。这需要病毒检测厂商及时收集和更新病毒特征信息。最后,病毒检测的误报率也是一个挑战。由于病毒检测算法的不完美性,可能会将正常的文件错误地标记为病毒。
为了应对这些挑战,病毒检测需要不断改进和创新。例如,可以采用机器学习和人工智能等技术来提高病毒检测的准确性和效率。此外,用户还应保持计算机系统的及时更新,并安装可靠的防病毒软件,以提高计算机的安全性。
总之,计算机病毒是一种恶意软件程序,它们对计算机系统和用户的数据造成严重的危害。为了保护计算机安全,病毒检测面临着一些挑战,包括病毒的变种和新型病毒的不断出现以及误报率的问题。为了提高病毒检测的准确性和效率,需要不断改进和创新病毒检测技术。
浅析计算机病毒及其检测 篇三
浅析计算机病毒及其检测
摘 要 本文通过对计算机病毒的原理与特征进行简要梳理,从计算机病毒的发展历史到其病毒的特征及其危害性,作一个完整性的认识,从而建立起计算机安全的概念,并提出预防计算机病毒的办法。关键词 计算机病毒 特征 危害性 检测
中图分类号:TP393.08文献标识码:A
随着计算机技术的发展,计算机已经深入到社会的各个方面,无论是学习还是工作,无论是国家建设还是军事国防,它的战略地位和作用已被人们充分认识。但是,计算机技术发展的同时也带来了一系列社会问题与安全威胁,特别是计算机病毒的出现,不管是对个人还是对企业,或者是对国家都造成了很大的危害。并且计算机病毒的品种和数量与日俱增,形式不断变化,破坏性也进一步加强,而对于一般的计算机管理人员和一般用户对计算机病毒没有清楚的认识,一方面导致在使用计算机的时候具有很大的心理负担,严重干扰了他们日常的工作和学习,另一方面又使使用者陷入不利的位置,无法避免计算机病毒的侵害。因此,对计算机病毒原理的了解和认识,掌握计算机病毒的工作原理、特征以及检测与防治对使用者而言已经迫在眉睫。
1 计算机病毒的基本概念
图1 病毒的静态结构图2 病毒的动态结构
计算机病毒这个术语最早由L.M.Aleman引入,而以形式化的定义来对计算机病毒进行概括的则是F.Cohen。计算机病毒在F.Cohen的形式化定义里很难以自然语言进行描述,但他同时也指出,计算机病毒是“一个程序,它能够通过把自身(或自己的一个变体)包含在其他程序中来进行传染。通过这种传染性质,一个病毒能够传播到整个的计算机系统或网络(通过用户的授权感染他们的程序)。每个被病毒传染的程序表现得像一个病毒,因此传染不断扩散。”①而实质上,随着计算机技术的发展和对计算机病毒的研究,我们可以把计算机病毒定义为一种在计算机运行过程能把自身精确复制和有修改的复制到其他程序体内的一种程序,它的本质是一种非授权的程序加载,剽窃系统软硬件资源作为其生存、繁殖和扩散的保障。一般情况下,计算机病毒主要由以下三部分组成:病毒引导模块、病毒传染模块、病毒激发与表现模块,如图1、2所示:②
正是通过病毒内部的这三个模块,由引导模块把病毒导入系统,而由传染模块向计算机的其他部件进行传染,再由激发模块激活计算机病毒对计算机实施干扰或破坏,从而使计算机不能正常工作,导致系统瘫痪,信息丧失。
计算机病毒按传染对象及其载体可分为操作系统型病毒及文件型病毒。操作系统型病毒在系统引导时先于正常系统的引导,将其病毒程序导入系统中,从而传染至软盘引导扇区、硬盘主引导扇区和硬盘DOS分区引导扇区。当病毒截得一定的中断向量时,由激发模块激发病毒,从而向内向外进行传染,在满足一定条件时,便向载体计算机进行破坏。而文件型病毒一般是对系统中的可执行文件进行感染,这种病毒的依附有其自主性,它可以选择可执行文件的首部、中部或者尾部进行依附,就目前的病毒来看,一般是首部或尾部。在病毒依附于可执行文件之后,一旦可执行文件运行,病毒便能首先获得系统的控制权,以此完成自身病毒的传染和对系统的破坏,当激发模块完成病毒的传染和对计算机的破坏之后,继而修改可执行文件。
2 计算机病毒的特征
计算机病毒的感染与运行产生对计算机破坏的作用是由计算机病毒的特征所决定的。我们从下面这个典型的计算机病毒的伪码序列就可看出它的基本特征:(见图3)
以上的伪码序列我们可以清楚的观察出计算机病毒具有传染性、破坏性以及伪装性。
传染性是计算机病毒的显着特色,也是衡量一个程序是不是计算机病毒的重要标志,它具有很强的再生机制,只要一接触便会被传染,无论是否是可执行程序,而传染上之后,计算机病毒一般会隐藏在可执行文件中,或者是首部或者尾部,只要一运行,便又迅速传染其他文件。
破坏性是计算机病毒被设计出来的主要目的,更是它的主要特征。当计算机系统感染病毒之后,病毒便会根据设计者的指示,或者破坏系统资源,或者破坏系统中的数据,又或者干扰计算机的正常运行以窃取用户的作息,甚至破坏整个系统,使计算机系统的运行遭到全面的摧毁。概括起来,计算机的攻击和破坏主要集中在三个方面:③(1)感染和破坏计算机硬盘或软盘的.引导扇区,改写Flash BIOS芯片中的系统程序;(2)感染系统文件和可执行文件;(3)删除或更改软盘和硬盘中的文件。
伪装性是计算机病毒寄生于计算机的某一个合法程序与系统,悄悄隐藏起来,在用户不察觉的情况下对计算机其他文件进行传染,在完成自己传染和对计算机系统的破坏后,又把控制权交回宿主程序,继续完成宿主程序的功能。在很多情况下,它会覆盖多种文件或程序,以此隐藏它们的恶意功能,这就是它们的伪装性。
当然,
计算机病毒还有其他的特征,如非授权可执行性、潜伏性、可触发性等,但这些在实质上可以归于以上三个主要特性。图3
3 计算机病毒的检测
遭受计算机病毒后,计算机会有一些显着的表现,如电脑运行速度降低;程序访问磁盘频次增加;程序访问不应访问的磁盘驱动器;磁盘可用空间迅速减少;正常运行程序时出现异常现象或无法运行,屏幕出现不正常文字、图画;显示屏出现异常文字及黑洞、小球、两点等画面;文件异常消失;文件部分丢失或整个文件被替代;出现不明来源的数据文件目录④等等。
因此,用户在使用计算机的过程中很有必要对计算机病毒进行检测。下面介绍几种检测方法:
(1)通过行为异常来检测,即behavioral abnormality;在这种方法里,将一个病毒监控器软件(virus montor)装下机器,用它来监视计算机系统在日常应用中的不同行为。这种监控器软件知道病毒有一些试图传染和逃避检测的典型活动,如试图写根扇区、修改中断向量、写系统文件等。这种方法最大的好处在于它适用于所有的病毒,包括已知与未知的,并且在病毒的传染前就发现它,及时提醒用户。
(2)通过仿真来检测,即emulation;所谓仿真检测就是被检测的程序由病毒检测程序来进行仿真,它用来决定程序的运行行为。这种方法与前面行为异常的检测的方法不同在于,监控器软件的监控是让程序真正运行的,而该方法只在特定样本输入的情况下进行仿真,在仿真过程如一旦发现一个程序试图修改中断向量或打开敏感文件,则该程序便就是可疑的。这种检测有一个缺点就是检测的结果不够精确,不可能总是正确地判定一个程序是否是计算机病毒。
(3)通过效验和来检测,即checksum;这种方法是为了保护程序不被修改或破坏,一个基于程序内容的效验和被计算机出来并以加密方式存贮在程序内部或外部。通过校验和这样的方式,由于加密使用意向函数(one-way function),病毒传染后要伪造一个同样的检验和在计算上基本上不可能,从而检测出是否遭受计算机病毒的感染与攻击。
(4)通过动态的程序的完整性来检测,即program integrity;这种方法是保证可执行程序在运行时的完整性,或在程序的完整性和运行之间检测是否传染。这种方法的基本途径在于针对一个事先定义的程序“颗粒”,先计算一个加密的校验和,事先对每个基本块计算一个加密的效验和,并把它存在基本块⑤中。当每一次控制流入基本块的顶部,重新计算校验和,并把加密后的校验和与存贮的检验和比较,这就能检测出基本块内部指令的完整性,从而知道是否感染计算机病毒。
(5)通过特征码扫描来检测,即signature scanning;这种方法是检测计算机系统中或可执行程序中是否感染病毒最常见也是最简单的方法,但这种方法只能针对已知病毒,对未知的病毒无法检测,也不能直接应用于自我加密的病毒。
(6)通过手工检测;对一些未知的病毒或已经变形的病毒,直截了当的方法就是对每一个未知的病毒或变形的病毒逐行编制一套特殊的程序去检测不同的代码序列。当然,这种方法在普通用户中并不实用,极费时间又代价昂贵。