第22卷 第 1 期
2 0 0 9 年 3 月
青 岛 大 学 学 报 (自 然 科 学 版 )
JOURNAL OF QINGDAO UNIVERSITY (Natural Science Edition)
Vol .22 No .1
Mar .2 0 0 9
文章编号 :1006 1037(2009)01 0055 04
基 于 逻 辑 语 义 流 图 的 Win32 PE 病 毒 检 测 方 法
倡
高 清 ,贾小珠 ,王 琮
(青岛大学信息工程学院 ,青岛 266071)
摘要 :通过详细分析 Win32 PE 病毒程序的搜索模块和传染模块 ,提出基于逻辑语义流图
的病毒检测方法 。 该方法总结 Win32 PE 病毒的语义特征构造出病毒模式库 ,提取模式
库中模式集与目标文件逻辑流图的节点集进行模式匹配 ,同时利用病毒程序和正常程序
语义特征的差异性 ,达到检测病毒的目的 。 模拟实验选择 4 种病毒作为样本来确定阈值 ,
并对 80 个正常 PE 文件和 45 个含 PE 病毒的文件进行检测 ,结果表明 ,选择合适的阈值
可以有效检测出 PE 病毒 。
关键词 :Win32 PE 病毒 ;模式集 ;节点集 ;模式匹配 ;病毒检测
中图分类号 :TP309 .5 文献标识码 :A
Fred Cohen 博士在上世纪 80 年代提出了“计算机病毒检测的不可判定性”
[1]
。 因此长期以来 ,各反病
毒研究机构都在努力探讨病毒检测的近似算法 ,IBM 曾在其反病毒产品中成功使用了神经元网络技术用于
判断引导型病毒
[2]
,诺顿(Norton)反病毒软件采用的启发式扫描技术效果非常不错 ,另有一些新型检测工
具采用了虚拟机技术 。 这些技术在检测计算机病毒方面发挥了重大作用 ,但他们都存在着这样或那样的缺
陷 。 像启发式扫描技术 ,经常出现虚警 、谎报现象
[3]
,虚拟机技术需要编写大量的特定指令处理函数来模拟
每种指令的执行效果 ,实现起来比较困难 。 基于对多种病毒检测技术的分析和研究 ,本文从程序语义角度对
主要攻击 Windows 系统中的 Win32 PE 病毒进行了分析和研究 。 通过详细分析 Win32 PE 病毒的传染机
制 ,总结其语义特征 ,构造逻辑流图 ,形成病毒模式库 。 提取模式库中模式集 ,与目标程序逻辑流图的节点集
进行匹配 ,同时利用病毒程序和正常程序语义特征的差异性 ,达到检测病毒的目的 。
1 模型结构分析
系统流程图如图 1 所示 。 本系统主要包括训练子系统和检测子系统两部分 。 训练子系统主要用于构建
病毒程序语义特征模式库 。 其流程为 :首先通过分析大量病毒程序 ,总结其语义特征 ,构造其逻辑流图 ,然后
利用模式抽取算法 ,抽取出每个病毒程序的语义特征模式 ,并将这些程序的语义特征模式存入模式库 。
检测子系统主要对系统中正在运行的所要监控的程序进行实时检测 。 当待检文件进入系统后 ,通过逻
辑流图的构造模块将目标程序转换成对应的逻辑流图 ,接着抽取逻辑流图的待检模式集 ,然后进入检测模
块 ,检测模块参照语义特征模式库 ,采用模式匹配算法对程序进行检测 。
图 1 系统流程图
倡
收稿日期 :2008 09 25
作者简介 :高 清 (1981 ) ,女 ,硕士研究生 。 主要研究方向 :信息安全 。