欢迎来到学术参考网

瑞星日志报警插件开发实践

发布时间:2015-07-13 09:46
摘 要 我们首先在这篇论文中介绍了瑞星插件管理器的情况,并讨论了实现插件开发需要完成的通用接口,之后文章详细实现了安全管理平台日志报警插件,最后,指出了有关实现的细节问题。
关键字 日志采集 插件 开发

1 项目背景

本文所做的工作是“网络安全管理平台”项目的一部分。
“网络安全管理平台”项目的开发主要考虑到大型企业信息网通常由分布在全国各地的广域网和更多的企业内网组成,配套的安全设备地域分布广泛且品种较多,而目前企业网络安全管理人员和编制通常较为紧缺;对于这样一个规模大且物理位置分散的网络安全系统,手工式的管理效率低、安全风险高,不易实现对网络安全设备的实时监控,很难确保网络安全设备发挥安全防护的作用;同时在安全系统运行过程中,各类安全设备的运行状态和运行日志不能被有效利用,极大降低了安全设备的使用价值。鉴于以上原因,建设一个安全可靠的企业信息网安全防护系统,需要有一套智能化的网络安全管理平台,实现对企业全网装备使用的安全设备实施集中统一的、高度自动化的管理。

2 瑞星防病毒软件概况

瑞星杀毒软件作为国内知名的防病毒应用解决方案提供商,其丰富的产品现满足了各阶层用户的使用需要,本文的插件开发使用的是瑞星杀毒软件网络版(中小企业版本),版本号 18.34.20。
瑞星杀毒软件网络版是一款应用于复杂网络结构的企业级反病毒产品,该产品专门为企业用户量身定做,使企业轻松构建安全的立体防毒体系。该产品主要适用于企业服务器与客户端,支持 WindowsNT/2000/XP、Unix、Linux等多种操作平台,全面满足企业整体反病毒需要。

3 瑞星插件开发流程

3.1 瑞星插件管理器

报警插件用于把病毒日志、漏洞信息、漏洞攻击信息和事件日志定时或实时上报给指定的接收者。通过报警插件配置工具,您可以配置报警插件,为插件设置报警内容。
在 Windows 界面上,选择【开始】 / 【程序】 / 【瑞星杀毒软件】 / 【报警插件配置工具】,即可打开报警插件配置工具界面。如图3.1所示(图中红圈所示为安全管理平台日志报警插件)。
瑞星系统中心的报警中心RavAlert对报警插件进行管理,所有报警插件都存放在的系统中心的%RAVDIR%“plugin目录下(%RAVDIR%表示瑞星安装目录)。每一个报警插件可以配置多个报警方式,例如“消息框报警”插件,可以添加多个报警方式,分别报告给不同的主机。

图3.1瑞星插件管理器
注意:报警插件配置工具只能安装在系统中心所在计算机上,客户端无此工具。

3.2 瑞星报警插件开发

下面详细介绍利用报警插件配置工具提供的病毒日志二次开发接口实现的安全管理平台报警插件的过程。

图3.2 瑞星插件在平台中的位置
安全管理平台日志管理功能需要取得设备日志用于后续审计和分析,安全管理平台日志服务器端驻留监听程序统一接收各类安全设备发送的日志,针对瑞星防病毒网络版设备而言,取得并发送日志是由“安全管理平台日志采集插件”完成的,该插件在整个安全管理平台中的位置如图3.2所示。
病毒报警插件的主要功能是取得本地病毒报警日志并发送到安全管理平台日志采集服务器,同时插件提供必要的配置界面,供用户设定一些必要的变量,如日志采集服务器地址和端口,瑞星本地病毒日志存放位置等等。
病毒报警插件为一个动态链接库dll文件(本文是)。要想开发的插件程序能被管理,首先必须实现下面这些接口。
这些接口列表见表3.1所示。
通用接口名称
接口描述
GetPlugInInfo
该接口用于插件配置工具获取报警插件的名称,并用于判断是否是瑞星病毒报警插件。
RealTimeAlert
报警接口,报告发现病毒的详细信息。
InsertAlert
此接口应该显示插件本身的配置界面,并按照报警方式的格式写。
ModifyAlert
修改一个报警方式, 该接口提供给插件配置工具调用。
DeleteAlert
删除报警方式, 该接口提供给插件配置工具调用。
表3.1 瑞星插件通用接口列表
上表所列接口是所有瑞星插件都必须实现的接口,不然瑞星插件管理无法识别。同时我们在实现RealTimeAlert接口时可以自定义安全管理平台自定义的报警方式,其实现程序流程
1)插件实现一个接口供插件管理器调用,每当瑞星杀毒软件产生新的病毒报警日志(目前仅支持病毒报警)时该接口将会被调用。
注意:每产生一条病毒日志,该接口就会被调用一次。
2)插件工作模块试图将收到的病毒日志写入用户指定的文件中去,如果该指定的文件大于指定值(1M),则插件转入第 3)步,否则直接在文件末尾添加一条记录。
3)插件读取文件内容,将其发送到特定的地址和端口上(用户在配置界面里可设置),发送成功后,将原文件清空,同时写入一条记录。

3.3  实现上的考虑

在具体编码实现接口程序时,需要考虑一下问题:
1)瑞星的接口和参数定义考虑到程序在各个Windows平台上的通用性,大部分使用了TCHAR.H头文件中定义的数据类型,与之相对应的函数也要对应起来,如strcpy等,这需要编码的时候注意。
2)通过网络发送日志数据时,针对发送失败的情况,有两种回滚方式,一种是将发送失败的数据写入专门的转存文件中,待网络连通后检查该文件,将文件内容取出并发送,还有一种方式是直接返回错误,由瑞星插件管理器控制补报(即重新调用接口函数),本文采用了后一种方式。

4 安全管理平台插件的配置与使用

首先进入瑞星插件管理器,点击“添加插件”按钮,选中文件,此时插件管理器树型目录中增加一条插件目录,名称为“安全管理平台日志报警插件”。如图3.1所示。
之后选中“添加报警”按钮,出现各插件自定义的参数配置界面,用户可以在其中配置报警方式名称,日志接收服务器参数等等,图4.1是其中的一个界面截图,用来配置日志采集服务器地址和端口。


图4.1 安全管理插件配置界面
插件收集到的用户配置信息以配置文件的方式存放,类似于以下格式:
//插件名字,必须与插件dll名字相同
[SMAlertLogPlugin] 
//报警方式个数
count=1
//报警方式1的配置信息
[1]
//报警方式的显示名
Describe=病毒日志
//报警方式,必须为0,代表实时报警
AlertMode=0
//报告日志的类型, 0: 病毒日志
AlertContent=0
//病毒日志暂时存放路径
VirusLogFile=C:“VirusTmpLog
//日志采集服务器地址
SMServerIP=192.168.1.133
//日志采集服务器端口
SMServerPort=10080

5 结束语

瑞星杀毒软件(网络版)提供的插件管理和二次接口开发功能为应用软件自行采集病毒日志信息提供了很好的手段和较完善的配置界面定制方法,本文详细介绍了插件的开发原理和实现过程,为相关的工程实践提供一定的参考。

参考文献

[1] 《瑞星杀毒软件客户端病毒日志结构说明》(瑞星技术支持文档)
《瑞星杀毒软件网络版病毒报警插件接口说明书》(瑞星技术支持文档)
Microsoft Developer NetWork For Visual .Net

上一篇:一种基于公钥自证明的认证加密方案

下一篇:基于粗糙集的人力资源评价的规则挖掘