ClamAV软件分析与使用课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ClamAV软件分析与使用课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ClamAV 软件 分析 使用 课件
- 资源描述:
-
1、18961896192019201987198720062006ClamAVClamAV软件分析与使用软件分析与使用刘功申上海交通大学信息安全工程学院信息安全工程学院信息安全工程学院School of Information Security Engineering本章学习目标本章学习目标了解ClamAV引擎的框架了解ClamAV的核心代码掌握ClamAV使用方法信息安全工程学院信息安全工程学院School of Information Security Engineering本章内容本章内容ClamAV的总体结构ClamAV的使用说明安装配置源代码分析章节实验信息安全工程学院信息安全工程学院
2、School of Information Security Engineering1 1 ClamAVClamAV的总体结构的总体结构ClamAV vs OAV相同点:ClamAV和OAV两个防病毒软件非常类似,二者都是使用匹配特征代码的方式来检查病毒,甚至它们的病毒特征代码库都是一样的 信息安全工程学院信息安全工程学院School of Information Security Engineering不同点:ClamAV是在clamd启动时将病毒特征代码库加载入内存,并且根据文件类型把特征代码库进行了分类。在内存中,为每种文件类型对应的特征代码库建立了一棵庞大的树,然后,在这棵树为核心数据
3、结构,使用有限自动机来进行匹配。而OAV则是对每个特征码做一个HASH,匹配的时候先匹配HASH,从而缩小了匹配范围,最后再逐个匹配。ClamAV使用C语言编制,而OAV使用java语言信息安全工程学院信息安全工程学院School of Information Security EngineeringClamAVClamAV的组件的组件信息安全工程学院信息安全工程学院School of Information Security Engineeringmain.cvd:计算机病毒特征代码库,该部分为主库。daily.cvd:计算机病毒特征代码库,该部分为日常更新的库。clamd:基于多线程开发的
4、查杀引擎守护进程,通过socket,streams,file descriptor进行扫描操作。clamdscan:调用clamd进行病毒扫描的客户端程序。二者通过Socket进行通信。clamscan:可独立响应用户请求(在clamd未运行时)的客户端程序。clamscan读取病毒特征代码库的信息,并进行病毒扫描。其效率不如clamdscan和clamd的组合高。信息安全工程学院信息安全工程学院School of Information Security Engineeringfreshclam:更新病毒特征代码库的程序。libclamav:病毒扫描函数库,这是核心算法部分。sigtool:
5、clamav管理工具,可以查看病毒特征代码库文件(.cvd)的信息、解压病毒特征代码库.cvd文件、制作病毒特征代码库文件等。clamav-milter:email扫描器。在该组件的配合下,ClamAV可以完成对邮件服务器的病毒扫描工作。clamuko:在Linux/FreeBSD系统中,为了实现on-access病毒扫描功能,必须安装dazuko组件,这就是所谓的clamuko。freshclam.conf:用于配置病毒特征库升级程序(freshclam)。clamd.conf:用于配置 clamd和clamscan程序。信息安全工程学院信息安全工程学院School of Informati
6、on Security Engineering2 2 ClamAVClamAV使用使用命令命令命令解释命令解释PING检查守护进程的状态VERSION输出版本信息RELOAD重新加载数据库SHUTDOWN正常退出SCAN file/directory 扫描文件或目录,同时支持压缩文件RAWSCAN file/directory 扫描文件或目录,但是考虑文件类型CONTSCAN file/directory 扫描文件或目录,并且找到病毒后仍继续扫描MULTISCAN file/directory 使用多线程扫描文件或目录INSTREAM 扫描流,输入的格式如下:,其中用无符号四字节整数表示数据的
7、字节数,是实际的数据。扫描以=0表征结束,另外总长度不能超过配置文件中设置的流最大长度,否则连接将被关闭FILDES Unix特有的,根据文件描述符进行扫描STATS 返回服务端的队列状态信息以及内存的使用情况IDSESSION,END 用来发起或结束一个会话,这样,就能在一个连接中,进行多次不同的扫描,省去建立新的连接。STREAM(deprecated,use INSTREAM instead)废弃信息安全工程学院信息安全工程学院School of Information Security Engineering工具名功能介绍Clamscan最简单的扫描工具,它是一个独立的程序,可以单独运
8、行而无须Clamd支持。但是的它的缺点是不能与其它Clamscan实例共享内存线程等。它适合于对单个文件进行临时的扫描Clamdscan功能与Clamscan一样,但是它依赖于Clamd,它是通过将请求通过Socket发给Clamd让Clamd做实际的扫描工作,再从Clamd取回结果即可。它的效率高,推荐使用。Clamuko这并不是一个工具,而是Clamd中的一个重要模块,开启了它才能进行访问时扫描。但它不支持NFS,原因是其底层模块没有捕获NFS请求信息安全工程学院信息安全工程学院School of Information Security Engineering3 3 安装配置安装配置软硬
9、件环境:硬件:普通PC机 操作系统:Fedora 7 软件版本:ClamAV 0.94.2信息安全工程学院信息安全工程学院School of Information Security Engineering安装准备 安装前要先创建用户clamav和用户组clamav。groupadd clamav useradd-g clamav-s/bin/false-c Clam AntiVirus clamav信息安全工程学院信息安全工程学院School of Information Security Engineering安装 在ClamAV代码目录下执行如下命令,进行安装。./configure m
10、ake(as root)make install 在Linux Fedora 7系统下,ClamAV的运行文件会默认安装在“/usr/local/sbin”目录下。在这个目录下可以找到Clamd等可执行程序。信息安全工程学院信息安全工程学院School of Information Security Engineering配置 安装好程序后,接下来要进行配置。配置工作主要有三件事情:1、修改配置文件clamd.conf 该文件默认路径为/usr/local/etc/clamd.conf。根据man clamd.conf的信息来设置clamd.conf。特别要注意的是,要把Example这一行注
11、释掉,否则clamd.conf不生效。2、修改配置文件freshclam.conf 该文件默认路径为/usr/local/etc/freshclam.conf。如果英文阅读能力较强,可以非常容易理解各个配置项的意思。同样,也要把Example这一行注释掉,否则freshclam.conf不生效。最关键的配置项包括:信息安全工程学院信息安全工程学院School of Information Security Engineering Checks:配置特征代码库的更新频率 ProxySettings:设置代理服务器的地址,账号,口令等 MaxAttempts:最大尝试联网次数 3、下载特征代码库
12、读者可以从http:/ of Information Security Engineering运行 先以root用户运行clamd(默认路径:/usr/sbin/clamd)。如果要进行例行扫描,用普通用户运行clamdscan(默认路径:/usr/bin/clamdscan)即可。clamdscan可以支持当前文件夹(递归)扫描,也支持一个特定文件的扫描。还可以指定所用的扫描特征代码库,这个功能可以用来帮助测试自己制作的病毒特征代码库的正确性。信息安全工程学院信息安全工程学院School of Information Security Engineering4 4 源代码分析源代码分析分析顺
13、序 循着软件的使用顺序对软件进行分析,以期对软件的使用及结构都有一定的认识。因此,我们将先讨论软件的配置和病毒特征代码库,再讨论clamd的启动,接着讨论clamdscan的启动及其向clamd发送请求的过程,最后讨论clamd的对请求的响应和扫描过程。信息安全工程学院信息安全工程学院School of Information Security Engineering(1 1)ClamAVClamAV配置配置ClamAV的配置选项记录在/etc/clamd.conf文件中。配置选项的数据结构如下:信息安全工程学院信息安全工程学院School of Information Security En
14、gineeringshared/shared/optparser.coptparser.c函数名:optparser()功能:对参数进行解析,以链表形式返回选项,函数名:optfree()功能:释放选项链表函数名:optaddarg()功能:向选项链表中加入新的选项信息安全工程学院信息安全工程学院School of Information Security Engineering(2 2)病毒特征代码库病毒特征代码库 ClamAV有两个官方病毒特征代码库文件:main.cvd和daily.cvd。这种文件实际上是带有数字签证的压缩文件,它包含了一个或多个真正的病毒代码库文件。main.cvd的
15、内容:main.db main.fp main.hdb main.info main.mdb main.ndb main.zmd信息安全工程学院信息安全工程学院School of Information Security Engineeringmain.db文件中病毒特征代码的形式是:MalwareName=HexSignature 其中HexSignature可以由*,数字分隔成一个一个的part-signature。main.ndb文件中的病毒特征代码的形式是:MalwareName:TargetType:Offset:HexSignature:MinEngineFunctionality
展开阅读全文