第十一章-OAV代码分析与使用配置.ppt

上传人:得****1 文档编号:79066300 上传时间:2023-03-20 格式:PPT 页数:33 大小:86.50KB
返回 下载 相关 举报
第十一章-OAV代码分析与使用配置.ppt_第1页
第1页 / 共33页
第十一章-OAV代码分析与使用配置.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《第十一章-OAV代码分析与使用配置.ppt》由会员分享,可在线阅读,更多相关《第十一章-OAV代码分析与使用配置.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本章学习目标了解杀毒引擎的框架掌握OAV使用方法 OAV简介OAV(OpenAntiVirus)项目(http:/www.openantivirus.org)是在2000年8月30日由德国开源爱好者发起,旨在为开源社区的反病毒开发者提供一个交流和项目管理的资源平台。该项目具有明确的路线图:为网络(邮件服务器、internet网关、文件服务器等)终端用户和企业客户提供病毒防护的开源解决方案。为网络终端用户和企业客户提供计算机和网络安全的开源解决方案。研发开源的扫描引擎,从而使未来的安全需求不再依赖于商业提供商。通过开源系统和软件产品,为系统管理员提供系统恢复能力。建立网站,提供最新的病毒和安全信

2、息。建立How-To项目提供相关信息和白皮书,用户和系统管理员可以通过该项目提供的信息,利用开源安全解决方案,从而确定反病毒策略。项目组成:ScannerDaemon,VirusHammer和PatternFinder是符合GPL规范的病毒扫描器的一个简单而基础的实现,用Java语言写成。squid-vscan可以利用Squid Http-Proxy扫描网络流量,从而侦测病毒。samba-vsan利用samba服务器提供on-access病毒扫描。最新的SUSE Linux已经包含了该工具。此外,很多开源爱好者还开发了很多小工具,详细情况参见http:/www.openantivirus.or

3、g/projects.phpScannerDaemon架构ScannerDaemon基本上可以分为如下几个模块:扫描引擎模块扫描配置模块病毒签名文件解析模块文件系统支持模块(扫描目标文件/文件夹时所需要)Main-class类主要包括两个重要的类:RequestHandlerScannerDaemon扫描配置模块该模块(源代码的组织结构看,可归入到扫描引擎模块中,这里单独拿出来分析)。该模块主要包括两个类:WriteableScanConfiguration这个类放了一些扫描引擎的属性名。DefaultScanConfiguration 该类是默认的属性配置类,其构造函数就是对扫描引擎的属性赋

4、以默认值。病毒签名模块这个模块中涉及到的类/接口包括CredoFile类、CredoEntry类、PositionFoundEvent类、PositionFoundListener接口、StringFoundListener类、StringsParser类、WildcardPattern类、StringFinder类等,其中StringsParser类、WildcardPattern类和StringFinder类尤为重要。病毒签名文件首先看看病毒签名文件到底是什么形式。下载VirusSignatures-latest.zip,然后解压缩,可以看到里面包括clamav.strings和clama

5、v2.strings两个子文件,这两个子文件可以用notepad文本工具打开。摘取clamav2.strings文件中的一段内容如下(一行):Oror-fam(Clam)1*0*3*0*3=495243*56697275*53455859330F5455*4B617A61*536E617073686F 摘取clamav.strings文件中的一段内容如下(一行):Eicar-Test-Signature32=58354F2150254041505B345C505A58353428505E2937434329377D2445494341522D5354414E4441 从这段代码大致可以认为,O

6、ror-fam(Clam)、VBS.Kristen等为病毒名称,1*0*3*0*3=495243*56697275*53455859330F5455*4B617A61*536E617073686F等字串为该病毒的一段特征模式串。CredoFile类该类只是把普通文件包装成jar格式输入流CredoEntry类根据(病毒签名文件)的介绍,病毒签名文件.credo文件是一个jar package,这个package里的每一个文件就用一个credoEntry类实例来表示。这个类十分简单,此处不做进一步分析。CredoParser类这个类的作用是:在指定的目录下查找.credo文件,供StringsP

7、arser类解析.credo文件的具体内容。StringsParser类这个类具体完成对.strings文件的解析。WildcardPattern类这个类是用来处理不包含“*”字符的模式串,即模式串具有统一的形式,无须用“*”字符分隔开,例如(5.StringsParser类)节中文本行2和3中“=”后面的模式串。该类是病毒签名模块中的一个重要类。StringFinder类这个类是病毒签名模块中的核心类,该类具体保存了各种病毒的名称和特征串,并给每个相应的病毒加上了一个侦听器。扫描引擎模块这个模块是ScannerDaemon的中心模块,先简单看看对几个与事件侦听器有关的类/接口,然后按着扫描的

8、整个过程逐个对相关类分析。主要包括PositionFoundEvent类、PositionFoundListener接口和StringFoundListener类。MatchArray类这个类包括两方面的功能。第一,根据病毒签名文件,建立模式串hash表,在ScanEngine类的初始化函数中,调用函数loadCredoFiles(scanConfiguration),这个函数经过层层调用,最终调用MatchArray类的addString函数建立hash表。第二,通过调用createCensor函数返回MatchArrayCensor类实例,而MatchArrayCensor类提供对文件的扫

9、描。文件系统支持模块文件系统支持模块主要包括VfsEnty类、FileVfsEntry类、VfsContainerFactory接口、ScanEngine类和容器类等。VfsEntry类这是个抽象类,表示一个文件/文件夹节点。FileVfsEntry类该类是VfsEntry抽象类的子类。该类实现了VfsEntry中为定义的抽象函数。测试实例test1.txt(不含病毒):Its a good day!test2.txt(含Eicar-Test-Signature病毒):X5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

