第十一章OAV代码分析与使用 配置 上海交通大学信息安全工程学院
第十一章 OAV代码分析与使用 配置 上海交通大学信息安全工程学院
本章学习目标 了解杀毒引擎的框架 掌握OAV使用方法
本章学习目标 • 了解杀毒引擎的框架 • 掌握OAV使用方法
OAV简介 OA∨( OpenAntiVirus)项目 (http://www.openantivirus.org)是在2000 年8月30日由德国开源爱好者发起,旨在为 开源社区的反病毒开发者提供一个交流和 项目管理的资源平台
OAV简介 • OAV(OpenAntiVirus)项目 (http://www.openantivirus.org)是在2000 年8月30日由德国开源爱好者发起,旨在为 开源社区的反病毒开发者提供一个交流和 项目管理的资源平台
·该项目具有明确的路线图: 为网络(邮件服务器、 internet网关、文件服务器等)终 端用户和企业客户提供病毒防护的开源解决方案。 为网络终端用户和企业客户提供计算机和网络安全的 开源解决方案 研发开源的扫描引擎,从而使未来的安全需求不再依 赖于商业提供商。 通过开源系统和软件产品,为系统管理员提供系统恢 复能力 建立网站,提供最新的病毒和安全信息。 建立HoWT0项目提供相关信息和白皮书,用户和系统 管理员可以通过该项目提供的信息,利用开源安全解 决方案,从而确定反病毒策略
• 该项目具有明确的路线图: – 为网络(邮件服务器、internet网关、文件服务器等)终 端用户和企业客户提供病毒防护的开源解决方案。 – 为网络终端用户和企业客户提供计算机和网络安全的 开源解决方案。 – 研发开源的扫描引擎,从而使未来的安全需求不再依 赖于商业提供商。 – 通过开源系统和软件产品,为系统管理员提供系统恢 复能力。 – 建立网站,提供最新的病毒和安全信息。 – 建立How-To项目提供相关信息和白皮书,用户和系统 管理员可以通过该项目提供的信息,利用开源安全解 决方案,从而确定反病毒策略
·项目组成: ScannerDaemon, Virushammer和 Pattern Finder是符 合GPL规范的病毒扫描器的一个简单而基础的实现, 用Java语言写成 - squid-vscan可以利用 Squid Http-proⅪy扫描网络流量, 从而侦测病毒。 samba-vsan利用 samba服务器提供on- access病毒扫 描。最新的 SUSE Linux已经包含了该工具 此外,很多开源爱好者还开发了很多小工具,详细情 况参见htp/ww。 penantivirus. org/projects. php
• 项目组成: – ScannerDaemon,VirusHammer和PatternFinder是符 合GPL规范的病毒扫描器的一个简单而基础的实现, 用Java语言写成。 – squid-vscan可以利用Squid Http-Proxy扫描网络流量, 从而侦测病毒。 – samba-vsan利用samba服务器提供on-access病毒扫 描。最新的SUSE Linux已经包含了该工具。 – 此外,很多开源爱好者还开发了很多小工具,详细情 况参见http://www.openantivirus.org/projects.php
ScannerDaemon架构 · ScannerDaemon基本上可以分为如下几个 模块: 扫描引擎模块 扫描配置模块 病毒签名文件解析模块 文件系统支持模块(扫描目标文件/文件夹时所 需要)
ScannerDaemon架构 • ScannerDaemon基本上可以分为如下几个 模块: – 扫描引擎模块 – 扫描配置模块 – 病毒签名文件解析模块 – 文件系统支持模块(扫描目标文件/文件夹时所 需要)
用户接口 客户端 扫描配置 扫描引擎 病毒签名 服务器端 文件系 统支持 目标文件/文 件夹 ScannerDaemon框架
用户接口 扫描配置 扫描引擎 病毒签名 文件系 统支持 目标文件/文 件夹 ScannerDaemon框架 客户端 服务器端
Main-Cass类 主要包括两个重要的类: Requesthandler ScannerDaemon
Main-class类 • 主要包括两个重要的类: – RequestHandler – ScannerDaemon
扫描配置模块 该模块(源代码的组织结构看,可归入到 扫描引擎模块中,这里单独拿出来分析) 该模块主要包括两个类: Writeable Scan Configuration 这个类放了一些扫描引擎的属性名 DefaultScan Configuration 该类是默认的属性配置类,其构造函数就是对扫描 引擎的属性赋以默认值
扫描配置模块 • 该模块(源代码的组织结构看,可归入到 扫描引擎模块中,这里单独拿出来分析)。 • 该模块主要包括两个类: – WriteableScanConfiguration • 这个类放了一些扫描引擎的属性名。 – DefaultScanConfiguration • 该类是默认的属性配置类,其构造函数就是对扫描 引擎的属性赋以默认值
病毒签名模块 ·这个模块中涉及到的类/接口包括 CredoFile 类、 CredoEntry类、 Position foundevent 类、 Position foundlistener接口、 String Found Listener类、 Strings Parser类 WildcardPattern类、 String Finder类等,其 中 StringsParser类、 WildcardPattern=类和 String Findel类尤为重要
病毒签名模块 • 这个模块中涉及到的类/接口包括CredoFile 类、CredoEntry类、PositionFoundEvent 类、PositionFoundListener接口、 StringFoundListener类、StringsParser类、 WildcardPattern类、StringFinder类等,其 中StringsParser类、WildcardPattern类和 StringFinder类尤为重要