《(安全的动力)杀毒软件引擎技术之窥探》.docVIP

《(安全的动力)杀毒软件引擎技术之窥探》.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《(安全的动力)杀毒软件引擎技术之窥探》.doc

剖析杀毒软件的心脏——引擎技术 ??? 病毒和反病毒产品是天生的冤家,由于病毒永无休止的存在,反病毒产品这片领域自然也会出现众多厂商来分割的局面,因此也就衔生出了多种杀毒引擎技术。 ????杀毒引擎是决定一款杀毒软件技术是否成熟可靠的关键,什么是杀毒引擎呢?简言之,它就是一套判断特定程序行为是否为病毒程序或可疑程序的技术机制,引擎不仅需要具备判断病毒的能力,还必须拥有足够的病毒清理技术和环境恢复技术,如果一款杀毒产品能查出病毒但是却无法清除、或者无法将被病毒破坏的系统环境成功恢复,那它也只能是鸡肋。为了达到查杀病毒的目的,杀毒引擎自身要实施的行为就要比病毒还病毒,例如,为了及时获得环境变动的监控数据,一些杀毒引擎采用DLL的钩子技术将自身注入系统进程中,这一行为和DLL木马无异;而为了成功拦截查杀驱动级别木马Rootkit,杀毒引擎更需要将自身的一部分作为驱动形式运行,以便进入系统内核领域…… 说到这里,一些计算机配置较低的用户应该能明白,为什么自己安装杀毒软件后计算机速度明显变慢了,这多半是因为杀毒软件的“文件监控”等功能导致的,因为 这一功能的实现原理就如文件型病毒的寄生过程一样,只不过文件型病毒是守候在内存中伺机感染每一个打开的文件,而“文件监控”功能是时刻驻守在内存里检查 每一个打开的文件是否存在病毒,两者导致的后果都是程序载入内存的时间增加,在低配置的计算机表现得比较明显罢了。 1.守住每一个关卡——程序行为捕获 每个程序运行时都需要进行各种交互动作,如收发网络数 据、响应某个触发事件、文件读写操作等,这些交互都被称为“行为”(Action),这个周期过程是可以被跟踪记录的,这就是杀毒引擎必须干涉的第一步, 当杀毒软件的环境监视模块启动后,它会嵌入系统的操作接口,使得任何非核心程序和除了杀毒软件自身程序的运作过程都要被它实时监视,这一技术通常通过钩子 技术和驱动层挂载实现,每个杀毒软件厂商都预先定义了一套病毒行为判断规范,即在一个给定的范围和置信度下,判断相关操作是否为合法。例如一个代码执行后 被发现试图将自己写入用户请求执行的程序文件体内、或进行特定的复制动作和添加注册表操作,则可将其怀疑为病毒,移交给查毒过程的第二步进一步判断处理。 ?? 一部分厂商因为与操作系统厂商存在合作关系,因而获得了较其他厂商杀毒产品要高的操作系统特权,所以他们采用的方案是基于系统最底层的系统核心驱动,这种实现方式是最安全的,或者说最高级的实现方式,至今只有Norton获得了这个特权。随着病毒技术逐渐渗透到Rootkit层次,过去的Hook技术逐渐有点力不从心,于是杀 毒厂商开始转入驱动方案,当然,由于没有操作系统厂商的授权,他们并无法实现最底层的核心驱动解决方案,于是杀毒厂商编写了一个称为“软件驱动”的中间 件,用于在系统中产生一个虚拟硬件。众所周知,在操作系统中,只有驱动模块能通过一个“硬件抽象层(HAL)”的通讯接口而到达系统底层,如今流行的 Rootkit木马也是采用驱动形式进入系统核心的,因此杀毒厂商使用“软件驱动”来实现底层监视的方案是要比一般的Hook技术效果显著的,但是这也不 可避免会出现一些问题,如果这个“软件驱动”存在缺陷或者被某些程序异常终止(例如出现未预料的错误),在系统底层无任何保护措施的环境下,最直接的一个 后果就是系统蓝屏崩溃,造成可能的损失。 ?? 引用(小知识:系统的几个“层”) 操作系统作为一个复杂的运作体系,其内部是必须实现一定的功能模块来进行分工合作的,这些功能模块像金字塔一样层层堆积,形成了系统的几个“层”,分别是系统核心层、硬件抽象层、用户层。 ? 系统核心层(Kernel Layer)位于整个操作系统的最底层,负责系统的基本运作,在这一层里的所有行为都由系统内置的指令来实现,所有外界因素都不会对这一处的行为造成影 响。能直接进入这个层交互的程序不多,除了操作系统自身,第三方厂商若要能在此层直接工作,必须和系统厂商建立合作关系,使用系统厂商提供的接口函数才能 进入。目前能在这个层面直接工作的杀毒软件只有赛门铁克的Norton AntiVirus。 ? 硬件抽象层(Hardware Abstraction Layer)是美国微软公 司为了便于操作系统在不同硬件结构上进行移植而提出的将系统底层与硬件相关的部分独立运作的思想,HAL为系统实现了“硬件无关性”,即在不同的硬件平台 上,硬件与操作系统的交互也不会有所差异,这样一来,硬件厂商开发驱动的难度便能大大降低,HAL将硬件的接口细节隐藏起来,并为操作系统提供一个标准硬 件交互接口,目前所有的硬件驱动都工作在这个层面上,当外界硬件存在指令请求时,驱动程序响应请求并将指令通过HAL转换为系统核心层能理解的指令交给内 核执行,如果未找到相应的驱动程序类型

文档评论(0)

ghfa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档