




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
恶意代码防范原理刘功申上海交通大学信息安全工程学院本章学习目标掌握恶意代码防范理论模型掌握恶意代码防范的层次结构理解恶意代码检测知识及实验掌握恶意代码清除知识掌握恶意代码预防知识掌握恶意代码免疫思路本章内容恶意代码防范技术的发展我国恶意代码防范技术的发展恶意代码预防理论模型恶意代码防范思路恶意代码的检测恶意代码的清除恶意代码的预防恶意代码的免疫恶意代码的处理流程1恶意代码防范技术的发展起初,1个防范程序仅仅对付1个恶意代码随着恶意代码数量的迅速增长,出现了专业反病毒研究人员:一是俄罗斯的EugeneKaspersky另一位是DoctorSoloman这些公司推出了专业的便于商业化的恶意代码防范工具。2我国恶意代码防范技术的发展DOS时代静态的防范Windows时代引入了实时监控等技术互联网时代应对蠕虫、木马等恶意代码3恶意代码预防理论模型F.Cohen“四模型”理论(1)基本隔离模型该模型的主要思想是取消信息共享,将系统隔离开来,使得恶意代码既不能从外部入侵进来,也不可能把系统内部的病毒扩散出去。(2)分隔模型将用户群分割为不可能互相传递信息的若干封闭子集。由于信息处理流的控制,使得这些子集可被看作是系统被分割成的相互独立的子系统,使得恶意代码只能感染整个系统中的某个子系统,而不会在子系统之间进行相互传播。(3)流模型对共享的信息流通过的距离设定一个阀值,使得一定量的信息处理只能在一定的区域内流动,若该信息的使用超过设定的阀值,则可能存在某种危险。(4)限制解释模型即限制兼容,采用固定的解释模式,就有可能不被恶意代码感染。类“IPM”模型
把计算机程序或磁盘文件类比为不断生长变化的植物。把计算机系统比作一个由许多植物组成的田园。把恶意代码看成是侵害植物的害虫。把计算机信息系统周围的环境看作农业事物处理机构。3恶意代码防范思路防治技术概括成6个层次:检测清除预防被动防治免疫主动防治防范策略数据备份及恢复三分技术、七分管理、十二分数据内容:计算机病毒的诊断原理计算机病毒的诊断方法高速模式匹配自动诊断的源码分析4
恶意代码的检测用什么来判断?染毒后的特征常用方法:比较法校验和特征码扫描法行为监测法感染试验法分析法(1)比较法比较法是用原始或正常的对象与被检测的对象进行比较。手工比较法是发现新病毒的必要方法。比较法又包括:注册表比较法工具RegMon弱点:正常程序也操作注册表文件比较法通常比较文件的长度和内容两个方面工具FileMon弱点:长度和内容的变化有时是合法的病毒可以模糊这种变化内存比较法主要针对驻留内存病毒判断驻留特征中断比较法将正常系统的中断向量与有毒系统的中断向量进行比较比较法的好处:简单比较法的缺点:无法确认病毒,依赖备份(2)校验和法首先,计算正常文件内容的校验和并且将该校验和写入某个位置保存。然后,在每次使用文件前或文件使用过程中,定期地检查文件现在内容算出的校验和与原来保存的校验和是否一致,从而可以发现文件是否感染,这种方法叫校验和法,它既可发现已知病毒又可发现未知病毒。优点:方法简单能发现未知病毒被查文件的细微变化也能发现缺点:必须预先记录正常态的校验和会误报警不能识别病毒名称程序执行附加延迟不对付隐蔽性病毒。
(3)特征码扫描法扫描法是用每一种病毒体含有的特定字符串(Signature)对被检测的对象进行扫描。如果在被检测对象内部发现了某一种特定字符串,就表明发现了该字符串所代表的病毒。扫描器由两部分组成:特征串(Signature)和扫描算法(Scanner)选择代码串的规则是:代码串不应含有病毒的数据区,数据区是会经常变化的。在保持唯一性的前提下,应尽量使特征代码长度短些,以减少时间和空间开销。代码串一定要在仔细分析了程序之后才能选出最具代表性的,足以将该病毒区别于其他病毒和该病毒的其他变种的代码串。特征串必须能将病毒与正常的非病毒程序区分开。例如:给定特征串为“E9
7C
00
10
?
37
CB”,则“E9
7C
00
10
27
37
CB”和“E9
7C
00
10
9C
37
CB”都能被识别出来.特征码示例恶意代码名特征代码Stoned/Marijuana00535152065657ChaosA1494368414F53505251E8Korea8ED08CF0FFFBBB1314Ghost90EA59EC009090PingPongVBA1F581A3F57D8B36F981GhostBootVersion5E81C65A04B80102TYPOBoot241355AAYanKeeDoodle35CD218BF38CC73066/2930Traceback148B4D168BC18ACDTaiwan8A0E950081E1FE00BA9EIta
Vir48EBD81CD39513931BD397Vcomm0A954CB39347E160B4MIXI/Icelandic43813F455875F1B80043Alabama8F061805268F061FDBASE80FC6C74EA80FC5874E5Lisbon8B11793D0A002E89Do-Nothing720450EB0790B44CAIDS42E8EFFF8ED82DCCKlezA10000
00
00506489250000
00
0083EC5853565789CIH558D4424F833DB648703其优点包括:
(1)当特征串选择得很好时,病毒检测软件让计算机用户使用起来方便快速,对病毒了解不多的人也能用它来发现病毒。
(2)不用专门软件,用编辑软件也能用特征串扫描法去检测特定病毒。
(3)可识别病毒的名称。
(4)误报警率低。
(5)依据检测结果,可做杀毒处理。缺点:
(1)当被扫描的文件很长时,扫描所花时间也较多。
(2)不容易选出合适的特征串,有时会发出假警报。
(3)新病毒的特征串未加入病毒代码库时,老版本的扫毒程序无法识别出新病毒。
(4)怀有恶意的计算机病毒制造者得到代码库后,会很容易地改变病毒体内的代码,生成一个新的变种,使扫描程序失去检测它的能力。
(5)容易产生误警报。只要正常程序内带有某种病毒的特征串,即使该代码段已不可能被执行,而只是被杀死的病毒体残余,扫描程序仍会报警。
(6)不易识别变异类病毒。
(7)搜集已知病毒的特征代码,费用开销大。
(8)在网络上使用效率低。(4)行为监测法利用病毒的特有行为特性来监测病毒的方法称为行为监测法。常用行为:占用INT13H修改DOS系统数据区的内存总量对COM和EXE文件做写入动作写注册表自动联网请求优点:发现未知病毒缺点:难度大、误报警(5)感染实验法这种方法的原理是利用了病毒的最重要的基本特征:感染特性。观察正常程序和可疑程序的表现是非不同。
1.检测未知引导型病毒的感染实验法a.先用一张软盘,做一个清洁无毒的系统盘,用DEBUG程序,读该盘的BOOT扇区进入内存,计算其校验和,并记住此值。同时把正常的BOOT扇区保存到一个文件中。上述操作必须保证系统环境是清洁无毒的b.在这张实验盘上拷贝一些无毒的系统应用程序。c.启动可疑系统,将实验盘插入可疑系统,运行实验盘上的程序,重复一定次数。d.再在干净无毒机器上,检查实验盘的BOOT扇区,可与原BOOT扇区内容比较,如果实验盘BOOT扇区内容已改变,可以断定可疑系统中有引导型病毒。2.检测未知文件型病毒的感染实验法a.在干净系统中制作一张实验盘,上面存放一些应用程序,这些程序应保证无毒,应选择长度不同,类型不同的文件(既有COM型又有EXE型)。记住这些文件正常状态的长度和校验和。b.在实验盘上制作一个批处理文件,使盘中程序在循环中轮流被执行数次c.将实验盘插入可疑系统,执行批处理文件,多次执行盘中程序。d.将实验盘放人干净系统,检查盘中文件的长度和校验和,如果文件长度增加,或者校验和变化,则可断定系统中有病毒。(6)分析法分析法的目的在于:1.确认被观察的磁盘引导区和程序中是否含有2.确认病毒的类型和种类,判定其是否是一种新病毒。3.搞清楚病毒体的大致结构,提取特征识别用的字符串或特征字,用于增添到病毒代码库供扫描和识别程序用。4.详细分析病毒代码,为制定相应的反病毒措施制定方案。检测方法手工检测工具软件(Debug、UltraEdit、EditPlus、SoftICE、TRW、Ollydbg等)优点:Aver发现并分析新病毒缺点:不可能普及自动检测自动检测是指通过一些自动诊断软件来判断系统是否有毒的方法。优点:易于普及缺点:滞后性自动检测的源码分析讨论自动诊断病毒(查毒)的最简单方法——特征码扫描法自动诊断程序至少要包括两个部分:病毒特征码(VirusPattern\VirusSignature)库扫描引擎(ScanEngine)。病毒特征码意义重大获得方法手工自动扫描引擎是杀毒软件的精华部分考虑杀毒速度待杀毒文件的类型支持的硬盘格式其他特殊技术虚拟执行行为识别等等简单的查毒程序VirScan是一个简单的示例程序,其功能:根据病毒特征码发现特定病毒(CIH和Klez)。VirScan从程序入口点开始查找病毒特征码。对抗Klez病毒会卸载杀毒引擎的功能。CIH病毒不会动态地改变程序入口点处的标记,我们可以自接从入口点处开始。Klez病毒会动态的改变程序入口点处的前16个字节,所以,VirScan跳过了前16个字节。构造病毒库virus.pattern病毒库virus.pattern的结构如下:Klez={A1,00,00,00,00,50,64,89,25,00,00,00,00,83,EC,58,53,56,57,89};Cih={55,8D,44,24,F8,33,DB,64,87,03};初始化病毒库转化函数:字符-55;数字-30经过转换后的格式为:unsignedcharKlezSignature[]={0xA1,0x00,0x00,0x00,0x00,0x50,0x64,0x89,0x25,0x00,0x00,0x00,0x00,0x83,0xEC,0x58,0x53,0x56,0x57,0x89};unsignedcharCihSignature[]={0x55,0x8D,0x44,0x24,0xF8,0x33,0xDB,0x64,0x87,0x03};保护VirScan程序首先,编写一个普通的DLL,该DLL将导出一个名字为DontAllowForDeletion的函数。BOOLWINAPIDontAllowForDeletion(LPSTR
Str){ HANDLEhFile;
if((hFile=CreateFile(Str,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_READONLY,NULL))==INVALID_HANDLE_VALUE){ returnFALSE; } returnTRUE;}然后,在VirScan的启动时,调用DLL的导出函数,实现对VirScan程序的保护。DontAllowDeletion=(DLLFUNC*)GetProcAddress(hLib,"DontAllowForDeletion");DontAllowDeletion(TmpPath));//TmpPath为VirScan在系统中的物理位置病毒查找模块查找前需要定位文件、定位PE入口//查找KlezSetFilePointer(hFile,pCodeBytes+16,NULL,FILE_BEGIN);ReadFile(hFile,pBytes,sizeof(KlezSignature),&ReadBytes,NULL);for(i=0;i<sizeof(KlezSignature);i++){
if(KlezSignature[i]!=pBytes[i]) break;}放在病毒库里较好//查找CIH病毒SetFilePointer(hFile,pCodeBytes,NULL,FILE_BEGIN);ReadFile(hFile,pBytes,sizeof(CihSignature),&ReadBytes,NULL);for(i=0;i<sizeof(CihSignature);i++){
if(CihSignature[i]!=pBytes[i]) break;}演示程序5
恶意代码的清除清除:将感染病毒的文件中的病毒模块摘除,并使之恢复为可以正常使用的文件的过程称为病毒清除.杀毒的不安全因素:清除过程可能破坏文件有的需要格式化才能清除清除的方法分类引导型病毒的清除原理文件型病毒的清除原理特殊病毒的清除原理引导型病毒的清除原理引导型病毒感染时的破坏行为有:(1)硬盘主引导扇区。(2)硬盘或软盘的BOOT扇区。(3)为保存原主引导扇区、BOOT扇区,病毒可能随意地将它们写入其他扇区,而毁坏这些扇区。(4)引导型病毒发做,执行破坏行为造成种种损坏。根据感染和破坏部位的不同,可以分以下方法进行修复:第一种:硬盘主引导扇区染毒,是可以修复的。(1)用无毒软盘启动系统。(2)寻找一台同类型、硬盘分区相同的无毒机器,将其硬盘主引导扇区写入一张软盘中。将此软盘插入染毒机器,将其中采集的主引导扇区数据写入染毒硬盘,即可修复。第二种:硬盘、软盘BOOT扇区染毒也可以修复。寻找与染毒盘相同版本的无毒系统软盘,执行SYS命令,即可修复。第三种:引导型病毒如果将原主引导扇区或BOOT扇区覆盖式写入根目录区,被覆盖的根目录区完全损坏,不可能修复。
第四种:如果引导型病毒将原主引导扇区或BOOT扇区覆盖式写入第一FAT表时,第二FAT表未破坏,则可以修复。可将第二FAT表复制到第一FAT表中。
第五种:引导型病毒占用的其他部分存储空间,一般都采用“坏簇”技术和“文件结束簇”技术占用。这些被空间也是可以收回的。文件型病毒的消毒原理覆盖型文件病毒清除该型病毒是一种破坏型病毒,由于该病毒硬性地覆盖掉了一部分宿主程序,使宿主程序被破坏,即使把病毒杀掉,程序也已经不能修复。覆盖型外的文件病毒原则上都可以被清除干净根据感染的逆过程来清除清除交叉感染病毒交叉感染:有时一台计算机内同时潜伏着几种病毒,当一个健康程序在这个计算机上运行时,会感染多种病毒,引起交叉感染。清除的关键:搞清楚多种病毒的感染顺序按感染先后次序的逆序清楚头部宿主文件尾部病毒1病毒2病毒3病毒3病毒2病毒1头部宿主文件尾部感染顺序:病毒1--〉病毒2-–〉病毒3在杀毒时:病毒3--〉病毒2-–〉病毒1清除方法手工清除病毒的方法使用Debug、Regedit、SoftICE和反汇编语言等简单工具进行跟踪,清除的方法。优点:可以处理新病毒或疑难病毒(Worm等)缺点:需要高技术,复杂自动清除病毒方法使用杀毒软件自动清除染毒文件中的病毒代码,使之复原。优点:方便,易于普及缺点:滞后、不能完全奏效6恶意代码的预防恶意代码的预防技术是指通过一定的技术手段防止恶意代码对系统进行传染和破坏,实际上它是一种预先的特征判定技术。
恶意代码的预防技术主要包括:磁盘引导区保护加密可执行程序读写控制技术计算机系统监控技术系统加固(例如,打补丁等)
(1)系统监控技术计算机监控技术(实时监控技术)
注册表监控脚本监控内存监控邮件监控文件监控
实时监控概念最根本的优点是解决了用户对恶意代码的“未知性”,或者说是“不确定性”问题。
(2)源监控技术密切关注、侦测和监控网络系统外部恶意代码的动向,将所有恶意代码源堵截在网络入口处。示例:趋势监控系统(TVCS-TrendVirusControlSystem)
AT&T等单位联合开发的“消息跟踪查寻协议”(MTQP-MessageTrackingQueryProtocol)(3)个人防火墙技术个人防火墙以软件形式安装在最终用户计算机上,阻止由外到内和由内到外的威胁。个人防火墙不仅可以监测和控制网络级数据流,而且可以监测和控制应用级数据流,弥补边际防火墙和防病毒软件等传统防御手段的不足。
个人防火墙和边际防火墙的区别个人防火墙可以监测和控制应用级数据流,而后者不能。
(4)系统加固技术系统加固是防黑客领域的基本问题,主要是通过配置系统的参数(如服务、端口、协议等)或给系统打补丁来减少系统被入侵的可能性。
常见的系统加固工作主要包括:安装最新补丁;禁止不必要的应用和服务;禁止不必要的账号;去除后门;内核参数及配置调整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁波大学《秘书实务A》2023-2024学年第二学期期末试卷
- 内蒙古电子信息职业技术学院《体操》2023-2024学年第二学期期末试卷
- 编制管工施工方案
- 成人教育销售培训
- 幼儿园安全教育小卫士
- 青海省医疗卫生事业单位招聘(药学)历年考试真题库及答案
- 劳防用品培训
- 2025届山西省太原市高三一模考试数学试题
- 大学生创新创业结题汇报
- 地中海贫血防治健康知识
- 挖掘机使用台班记录表
- ISO9001-ISO14001-OHSAS18001三合一体系程序文件
- 学唱虫儿飞(含歌词、曲谱)
- 天津科技大学教师公寓租赁管理办法
- 城市道路平面设计规范标准
- 第七章--展示的版面和色彩设计
- DBT29-295-2021 600MPa级高强钢筋混凝土结构技术标准
- Q∕GDW 12164-2021 变电站远程智能巡视系统技术规范
- 草莓栽培技术(课堂PPT)课件
- 机耕桥施工方案
- 货车挂靠协议完整
评论
0/150
提交评论