恶意代码原理、技术与防范 课件 12-恶意代码防范技术_第1页
恶意代码原理、技术与防范 课件 12-恶意代码防范技术_第2页
恶意代码原理、技术与防范 课件 12-恶意代码防范技术_第3页
恶意代码原理、技术与防范 课件 12-恶意代码防范技术_第4页
恶意代码原理、技术与防范 课件 12-恶意代码防范技术_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章恶意代码防范技术引言恶意代码防范是通过有针对性的恶意代码防范策略和体系,采取具体有效的方法或技术,来防止和发现恶意代码在计算机及网络中存储、传播、运行以及对系统和数据造成破坏和不良影响。主要包括恶意代码的检测、清除、预防、备份与恢复等,本章将分别对这些技术方法进行介绍。恶意代码防范技术概述恶意代码检测技术特征码检测算法动态检测方法响应与处理1.1恶意代码防范技术的发展恶意代码经历了从单一的可执行文件或引导型文件,到同时具备寄生、引导、常驻内存、网络传播、破坏、加密等多种功能的复杂恶意代码;从简单的病毒感染,到复杂多变的蠕虫、木马、勒索病毒、APT等多样化复杂攻击;从注重自身的感染传播等恶意功能,到日益繁杂的加密、加壳、多态、混淆、反静态、反动态分析等多种生存性增强技术的运用;以及恶意代码种类和数量的急剧膨胀,都反映了恶意代码破坏性和影响力的不断增长。相应的,恶意代码防范技术也在随之不断发展。1.2恶意代码的防范思路恶意代码防范,应当充分考虑其产生、存储、运行、传播、变形、消亡等各个阶段,需要从检测、清除、预防、备份与恢复等各个层次展开。恶意代码防范技术概述恶意代码检测技术特征码检测算法动态检测方法响应与处理2检测技术7如何评估一种检测方法的好坏?误警率与漏警率!(1)检测方法的评估误警:是指将一个非恶意的程序当作恶意代码处理;漏警:是指对一个恶意代码未检测到或报警。2检测技术8第一代检测技术:精准匹配的特征码检测。优点:误警率低、能够清除恶意代码。缺点:方式单一、漏报率也高,易被躲避(2)检测技术的发展检测发展2检测技术9第二代检测技术:广谱特征匹配。多个病毒采用同一类技术后呈现相同的代码片段;病毒简单变形后,特征值呈现分段相似性。优点:可以检测出简单通用变形的恶意代码。缺点:增加了误报率,只能应对简单变形技术。检测发展2检测技术10特点:动静结合;静态检测:文件结构、特征等;动态检测:行为检测等。利用虚拟引擎检测加密和多态恶意代码。缺点:速度低、误报率高,无法应对隐匿行为。优点:对加壳、加密的病毒可检测。第三代检测技术:启发式。2检测技术11第四代检测技术:云查杀/人工智能。利用云计算平衡终端负担和查杀的完备性;利用人工智能判断未知恶意代码。启发式扫描校验和自身免疫数据还原内存解毒行为检测优点:性能的提高,对未知代码识别能力增强。缺点:C/S架构依赖于网络;人工智能的误报。还有很长的路要走。2检测技术12

检测时机手工检测:安全软件在用户的请求下开始扫描。此时安全软件一般处于非激活状态,直到用户发出请求。实时监控:所有的对象在任何操作下都要检查是否携带病毒,如打开、关闭、创建、读/写等。此时安全软件长久驻留内存,主动检查各种行为和对象。(3)检测方法分类13是否运行静态检测技术:在不执行任何代码时检测病毒,用于分析文件的结构和内容。动态检测技术:通过运行代码、观察其行为,确定代码是否被计算机病毒所感染。2检测技术14静态检测和动态检测的区别:2检测技术恶意代码防范技术概述恶意代码检测技术特征码检测算法动态检测方法响应与处理3.特征码检测动辄数百万的特征码库,针对性能不同的计算机,如何做到“扫描硬盘”那么多文件时快速而准确?特征码匹配好的匹配算法3.特征码检测传统字符匹配算法:朴素匹配KMP算法BM算法:效率高3-5倍特点:实现简单;单模匹配,效率低下;17回顾匹配算法3.特征码检测BM算法的精髓:从模式串的尾部比,匹配过程尽可能多的右移:坏字符好后缀18有没有算法能够只遍历一次文件,却能匹配所有特征?回顾匹配算法参考:BM算法详解:/1f2c53dm.html3.特征码检测AC算法将所有的特征码构建成一个自动机状的树,根据遍历样本文件的字符跳转至自动机的下一状态,如果状态为特征码的终止符,则认为特征匹配;否则继续到下一字符,直至全部字符扫描完成。构造自动机:goto表;匹配失效处理:failure表;匹配成功输出:output表。多模匹配算法3.特征码检测(1)goto表

