计算机病毒种类有哪些

计算机病毒种类有哪些,第1张

计算机病毒种类有以下几种:

1 网络病毒——通过计算机网络传播感染网络中的可执行文件。

2 文件病毒——感染计算机中的文件(如:COM,EXE,DOC等)。

3 引导型病毒——感染启动扇区(Boot)和硬盘的系统引导扇区(MBR)。

4 还有这三种情况的混合型,例如:多型病毒(文件和引导型)感染文件和引导扇区两种目标,这样的病毒通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法。

计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。计算机病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。

计算机病毒是一个程序,一段可执行码。就像生物病毒一样,具有自我繁殖、互相传染以及激活再生等生物病毒特征。计算机病毒有独特的复制能力,它们能够快速蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上,当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。

扩展资料:

原理:

病毒依附存储介质软盘、 硬盘等构成传染源。病毒传染的媒介由工作的环境来定。病毒激活是将病毒放在内存, 并设置触发条件,触发的条件是多样化的, 可以是时钟,系统的日期,用户标识符,也可以是系统一次通信等。条件成熟病毒就开始自我复制到传染对象中,进行各种破坏活动等。

病毒的传染是病毒性能的一个重要标志。在传染环节中,病毒复制一个自身副本到传染对象中去。

第一次病毒入侵网络是在1988年1月,美国康奈尔大学学生莫里斯将其编写的蠕虫程序输入计算机网络,程序输入后迅速膨胀,几小时内造成网络堵塞,造成960万美元的经济损失。

计算机病毒通常是指某些有问题的计算机软件或程序,能够在计算机内把问题反复地自我繁殖和扩散,危及计算机系统的工作,就像病毒在生物体内繁殖导致生物患病一样。

计算机病毒最初起源于美国。本世纪80年代,美国电话电报公司贝尔实验室的工作人员,由于工作失误制造出病毒。后来,一些恶作剧者为了显示自己手段高明或寻求刺激,制造了不少病毒。

计算机病毒是计算机程序设计者的恶作剧,已成为世界公害。人类现在已采取了积极的预防措施,对计算机进行“接种疫苗”,但这对于层出不穷的病毒来说,显然处于被动状态。从根本上控制计算机病毒的危害还有待高科技界的大力研究。

参考资料:

百度百科——计算机病毒

特洛伊病毒,蠕虫病毒,灰鸽子,熊猫烧香等等等

为了你的电脑安全,建议不要关闭杀毒软件,以防中毒后电脑文件遭到破坏造成损失

建议你安装腾讯电脑管家,这个的安全防护功能可以保护你的电脑安全,网购、u盘等等可以为你提供特殊保护,而且无需单独开启,很方便也很安全,推荐你试试

1、1986年年初,巴基斯坦兄弟编写了“大脑”病毒,又被称为“巴基斯坦”病毒。

2、1989年,引导型病毒发展为可以感染硬盘,典型的代表有“石头2”。

3、1990年,可感染COM和EXE文件的复合型病毒。

4、1992年,“金蝉”病毒,利用DOS加载文件的优先顺序进行工作。

5、1995年,当生成器的生成结果为病毒时,就产生了这种复杂的“病毒生成器” ,幽灵病毒流行中国。典型病毒代表是“病毒制造机” “VCL”。

6、1998年台湾大同工学院学生陈盈豪编制了CIH病毒。

7、2000年最具破坏力的10种病毒分别是:Kakworm,爱虫, Apology-B, Marker , Pretty ,Stages-A,Navidad,Ska-Happy99 ,WM97/Thus ,XM97/Jin。

8、2003年,中国大陆地区发作最多的十个病毒,分别是:红色结束符、爱情后门、FUNLOVE、QQ传送者、冲击波杀手、罗拉、求职信、尼姆达II、QQ木马、CIH。

9、2005年,木马、蠕虫、黑客病毒。

10、后门病毒、熊猫烧香肆虐全球。

11、2017年5月,“想哭”勒索病毒席卷全球。

扩展资料:

对病毒的征兆和预防

一、征兆

1、屏幕上出现不应有的特殊字符或图像、字符无规则变或脱落、静止、滚动、雪花、跳动、小球亮点、莫名其妙的信息提等。

2、发出尖叫、蜂鸣音或非正常奏乐等。

3、经常无故死机,随机地发生重新启动或无法正常启动、运行速度明显下降、内存空间变小、磁盘驱动器以及其他设备无缘无故地变成无效设备等现象。

4、磁盘标号被自动改写、出现异常文件、出现固定的坏扇区、可用磁盘空间变小、文件无故变大、失踪或被改乱、可执行文件(exe)变得无法运行等。

5、打印异常、打印速度明显降低、不能打印、不能打印汉字与图形等或打印时出现乱码。

6、收到来历不明的电子邮件、自动链接到陌生的网站、自动发送电子邮件等。

二、预防

1、程序或数据神秘地消失了,文件名不能辨认等;注意对系统文件、可执行文件和数据写保护;不使用来历不明的程序或数据;尽量不用软盘进行系统引导。