10、test3.txt(含W32.GriYo病毒):Coded by GriYo 29A W32.GriYotest4.txt(不含病毒):29A Coded by GriYo W32.GriYotest5.txt(含Eicar-Test-Signature和W32.GriYo病毒):X5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*Coded by GriYo 29A W32.GriYotest6.zip(含含Eicar-Test-Signature和W32.GriYo病毒):包含test2.txt和test3.txt两

11、个子文件test7.zip(不含任何病毒):包含test1.txt和test4.txt两个子文件1.对不含病毒模式串文件的测试测试文件名为test1.txt(放在项目文件夹下),内容为:Its a good day!客户端和服务器建立telnet连接后,输入scan test1.txt就会在客户端命令行窗口中输出:OK表明未发现任何病毒。2.对第一类模式串的测试测试文件名为test2.txt(放在项目文件夹下),内容为:X5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*其中X5O!P%AP4PZX54(P)7CC)7$

12、EICAR-STANDA是Eicar-Test-Signature32病毒的模式串58354F2150254041505B345C505A58353428505E2937434329377D2445494341522D5354414E4441翻译后得到的字符串(每两个16进制码翻译成一个ascii字符,例如58X,355),运行ScannerDaemon,然后客户端连接telnet localhost 8127之后输入scan test2.txt,就会输出 Found Eicar-Test-Signature in test2.txt。说明匹配成功。3.对第三类模式串的测试测试文件名为test

13、3.txt(放在项目文件夹下),内容为:Coded by GriYo 29A W32.GriYo其中Coded by GriYo和29A是W32.GriYo病毒的两个顺序子串436F64656420627920477269596F和323941的ascii码翻译串,同样测试后,客户端会输出:Found W32.GriYo(Clam)in test3.txt。说明匹配成功。为了说明第三类模式串必须按模式字串的顺序得到匹配,另测试文件test4.txt,内容为:29A Coded by GriYo W32.GriYo运行后,客户端输出:OK。说明子串顺序改变后,匹配未成功。4.对含多个病毒模式的文

14、件的测试测试文件名为test5.txt,内容如下:X5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*Coded by GriYo 29A W32.GriYo输出为:Found Eicar-Test-Signature in test5.txt。说明扫描并未发现W32.GriYo病毒。5.对含多个病毒的zip压缩包的测试测试的压缩包文件为test6.zip,包含test2.txt和test3.txt两个子文件。其中test2.txt含有Eicar-Test-Signature病毒,test3.txt含有W32.GriYo

15、病毒,扫描的输出结果是:FOUND W32.GriYo(Clam)in test6.zip zip:test3.txt说明只发现了一个病毒。6.对不含任何病毒的zip压缩包的测试测试的压缩包文件为test7.zip,包含test1.txt和test4.txt两个子文件,不含任何病毒,扫描后,客户端的输出为:OK表明未发现任何病毒。ScannerDaemon配置配置在%ScannerDaemonDir%目录下建立credo目录和temp目录,把VirusSignatures-latest.zip解压缩得到的VirusSignatures.credo文件放到credo目录下,temp目录为扫描压缩

16、包文件所必须。用wordpad(或notepad)工具打开ScannerDaemon-settings.properties文件,要使该文件中的配置信息起作用,只要去掉属性名前的“#”(以“#”字符开头表示注释行)字符便可。ScannerDaemon使用说明使用说明服务器端启动ScannerDaemon1)启动命令说明启动ScannerDaemon时可以接受的参数列表为:nosignature:表示病毒签名文件无需检查签名(VirusSignatures-latest.zip中的病毒签名文件是没有签名的,所以运行ScannerDaemon必须加上此参数)configfile filename:

17、指定配置文件,为指定该参数,默认的配置文件为%ScannerDaemonDir%ScannerDaemon-settings.properties。name_of_property value_of_property:指定属性名和属性值。使命令行的当前工作目录进入%ScannerDaemonDir%,一般只要运行java jar ScannerDaemon.jar nosignature便可按照默认配置启动ScannerDaemon。如果执行java jar ScannerDaemon.jar nosignature configfile configure.txt表示将按照configure

18、.txt文件配置启动ScannerDaemon。java jar ScannerDaemon.jar nosignature engine.tempdirectory tempfile表示临时文件夹名为tempfile。2)配置属性的优先级总共有多种方法配置ScannerDaemon的方法:默认属性,在命令行参数中指定某个属性的值,默认配置文件,自定义配置文件。各种配置方式的优先级关系如下:命令行指定属性自定义配置文件默认配置文件默认属性。2.客户端连接ScannerDaemon服务器的端口是8127,在客户端telnet连接到服务器端的8127端口,便可执行客户端的扫描命令。telnet server_ip 8127客户端可以执行的命令(命令大小写不敏感)包括:scan filename这个命令扫描目标文件,文件名可以是文件或者目录,也可以是ScannerDaemon支持的各种压缩包,如zip,tar,gzip等,对于某些压缩包,需要服务器端环境的支持,例如tar包,需要服务器端环境的支持。如果待扫描的文件中含有某病毒,则在客户端就会输出相应的信息。如下图:如果扫描之后未发现任何病毒,则输出:OK。command shutdown该命令关闭服务器。另外,filter和post命令在0.6.0版本的源代码中被注释掉了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