由模式集合P中的所有模式构成的状态转移自动机,本质上是一个有限状态机,表明在当前状态下读入下一个待比较文本的字符后到达的下一个状态。为便于参考,所有状态进行了编号。设模式串为P={hi,hips,hip,hit,chip}多模匹配算法3.特征码检测构造过程:对于P中的每一个模式pi[1…j](1≤i<m+1)),按照其包含的字母从前到后依次输入自动机,起始状态为D[0],如果自动机的当前状态为D[p],对于pi中的当前字母pi[k](1≤k≤j)没有可用的转移,则smax加1,并将当前状态输入pi[k]后的转移位置置为D[p][pi[k]]=smax,如果存在可用的转移方案D[p][pi[k]]=q,则转移到状态D[q],同时取出模式串的下一个字母pi[k+1],继续进行上面的判断过程。P={hi,hips,hip,hit,chip}多模匹配算法3.特征码检测(2)failure表failure表用来指明在某个状态下,当读入的字符不匹配时应转移到的下一个状态。当匹配过程中的某个节点n发生失配时,应回跳到哪个节点是由failure表来决定的。失配链:每个节点对应的failure状态称为失配链。状态s的深度:是指在goto表中从起始状态0到状态s的最短路径长度快!多模匹配算法3.特征码检测构造过程:(1)根节点的失配链f指向其自身,深度小于1

状态的失配链指向根节点。(2)按照广度优先的搜索方法遍历模式匹配机的各个状态节点,计算每个节点的失配链。(3)已知深度为d(d>1)的任意节点n,以及深度小于d的所有节点的失配链,设节点n的父节点为f,从f到n的边为a,从节点f开始,沿着失配链一路回溯,所经过的每个节点设为f

',若f

'有一条指向其子节点n'的边也是a,则从节点n到n'新建一条链接,这条链接就是节点n的失配链。(4)在上一步操作中,如果已经回溯到f

'=root,而root没有输出边为a,则从节点n到root新建一条链,这条链就是节点n的失配链。多模匹配算法3.特征码检测多模匹配算法3.特征码检测(3)Output表output表示输出,即代表到达某个状态后某个模式串匹配成功。goto表的每个模式串结束的状态都加入output表;在构造failure表时,若状态i的失配链已经在output表中,则将其与状态i的output对应结果合并。多模匹配算法state123456789output00hi0hiphit0hipschipstate123456789output00hi0hiphithihipschip,hip3.特征码检测(4)基于AC多模式匹配算法

