三、细粒度的可嵌入引擎
目前网络安全层次的不断下移,CISCO推出了自防御网络,提高内容过滤、访问控制和身份认证的能力,其中之一就是通过与反病毒厂商合作扩展了流病毒过滤的体制,而winxp sp2对安全特性的强化也值得关注。可以病毒过滤体制正在延伸(嵌入)的各层次设备上。我们必须为反病毒引擎适应更复杂的使用环境的准备。
一个独立的具有合理调用接口的病毒过滤引擎可以有很多种应用,如下表:
表二 可嵌入引擎的应用形态 |
根据我们在一、二中的论述可以看出,嵌入设备或其他应用环境的反病毒引擎是细粒度的引擎。
除了必须具有原有的反病毒产品的能力之外,我们认为这种引擎的最基本的要素是:
1、内存引擎
引擎必须彻底脱离I/O与API,相关IO与API要用外围层封装。才能保证能在不同环节下的有效嵌入。下图对内存引擎,做了一个诠释。可见,与IO有关的文件读取、以及外围处理模块,被放在引擎之外。
图二、内存引擎 |
如下是内存引擎的调用释例:
/* 扫描参数结构 */
typedef struct _AVLF_SDK_SCAN_PARA
{
char * pBuffer; /* 待检测缓冲区指针 */
unsigned long ulSize; /* 待检测内存的大小 */
const char * pDescription; /* 描述信息 */
int bUnpack; /* 是否解包 */
int bKill; /* 是否杀毒处理 */
int bKilled; /* 是否杀毒成功 */
} AVLF_SDK_SCAN_PARA,*PAVLF_SDK_SCAN_PARA;
/* 设置收报人 */
AVLEACHSDK_API int AVLF_SDK_SetReciver(IReportReciver *pReciver);
/* 扫描:返回0未发现病毒,返回1发现病毒,病毒详细信息在收报人类接收 */
AVLEACHSDK_API int AVLF_SDK_Scan(PAVLF_SDK_SCAN_PARA pParamter);