|
这里首先说一下,之所以把微点单独拿出来比较,是因为它既不同于传统杀软,又不同于通常意义的HIPS,从我个人的理解,微点不具备杀毒引擎,所以是绝对不能归类为杀软的,它更倾向与HIPS,不过更为智能化。今天作这个比较,是想让大家清晰认识三者的区别和各自的优劣& L8 `% Q% {5 g7 j4 x) _- x4 ?
一、总论
* Q3 }3 o7 l% m1、杀毒软件
! V' ~: l+ f `( m& ?纯个人理解,杀软需具备三大要素:
: d" ?$ H2 n8 x2 ?0 f0 v) k病毒特征库、杀毒引擎、监控1 v* w5 J% Z9 z$ ^6 j$ \7 j4 @5 N
通过扫描,将系统中文件的特征码与其病毒特征库的特征码进行比对,如果特征码相符,则被判定为病毒,并通过杀毒引擎清除或删除。监控也是同样道理。
2 {3 U% G( ^- N总之,杀软是基于病毒特征库的。
- v& L5 |1 [9 h$ q2、HIPS
& u# O p+ _% ~! [' Q9 AHIPS也需要具备三大要素:(为了便于说明,后面对HIPS的规则处理假定为询问)
+ S2 t9 d" X% v9 C8 j% y. t规则、监控、拦截
9 ^9 E# Q. h8 _1 U" }3 J若某个程序在运行过程中,触发了HIPS设定的某个规则,则HIPS会予以询问,并提示用户操作,而不论这个程序是否有害。即使正常的程序,也有可能被询问。
5 P% O1 o0 u( P$ ]$ B8 h/ S3、微点
4 N/ f d8 e9 O4 T' l/ Y3 D微点的特征非常明显:
; g/ T# Q+ d( K* Q% G. A行为库、监控、拦截,外加一个包过滤墙6 ]2 P2 D9 D: V/ E5 [/ P
所谓行为库,是由程序的连串行为构成,病毒通常具有类似的连串行为,比如释放驱动、改写注册表、释放系统文件、自启动等等,微点便是以这样的方式来判断病毒和木马的,所以某些单一的行为或者未知的行为,不论有害还是无害,只要不触发微点的行为库,便会被放行。! T! @7 {/ c( F+ d- c8 E( R- w
: [9 B/ p4 M0 Y/ R二、举例说明
$ v! I- X6 ^. q* U0 u( I; Z4 _仅仅说理论,可能大家听不懂也很枯燥,这里就举个例子说明. e( F! m0 e# h; D+ w& W
假设一个潜逃的杀人犯,我们的三大警察是如何抓住他的
; H5 v9 R6 L$ S' K1、杀软
# X9 d+ X8 k) ~1 C3 a6 R通过识别犯人的相貌、身高、体重等特征,以判断他不是要找的犯人。如果犯人乔装打扮,且易容手法高超,完全改变了原来的外在特征,则杀软很有可能抓不住他(这就是所谓的加壳、免杀)。如果犯人继续作案,那么杀软会重新搜集犯人的特征,重新辨认(也就是更新病毒库)。垃圾杀软会将其当做一个新犯人,优秀杀软却可以识别犯人的基因特征,除非犯人改变基因(这就是所谓的脱壳,真正脱壳能力强的没几个,蜘蛛可是算是最优秀的,脱壳依赖的是引擎)。) H- M* H0 T# ^9 U1 b' w9 d4 o& e
2、HIPS
: \, P6 G* M! p! ]1 `0 S如果犯人就此改过自新,不再犯案,那么HIPS将会就此放过它。如果某一天,犯人继续有了作案的动机,假设他是拿枪去杀人,首先,犯人伸手去衣兜里(不管是不是去掏枪),HIPS会提示,是否阻止它?如果你放行,犯人会进行下一个动作,把枪拿出来,HIPS继续报警,是否阻止。如果放行,犯人接下来会瞄准目标,HIPS继续询问。再放行,犯人开枪杀死目标,系统崩溃,HIPS就此下课。+ p& L% B: C: L9 I5 @ k
(还有一类特殊的HIPS,就是沙盘,比较有名的就是defensewall,就是它会虚拟一个环境,让犯人在虚拟的环境中杀人,事实上,犯人并没有真正杀死目标,一切都是南柯一梦。犯人的所有行为在虚拟环境中完成,不对真是系统构成威胁)( {1 }) O4 }0 l% n* h9 j
3、微点- c/ K' N( R S6 a- F8 d! c" ~# V1 L- I
如果犯人就此改过自新,不再犯案,那么微点也会就此放过它,这和HIPS相同。但接下来的就不同了。犯人进行第一个动作,伸手去衣兜里,微点不予理会,因为这一动作本身无害,也许犯人不是掏枪,只是掏钱而已。如果接下来,犯人掏出的不是凶器,微点无视,如果犯人掏出的是枪,微点会在此时报警,这两个动作加在一起才形成了威胁,只有在这种情况下,微点才会询问。如果犯人掏出的是一种微点从未见过,且不知道否会构成威胁的东西,微点仍然放行,然后目标人物被干掉
$ I) L8 Z( L9 v( J# X; _& G* Z. {, _4 Z1 R# k
三、优劣比较+ G) b# m) k6 y B7 _' y% S
1、杀软5 T1 o7 |7 G- s0 Y1 p; u
他的优缺点很明显,事前防御和事后补救俱全。事前防御是依靠病毒特征码,一切他所不知道的病毒或者因为加壳改变了代码的病毒,均不会被识别。但一旦收集到新的特征码,杀软仍可依靠强大的扫描能力进行查杀。
8 { e+ X- C6 {" k7 ?8 v+ G2、HIPS
: @; `& |1 H3 S! ?- b# t* Y事前防御滴水不漏,但事事要求用户决定是否放行,如果用户基础知识不足,错误放行,那么病毒将会侵入系统,HIPS没有查杀能力,也许可以继续拦截病毒的行为,但不能杀灭病毒本身,更不能修复被感染的文件
! X9 E- q9 m6 U. }3、微点
5 n/ P' h& Q3 W( D: H$ _9 k事前防御根据病毒行为库判定,并不会对所有单一行为报警,只有当连串行为构成危险并触发其行为库事,微点才会报警。但如果某程序的连串行为不在微点的行为库之内,即微点无法识别这种行为是否有害事,系统被会病毒侵入,微点同样不具备查杀的能力,最多只能拦截病毒的部分行为,而无法杀灭。& [$ D9 Y. b9 f+ c: q& L
" f; k! T- i8 e. C+ ?! F
四、继续举例
9 w4 S- f( B7 W j假设手动更改 .TXT的文件关联,使其关联到写字板程序
/ j+ x+ A- m) \# j6 t$ W& K5 Z1 b微点不会报警,因为这一单一行为不会对系统造成威胁
0 @# {8 H! }; z$ f/ L而EQ、中网S3等典型的HIPS,如果对这一文件关联设定了规则,则他们会提示这一修改,询问你是否放行。如果设定的规则是禁止的,则他们会直接禁止,使你无法改动文件关联。相对而言,EQ、中网的防御更为严密,但对使用者的要求更高,你需要自行判断某一程序的行为是否有害。) W8 X$ e9 A( q, m# U1 v0 @
微点同样有规则,它的规则是以行为库(由程序的连串行为构成,病毒通常具有类似的连串行为,比如释放驱动、改写注册表、释放系统文件、自启动等等,微点便是以这样的方式来判断病毒和木马的)的形式体现,某个行为,无论是单一还是连串,无论有害还是无害,如果不在微点行为库的范围内,则不会被拦截。
8 S; t: M+ u3 u+ g2 g+ ^" A1 e4 m3 j4 c1 v$ E D" R) |1 p
五、总结! |# s* `* @6 p3 Q# q, z+ V
微点对某些广告和流氓的拦截不是很好,对IE插件的加载也很少报警,因为这些广告程序和插件,并不具备明显的病毒连串行为,这些程序通常只是改写一下注册表劫持浏览器,甚至不会自启动。; ^. `9 ~$ t' Z- f+ q. X( E/ K
微点仍是建立在对已知行为的判断的基础上,对未知的病毒行为仍然毫无办法。只不过病毒行为通常是类似的,通过很少的行为库就能起到很好的防御作用。从这个意义上说,微点仍是被动而不是主动。
4 r3 x: L8 L9 d6 U9 o( z而中网和EQ,如果你对系统注册表关键位置进行了一些规则设定(EQ和中网内置的注册表防护规则非常全面),这些广告和流氓想劫持浏览器就成了不可能的事9 F2 \1 E& y% ]' r
杀软则不是通过程序的行为来判断,而是通过程序的特征码$ l2 E+ x, `5 q L* {
最后一句话:8 V. X) j! u8 f& {6 f8 {
杀软通过程序本身的代码特征来判定是否有害
$ q' }4 H$ d3 v1 \HIPS通过程序的单一行为来判定是否有害4 Q. ?* l: F, f; s! O F
微点通过程序的连串行为来判定是否有害
, F. X( n v9 [另外一个特殊的沙盘,基本不作判定,任由程序在虚拟环境中运行,使其无法破坏系统 |
|