




已阅读5页,还剩66页未读, 继续免费阅读
【精品硕士论文】计算机病毒的特征和计算机反病毒技术198.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘 要 随着计算机网络技术的高速发展 计算机病毒越来越猖獗 给人们带来的危 害越来越大 因此如何对计算机病毒进行防治对于计算机安全来说就显得非常关 键 本文透彻分析了计算机病毒的特征和计算机反病毒技术 当今比较先进的反 病毒技术有实时扫描技术 启发式代码扫描技术 虚拟机技术和主动内核技术等 但是 目前杀毒软件主要还是以特征代码法为基础 所以本文重点研究了一个基 于特征代码法的病毒检测系统的设计思想和实现技术 对于二进制可执行文件 并不扫描整个文件 而只对计算机病毒常见的攻击位置 入口点 跳转和 call 指 令等 进行扫描 加快了病毒检测的速度 首先 本文分析了二进制可执行病毒 脚本病毒和宏病毒的特征提取技术 设计了一个简单蜜罐系统来获取病毒样本 并利用反汇编工具 w32dasm 对 pe 格 式的病毒样本进行特征提取实验 其次 为了解决特征代码不能检测未知病毒的问题 本文对引擎做了改进 通过对 pe 文件格式的分析 总结了一系列与 pe 文件头 节表有关的染毒标志性 行为 利用这些行为特征设计了基于 pe 文件状态的病毒检测方案 两者结合起来 使检测率大大提高 最后 本文研究了病毒检测系统中的关键技术 检测算法的实现 通过对 经典的单模式匹配算法 bf kmp bm 和多模式匹配算法 ac 的研究和实验分析 实验证明将 bm 和 ac 算法结合起来的 ac bm 算法效率最高 而且本文克服了精 确匹配算法的缺点 提出一种高效的基于 ac bm 的模糊匹配算法并应用于检测引 擎中 关键字 病毒检测引擎 特征代码 关键字 病毒检测引擎 特征代码 pe 文件 匹配算法文件 匹配算法 ii abstract with the rapid development of computer networks computer viruses become more and more rampant and damage to the people become larger and larger so how to defend against computer virus is very important to the computer security the characteristics of computer viruses and anti virus techniques are analyzed thoroughly in this thesis nowadays there are some advanced anti virus techniques such as real time scanning heuristic code scanning virtual machine and active kernel technique etc but now the anti virus software mostly based on character code method so this thesis gives a detailed description of detection idea and how to construct the virus detection system based on character code method for binary executables files to speed up virus detection by scanning only the common location of computer viruses such as entry point jump and call instructions etc of a file rather than the entire file first the technique of character distill from binary executables viruses script viruses and macro viruses are analyzed in this thesis then designing a simple honeypot system to obtain the computer virus sample and doing character distill experiment for pe format virus sample using w32dasm which is a tool of disassembly second this thesis do some improvement in the engine to resolve the problem that unknown viruses can not be detected by character code by analyzing pe file format a series of marking conducts which are correlative to the header of pe files and the tables of sections have been summarized a detecting virus scheme based on the status of pe files have been designed the detect efficiency enhanced when combine the two methods at last this thesis introduces the implement of detection algorithm which is the key technique in this system by analyzing several famous single pattern matching algorithm such as bf kmp bm and multiple pattern matching algorithm ac the experiment validate ac bm algorithm which combine bm and ac algorithm is the most efficiency and this thesis conquer the disadvantage of exact identification presenting an efficient approximate matching algorithm base on ac bm and applying in detection engine keywords virus detection engine character code pe file matching algorithm 南昌航空大学硕士学位论文 目 录 iii 目 录 第 1 章 绪论 1 第 1 章 绪论 1 1 1 研究意义及课题来源 1 1 2 国内外研究现状 1 1 3 论文研究内容及特色 3 1 4 论文的结构 3 第 2 章 计算机病毒与反病毒技术分析 4 第 2 章 计算机病毒与反病毒技术分析 4 2 1 计算机病毒定义 4 2 2 计算机病毒的主要特点 4 2 3 计算机病毒的基本结构模式和工作机理 5 2 3 1 病毒程序的基本结构模式 5 2 3 2 计算机病毒的工作机理 7 2 4 传统的病毒检测方法 8 2 4 1 特征代码法 8 2 4 2 校验和法 9 2 5 几种新型的计算机反病毒技术 9 2 5 1 实时反病毒技术 10 2 5 2 启发式代码扫描技术 11 2 5 3 虚拟机技术 13 2 5 4 主动内核技术 13 2 6 病毒清除技术 14 2 7 小结 15 第 3 章 防病毒系统设计及建模 16 第 3 章 防病毒系统设计及建模 16 3 1 系统结构设计 16 3 2 系统功能模块 17 3 3 系统设计图 17 3 4 小结 18 第 4 章 防病毒系统的实现 19 第 4 章 防病毒系统的实现 19 4 1 应用程序实现 19 4 1 1 磁盘文件扫描 19 4 1 2 内存扫描 19 4 2 病毒库实现 20 4 2 1 病毒样本的来源 21 4 2 2 二进制病毒特征提取 21 南昌航空大学硕士学位论文 目 录 iv 4 2 3 脚本病毒和宏病毒特征提取 25 4 2 4 病毒提取实验 27 4 2 5 病毒库的数据结构 30 4 3 扫描引擎的具体实现 32 4 3 1 扫描引擎的体系架构 32 4 3 2 引擎的类图及实现功能 33 4 3 3 引擎的预处理 37 4 3 4 引擎的改进 40 4 4 实时监控技术 42 4 4 1 文件变动监控 43 4 4 2 注册表变动监控 43 4 4 3 进程监控 44 4 5 运行结果 44 4 6 小结 46 第 5 章 扫描引擎的核心技术实现 47 第 5 章 扫描引擎的核心技术实现 47 5 1 字符串单模式匹配算法 47 5 1 1kmp 算法 47 5 1 2bm 算法 48 5 1 3 实验测试和结果分析 49 5 2 基于 ac 自动机的多模式匹配算法 50 5 2 1ac 自动机匹配算法的思想 51 5 2 2ac 自动机匹配算法的形式化描述 52 5 2 3ac 自动机匹配算法的分析 54 5 3ac bm 算法 55 5 3 1ac bm 算法的思想 55 5 3 2ac bm 算法的实现 56 5 4 实验测试和结果分析 57 5 5 模糊匹配 58 5 6 小结 58 第 6 章 总结 59 参考文献 60 发表论文和参加科研情况说明 63 致谢 64 附录 pe 文件数据结构的定义 65 第 6 章 总结 59 参考文献 60 发表论文和参加科研情况说明 63 致谢 64 附录 pe 文件数据结构的定义 65 南昌航空大学硕士学位论文 第 1 章 绪 论 1 第 1 章 绪论 1 1 研究意义及课题来源 计算机技术的迅猛发展给人们的工作和生活带来了前所未有的便利和效率 成为现代社会不可缺少的一部分 然而计算机系统并不安全 其不安全因素有计 算机信息系统自身的 也有人为的 计算机病毒就是最不安全的因素之一 它不 但会造成资源和财富的巨大浪费 而且有可能造成社会性的大灾难 人们将计算 机病毒称之为 21 世纪最大的隐患 不流血的致命武器 l 而且随着互联网 技术的普及 邮件病毒 脚本病毒 网页病毒 木马病毒以及蠕虫病毒更是泛滥 计算机用户随时可能受到病毒的攻击 因此研究计算机病毒机理和反病毒技术具 有重要意义 本课题来源于江西省重大攻关招标项目 编号 2005a016 基于多层次 安全代理的集成访问控制系统 1 2 国内外研究现状 随着计算机病毒技术的发展 计算机反病毒技术也随之发展起来 反病毒技 术已由最初的病毒特征代码分析发展到了现在的虚拟机和实时监测等技术 第一代反病毒软件是采用单纯的病毒特征判断 将病毒从带毒文件中清除掉 第二代反病毒软件是采用静态广谱特征扫描方法检测病毒 这种方式可以更多地 检测出变形病毒 但误报率也高 尤其是用这种不严格的特征判定方式去消除病 毒带来的风险性很大 容易造成文件和数据的破坏 第三代反病毒软件的主要特 点是将静态扫描技术和动态仿真跟踪技术结合起来 将查找病毒和消除病毒合二 为一 形成一个整体解决方案 能够全面实现防 查 杀等各种反病毒所必备的 手段 凡是检测到的病毒都能清除 不会破坏文件和数据 第四代反病毒软件则 是针对计算机病毒的发展而基于病毒家族体系的命名规则 基于多位 crc 校验和 扫描机理 启发式智能代码分析模块 动态数据还原模块 内存解毒模块 自身 免疫模块等先进的解毒技术 杀毒引擎目前主流有以下一些实现方式 虚拟机技术 实时监控技术 智能 码标识技术 行为拦截技术 目前国内外杀毒软件公司采用的新技术主要有 瑞星杀毒 2007 版 虚拟机脱壳 引擎 vue 是在计算机中构建一个仿真的 运行环境 让加壳病毒在运行中自行脱壳 还原到原始形态 便于将病毒彻底清 除掉 首次将商用虚拟机的核心技术应用到杀毒引擎中 不但能彻底解决 多重 南昌航空大学硕士学位论文 第 1 章 绪 论 2 加壳 病毒这一困扰全球反病毒业界的难题 还可以将杀毒软件的病毒库减小三 分之一 并极大降低对系统资源的占用 2 江民杀毒软件 kv2007 新增新一代智能分级高速杀毒引擎 可对目前互联网 盛行的病毒 木马 流氓软件 广告软件等进行分类查杀 该引擎将杀毒软件核 心组件和病毒库等模块进行重新规划细分 每一个模块都可独立维护和升级 大 大增强了软件的稳定性能和下载速度 效率更高 而且推出系统级行为监控 从 注册表 系统进程 内存 网络等多方面对各种操作行为进行主动防御并报警 全方位保护系统安全 3 金山毒霸 2007 提出了一个全新概念 数据流杀毒技术 它动态监视内存中部 分程序的一些活动特征 如是否在系统文件夹中创建了文件 是否注入了非法进 程和是否向外部发送了带有敏感信息的邮件等来智能判别病毒 木马及间谍程序 的存在 从而可以在病毒库更新之前进行主动出击 4 冠群金辰的 kill 安全胄甲采用无缝集成的双引擎技术 实时监视系统活动 全面查杀各种形式的病毒 提供灵活多样的病毒修复和处理方法 5 方正熊猫 trupreventtm 技术 更具体地说 基因式启发式扫描引擎可以阻 止任何利用反盗版系统传播的新病毒 它可以通过行为分析而非预先识别阻止病 毒发作 6 2007 年八款杀毒软件特色对比如表 1 1 所示 表 1 1 2007 年八款杀毒软件特色对比 软 件 名 卡巴斯基 互联网安 全套装 江 民 杀 毒 软件 诺 顿 防 病 毒 软 件 瑞 星 防 病 毒 软 件 趋 势 pc cillin 金 山 毒 霸 杀 毒 套装 mcafee virusscan eset nod32 特 色 功 能 主动防御 体系 互 联网威胁 免疫 流 氓 软 件 查杀 开 机 不 进 系 统 扫 描 病毒 驱 动 程 序 原 始 卷 直 接 访 问 rootkit 虚 拟 机 碎 甲 技 术 钓 鱼 网 站 拦 截等 主控式 个人防 火墙 木马程 序损害 清除还 原技术 数 据 流 杀 毒 技 术 反 间谍 反 钓 鱼 主 动 漏 洞 修 复 反制网络 钓鱼和反 垃圾邮件 spam 侦测基 本的宏 病毒和 脚本 threat sense 扫描引 擎 虽然目前的杀病毒技术和产品已经完全能够杀除已知病毒 但是还缺乏对付 未知新病毒的有效手段 技术上不能一劳永逸解决病毒问题 7 南昌航空大学硕士学位论文 第 1 章 绪 论 3 1 3 论文研究内容及特色 本课题首先通过对计算机病毒与反病毒技术的研究分析 深入浅出地学习反 病毒技术 提出自己针对当前病毒的解决方案和软件结构模型 设计反病毒引擎 的架构 自行开发一个基于特征码技术的静态反病毒引擎 与传统的扫描整个文 件不同 对于二进制可执行文件 只对关键位置进行扫描 加快了扫描速度 其次 分析了二进制可执行病毒 脚本病毒和宏病毒的特征提取技术 设计 了一个简单蜜罐系统来获取病毒样本 并利用反汇编工具 w32dasm 对 pe 格式的 病毒样本进行特征提取实验 并针对易受病毒感染 pe 格式文件的分析 总结出了 一系列的与 pe 文件头和节表有关的染毒标志性行为 将这些特征作为行为规则 采用权值检验法对扫描引擎进行改进 提高了检测效率 最后 匹配算法的效率影响着引擎的速度 在分析了几种常见的字符串匹配 算法的基础上 提出了一种高效的基于 ac bm 的模糊匹配算法并应用于引擎中 1 4 论文的结构 第一章简要介绍了本文的研究意义 课题来源 国内外研究现状 以及论文内 容的安排 第二章为计算机病毒与反病毒技术综述 其中主要介绍了计算机病毒的定义 主要特点 分类以及基本结构模式和工作机理 并重点介绍了一些传统的病毒检 测方法和几种新型的计算机反病毒技术 第三章介绍了防病毒系统结构设计及功能模块 并采用面向对象的程序设计方 法来对整个系统建模 第四章介绍了防病毒系统三个部分的具体实现 详细分析了 pe 文件格式 病 毒特征提取和病毒库的数据结构 最后具体分析了一个基于特征码技术的静态扫 描引擎的方方面面 并针对 pe 文件的行为特征对引擎进行了改进 第五章介绍了扫描引擎的核心技术 匹配算法的实现 在分析了几种常见的 字符串匹配算法的基础上 提出了一种高效的基于 ac bm 的模糊匹配算法并应用 于引擎中 第六章总结了论文的研究成果 并展望了后续的研究工作 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 4 第 2 章 计算机病毒与反病毒技术分析 2 1 计算机病毒定义 计算机病毒是恶意的计算机程序 病毒通过各种传播媒介 软盘 网络 不断扩 散 一旦发作就给正常系统产生 不良 影响 计算机病毒的程序代码包含一套 特殊的指令 与其他的程序不同的是它不需要人们的介入就能通过程序或系统传 播到其它计算机 当计算机病毒执行时 通过把自己复制在一个没有被感染的程 序或文档里 当这个程序或文档执行任何指令时 计算机病毒就会将自身传播到 其它的计算机系统和程序里 fred cohen 定义 8 计算机病毒是一种程序 它用修改其它程序的方法将自身 的精确拷贝或者演化版本植入其它程序 从而感染其它程序 由于这种感染特性 病毒可以在信息流的过渡途径中传播 从而破坏信息的完整性 fred cohen 在 1988 年又著文强调 9 病毒不是利用操作系统运作和缺陷的程 序 病毒是正常的用户程序 它们仅使用了那些每天都被使用的正常操作 在 中华人民共和国计算机信息系统安全保护条例 中 计算机病毒 computer virus 被明确定义为 计算机病毒 是指编制或者在计算机程序中插入的破坏计 算机功能或者破坏数据 影响计算机使用 并且能够自我复制的一组计算机指令 或者程序代码 2 2 计算机病毒的主要特点 计算机病毒的主要特点为 10 1 传染性 传染性是计算机病毒的基本特征 计算机病毒代码进入计算机并执行后 它 会寻找其他符合条件的程序或存储介质 确定目标后再将自身代码插入其中 实 现了自我复制和传染的目的 2 隐蔽性 绝大部分病毒是一段小巧的代码 通常是插入在程序文件中或存储介质较隐 蔽的地方 也有少量以隐含文件形式存在的 3 可触发性 病毒因某个事件或数值的出现 诱使病毒实施感染或进行攻击的特性称为可 触发性 病毒具有预定的触发条件 这些条件可能是时间 日期 文件类型或某 些特定数据等 病毒运行时 触发机制检查预定条件是否满足 如果满足 启动 感染或破坏动作 使病毒进行感染或攻击 如果不满足 使病毒继续潜伏 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 5 4 破坏性 系统感染病毒后 都会对系统及应用程序产生不同程度的影响 轻的占用系 统资源 降低系统效率 重的破坏系统数据 造成系统崩溃 2 3 计算机病毒的基本结构模式和工作机理 2 3 1 病毒程序的基本结构模式 尽管目前出现的计算机病毒数量 种类繁杂多样 但是通过对病毒程序代码 的分析 比较和归纳可以发现 绝大多数病毒程序 都是由引导模块 传染模块 和破坏表现模块这三个基本的功能模块所组成 11 其中 传染模块又由激活传染 条件的判断部分和传染功能的实施部分组成 破坏表现模块由病毒触发条件判断 部分和破坏表现功能的实施部分组成 计算机病毒程序结构的基本模式如图 2 1 所示 图 2 1 计算机病毒结构的基本模式 引导模块完成病毒加载的功能 引导型病毒在使用带毒的软盘或者硬盘启动 系统的时候被加载 文件型病毒在执行它的宿主程序的时候被加载 加载之后病 毒获取操作系统控制 执行病毒引导模块 病毒由静态变成动态 该模块一般要 完成以下功能 病毒体定位和驻留 完成初始化 加载原程序 传染模块是病毒进行传染的动作部分 在这个部分中计算机病毒寻找对应的 文件对象 判断传染条件是否成立 一般是为了防止重复传染 如果成立就实施 传染过程 发作模块完成病毒对计算机系统的破坏 在这个模块中计算机病毒判断破坏 条件是否成立 如果所有的条件都满足那么病毒就实施破坏功能 需强调的是 第一 并非任何一种病毒程序都全部具备这三个基本功能模块 比如 vienna 病毒就只有传染模块和破坏表现模块而没有引导模块 而 brain 病毒 只有引导和传染模块却无表现模块 第二 病毒程序的这几个基本模块即有 分 工 又有 合作 它们相互依靠 彼此协调 引导模块可以是传染模块和破坏 表现模块的基础 破坏表现模块又依赖传染模块 扩大攻击的范围 而传染模块 则是病毒程序的核心 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 6 计算机病毒程序工作的一般流程用类 c 语言描述如下 main 调用引导功能模块 a do 寻找传染对象 if 传染条件不满足 goto a while 满足传染条件 调用传染功能模块 while 满足破坏条件 激活病毒程序 调用破坏功能模块 运行宿主源程序 if 不关机 goto a 关机 计算机病毒程序工作的 n s 图如图 2 2 所示 图 2 2 计算机病毒程序机理流程 n s 框图 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 7 2 3 2 计算机病毒的工作机理 1 加载和引导机理 病毒程序的加载主要分成两个部分 其一是系统装载过程 其二是病毒附加 的加载过程 系统加载过程主要读入病毒程序的引导部分 并将系统控制权交给 计算机病毒 病毒引导程序是病毒的附加加载过程 主要完成对病毒体的完整读 入和重组 病毒程序选择的加载点多是计算机病毒固有的弱点和软件系统的输入 节点 计算机病毒的加载受到操作系统的制约 都是通过操作系统的功能调用或者 rombios 来实现的 一般情况下病毒程序有三种加载方法 参与系统启动过程 引 导型病毒 依附正常文件加载方式 文件型病毒 用户的输入方式 用户运行 病毒文件 现在的许多木马和蠕虫就采用这种方法激活 2 传染和传播机理 计算机病毒的传染是指计算机病毒在单个系统的不同宿主文件中传染 可以 分成主动和被动两种传染方式 主动传染是指在病毒处于激活的状态下 只要传 染条件满足 能主动地传染到另一个宿主 被动传染是用户在进行拷贝时 把一 个病毒由一个宿主复制到另一个宿主上 计算机病毒的传播是指计算机病毒在从一个计算机系统传播到另外一个计算 机系统的过程 主要有以下四种途径 通过不可移动的硬件设备传播 通过移动 存储设备来传播 通过计算机网络进行传播 通过点对点通信系统和无线通道传 播 3 破坏表现机理 病毒程序的引导模块和传染模块是为破坏表现模块服务的 破坏表现模块可 以在第一次病毒代码加载时运行 也可能在第一次病毒代码加载时 只有引导模 块引入内存 然后再通过触发某些中断机制而运行 一般情况下 病毒是基于一 个或若干个设定的破坏条件都满足的情况下才触发其破坏表现功能 该破坏条件 五花八门 可以是时间 日期 可以是文件名 文件扩展名 可以是人名 运行 次数等 实际上病毒采用的触发条件花样繁多 比如 日期触发 cih 病毒 时 间触发 ping pong 病毒 键盘触发 devil dance 病毒 感染触发 black monday 病毒 启动触发 telecom 病毒 访问磁盘次数触发 print screen 病毒 调用 中断功能触发 peom 病毒 cpu 型号 主板型号触发 violator 病毒 打开邮件 触发 求职信 病毒 利用系统或者工具软件的漏洞触发 code red 系列病 毒 等 有些病毒修改操作系统 使病毒代码成为操作系统的一部分功能模块 只要 计算机系统工作 病毒就处于随时可能被触发的状态 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 8 2 4 传统的病毒检测方法 常见的传统检测病毒方法有 特征代码法 12 和校验和法 13 14 这些方法依据 的原理不同 实现时所需开销不同 检测范围不同 各有所长 下面对各种方法 分别讨论 2 4 1 特征代码法 特征代码法被广泛应用于商业病毒检测工具中 国外专家认为特征代码法是 最简单 开销最小的检测已知病毒的方法 其思想是用病毒的程序代码来标志计 算机病毒 即通过正常程序和病毒程序代码的不同来确定病毒 病毒检测的时候 就通过扫描文件中是否包含这段代码来确定该文件是否感染病毒 这种检测系统 一般由两部分组成 一部分是病毒特征码库 含有经过特别选定的各种计算机病 毒的代码串 另一部分是利用该代码库进行扫描的扫描程序 其中病毒特征码是 该方法的最重要的内容 病毒特征码的选择需要在精确性和时间效率之间取得平 衡 病毒特征码是从病毒程序代码中抽取的 早期的特征代码是人工抽取的 现 在除了一些特殊病毒外 一般采用计算机程序自动抽取 特征码的抽取原则一般 包括两条 1 特征代码应是比较特殊 并且比较恒定的代码 一般不抽取病毒的程序的 数据部分 也就是说病毒特征码应能够唯一标志一种病毒 既要保证正常程序中 没有这段代码 还要保证其它病毒中没有相同的一段代码 2 特征代码需要有适当的长度 一般是 16 24 位 在保证代码的唯一性的 前提下使用尽量短的特征代码 保证较小的空间和时间开销 特征串扫描法的优点是 实现简单 检测程序仅仅需要进行简单的匹配操作 可识别病毒的名称 一个代码或多个特征码对应一种病毒 误报率低 依据检测 结果 可做杀毒处理 但是这种方法也有明显的缺点 无法识别未知病毒 很难 检测多态性病毒 由于多态性病毒的代码会不断的变化 所以没有办法获取一段 标志该病毒的代码 虽然特征代码法存在着许多缺陷 但是由于其不可替代的优越性 该方法还 是现在乃至将来很长一段时间内使用最广泛的方法 现代的病毒检测系统一般融 合使用了包括病毒特征代码法在内的多种方法 使各种方法形成互补 达到较好 的效果 另外一种改进的特征代码扫描法是特征字扫描法 特征字扫描也使用病毒代 码作为病毒标志 不同的是特征字使用几个离散的特征字来组成一个病毒特征 特 征代码扫描使用一个连续的串来标志一个病毒 由于需要处理的字节很少 而又 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 9 不必进行长串匹配 大大加快了识别速度 当被处理的程序很大时表现更突出 类似于检测生物病毒的生物活性 特征字识别法更注意计算机病毒的 程序活性 减少了错报的可能性 它工作起来速度更快 误报更少 2 4 2 校验和法 校验和法的思想是根据正常文件内容计算其校验和 将该校验和写入一个文 件中保存 在文件使用过程中 定期地或每次使用文件前 检查文件现在内容算 出的校验和与原来保存的校验和是否一致 以此来确定文件是否感染病毒 校验和法的优点是能发现已知病毒 也能发现未知病毒 但是它不能识别病 毒种类 不能报出病毒名称 由于病毒感染并非文件内容改变的唯一的排他性原 因 文件内容的改变有可能是正常程序引起的 所以校验和法常常误报 而且此 法也会影响文件的运行速度 病毒感染的确会引起文件内容变化 但是校验和法 对文件内容的变化太敏感 又不能区分正常程序引起的变动 而频繁报警 用监 视文件的校验和来检测病毒 不是最好的方法 这种方法遇到下述情况 已有软 件版更新 变更口令 修改运行参数 校验和法都会误报 另外校验和法对隐蔽 性病毒无效 隐蔽性病毒进驻内存后 会自动剥去染毒程序中的病毒代码 使校 验和法受骗 对一个有毒文件算出正常校验和 运用校验和法查病毒采用三种方式 1 在检测病毒工具中纳入校验和法 对被查的对象文件计算其正常状态的校 验和 将校验和值写入被查文件中或检测工具中 而后进行比较 2 在应用程序中 放入校验和法自我检查功能 将文件正常状态的校验和写 入文件本身 每当应用程序启动时 比较现行校验和与原校验和值 实现应用程 序的自检测 3 将校验和检查程序常驻内存 每当应用程序开始运行时 自动比较检查应 用程序内部或别的文件中预先保存的校验和 2 5 几种新型的计算机反病毒技术 本节介绍了几种新型的计算机反病毒技术 15 虽然这些技术有待于进一步完 善 但是它们出现的技术背景和具体的技术思想 都可以为我们研究和设计计算 机反病毒系统提供很好的借鉴 这些技术也代表着计算机反病毒技术未来的发展 方向 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 10 2 5 1 实时反病毒技术 由于新病毒层出不穷以及产品售后服务和升级等各方面的原因 用户感觉传 统的病毒检测方法已无力全面应付病毒的大举进攻 面对这种局面 计算机专家 提出为防治计算机病毒 可将重要的 dos 引导文件和重要的系统文件 用类似于 网络无盘工作站那样的方法固化到 pc 机的 bios 中 以防止计算机病毒对这些文 件的感染 这可算得上是实时反病毒概念的雏形 虽然固化操作系统的设想对防 病毒来说并不可行 但没过多久各种防病毒卡就在全国各地纷纷登场了 这些防 病毒卡插在系统主板上 实时监控系统的运行 对类似病毒的行为及时提出警告 增加了实时性和对未知病毒的预报能力 较好地体现了实时反病毒的思想 病毒实时监控其实就是一个文件监视器 它会在文件打开 关闭 清除 写 入等操作时检查文件是否是病毒携带者 如果是则根据用户的决定选择不同的处 理方案 如清除病毒 禁止访问该文件 删除该文件或简单地忽略 这样就可以 有效地避免病毒在本地机器上的感染传播 因为可执行文件装入器在装入一个文 件执行时首先会要求打开该文件 而这个请求又一定会被实时监控在第一时间截 获到 它确保了每次执行的都是干净的不带毒的文件从而不给病毒以任何执行和 发作的机会 实时反病毒技术一向为反病毒界所看好 被认为是比较彻底的反病毒解决方 案 多年来其发展之所以受到制约 一方面是因为它需要占用一部分系统资源而 降低系统性能 使用户不堪忍受 另一方面是因为它与其他软件 特别是操作系统 的兼容性问题始终没有得到很好的解决 但随着硬件处理速度的不断提高 实时 反病毒技术所造成的系统负荷已经降低到了可被我们忽略的程度 而 windows95 98 和 nt 2000 等多任务 多线程操作系统 又为实时反病毒技术提供 了良好的运行环境 所以通过深入分析不难看出 实时反病毒技术是信息技术发 展的必然结果 实时反病毒概念最大的优点是解决了用户对病毒的 未知性 或者说是 不 确定性 问题 实时反病毒技术能及时地向用户报警 督促用户在病毒疫情大规 模爆发之前采取有效措施 实时监测是先前性的 而不是滞后性的 任何程序在 调用之前都先被过滤一遍 一有病毒侵入 它就报警 并自动杀毒 将病毒拒之 门外 做到防患于未然 安全性更高 16 实时反病毒技术能够始终作用于计算机 系统之中 监控访问系统资源的一切操作 并能够对其中可能含有的病毒代码进 行清除 病毒防火墙的概念正是为真正实现实时反病毒概念的优点而提出来的 病毒 防火墙其实是从近几年颇为流行的信息安全防火墙中延伸出来的一种新概念 其 宗旨就是对系统实施实时监控 对流入 流出系统的数据中可能含有的病毒代码 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 11 进行过滤 这一点正好体现了实时防病毒概念的精髓 解决了用户对病毒的 未 知性 问题 与传统防杀毒模式相比 病毒防火墙 有着明显的优越性 首先 它对病毒的过滤有着良好的实时性 也就是说病毒一旦入侵系统或从系统向其他 资源感染时 它就会自动检测到并加以清除 这就最大可能地避免了病毒对资源 的破坏 其次 病毒防火墙 能有效地实时地阻止病毒从网络向本地计算机系统 的入侵 再者 病毒防火墙 的 双向过滤 功能保证了本地系统不会向远程 网 络 资源传播病毒 最后 病毒防火墙 还具有操作更简便 更透明的好处 有了 它自动 实时的保护 用户再也无需隔三差五就得停下正常工作而去费时费力地 查毒 杀毒了 2 5 2 启发式代码扫描技术 病毒和正常程序的区别可以体现在许多方面 比较常见的如一个正常的应用 程序通常会在最初的指令段中检查命令行输入有无参数项 清屏并保存原来的屏 幕显示等 而病毒程序则从来不会这样做 其最初的指令通常是直接写盘操作 解码指令 或搜索某路径下的可执行程序等相关操作的指令序列 这些明显的不 同之处 一个熟练的程序员在调试状态下只需一瞥便可一目了然 启发式代码扫 描技术实际上就是把这种经验和知识移植到一个反病毒软件的具体程序中 因此 启发式 指的就是 自我发现的能力 或 运用某种方式或方法去判 定事物的知识和技能 一个运用启发式扫描技术的病毒检测软件 实际上就是以 特定方式实现的动态解释器或反编译器 通过对有关指令序列的反编译逐步理解 和确定其蕴藏的真正动机 17 例如 如果一段程序以如下序列开始 mov ah 5 int 13h 即调用格式化磁盘操作的 bios 指令功能 那么这段程序就值得引起警 觉 尤其是假如这段指令之前既不存在取得命令行关于执行的参数选项 又没有 要求用户交互地输入是否继续进行的操作指令时 可以有把握地认为这是一个病 毒或者包含恶意代码的程序 在具体实现上 启发式扫描技术是相当复杂的 通常这类病毒检测软件要能 够识别许多可疑的程序代码指令序列 如格式化磁盘的操作 搜索和定位各种可 执行程序的操作 实现驻留内存的操作 调用未公开的系统功能调用的操作等 所有这些功能操作将按照安全和可疑的等级排序 根据病毒可能使用和具备的特 点而赋予不同的加权值 18 举例来说格式化磁盘的功能操作几乎从不出现在正常 的应用程序中 而病毒程序中出现的几率则比较高 于是这类操作指令序列可获 得较高的加权值 而驻留内存的功能不仅病毒要使用 很多应用程序也有可能使 用 于是给予较低的加权值 如果一个程序的加权值的总和超过一个事先定义的 阈值 那么 病毒检测程序就可以声称 发现病毒 仅仅一项可疑的功能操作远 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 12 不足以触发 病毒报警 的装置 最好把多种可疑功能操作同时并发的情况定为 发现病毒的报警标准 19 为了方便用户或研究人员直观地检测被测试程序中可疑功能调用的存在情 况 病毒检测程序可以为不同的可疑功能调用设置不同的标志 例如 tbscan 这 一病毒检测软件就为每一项它定义的可疑病毒功能调用赋予了一个标志旗 如 f r a 这样一来就可以直观地帮助我们对被检测程序是否染毒进行主观判断 对于某个文件来说 被点亮的标志旗越多 染毒的可能性就越大 常规干净程序 甚至很少会点亮一个标志旗 但如果要作为可疑病毒报警 则至少要点亮两个以 上标志旗 如果再给不同的标志旗赋予不同的加权值 情况要复杂得多 检测的 智能性与准确率也要高得多 正如任何其他的通用检测技术一样 启发式扫描技术有时也会把一个本无病 毒的程序指证为染毒程序 这就是所谓的查毒程序虚警或谎报现象 20 正常的系 统内核程序 编译程序也有可能会点亮标志旗 这就有可能带来误报 启发式代 码扫描技术可以采取措施来降低误报率 对于病毒行为的准确把握和关于可疑功 能调用集合的精确定义 对于常规的应用程序代码的认知和识别能力 对于特定 程序的识别能力 许多启发式代码分析和检测软件都具有自学习功能 能够记录 下那些并非病毒的文件并在以后的检测过程中避免再次误报 虽然存在误报率较高的不足 但和其它的扫描识别技术相比 启发式代码扫 描技术几乎总能提供足够的辅助判断信息 让我们最终判定被检测的目标对象是 染毒的 还是干净的 一个精心设计的算法支持的启发式扫描软件 在不依赖任 何对病毒预先的学习和了解的辅助信息 如 特征代码 指纹字串 校验和等的 支持下 可以毫不费力地检查出 90 以上的对它来说是完全未知的新病毒 可能 仍然会出现一些误报和漏报的情况 适当加以控制 这种误报的概率可以降低到 0 1 以下 与传统的扫描技术相结合 启发式代码扫描技术可以使病毒检测软件 的检出率提高到前所未有的水平 而且还可大大降低总误报率 启发式代码扫描技术实际上是应用了人工智能原理的一种计算机反病毒技 术 它向我们展示了一种通用的 不需升级 较少升级或不依赖于升级 的病毒检测 技术和产品的可能性 由于具有诸多传统技术无法相比的强大优势 必将得到普 遍的应用和迅速的发展 资料显示 目前国际上最著名的排名在前五名的反病毒 软件产品均声称应用了这项技术 这也从侧面证明了启发式代码扫描技术的先进 性和强大生命力 在新病毒 新变种层出不穷 病毒数量不断激增的今天 这种 新技术的产生和应用更具有特殊的重要意义 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 13 2 5 3 虚拟机技术 虚拟机技术是国际反病毒领域的前沿技术 这种技术更接近于人工分析 智 能化程度高 查毒的准确性也可以达到很高的水平 可用于检测复杂病毒 21 首先我们描述一下病毒程序分析员的工作 当拿到一个可疑程序样木时 我 们并不敢直接运行它 因为它可能是带毒的 而且极可能是未知的无法评估破坏 后果的新病毒 要分析它 我们必须做的是跟踪它的执行 查看它是否有传染模 块 是否有破坏模块 如果一个可疑程序样本中有用于传染的模块 我们就认定 它是病毒 如果它还有破坏模块 我们就将它归入恶性病毒 根据对计算机病毒 的本质特征的分析 我们可以知道判定样本是否是病毒的重要依据在于样本是否 具有传染性 如果能让程序判定一个 样本 是否有传染性 也就解决了反病毒 领域中的一个重要 预警 难题 传统的程序员分析病毒会使用 dos 的 debug 程序 现在更多的人选择 softice 等运行在 windows 平台下的功能更强大的工具软件 但归结到一点 这 类动态调试软件的核心就是单步跟踪执行被调试程序的每一条语句 事实上 更为智能的做法是 用程序代码虚拟一个系统运行环境 包括虚拟 内存空间 cpu 的各个寄存器 甚至将硬件端口也虚拟出来 用调试程序调入需 调试的程序 样本 将每一条语句放到虚拟环境中执行 这样我们就可以通过内 存 寄存器以及端口的变化来了解程序的执行 这样的一个虚拟环境就是一个虚 拟机 虚拟现实技术在系统底层也借鉴了虚拟机技术 22 既然虚拟机中可以反映程序的任何动态 那么 将病毒放到虚拟机中执行 病毒的传染动作一定可以反映出来 如果能做到这样 未知病毒的查出概率将有 可能大大提高 但是因为虚拟机太慢 大约会比正常的程序执行的速度慢几十倍 甚至更多 所以事实上我们无法虚拟执行程序的全部代码 目前个别反病毒软件 选择了虚拟执行样本代码段的前几 k 个字节 其查出概率已高达 95 左右 23 虚拟机用来侦测己知病毒的效果更为惊人 误报率可降到一个千分点以下 这项技术在 20 世纪 90 年代末被认为是国际反病毒领域的前沿技术 至今仍有许 多人在研究和完善它 因为它的未来可能是一台用于 internet 上的庞大的人工智能 化的反病毒机器人 2 5 4 主动内核技术 纵观计算机反病毒技术的发展 从防病毒卡到自升级的软件反病毒产品 再 到动态 实时的反病毒技术 所采用的都是被动式防御理念 这种理念最大的缺 点在于将防治病毒的基础建立在病毒入侵操作系统或网络系统以后 作为上层应 用软件的反病毒产品 才能借助于操作系统或网络系统所提供的功能来被动地防 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 14 治病毒 这种做法仍然能给计算机病毒以可乘之机 留下了安全隐患 在操作系统和网络的内核中加入反病毒功能 使反病毒成为系统本身的底层 模块 而不是运行在操作系统上的一个应用软件 一直是计算机反病毒工作者追 求的目标 但是嵌入操作系统和网络系统底层 实现各种反毒模块并与操作系统 和网络无缝连接的反病毒技术难度极大 active k 主动内核 技术的要点在于它采用了与 主动反应装甲 同样的概念 能够在病毒突破计算机系统软 硬件的瞬间发生作用 24 这种作用 一方面不会 伤及计算机系统本身 另一方面却对企图入侵系统的病毒具有彻底拦截并清除的 作用 以往的反病毒技术 甚至连 被动反应 都称不上 因为它们本身不具备 防护能力 病毒入侵系统时它们不会产生反应 它们只能在系统被病毒感染后 对系统进行反病毒检查与清除工作 实时化的反病毒技术 可以被称为 主动反 应 技术 因为这时反病毒技术能够在不需要用户干预和关心的情况下 自动将 病毒拦截在系统之外 但以上技术都不是深入到内核的技术 主动内核技术 用通俗的说法是 从 操作系统内核这一深度 给操作系统和网络系统本身打了一个补丁 而且是一个 主动 的补丁 这个补丁将从安全的角度对系统或网络进行管理和检查 对系 统的漏洞进行修补 任何文件在进入系统之前 作为主动内核的反毒模块都将首 先使用各种手段对文件进行检测处理 计算机病毒检测问题实际上是算法理论的问题 25 确定是否存在一个算法能 够确认另外一个程序感染病毒 cohen 同时确定任意给定的一个程序是否感染病毒 等价于图灵停机问题 26 是不可确定的 任意给定一个病毒检测算法 a 能够找 到这样一个程序 p 满足 if a p then 结束 else 发作 在这种情况下算法 a 不 可能获得正确的结果 如果 a 返回真 即认为 p 感染病毒 那么 p 没有发作 所 以 p 没有感染病毒 而如果 a 返回否 即认为 p 没有感染病毒 那么 p 发作 因 此 p 已经感染病毒 所以不存在一个算法能够检测到所有的病毒而不发生错误 都会发生错误否定 错过一些病毒 错误肯定 将一些自体识别为病毒 或者 根本不返回结果 bug 所以任何病毒检测技术只能处理已知病毒或小部分的未知病毒 因为病毒是 程序 程序检测算法的复杂度都会是 np 复杂的 已经证明了不存在检测所有病毒 的有效程序 27 病毒和检测技术始终成相互激励的增长态势 这种情形在计算机 安全方面实为通则 2 6 病毒清除技术 1 文件型病毒清除 南昌航空大学硕士学位论文 第 2 章 计算机病毒与反病毒技术分析 15 在计算机病毒中绝大部分是文件型 所谓文件型病毒是指此类病毒寄生在可 执行文件上 传播的途径也是靠可执行文件 从数学角度而言 消除病毒的过程 实际上是病毒感染过程的逆过程 通过检测工作 跳转 解码 己经得到了病毒 体的全部代码 用于还原病毒的数据肯定在病毒体内 只要找到这些数据 依照 一定的程式或方法即可将文件恢复 也就是说可以将病毒清除 2 引导型病毒的清除 这类病毒的种类也比较多 它们占据软盘或硬盘的第一个扇区 在开机后先 于操作系统得到对计算机的控制 影响系统的 i o 存取速度 干扰系统的正常运行 此类病毒可用地址法 相对法 逻辑法 覆盖法 特殊法予以清除 3 内存解毒 因为内存中的活病毒体会干扰反病毒软件的检测结果 所以几乎所有反病毒 软件设计者都要考虑到内存解毒 新的内存解毒技术是找到病毒在内存中的位置 重构其中部分代码 使其传播功能失效 2 7 小结 本章给出了计算机病毒的定义 对计算机病毒的主要特点 基本结构模式和 工作原理进行了简
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮美发合作合同(标准版)
- 理发店装修合同(标准版)
- 申请委托验资合同书6篇
- 农产品购销员中秋节后复工安全考核试卷含答案
- 酶制剂微生物菌种工中秋节后复工安全考核试卷含答案
- 售票值班员中秋节后复工安全考核试卷含答案
- 肉制品加工工中秋节后复工安全考核试卷含答案
- 电线电缆检验员中秋节后复工安全考核试卷含答案
- 野生动物饲养繁殖工节假日前安全考核试卷含答案
- 产品平面设计代理协议书7篇
- MSOP(测量标准作业规范)测量SOP
- 001 220kV升压站事故油池施工方案
- 智慧停车场运营管理项目风险评估报告
- 九年义务教育全日制小学数学教学大纲(试用)
- 出资比例的协议合同
- GB/T 10345-2022白酒分析方法
- GB/T 19418-2003钢的弧焊接头缺陷质量分级指南
- 四川省参保单位职工社会保险费欠费补缴申报表
- GA 622-2013消防特勤队(站)装备配备标准
- 240农业政策学-张广胜课件
- 垄断经典案例课件
评论
0/150
提交评论