瑞星卡卡安全论坛技术交流区系统软件 关于诺顿和微软【转贴】

1   1  /  1  页   跳转

关于诺顿和微软【转贴】

关于诺顿和微软【转贴】

诺顿是微软最高级的安全方面核心合作厂商,因此它的杀毒软件在某些方面工作比较特殊。比如在杀毒软件的安装,使用和功能实现方面,大部分厂商采用的是中间件技术,在系统底层与非自身应用程序之间作为中间件存在并实现其功能;另有一些厂商使用的是应用程序或者嵌入技术,相对而言这种方法安全性较低;诺顿和 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层有冲突。
最后编辑2006-02-04 18:01:42
分享到:
gototop
 

有得有失啊。
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT