第
30
卷第
6
期
2010
年
6
月
nb
n
ou
gu
c
PA
PA
用
A
应
H
机叫
算四
计
G
r-a
o
d
m
u
O
EEd
Vo
l. 30 No.6
June 2010
文章编号:
1001 - 9081
(2010
)06
- 1489 -
04
基于交互行为的恶意代码检测研究
孙晓卅
i
,祝跃飞
1
,黄茜
l
,郭宁
2
(1.信息工程大学信息工程学院,郑州
450
∞
2;
2
兰州大学信息科学与工程学院,兰州
73
∞∞)
(
iamsx
y6
66@
sma.
com)
摘
要:恶意代码的智能化检测对恶意代码的分析有着重要的意义。在针对恶意代码动态交互序列的自动分类
问题上,基于滑动窗口的序列特征进行的自动分类面临着序列混淆、噪声:主入和模拟序列等问题。针对上述
3
个问
题,分别使用分支序列、马尔可夫链的状态转移概率矩阵和交互对象来进一步地完善基于交互序列的恶意代码自动
分类,并给出了分类总体流程的设计。实验结果表明能够有效解决上述问题。
关键词:恶意代码;交互行为;序列混淆;噪声注入;模拟序列
中图分类号:
T
P3
02.1
文献标志码
:A
Study of malware detectioo based
00
ioteractive behavior
SUN
Xiao-yan
I
,
ZHU
Yue-feiI
,
HUANG
Qian
I
,
GUO
Ninl
(1. College
of
/nforrrwtwn Engineering,
/.呐
rmation
Eng,neenng Unwersity, Zhengzhou Henan
450002
,
Ch
,na;
2.
College
of
/J
呐
rrrwtion
Scumce
and
Engineenng
啕
La
nzhou
Umversity,
La
nzhou
G
α
阳
730000
,
Ch
,
阳)
Abstract:
The intelligent detection of malware has significant importance in the field of malware analysis. This paper
studied the automatic classification issues of malware sequence of dynamic traces. The automatic classification method based
on
sliding windows of sequence characteristics could not resist the sequence confusion, noise injection and mimic sequence
to
evade detection. This paper studied the three above-mentioned problems. It used the branching sequences, Markov chain state
transition probability matrix and interactive objects respectively
to
improve the automatic classification of malware based
on
interactive sequence, and gave the design of the overall classification process. Finally, the experimental results prove the
above-mentioned problems can be resolved effectively.
Key
words:
malware; interachve behavior; sequence confusion; noise injection; mimic sequence
0
引言
在恶意代码的检测t,出现了很多利用复杂的结构进行
检测的方法
[1]
,如针对控制流图、数据流图采用模型检
测
[2
-3J
、规约等价
[4
-5J
、基于语义
[6
-7J
等方法来抵抗变形带来
的影响,但是面临着代码迷惑技术、别名分析、自修改代码等
难题或挑战。当前,通过动态执行代码获取恶意代码的执行
过程
[ιl01
,可以获取自修改的代码和系统调用序列,抵抗代
码迷惑和自修改代码等问题。因此,针对获取的动态行为
(主要指调用序列)进行自动检测也成为恶意代码分析的重
要工作,但现有的工作只是简单地对获取的交互序列进行分
类,没有考虑混淆序列、噪声注入、模拟序列等影响分类结果
的问题,本文主要对上述
3
个问题进行研究,进一步完善针对
恶意代码交互序列的自动分类过程。
1
恶意代码的交互序列
恶意代码是由攻击者编写,根据攻击者的意愿来执行攻
击者想要执行的行为。代码执行脱离不开它所需要执行的环
境,即恶意代码执行上下文。恶意代码执行于操作系统之上,
它要与操作系统进行操作来达到它的目的,它同时可以通过
操作系统来与网络上的其他目标进行操作,最重要的是要与
攻击者进行交互。
恶意代码与操作系统或网络进行交互的主要途径是调用
操作系统提供的
API
函数。因此,使用虚拟机运行恶意代码,
捕获恶意代码与操作系统或网络的交互的行为,主要就是得
到恶意代码所调用的函数踪迹。函数的
m
参数是被传输的
数据,
out
参数及其返回值是收到的数据。因此对交互行为的
表现主要体现在调用序列,出现了很多对调用序列的进行研
究的工作
[11
-叫。
2
针对序列特征的自动分类
2. 1
分类过程
在恶意代码的智能检测领域,针对调用序列的分类方法
用于对恶意代码的检测,是一个工元分类问题。针对
API
调用
序列的分类过程主要分为以下几部分[口:
1
)获取数据。通过反编译或动态跟踪的方式获取
API
调
用序列。如文献
[12]
通过执行恶意代码获取它的调用序列;
文献
[14]
针对
PE
文件解析产生的
API
调用序列。
2)
特征提取。用
k
长度的滑动窗口来提取
k
长度的
API
短
序列作为特征属性。例如,假设
k
=
2
,则针对序列
S
,
S2
…
S5
可
以提取的特征为
1
5
1
S
2
,
S2
S
3'
句句
,
S4
川。
3)
特征选择。利用特征选择算法包括
relif
、
reli
fF、信息增
益、
fisher
score
等进行特征选择。必要时,利用粗糙集等进行
特征约简。
收稿日期
:2010
-01
一
06;
修回日期
:2010
-02
-25
0
基金项目:国家
863
计划项目
(2008AA01
lA
20)
。
作者简介:孙晓新
(1980
一)
,女,山东威海人,博士研究生,主要研究方向:信息安全;
祝跃飞
(1962
-),男,浙江杭州人,教授,博士生导
师,主要研究方向:密码学、信息安全;
黄茜
(1982
- )
,女,重庆人,硕士研究生,主要研究方向:网络安全;
郭宁(1
981
- )
,男,山西太原人,硕
士研究生,主要研究方向:数据挖掘。