2、不轻易打开来历不明的电子邮件;使用新的计算机系统或软件时,先杀毒后使用;备份系统和参数,建立系统的应急计划等。安装杀毒软件。分类管理数据。

参考资料来源:百度百科-计算机病毒

McAfee® VirusScan® Enterprise 80i

最大优点:免费 国际品质 微软公司内部使用

通过将入侵防护和防火墙技术整合到集成的 PC 和文件服务器解决方案中,McAfee® VirusScan® 80i 将病毒防护带入了新的水平。 这种强大的组合不但可以提供真正的主动防护以避免当今最新的威胁(包括缓冲区溢出攻击和混合攻击),而且具有先进的病毒爆发管理响应功能,可以减少突发事件带来的损失和成本。 所有的可扩展安全策略一致性和图形化报告均由 McAfee ePolicy Orchestrator® 或 ProtectionPilot™ 进行管理。

主要优势

产品集成防火墙和 IPS 技术 — 作为防护解决方案的补充,防火墙和入侵防御技术可以在单一的集成包中提供最大限度的主动防御

扩大新兴威胁的防护范围 — VirusScan 80i 可以防护潜在的最新恶意程序安全威胁 (如间谍软件)、特定于应用程序的缓冲区溢出攻击和混合攻击

降低响应病毒爆发时涉及的 TCO — 先进的病毒爆发应急功能可以在提供 DAT 文件之前,关闭漏洞窗口,从而通过拦截病毒的进入和传播来减少损失

McAfee 扫描技术 — 屡奖殊荣的 McAfee 扫描引擎可以通过内存扫描功能有效地拦截类似于 Netsky 和 Code Red 这样的威胁,此类威胁的特点就是不会将自己的代码写入到磁盘上

集中的管理和报告功能 — 通过与 McAfee ePolicy Orchestrator 和 ProtectionPilot 的集成,可以通过单一的控制台为用户提供全面的安全管理解决方案,包括详细的图形化报告功能�

产品功能

全方位的 McAfee 病毒防护

McAfee 防病毒扫描引擎能够拦截各种病毒和恶意代码威胁,包括宏病毒、木马程序、Internet 蠕虫、32 位高级病毒,甚至是恶意的 ActiveX 和 Java 对象。 VirusScan 采用的防病毒技术能够对压缩数据进行深入分析,因而能够检测出隐藏在 zip 或其他类型压缩文件中的威胁。 先进的启发式检测和通用检测技术使 VirusScan 具有了前瞻性的防护能力,能够“提前”防御各种新的、未知的病毒以及其他多种威胁。

潜在恶意程序安全防护

VirusScan 能够自动检测“垃圾”程序,有效防止隐藏程序跟踪企业和用户的 Internet 使用记录、访问用户个人数据(例如密码和帐户信息)或者在用户系统中造成安全漏洞。 用户或管理员可以为 VirusScan 选择一种在检测到潜在恶意程序时的应急方式(“警告”、“清除”、“删除”和“隔离”)。 管理员可以根据企业的实际情况来定制恶意程序列表,如广告软件、拨号器、恶意玩笑程序,以便使公司的终端系统符合通用运行环境 (COE) 的要求。

缓冲区溢出防御(IPS 功能)

VirusScan 80i 可以为大约 20 种常见和存在漏洞的软件应用程序及 Microsoft® Windows® OS 服务提供缓冲区溢出攻击防护。这些应用程序和服务包括 Microsoft Word、Excel、Internet Explorer、Outlook 和 SQL Server。 必要时,管理员可以根据流程创建例外。

全方位的突发事件响应

借助内置的应急功能,VirusScan 80i 可以在发布 DAT 文件之前对最新的病毒进行防护,即在 DAT 发布之前,管理员可以对识别病毒之后存在的关键性漏洞窗口采取防御措施。 突发事件响应功能包括:

端口拦截/锁定(防火墙功能)