给定字符串s,沿着goto表进行匹配,若匹配失败,则沿着failure表回溯,若匹配到output表,则表示匹配成功。模式为P(右),匹配字符串为“microchips”多模匹配算法3.特征码检测AC算法优缺点:优点:简单、高效、通用。缺点:对空间需求比较大。如果匹配模式太多,会造成空间的大量占用,甚至系统崩溃。其它算法:如Veldman算法、Wu-Manber算法等,也可实现多模式匹配的功能。多模匹配算法恶意代码防范技术概述恶意代码检测技术特征码检测算法动态检测方法响应与处理4.动态检测法如何刻画程序的恶意行为?如何捕获和检测恶意行为?什么样的行为才是恶意行为?动态检测的核心问题:4.动态检测法自我复制:将自身的代码写入其它可执行文件中;引导区修改:对启动扇区的改写;自启动:创建一个新的服务或改写Run项等注册表项;自保护:终止主流的杀毒软件;窃口令:安装键盘钩子;清痕迹:删除日志;……什么样的行为是恶意行为?归纳恶意行为4.动态检测法(1)从操作系统的角度刻画程序行为对文件系统的修改对注册表的修改网络的行为变化内存的变化…...怎么刻画程序的恶意行为?观察行为的两个角度:外在表现、内在特质刻画恶意行为4.动态检测法行为描述对象刻画创建一个文件C:\Windows\System32\winexp.exeFILE_CREATE读一个文件C:\desktop.iniFILE_READ写一个文件C:\Windows\System32\winexp.exeFILE_WRITE删除一个文件C:\config.batFILE_DELETE访问注册表键值HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunREG_READ写注册表键值HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runmicrovalue=“xxx.exe”REG_SET_VALUE创建互斥量mutex=“sign_md5_36fa5d7c”CREATE_MUTEX刻画恶意行为4.动态检测法(2)从程序内部的实现刻画程序行为用指令序列表示恶意行为;用系统调用序列表示恶意行为;刻画恶意行为4.动态检测法指令序列表示恶意行为—以自我复制为例34Klez病毒的自我复制代码片段刻画恶意行为4.动态检测法将行为代码归一化统一的行为模板刻画恶意行为4.动态检测法系统调用表示恶意行为—以API依赖图为例36刻画恶意行为以图的方式表示:时序关系参数关系4.动态检测法37但如何从大量的行为监控信息中判断哪些行为具有恶意性主要通过个人经验。检测的实现如何捕获和检测恶意行为?虚拟机:防止代码对实体操作系统破坏,独立的操作系统执行环境;沙箱:在宿主机的磁盘中隔离出一个相对独立的区域,虚拟主要硬件。专用的监控程序:FileMon、RegMon、ProcMon恶意代码防范技术概述恶意代码检测技术特征码检测算法动态检测方法响应与处理5.1清除恶意代码原则:从感染恶意代码的系统或文件中将恶意代码模块摘除,并使之恢复正常的过程称为恶意代码清除。分类:引导型恶意代码的清除文件型恶意代码的清除脚本型恶意代码的清除其他恶意代码的清除方法:恶意代码的清除一般都建立在对恶意代码工作原理分析的基础上进行,可分为手工清除和自动清除两种方法。5.2恶意代码预防从保护的对象而言,恶意代码的预防主要包括磁盘引导区保护、可执行程序或PE文件的加密保护、读写控制技术和系统监控技术等。从防范的对象而言,恶意代码的预防可分为对已知恶意代码的预防和对未知恶意代码的预防。对已知恶意代码的预防可采用特征码判定和行为特征式判定等。对未知恶意代码的预防则主要采用行为规则判定或启发式判定等。查杀软件恶意代码查杀软件工作原理云查杀技术5.2恶意代码预防系统监控:

实时监控技术,是在计算机系统运行过程中,对系统资源及访问系统资源的操作进行监控,发现并阻止恶意代码运行或对系统进行恶意操作的过程。根据监控的对象,主要包括文件监控、注册表监控、内存监控、脚本监控、邮件监控等技术。多种监控技术协同工作,构建一个完整的综合监控防护体系,为增强系统的恶意代码防护能力提供支持。5.2恶意代码预防系统免疫:大部分恶意代码在加载到内存前,会检查系统的内存状态,判断内存中是否已经已有恶意代码(在Windows系统,常用互斥量保证实体仅被加载一次),若存在(自身已被加载),则不再加载恶意代码,否则,加载到内存;感染文件前,查看文件的状态(一般是查看感染标志),检查该文件是否已被感染,如果被感染则不再重复感染。恶意代码的这种重入检测机制导致了一种恶意代码预防技术的出现,也就是形形色色的免疫程序;利用免疫程序设置内存,设置CPU状态或设置文件标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论