作者:hacker发布时间:2022-09-28分类:破解邮箱浏览:154评论:4
工作原理是部分杀毒软件是在内存里划分一部分空间,将计算机中流过内存的数据与杀毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒;另一部分杀毒软件在所划分到的内存空间里,虚拟执行系统或用户提交的程序,根据其行为或结果作出判断。 杀毒软件会生成现有主机操作系统的全新虚拟镜像,该镜像具有真实操作系统完全一致的功能。桌面虚拟化技术具有独立分挡操作系统压力,通过该技术实现运行过程中垃圾文件为零的目标,同时生成的虚拟环境与主机操作系统完全隔离,保护主机不被病毒感染,减少了系统被破坏的概率。
一个杀毒软件的构造的复杂程度要远远高于木马或病毒,所以其原理也比较复杂。而且鉴于现在木马病毒越来越向系统底层发展,杀毒软件的编译技术也在不断向系统底层靠近。例如现在的“主动防御”技术,就是应用RING0层的编译技巧。这里我简单为大家介绍一下基本构成。 一个杀毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们结为一体,如图1。 扫描器是杀毒软件的核心,用于发现病毒,一个杀毒软件的杀毒效果好坏就直接取决于它的扫描器编译技术与算法是否先进,而且杀毒软件不同的功能往往对应着不同的扫描器,也就是说,大多数杀毒软件都是由多个扫描器组成的。而病毒库存储的特征码形式则取决于扫描器采用哪种扫描技术。它里面存储着很多病毒所具有的独一无二的特征字符,我们称之为“特征码”。特征码总的分来只有两个,文件特征码与内存特征码。文件特征码存在于一些未执行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特征码,也都有可能被查杀。而内存特征码仅仅存在于内存中已运行的应用程序。而虚拟机则是最近引进的概念,它可以使病毒在一个由杀毒软件构建的虚拟环境中执行,与现实的CPU、硬盘等完全隔离,从而可以更加深入的检测文件的安全性。 简单的说,杀毒软件的原理就是匹配特征码。当扫描得到一个文件时,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如果有,则报毒病查杀,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。 我觉得腾讯电脑管家就是最好的杀毒软件了二、基于文件扫描的杀毒技术 基于文件的杀毒技术可以分为“第一代扫描技术”、“第二代扫描技术”与“算法扫描”这三种方法,对于免杀爱好者来说,要对每一种方法烂熟于心,才能成为高手!但做为一个初学者来说了解一下即可。这里我们就简单介绍一下其中两种种方法,详细的技术原理如果各位得这有兴趣的话可以自己研究。
杀毒软件有好几种工作方式的,代数也有好几代:
第一代反病毒技术是采取单纯的病毒特征判断,将病毒从带毒文件中清除掉。这种方式可以准确地清除病毒,可靠性很高。后来病毒技术发展了,特别是加密和变形技术的运用,使得这种简单的静态扫描方式失去了作用。随之而来的反病毒技术也发展了一步。
第二代反病毒技术是采用静态广谱特征扫描方法检测病毒,这种方式可以更多地检测出变形病毒,但另一方面误报率也提高,尤其是用这种不严格的特征判定方式去清除病毒带来的风险性很大,容易造成文件和数据的破坏。所以说静态防病毒技术也有难以克服的缺陷。
第三代反病毒技术的主要特点是将静态扫描技术和动态仿真跟踪技术结合起来,将查找病毒和清除病毒合二为一,形成一个整体解决方案,能够全面实现防、查、消等反病毒所必备的各种手段,以驻留内存方式防止病毒的入侵,凡是检测到的病毒都能清除,不会破坏文件和数据。随着病毒数量的增加和新型病毒技术的发展,静态扫描技术将会使查毒软件速度降低,驻留内存防毒模块容易产生误报。
第四代反病毒技术则是针对计算机病毒的发展而基于病毒家族体系的命名规则、基于多 位CRC校验和扫描机理,启发式智能代码分析模块、动态数据还原模块(能查出隐蔽性极强的压缩加密文件中的病毒)、内存解毒模块、自身免疫模块等先进的解毒技术,较好的解决了以前防毒技术顾此失彼、此消彼长的状态。
由于很多新手对安全问题了解不多,所以并不知道自己的计算机中了“木马”该怎么样清除。虽然现在市面上有很多新版杀毒软件都可以自动清除“木马”,但它们并不能防范新出现的“木马”程序,因此最关键的还是要知道“木马”的工作原理,这样就会很容易发现“木马”。相信你看了这篇文章之后,就会成为一名查杀“木马”的高手了。
“木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的只要把Form的Visible属性设为False、ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。
当然它也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端,,“木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。下面具体谈谈“木马”是怎样自动加载的。
在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。
在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。
在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer 键值改为Explorer=“C:\WINDOWS\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。
知道了“木马”的工作原理,查杀“木马”就变得很容易,如果发现有“木马”存在,最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对你进行攻击。然后编辑win.ini文件,将[WINDOWS]下面,“run=“木马”程序”或“load=“木马”程序”更改为“run=”和“load=”;编辑system.ini文件,将[BOOT]下面的“shell=‘木马’文件”,更改为:“shell=explorer.exe”;在注册表中,用regedit对注册表进行编辑,先在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是:有的“木马”程序并不是直接将“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下的“木马”键值删除就行了,因为有的“木马”如:BladeRunner“木马”,如果你删除它,“木马”会立即自动加上,你需要的是记下“木马”的名字与目录,然后退回到MS-DOS下,找到此“木马”文件并删除掉。重新启动计算机,然后再到注册表中将所有“木马”文件的键值删除。
一个杀毒软件无异于一个信息分析的系统,当它发现某些信息被感染后,就会清除其中的病毒。
假设信息是在“源系统”中,必须到达“目标系统”。这里所称的源系统可以是一个软盘,目标系统可能是计算机的硬盘,或者源系统是存储在ISP的一条消息,而目的系统是客户端计算机上基于Winsock协议的Windows通讯系统。
信息解释系统依据操作系统、应用程序或者是否需要特殊的机制等因素的不同是有区别的,该解释机制必须明确对应杀毒软件所要作用的操作系统或组件。例如:在Windows 9X系统中,需要采用一个虚拟驱动程序VxD来不断监控磁盘的行为。通过这种方式,每当硬盘或者软盘中的信息被存取时,杀毒软件就会截取对该磁盘的读写操作,并扫描将要读取或保存的信息。此种操作在Windows NT/2000/XP中是通过内核模式中的一个驱动来实现的,而在Novell中,磁盘活动的解释是通过一个NLM模块实现的。对于那些为某些特殊应用而设计(而非为某个操作系统设计)的杀毒软件,其解释机制和上面所介绍的是不同的。例如,对于支持CVP防火墙的杀毒软件,是由防火墙通过CVP协议来为杀毒软件传递需要扫描的信息;而对于支持Sendmail的杀毒软件, MilterAPI过滤器为信息的解释提供了便利。某些时候,解释机制既不是由杀毒软件提供(如VxD虚拟驱动),也不是由某种应用提供(如CVP 协议)。在这种情况下,必须采用介乎于应用和杀毒软件之间的一种特殊的解释机制。换句话说,通过某种资源来解释信息并将其传送给杀毒软件,这些资源和杀毒软件之间是一种紧密集成的关系,这样有助于杀毒软件清除病毒。
无论采用何种方式,一旦在扫描信息的过程中检测到一种威胁(病毒),将会采取两种措施:
1. 清除干净的信息将会返回给解释机制,然后再由该解释机制返回给原来的系统以便于它能够继续到达其最终目的地。这意味着如果接收到一封电子邮件,该邮件仍然会被允许到达其目的邮箱;如果是复制一个文件,复制过程将仍然会被允许正常进行直至结束。
2. 会向用户界面发送一个警告,该用户界面可能是多种多样的。对于工作站端的杀毒软件,将会在屏幕上显示一条信息,但是对于针对服务器的杀毒模块,警告将会以电子邮件、内部网络消息、病毒报告中的一条记录或者传递给杀毒软件管理工具的某种消息的形式发送。
杀毒程序能够提供高级的防护、阻止任何带给用户的特别“惊奇”。这就象往某个盒子中投入XXX元钱以获得心灵上的平安那么简单。
扫描引擎
无论需要扫描的信息是如何获得的,对于杀毒软件而言最重要的特征就是:病毒扫描引擎。该引擎扫描它所截取的数据以查看其中是否包含病毒,如果有病毒就会将其清除。
信息的扫描通常通过两种方式进行:一种是将扫描信息与病毒数据库(即所谓的“病毒特征库”)进行对照,如果信息与其中的任何一个病毒特征符合,杀毒软件就会判断此文件被病毒感染。
但是对于某些新的病毒或危险信息,在病毒数据库中并没有它们的特征,此时通过一种称为“启发式扫描”的方法有可能将其检测出来。该方法是通过分析信息的行为并将其与一个危险行为样式库进行对照以判别信息的危险性。
例如,如果某个文件试图格式化检测到的硬盘,杀毒软件就会警告该用户。尽管该文件也许是用户刚刚安装在系统中的一个新的格式化程序而不是病毒,但是该行为是危险的。一旦杀毒软件通过声音向用户发出警告,接下来就由用户来判断是否要采取这种危险的操作了。
以上两种方法各有优缺点。如果仅采用病毒特征库系统,那么至少每天更新一次病毒库就显得尤为重要。您必须时刻牢记每天全球至少会有超过15种新的病毒出现,如果杀毒软件两三天都不更新病毒库就变得很危险了。
启发式扫描的缺点是会向你误报一些本不是病毒的信息,如果你每天遇到很多此类的误报,很快就会对这种警告感到厌烦。
杀毒软件的任务是实时监控和扫描磁盘。部分杀毒软件通过在系统添加驱动程序的方式,进驻系统,并且随操作系统启动。大部分的杀毒软件还具有防火墙功能。
杀毒软件的实时监控方式因软件而异。有的杀毒软件,是通过在内存里划分一部分空间,将电脑里流过内存的数据与杀毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒。另一些杀毒软件则在所划分到的内存空间里面,虚拟执行系统或用户提交的程序,根据其行为或结果作出判断。
而扫描磁盘的方式,则和上面提到的实时监控的第一种工作方式一样,只是在这里,杀毒软件将会将磁盘上所有的文件(或者用户自定义的扫描范围内的文件)做一次检查。
另外,杀毒软件的设计还涉及很多其他方面的技术。
脱壳技术,即是对压缩文件和封装好的文件作分析检查的技术。
自身保护技术,避免病毒程序杀死自身进程。
修复技术,对被病毒损坏的文件进行修复的技术。
有待改进的方面
杀毒软件有待改进的方面有:
更加智能识别未知病毒
查到病毒后,能够彻底清除病毒
保护自身。目前有些病毒,能够杀死杀毒软件的进程,再继续破坏
防盗版技术(部分免费杀毒软件不存在此问题)
虚拟机技术。
杀毒软件的工作原理就是分析文件是否含有恶意代码,这些恶意代码就更新在杀毒软件的病毒库里!
病毒库里的都是开发杀毒软件的工作人员通过分析病毒样本,取得的病毒的特征!
一般来讲
杀毒软件的杀毒有几个部分
最常见的也是最基础的是特征码(也就是您所谓的病毒码)
相当于一个黑名单,它记录着杀毒软件已知的病毒的特征
更具这个特征,杀毒软件会对照每一个被扫描的程序,
如果与特征相符,就认定为病毒。
特征码的优点是误杀低,缺点是滞后性,先出现病毒才会出现相应的特征码。
对于新型的病毒,特征码无能为力……
针对特征码的缺陷,出现了所谓的“启发式查杀”
也就是杀毒软件公司根据各种病毒的特征总结并归纳
这样等于不需要已知某个程序是不是病毒
只需要分析这个程序的运行特性
就能判断出来他是否后是病毒
启发的优点是能很好的应对未知的新型病毒
缺点是不成功的启发机制会大大增加误杀率……
还有就是最新提出的主动防御机制
这个其实是吧启发又近了一步
它监控的是每个程序的运行
也就是说已有程序运行它就跟踪监视其一举一动
发现有损计算机安全的举动就立即终止并进行相应的清理操作
传统的杀毒软件都是特征码和启发两个部分
主动防御应该是东方微点最早提出来的
现在貌似瑞星2009也有主防了
其他的还不清楚
但主防这种新型的杀毒方式还是有待观察的
感觉微点的主防做的还好~
但瑞星……有点东施效颦的意思了……
PS:我始终觉得主动防御有点像高智能化的HIPS
也就是主机入侵防御系统
HIPS是什么都拦,无论是病毒还是正常的程序
HIPS会拦截一切改动,然后提交给用户处理
用户说放行才放行。
微点的主防貌似就是把HIPS智能化了
它会自己分析该放行还是该拦截~
当然,这只是我个人的感觉~不具任何的权威性……
标签:杀毒软件防止被攻击原理
已有4位网友发表了看法:
访客 评论于 2022-09-29 03:56:42 回复
ion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是:有的“木马”程序并不是直接将“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
访客 评论于 2022-09-29 06:27:00 回复
,必须采用介乎于应用和杀毒软件之间的一种特殊的解释机制。换句话说,通过某种资源来解释信息并将其传送给杀毒软件,这些资源和杀毒软件之间是一种紧密集成的关系,这样有助于杀毒软件清除病毒。 无论采用何种方式
访客 评论于 2022-09-28 23:01:33 回复
注册表中,用regedit对注册表进行编辑,先在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是
访客 评论于 2022-09-28 22:57:23 回复
软件都是由多个扫描器组成的。而病毒库存储的特征码形式则取决于扫描器采用哪种扫描技术。它里面存储着很多病毒所具有的独一无二的特征字符,我们称之为“特征码”。特征码总的分来只有两个,文件特征码与内存特征码。