使管理员或用户可以“关闭”(拦截)传入或传出网络流量的端口(例如,应该拦截 MyDoom 端口 #3196;Bageln 是端口 #2556)

应用程序监控功能:电子邮件引擎(防火墙功能)

允许管理员拦截传出流量的端口,但是,可以设置相应的规则,使某些进程可以通过关闭的端口进行通信。 例如,管理员应该拦截传出流量的端口 25,但是允许 outlookexe 通过该端口与传出流量进行通信。 启用此项功能时,NetSky 和 MyDoom 不会断开与系统的连接。

文件拦截,目录锁定,文件夹/共享拦截(IPS 功能)

根据系统或传入的网络进程创建相应的策略,用于控制可能对特定文件、目录或文件夹/共享(或采用由文字和通配符组成的匹配名称模式的文件组或文件夹)执行的 *** 作。 例如,基于 Sasser 蠕虫的策略不会拦截 avserveexe、skynetaveexe、lsasssexe、napatchexe、_upexe、cmdftp、ftplogtxt 和 winlog2 和 winlog。

感染跟踪和拦截

VirusScan 可以发现和跟踪向运行 VirusScan Enterprise 80i 的系统发送恶意代码的终端系统(感染源)的 IP 地址,以便将感染源信息报告回管理控制台。 或者,它可以在特定时段(可配置)或无限期(直到重新设置)阻止与感染源终端系统的进一步通信。

强大的内存扫描

VirusScan 80i 通过引入“按需”和“按计划”两种内存扫描模式增强了扫描功能,从而大大提升了对病毒、蠕虫和木马的防护。 也就是说,VirusScan 能够抵御多种诸如 CodeRed 和 SQLSlammer 的威胁因素,虽然此类威胁不会将代码写入到磁盘中,但 VirusScan Enterprise 却可以从内存中直接清除掉它们的进

程。

集中的管理和报告功能

VirusScan 80i 集成了 McAfee ePolicy Orchestrator,而后者则是用于策略管理、详细图形化报告以及软件部署的唯一一款真正可扩展的安全策略管理工具。 ePolicy Orchestrator 具有促进防护实施的集中授权,可提供一个单一的控制台,以管理您的 McAfee 部署。 或者,中小型企业可以利用用户友好的 McAfee ProtectionPilot 管理控制台简化管理和监控流程。

增强的电子邮件扫描功能

除 Microsoft Outlook 之外,VirusScan 80i 可以扫描到达桌面机的所有 Lotus Notes 客户端电子邮件,其中包括 HTML 文本和附件。 同时安装 Outlook 和 Lotus 客户端的系统也支持这种功能。

防护使用脚本的威胁

VirusScan 80i 可以检测到利用 JavaScript 和/或 Visual Basic (VB) 脚本(例如,Nimda 或 LoveLetter)的恶意代码,还可以防止这些恶意代码的运行,从而切断感染源。

针对移动用户的优化功能

区域服务器路由使得用户能够根据地理位置和连接速度对现场更新进行优化,较小的文件规模也使得用户能够轻松地通过连接速度较慢的网络(例如拨号连接)来下载更新文件。 借助于可恢复的更新功能,即使远程用户的网络连接被中断,他们也仍然能够在其它时间从中断处继续下载更新文件。

分析病毒的话那应该要用过很多杀软和其它安全工具吧,语言的话c++咯。

这里有篇讲杀软引擎的,希望对你有帮助!(文章太长了,转不完)

|转贴|杀毒软件的引擎- -

郑重声明:本贴原作者为走走看看

为防止误解,特作如下声明:

1鉴于个人能力有限,文中大量借用了业已在病毒界获得公认的两篇文章:先进杀毒引擎的设计原理 ,流行杀毒软件的引擎设计 。

2为便于理解,文中很多词语未使用严格的工业研发用语。比如杀毒引擎的前端正式名称为‘基于初步预扫描的(文件)对象汇入工程部分"。很多工业用语听起来很拗口,自己变通了一下,感兴趣者可查阅LFelly:系统的安全与防护 中的有关章节。

3我认为现今在全球流行的几款杀毒软件在技术上并不存在谁的技术远远领先的问题,没有必要过与赞扬那一款杀毒软件,自己用着高兴就好。文中对某些杀软的介绍比较详细,主要是因为它的资料较多,有东西可写,没有其余的意思。

4到现在为止,我已经用过几乎所有的杀毒软件(论坛上提到的)

5 我个人非常不喜欢设计病毒,私下写过的几个纯粹是写着玩,大部分时候是MM生气的时候写个玩笑程序让她高兴用的

6很长时间不在专业病毒论坛上走动了。我认为如果因为喜欢程序设计看一下病毒的代码是可以的,当出于其他目的的时候,还是收手吧。

7鉴于个人能力原因,有一部分是MM写的,MM很漂亮,也很娇气,但对我基本上言听计从,必经一起走过了十几年了。原帖子中有一部分是错误的,已经由她修改过。

8文中有一部分内容来自一个朋友提供的杀毒软件公司的开发文档,我已经大幅改动过。

9本人是学生,且正在忙于考G,上网的时间并不怎么多,因此很多问题可能并不能及时作出解答,还望原谅。

10我一直在使用的杀毒软件(其余的半路都卸了):SAV90,KV2004(两套系统)。在我看来杀毒软件就只是一款软件罢了,没必要大家为用什么争来争去,自己感觉好就行了,争论的时间还不如用来多陪陪女友呢。

正文部分

文章比较长,加之本人写作水平有限和某些技术文档需要核实,只能写一段发一段,还望大家原谅。有误之处,敬请指出,谢谢!(各段数值标出,每次均对该文件进行编辑

1什么是杀毒软件引擎,与病毒库的关系?

首先必须指出杀毒软件的引擎与其病毒库并没有什么直接的关系。杀毒引擎的任务和功能非常简单,就是对于给定的文件或者程序进程判断其是否是合法程序(对应于杀毒软件厂商自己定义的正常和非异常程序规范而言。正常的程序规范是指在程序所在系统平台上 *** 所系统本身洗净有定义的或者业界已经公认的程序行为过程,比如 *** 作系统正常运行就必须要求应用程序与系统核心进行进程响应并与交换相关数据。非异常程序活动是指可能存在非法程序 *** 作结果但能够以较高的置信度确定其非非法程序活动规范的。一般情况下,相关文件的复制,移动,删除等都奔包括在该界定范围内)。

我们知道病毒的最终目的有些是与合法活动很类似的,在这种情况下,要求软件厂商必须自己有一个行为规范界定规则,在一个给定的范围和置信度下,判断相关 *** 作是否为合法。在这方面,各个厂商的界定是有区别的,一般而言非美国厂商界定是非常严格的,只有有很高的置信水平的程序行为,他们才判别为非病毒 *** 作。记得前一阵论坛上有人给了四段简单的代码,很多杀毒软件将其判为病毒或有病毒性质的文件行为,实际上看那几段代码可以知道,其结果并不足以视之为病毒。美国厂商一般判断比较复杂,这主要由于美国市场上的杀毒软件引擎来源比较复杂,比如诺顿,有足够的技术资料确信它的杀毒软件引擎是自成体系的,而mcafee则存在一定的外界技术引进(收购所罗门)。

用简单的话说,杀毒引擎就是一套判断特定程序行为是否为病毒程序(包括可疑的)的技术机制。一个完整的技术引擎遵守如下的行为过程:

1非自身程序行为的程序行为捕获。包括来自于内存的程序运行,来自于给定文件的行为虚拟判断,来自于网络的动态的信息等等。一般情况下,我们称之为引擎前端。捕捉的方法非常多,除诺顿以外的杀毒软件采用的都是行为规范代码化的方法。诺顿由于与微软有这远远高于其它厂商合作关系,其实现过程比较独特,另有叙述。

2基于引擎机制的规则判断。这个环节代表了杀毒引擎的质量水平,一个好的杀毒引擎应该能在这个环节发现很多或者称之为相当规模的病毒行为,存而避免进入下一个判断环节。传统的反病毒软件引擎使用的是基于特征码的静态扫描技术,即在文件中寻找特定十六进制串,如果找到,就可判定文件感染了某种病毒。但这种方法在当今病毒技术迅猛发展的形势下已经起不到很好的作用了。为了更好的发现病毒,相继开发了所谓的虚拟机,实时监控等相关技术。这个环节被叫做杀毒软件引擎工作的核心层。

3引擎与病毒库的交互作用。这个过程往往被认为是收尾阶段,相对于前两个环节,这个阶段速度是非常慢的,杀毒引擎与要将非自身程序行为过程转化为杀毒软件自身可识别的行为标识符(包括静态代码等),然后与病毒库中所存贮的行为信息进行对应,并作出相应处理。当然必须承认,当前的杀毒软件对大量病毒的识别都是在这个阶段完成的。因此一个足够庞大的病毒库往往能够弥补杀毒软件引擎的不足之处。但是必须意识到,如果在核心层阶段就可以结束并清除病毒程序,那么杀毒软件的工作速度将会大幅提升。"很可惜的是,当前我们没有足够聪明的杀毒引擎来完成这个过程",这就是为什么有病毒库的原因。

诺顿是微软最高级的安全方面核心合作厂商,因此它的杀毒软件在某些方面工作比较特殊。比如在杀毒软件的安装,使用和功能实现方面,大部分厂商采用的是中间件技术,在系统底层与非自身应用程序之间作为中间件存在并实现其功能;另有一些厂商使用的是应用程序或者嵌入技术,相对而言这种方法安全性较低;诺顿和 mcafee实现方式比较相似,诺顿采用了基于系统最底层的系统核心驱动,这种实现方式是最安全的或者说最高级的实现方式,当然这需要微软的系统源代码级的支持(要花许多money),业界公认,这是最稳定的实现方法,但从目前而言,只诺顿一家。Mcafee实现方式与诺顿很接近,一般称之为软件驱动。相当于在系统中存在一个虚拟"硬件",来实现杀毒软件功能。这些实现方式关系着杀毒引擎对程序行为进行捕捉的方式。

我们使用的intel系的处理器有两个 ring层,对应两个层,微软的 *** 作系统将系统中的所有行为分为如下几个层:

1最底层:系统核心层,这个层的所有行为都由 *** 作系统已经内置的指令来实现,所有外界因素(即使你是系统管理员)均不能影响该层的行为。诺顿的核心层既工作在这个层上。

2硬件虚拟层,一般称之为HAL。为了实现硬件无关性,微软设计了该层。所有的外部工作硬件(相对于系统核心而言)都进入HAL,并被HAL处理为核心层可以相应的指令。我们所使用的硬件的驱动程序既工作在该层上。当外界硬件存在指令请求时,驱动程序作出相关处理后传给核心层。如果无与之对应的驱动相应,那么将按照默认硬件进行处理。好像安全模式下硬件的工作就被置于默认硬件模式。Mcafee被认为工作与该层上。

3用户层(分为两个子层,不详细叙述,感兴趣的可以查阅《windows xp入门到精通》(有中文版),第二部分四节有叙述)。我们所知的大部分杀毒软件既工作与该层上。一个完整的程序行为请求是如下流程:位于3户层上的应用程序产生指令行为请求,被传递至2HAL进行处理,最后进入1最底层后进入CPU的指令处理循环,然后反向将软件可识别的处理结果经1-2-3再响应给应用程序。对于诺顿而言,其整个工作过程如下:3-2-1,完成;mcafee:3-2-1-1-2,完成:其余:3-2-1-1-2-3,完成;这个环节代表了杀毒软件引擎的前端行为规范的获得。只从这个过程而言,诺顿和mcafee是比较先进的。(具体的系统与CPU的ring()的对应,记不清楚了。 WinNT时代,微软的NT系统被设计有与四个ring()层相对应,RISC系列的处理器有四个ring。因此现在的大部分杀毒软件是不能工作与NT上的。具体的CISC和RISC的ring()数我记得可能有误,反正是一个2ring(),一个4ring())。

尽管比较先进的工作方式给诺顿和mcafee带来了较高的系统稳定性(HAL层很少出现问题,最底层出问题的几率接近于零),较快的响应速度(减少了环节),但同时也带来了一些问题:1资源占用比较厉害。在mcafee上体现的不是很明显,在诺顿上表现非常明显。因为对于越底层的行为,硬件资源分配越多。最好资源的是什么?当然是 *** 作系统。应为它最最底层。2卸载问题。卸载底层的组件出问题的概率是相对比较高的,因此诺顿的卸载比较慢,偶尔还出问题。

有人质疑由于微软 *** 作系统的不稳定性是否会拖累诺顿,想开发人士询问后得知,微软 *** 作系统的内核层设计是非常优秀的,很多时候 *** 作系统的不稳定性来源于以下几个方面:

1应用程序设计不合理,许多程序设计者根本就未读过微软的32位程序设计指南,所设 计的程序并不严格符合微软规范。我们看到很多软件多年前设计还能运行于最新的xp平台,原因很简单:这个软件在设计时完全遵循了微软的程序设计规范。

2 驱动程序的编写有问题,与HAL层有冲突。

因此认为微软的 *** 作系统将会影响诺顿的稳定性是不合理的。

注:刚才问了一下偶MM,她告诉我应该是CISC有四个ring(),RISC有两个ring()对应于系统的最低层而言,工作在ring0()上。应用程序工作在ring3()上 。偶的记忆力比较差,文中可能有部分技术错误,请原谅。

业界有人认为,先进杀毒软件的引擎设计已经日趋复杂,类如诺顿这一类的厂商其产品的引擎应该已经覆盖了 *** 作系统的各个层级,以提高防护能力。在一篇文档中有程序员提出有足够的信息认为诺顿,mcafee,趋势的产品自己修改了标准的系统相关协议,比如TCP/IP等,以达到所谓的完整防护的目的。NOD32的一篇官方文档(说实话,我没有看到过)指出有必要全面更新(说白了就是修改)系统的诸多协议,以达到最快的速度和杀毒效果。

要讨论怎样反病毒,就必须从病毒技术本身的讨论开始。正是所谓"知己知彼,百战不殆"。很难想象一个毫无病毒写作经验的人会成为杀毒高手。目前国内一些著名反病毒软件公司的研发队伍中不乏病毒写作高手。只不过他们将同样的技术用到了正道上,以‘毒'攻‘毒'。当今的病毒与DOS和WIN3x时代下的从技术角度上看有很多不同。最大的转变是:引导区病毒减少了,而脚本型病毒开始泛滥。原因是在当今的 *** 作系统下直接改写磁盘的引导区会有一定的难度(DOS则没有保护,允许调用INT13直接写盘),而且引导区的改动很容易被发现,并且微软在设计 *** 作系统时加强了对引导区的程序行为管理,写一个完美的引导区病毒难度很大,所以很少有人再写了;而脚本病毒以其传播效率高且容易编写而深得病毒作者的青睐。但是最最落后的杀毒引擎也就是只基于静态代码的杀毒引擎都能干掉该种病毒(病毒库搞好就行)。

要讨论的技术主要来自于二进制外壳型病毒(感染文件的病毒),并且这些技术大都和 *** 作系统底层机制或386以上CPU 的保护模式相关,值得研究。DOS下的外壳型病毒主要感染 16位的COM或EXE文件,由于DOS没有(文件和引导区)保护,它们能够轻松地进行驻留,减少可用内存(通过修改MCB链),修改系统代码,拦截系统服务或中断。而到了WIN9X和WINNT/2000时代,搞个运行其上的32位WINDOWS病毒变得难了点。由于存在页面保护,你不可能修改系统的代码页(如果你强到连 *** 作系统代码都能改,偶无话可说)。由于I/O许可位图中的规定,你也不能进行直接端口访问(29A的一个美女[听说叫 MercyChan]可以通过汇编方法直接访问端口的目的,但是没有见过给出事例代码。知道得给介绍一下她的程序代码)WINDOWS中你不可能象在 DOS中那样通过截获INT21H来拦截所有文件 *** 作。总之,你以一个用户态权限运行,你的行为将受到 *** 作系统严格的控制,不可能再象DOS下那样为所欲为了(在xp中,这种权限管理极为严格,大致分成了4-8个等级)。 WINDOWS下采用的可执行文件格式和DOS下的 EXE截然不同(普通程序采用PE格式,驱动程序采用LE),所以病毒的感染文件的难度增大了(PE和LE比较复杂,中间分了若干个节,如果感染错了,将导致文件不能继续执行)。当今病毒的新技术太多,随便介绍几个。

1系统核心态病毒

386及以上的CPU实现了4个特权级模式(WINDOWS只用到了其中两个),其中特权级0(Ring0)是留给 *** 作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(Ring3)则给普通的用户程序使用(我想知道一个问题,ring1,2是干什么的?),它们工作在用户态。运行于处理器核心态的代码不受任何的限制,可以自由地访问任何有效地址,进行直接端口访问。而运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问(此时处理器状态和控制标志寄存器EFLAGS中的IOPL通常为0,指明当前可以进行直接I/O的最低特权级别是Ring0)。以上的讨论只限于保护模式 *** 作系统,象DOS这种实模式 *** 作系统则没有这些概念,其中的所有代码都可被看作运行在核心态。既然运行在核心态有如此之多的优势,那么病毒当然没有理由不想得到Ring0。处理器模式从Ring3向Ring0的切换发生在控制权转移时,有以下两种情况:访问调用门的长转移指令CALL,访问中断门或陷阱门的INT指令。具体的转移细节由于涉及复杂的保护检查和堆栈切换,不再赘述,请参阅相关资料。现代的 *** 作系统通常使用中断门来提供系统服务,通过执行一条陷入指令来完成模式切换,在INTEL X86上这条指令是INT,如在WIN9X下是INT30(保护模式回调),在LINUX下是INT80,在WINNT/2000下是INT2E。用户模式的服务程序(如系统DLL)通过执行一个INTXX来请求系统服务,然后处理器模式将切换到核心态,工作于核心态的相应的系统代码将服务于此次请求并将结果传给用户程序。

在即将发布的xp-sp2中采用所谓增强的内存页面保护将会更为严格的控制用户权限,据说在访问内存地址时得到的将是经过系统映射处理的对应内存范围,在内存实地址与用户层之间,搞了一个类似于转换协议的东西,害的很多软件都不能运行,应为他们总是试图按照原有的HAL层访问规则进行工作。

2驻留病毒

驻留病毒是指那些在内存中寻找合适的页面并将病毒自身拷贝到其中且在系统运行期间能够始终保持病毒代码的存在。驻留病毒比那些直接感染(Direct- action)型病毒更具隐蔽性,它通常要截获某些系统 *** 作来达到感染传播的目的。进入了核心态的病毒可以利用系统服务来达到此目的,如CIH病毒通过调用一个由VMM导出的服务VMMCALL _PageAllocate在大于0xC0000000的地址上分配一块页面空间。而处于用户态的程序要想在程序退出后仍驻留代码的部分于内存中似乎是不可能的,因为无论用户程序分配何种内存都将作为进程占用资源的一部分,一旦进程结束,所占资源将立即被释放。所以我们要做的是分配一块进程退出后仍可保持的内存。

病毒写作小组29A的成员GriYo 运用的一个技术很有创意:他通过CreateFileMappingA 和MapViewOfFile创建了一个区域对象并映射它的一个视口到自己的地址空间中去,并把病毒体搬到那里,由于文件映射所在的虚拟地址处于共享区域(能够被所有进程看到,即所有进程用于映射共享区内虚拟地址的页表项全都指向相同的物理页面),所以下一步他通过向Explorerexe中注入一段代码(利用WriteProcessMemory来向其它进程的地址空间写入数据),而这段代码会从Explorerexe的地址空间中再次申请打开这个文件映射。如此一来,即便病毒退出,但由于Explorerexe还对映射页面保持引用,所以一份病毒体代码就一直保持在可以影响所有进程的内存页面中直至Explorerexe退出(我直接试过该种方法,在xp下注意要写一个空循环语句,以免被踢出处理队列)。

另外还可以通过修改系统动态连接模块(DLL)来进行驻留。WIN9X下系统DLL(如Kernel32dll 映射至BFF70000)处于系统共享区域(2G-3G),如果在其代码段空隙中写入一小段病毒代码则可以影响其它所有进程。但Kernel32dll 的代码段在用户态是只能读不能写的。所以必须先通过特殊手段修改其页保护属性;而在WINNT/2000/xp系统DLL所在页面被映射到进程的私有空间(如 Kernel32dll 映射至77ED0000)中,并具有写时拷贝属性,即没有进程试图写入该页面时,所有进程共享这个页面;而当一个进程试图写入该页面时,系统的页面错误处理代码将收到处理器的异常,并检查到该异常并非访问违例,同时分配给引发异常的进程一个新页面,并拷贝原页面内容于其上且更新进程的页表以指向新分配的页。这种共享内存的优化给病毒的写作带来了一定的麻烦,病毒不能象在WIN9X下那样仅修改Kernel32dll一处代码便可一劳永逸。它需要利用 WriteProcessMemory来向每个进程映射Kernel32dll的地址写入病毒代码,这样每个进程都会得到病毒体的一个副本,这在病毒界被称为多进程驻留或每进程驻留(Muti-Process Residence or Per-Process Residence )。

文中列举方法在xp-sp1下略作修改即可使用 ,大部分为在代码段内加入空循环 。在sp2下,很多时候报如下类型的错误不可访问的内存地址段。

在原来的帖子中我援引了另一篇文档中的例子,但经MM告知那些挂钩-捆绑等方法在如今的设计中并不是很受欢迎,原因在于新的 *** 作系统许多函数规则是不可预知的,也就是所谓的"黑箱"设计使得设计人员更加偏爱系统级别的线程捆绑或者更加直接的接管权限控制的方法,采用最复杂的线程捆绑技术甚至可以使杀毒软件和防火墙得不到足够的信息来区分一个程序是否合法。更高级别的抢夺权限控制甚至可以结束所有杀毒软件的进程,包括卡巴斯基所采用的受保护的内存线程技术。

尽管微软隐藏了很多系统函数,但是经过很多高手的努力,许多隐藏的系统函数已经被找出,并且微软也有意识的减少隐藏函数的数量。在前段时间网上泄漏的2000的部分代码中,其中关于磁盘文件读写的部分(大小为700M的那个压缩包里标号为115BH的那个文件其中的第三节子代码)其中有很多进程是微软的开发文档中是没有给出介绍的,不知道以后会不会有人利用这些东西写病毒。对病毒稍微有些常识的人都知道,普通病毒是通过将自身附加到宿主尾部(如此一来,宿主的大小就会增加),并修改程序入口点来使病毒得到击活。但现在不少病毒通过使用特殊的感染技巧能够使宿主大小及宿主文件头上的入口点保持不变。附加了病毒代码却使被感染文件大小不变听起来让人不可思议,其实它是利用了PE文件格式的特点:PE文件的每个节之间留有按簇大小对齐后的空洞,病毒体如果足够小则可以将自身分成几份并分别插入到每个节最后的空隙中,这样就不必额外增加一个节,因而文件大小保持不变。著名的CIH病毒正是运用这一技术的典型范例(它的大小只有1K左右)。

病毒在不修改文件头入口点的前提下要想获得控制权并非易事:入口点不变意味着程序是从原程序的入口代码处开始执行的,病毒必须要将原程序代码中的一处修改为导向病毒入口的跳转指令。原理就是这样,但其中还存在很多可讨论的地方,如在原程序代码的何处插入这条跳转指令。一些查毒工具扫描可执行文件头部的入口点域,如果发现它指向的地方不正常,即不在代码节而在资源节或重定位节中,则有理由怀疑文件感染了某种病毒。所以刚才讨论那种病毒界称之为EPO(入口点模糊)的技术可以很好的对付这样的扫描,同时它还是反虚拟执行的重要手段。

另外值得一提的是现在不少病毒已经支持对压缩文件的感染。如Win32crypto病毒就可以感染ZIP,ARJ,RAR,ACE,CAB 等诸多类型的压缩文件。这些病毒的代码中含有对特定压缩文件类型解压并压缩的代码段,可以先把压缩文件中的内容解压出来,然后对合适的文件进行感染,最后再将感染后文件压缩回去并同时修改压缩文件头部的校验和。目前不少反病毒软件都支持查多种格式的压缩文件,但对有些染毒的压缩文件无法杀除。原因我想可能是怕由于某种缘故,如解压或压缩有误,校验和计算不对等,使得清除后压缩文件格式被破坏。病毒却不用对用户的文件损坏负责,所以不存在这种担心。

个人看来,目前的杀毒软件在对待加壳病毒的时候表现比较差的为瑞星,怀疑瑞星的杀毒引擎对加壳的东西放映不灵敏,因此瑞星自己加壳了很多病毒放到病毒库里,我曾使用一些很少用的加壳方式对某些普通病毒加壳,结果瑞星没查出来,有待改进。

以上关于病毒的相关文字均来源于 某病毒论坛的文章 ,我个人作了少量修改 。再往下为引擎部分的实现 。

杀毒引擎目前主流有两种实现方式:1虚拟机技术 2实时监控技术 3智能码标识技术

4行为拦截技术 34为最近两年搞出来的技术。3的目的是提高杀毒速度并且预防未知病毒,但就现实而言,除了东方卫士试验了一下(并且不成功),其余厂商未开发完全基于该技术的引擎,诺顿的开发人员认为:"没有足够的技术手段来实现文中所提出的杀毒理念(翻译的可能有不准确之处。‘文中'是指智能码标示技术的理论基础:IBM :Another way to the end (实现目的的另一种方式),在该文中提出了基于预定规则的智能杀毒技术)"。行为拦截技术(或者别的什么智能杀毒技术)也是一种预防未知病毒的方法,与虚拟机技术相似,通过对程序行为的分析来判断其是否为病毒。

对于未知病毒的判断实际上代表着杀毒软件厂商在引擎研究方面的最高能力。业界公认,防止未知病毒是"代表研究水平的"。平心而论,非美国厂商在这方面能力较差。业界对于防止未知病毒能力是按照如下方法衡量的:以评测当日的杀毒软件最新版本为该厂商的供测试版本,未知病毒由如下而来: 1病毒作者提供。有些病毒作者在将自己的病毒发布以前总爱送给一些业界的安全杂志供其评测(最佩服这种人)2大部分真正的业界安全杂志都有自己的研究实验室,他们自己的研究人员会根据最新的趋势和技术手段及工具写一些病毒。一般情况下,这些病毒是不会流到网上去的。3假病毒。一些很类似于病毒行为的文件,程序等。测试的时候病毒库被置空(就是杀毒软件试图调用病毒库时采用程序方法向其返回一个空结果),在这种情况下进行测试。如果有人有兴趣,可以到病毒论坛上搞点新手写的小病毒(一般也就100-200行),弄上几十个拿自己的杀毒软件试一试,就会发现在平均状态下诺顿病毒库被置空时起对未知病毒判断能力还是挺强的,怎么着也到了x%,(x为两位数),很多杀毒软件结果挺惨的,尤其在对付比较复杂的蠕虫病毒时,某厂商的产品近乎全军覆没。下面对虚拟机和实时监控进行介绍。由于大家认为在文中加入程序代码看着很累,因此不再给出技术实现代码,其实根据原理你自己也可以写出来。

虚拟机,在反病毒界也被称为通用解密器,已经成为反病毒软件中最重要的部分之一虚拟机的概念和它与诸如Vmware和WIN9X下的VDM(DOS虚拟机,它用来在32位保护模式环境中运行16实模式代码)是有区别的。其实这些虚拟机的设计思想是有渊源可寻的,都来自于IBM的一批研究人员搞的一套东西。 Vmware作为原 *** 作系统下的一个应用程序可以为运行于其上的目标 *** 作系统创建出一部虚拟的机器,目标 *** 作系统就象运行在单独一台真正机器上,丝毫察觉不到自己处于Vmware的控制之下。当在Vmware中按下电源键(Power On)时,窗口里出现了机器自检画面,接着是 *** 作系统的载入,一切都和真的一样。而WIN9X为了让多个程序共享CPU和其它硬件资源决定使用VMs(所有Win32应用程序运行在一部系统虚拟机上;而每个16位DOS程序拥有一部DOS虚拟机),winxp是采用区域内存访问来实现16位程序支持的。 VM是一个完全由软件虚构出来的东西,以和真实电脑完全相同的方式来回应应用程序所提出的需求。从某种角度来看,你可以将一部标准的PC的结构视为一套 API。这套API的元素包括硬件I/O系统,和以中断为基础的BIOS和MS-DOS。WIN9X常常以它自己的软件来代理这些传统的API元素,以便能够对珍贵的硬件多重发讯。在VM上运行的应用程序认为自己独占整个机器,它们相信自己是从真正的键盘和鼠标获得输入,并从真正的屏幕上输出。稍被加一点限制,它们甚至可以认为自己完全拥有CPU和全部内存。

查毒的虚拟机并不是象某些人想象的:如Vmware一样为待查可执行程序创建一个虚拟的执行环境,提供它可能用到的一切元素,包括硬盘,端口等,让它在其上自由发挥,最后根据其行为来判定是否为病毒。当然这是个不错的构想,但考虑到其设计难度过大(需模拟元素过多且行为分析要借助人工智能理论),因而只能作为以后发展的方向。就目前可以知道的信息而言,卡巴斯基在这方面做得还可以,mcafee的新产品中加入了一种溢出保护技术,本质上而言也是一种所谓的虚拟技术。查毒的虚拟机是一个软件模拟的CPU,它可以象真正CPU一样取指,译码,执行,它可以模拟一段代码在真正CPU上运行得到的结果。给定一组机器码序列,虚拟机会自动从中取出第一条指令 *** 作码部分,判断 *** 作码类型和寻址方式以确定该指令长度,然后

我给你个杀毒软件,绝对可以用,比任何一个杀毒软件都要好!一般别的杀毒软件杀不出来的病毒,它都能杀出来!叫:姜斌杀毒软件2006。用它在安全模式下查杀即可!我现在就在用!QQ:406823820

以上就是关于计算机病毒种类有哪些全部的内容,包括:计算机病毒种类有哪些、最常见的电脑病毒有几种、出现的计算机病毒有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9786830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存