2024年6月15日发(作者:)

计算机与现代化

2019

年第

5

JISUANJI

YU

XIANDAIHUA

总第

285

文章编号

1006-2475

(

2019)05-0001-06

一种基于

Native

层的

Android

恶意代码检测机制

孙炳林

庄毅

(

南京航空航天大学计算机科学与技术学院

江苏

南京

211106

)

摘要

:

Android

现有的恶意代码检测机制主要是针对

bytecode

层代码

这意味着嵌入

Naive

层的恶意代码不能被检测

,

新研究表明

86%

的热门

Android

应用都包含

Native

层代码

为了解决该问题

本文提出一种基于

Naive

层的

Android

意代码检测机制

将sm

代码和

l

文件转换为汇编代码,

生成控制流图并对其进行优化

通过子图同构方法与恶意软

件库进行对比

计算相似度值

并且与给定阈值进行比较

以此来判断待测软件是否包含恶意代码

。实验结果表明

跟其

他方法相比

该方法可以检测出

Naive

层恶意代码而且具有较高的正确率和检测率

$

关键词

安卓%恶意代码检测

控制流图

子图同构

中图分类号

:

TP302.7

文献标识码

:

A

doi

10.

3969/j.

issn.

1006-2475.

2019.

05.

001

An

Android

Malicious

Code

Detection

Mechanism

Based

on

Native

Layer

SUN

Bing2in

,

ZHUANG

Yi

(

Coiege

of

Computer

Science

and

Technology,

Nanjing

University

of

Aeronautics

and

Astronautics,

Nanjing

211106,

China)

Abstract

:

Android

'

s

existing

malicious

code

detection

mechanism

is

mainly

for

the

bytecode

layer

codes.

This

means

that

mali

­

cious

code

embedded

in

Native

layer

can't

be

detected.

The

latest

research

shows

that

86%

of

populao

AndroiV

APPs

contain

N

­

ative

layeo

code.

In

order

te

solve

this

problem

,

this

paper

proposes

an

AndroiV

malicious

code

detection

mechanism

based

on

N

­

ative

layco

,

which

converts

smali

code

and

so

file

inte

assembly

code

,

generates

control

0ow

graph

then

optimizes

is

Through

compaosngwsih

maawaoeasboaoebesubgoaph

ssomoophssm

meihod,

ihessmsaaosieeaauesaoecaacuaaied

and

compaoed

wsih

ihegse-

en

ihoesheosmeniaaoesuaisshowihaicompaoed

wsih

iheoiheosihemeihod

can

deiecimaascsouscodeofNaiseeaaeeoand

hashsgheoaccuoaceand

deiecison

oaie.

Key

wordt

:

Android

malwaro

detection

controi

fow

graph

subgraph

isomorphism

o

引言

近年来

智能手机系统不断推陈出新

其中

An

­

droid

系统发展最为迅速

&

IDC

最新发布的数据显

代码执行恶意行为

,

Android

恶意代码的检测和分类

已成为当前的研究热点

目前

Android

恶意软件检测技术主要分为

2

,

分别是基于静态分析和基于动态分析的检测技术

示,

2017

年第一季度

Android

系统市场份额独占

85%

然而在

Andorid

系统快速发展和大量应用软

件出现的同时

恶意软件也随之出现&根据

360

互联

网安全中心报道

,

2017

年全年

,

360

互联网安全中心

累计截获

Android

平台新增恶意软件样本

757.

3

个,平均每天新增

2.1

[

1

]

&

恶意软件的出现不仅使

静态分析方法主要使用反编译技术或者在

smalV

中间

代码上进行控制流和数据流分析技术

动态分析方

软件安

Andoi

系统中

,

集应用程序的行为信息

但是恶意软件通常精心设计

触发机制

动态测试可能难以触发其恶意负载

,

同时有

,

些恶意程序可以检测自身的运行环境

当发现其在模

拟器下运行时会自动崩溃或不执行其恶意行为

[

2

]

&

针对静态检测和动态检测方法的缺陷

已有研究

者设计了自动化测试脚本触发恶意负载

以减少测试

时间

&

另外一方面

同一恶意软件家族的恶意软件

,

社会问题

尽管谷歌为

Android

系统设计了有效的安

全机制

但由于该机制的粗粒度缺陷

用户无法有效

控制应用软件的资源使用行为,所以并不能阻止恶意

收稿日期

2018-11-21

修回日期

2018-11-30

基金项目

国家自然科学基金面上项目

61572253

航空科学基金资助项目

2016ZC52030

作者简介

:

孙炳林

1993-

陕西渭南人

硕士研究生

研究方向

:

逆向分析

二进制安全

E-maii

:

651718894@

qq.

com

庄毅

1956-

,

教授

博士生导师

研究方向

:

可信计算

网络安全

2

计算机与现代化

2019

5

具有相似的恶意行为

该结论已经有众多研究者在

PC

恶意软件检测和

Android

恶意软件检测中得到了

通信

(

10

)、

基于上下文

11

等方法&美国宾夕法尼亚州

立大学的

Enck

等人

12

提出了

Kirin

安全服务方案

,

相应的验证

但是

现有的研究方法多选取恶意软件

的所有已知样本进行分析

,

提取或挖掘恶意软件所具

有的特征

并以此作为待测软件恶意性判定的依据

&

Android

软件提供了轻量级验证&将潜在的危险

作为检测依

,

特定的

合,终止用户安装潜在的不安全应用程序&清华大学

Xiao

等人

(

13

)

提出了使用基于共现矩阵

(

Co-occur

­

rence

Matices)

及人工神经网络的手机恶意软件检测

而属于不同家族的恶意软件具有不同的恶意行为

恶意性所表现出来的特征也具有较大差异

,

需要设计

适用于

Android

恶意代码多标签检测的机制和方法

&

为了充分发挥静态检测的高效性和动态检测的准确

,

需要针对不同的样本设计检测方法选取机制

,

系统

ANNCMDroid

,

该方法考虑了系统调用序列之间

的联系

指出恶意软件与良性软件在系统调用的关联

性上具有重要的不同

&

不同软件选取不同的检测方法

&

无论是静态还是动态检测方法

主要是针对

by

­

tecode

层进行分析

如果恶意代码是在

Native

s

文件中

静态和动态检测方法很难检测出来

&

并且已有的研究表明

,

37%

Android

应用⑶中

86%

的热门

Android

应用包含

Native

层代码⑷

因此对

N-

ative

层恶意代码检测是十分必要的

&

针对上述问题

本文提出一种基于

Native

层的

Android

恶意代码检测机制

首先将恶意软件的

sma-

a

代码和

s

文件转换为汇编代码并生成控制流图

采用统计分析的方法计算控制流图中各类型代码权

产生恶意软件库

&

然后将待测软件进行相同处理

生成汇编代码和控制流图

通过子图同构方法与恶意

软件库进行对比,得出它们的相似度值&通过和阈值

进行对比

,

判断该待测软件是否包含恶意代码&实验

结果表明该方法可以检测出

Native

层恶意代码而且

具有较高的正确率和检测率

&

1

相关研究工作

随着

Android

设备的流行以及恶意软件的大量

出现

,

Android

恶意代码的检测和分类已成为当前的

研究热点&目前,恶意代码静态和动态检测技术均已

经取得了一些研究成果

&

静态检测方法在不运行代码的情况下

,

采用控制

流分析

数据流分析等多类技术手段对

APK

文件及

其解析生成的文件进行分析

&

该技术能够对软件进

行自动化分析

具有较高的检测效率,适用于对大量

软件样本进行分析;缺点是需要解决静态方法难以检

测的代码混淆

加密以及在动态执行中才能解码恶意

代码的问题&由于

Android

恶意软件的数量非常多

,

而且存在大量的变种

需要将大量的签名记录到签名

库中

从而影响

Android

恶意软件检测的性能⑸&研

究者们提出的基于静态分析的恶意软件检测方法中

,

选取的恶意软件特征包括

:

基于权限

6

]、

基于

API

用⑴

基于

Dalvik

指令⑻

基于语义⑼

基于组件间

然而静态分析只能检测出特征库中已有的恶意

代码样本,无法检测未知的恶意代码

&

同时

,

为了防

软件检测

,

恶意软件

为的

基础上

开发新的变种

,

尽管与原恶意软件具有相似

的行为

但其具有不同的签名

同时

使用混淆

加壳

等抗逆向分析技术

增加了检测的难度

14

&

针对静态分析的缺点

出现了动态分析方法&动

分析

处理

的代码混淆和加密等问题&

现有研究中

,

常用的

Android

恶意代码动态检测

方法主要根据其运行环境分运行在沙箱环境

15

和运

行在真实设备

16〕

中检测&真实设备中检测方法的性

能较好

且恶意软件无法通过检测模拟环境隐藏自身

恶意负载

&

如西安电子科技大学的王志强等人

(

17

)

使

用软件的系统

述应用

开发了一个

Android

恶意软件检测系统

SCADect

,

并将待测软件运行在华为

U8860

真机上进行实验,

能够达到较高的检测准确率&北京邮电大学的

Zou

等人

18

提出了一种有效的基于行为的

Android

恶意

软件检测系统

首先

通过

Android

系统

APIs

lidc

函数调用以及其参数来描述敏感软件行为

,

然后

过机器学习技术进行行为分析和恶意检测

使用的方

法包括:支持向量机

朴素贝叶斯和决策树&马来西

亚马来亚大学的

Feizollah

等人(

19

)

提出了基于网络流

分析的机器学习方法来检测

Android

恶意软件

获取

恶意软件和良性软件的

30

mo

网络流量信息作为数

,

选取包

4

,

采用

2

种学

软件

的恶意性

实验表明集成学习具有更高的检测率

&

是使用真机进行检测时

,

软件安装

软件运行

事件触

设备重置等操作难以自动化执行&沙箱环境检测

方法能够模拟

Android

设备

且能够通过命令执行大

量的自动化操作,通过修改沙箱的参数

可以有效防

止恶意软件的模拟环境检测

&

动态测试可能难以触

发其恶意负载

同时有些恶意程序可以检测自身的运

2019

年第

5

孙炳林

一种基于

Native

层的

Android

6

代码检测机制

3

环境

,

当发现其在模拟器下

时会自动崩溃或不

ative

层的代码进行检测

,

如果恶意代码

文件

其恶意行为

检测时间较长

,

分析

,

上述检测方法不能取得较好的检测结果

恶意负载的常用触发机制

设计自动化测试脚

恶意负载

以减少测试时间

检测还

检测都

2

恶意软件检测机制

现恶意代码的检测

计的恶意代码检测

Dex

文件

中提取

smali

字节码进行恶意代码检测

利用

smali

字节码的文本特征

API

调用特征

用图的特

然后

相似度比较

机器学习的方法对恶意

代码进行检测

这些方法都没有对

so

文件包含的

N

控制流图生成

框架如图

1

首先对恶意软件进行处理

意软件库

然后对待测软件进行相同的处理

恶意软件库中数据进行对比判断待测软件

为恶

意软件

恶意代码库生成

|恶意软件特征生成|

ART

Compiler

编译

Dex

文件

惡意代码產

反汇编

so

文件生成控制流图

待测软件处理

控制流图优化及代码处理

待测软件特征生成

1

恶意代码检测

框架

2.1

控制流图生成

作为代码进

&

该错误

导致反汇编出现错

控制流图的生成主要包括

ART

Compileo

编译

Dex

文件生成汇编代码

将其

so

文件进

下一条

确识别

汇编

汇编都错误

&

递归遍历方法按照代码可能的

制流图

对制流图进

汇编代码处

顺序来反汇

码出分

3

&

1

)

ART

Compilxo

编译

Dex

文件

Android

4.

4

开始

,

Google

开发者引入新的

An

­

对条可能的路径都进行扫描

&

反汇

器就把这个地址

汇编各个分支中的

代码中的

作为

下来

,并分别

&

采用这种方法可以避免

droid

运行环境

ART

(

Andorid

Runtimx

)

用于继承并

来解码

比较灵活

&本文选

且代替虚拟机

D

vV

Android

ART

模式最

Jave

代码

取该方法进行处理

使用

IDA

Pro

工具对

Dex

文件生

的特点就是采用了提

(

AOT

)

的模式

AOT

模式其实就

安卓应用安时

,安

的本地代码和

so

文件中代码进

制流图

&

3

)

代码处理

&

汇编处理

卓系统会调用

dex2oat

模式下的安

应用工具

dex

字节码转换成为机器可以

的本地机器码

显然这个安

比在

Dalvik

后台安

慢一些

保存

方式来降低这种弊端

由于

安卓应用

地机器码

,

时可以提升性能表现

畅度

&

利用

ART

模式这个功能

Dex

文件中的字

节码转换

对应的

地代码

&

2

)

so

文件生

制流图

&

函数出口

函数出口

第一步得到的文件和

so

文件进

得到汇编代码

制流图

常用的反汇编方

递归遍历方法

&

(

a

)

优化前的控制流图

(

b

)

优化后的控制流图

2

:

线性扫描方

线性扫描方

代码段的第一个字节开始

以线

性模式扫描整个代码段

,

逐条反汇

完成整个代码段&该方

不能将代码

直到

2

优化前后的控制流图

区分

根据第

2

步可以生

的控制流图

但是由于

4

计算机与现代化

2019

年第

5

原始的控制流图比较大,对比起来要消耗大量的计算

时间

因此需要对控制流图进行优化,优化过程如图

2

所示

具体优化算法参考文献[

20

]

2.3.

1

子图同构算法

判断

2

个图是否同构

可用以下方法

(

V

g

,

E

g

)

H

(

V

h

,

E

h

"代表任意的

2

控制流图会比较各个子图节点中的每条汇编语

由于汇编语句有众多指令和操作数

,

这样对比会

消耗大量时间

所以首先需要对汇编指令进行分类

,

V

g

V

$

E

g

E

h

分别代表图

和图

H

的顶点和

边的集合&

定义

1

顶点双射(一一映射)可以表示为

%%V

g

_

V

H

,

边缘双射可以表为

/

e

:

E

G

~

!

E

H

,

如果对于每

分类的结果如表

1

所示

1

汇编命令分类

指令类型

一条边

e

"

#

g

,%

v

可以将边

e

的后继节点和边

%

#

(

&

)

后继节点进行映射

那么九和九是一致的

指令功能描述

定义

2

如果存在一个顶点双射九和边双射九是

ASSIGN

数据传输

,

moe

O

r1

ASSIGN_C

数据传输

含有常数

moe

O

0

JUMP

跳转指令,地址是未知的

jmp

[

O

]

JUMP_C

跳转指令,跳转地址常数

jmp

0x40000

CONTROL

条件跳转

,

跳转目的是未知

if

(

cf

c

c

1

)

jmp

[

O

]

CONTROL_C

条件跳转

,

跳转目的是常数

if

(

cf

c

c

1

)

jmp

0X000

MEM

内存访问

CALL

调用指令

调用函数目的地址未知

,cali

[

O

]

CALL_C

调用指令

调用函数目的地址已知

call

0X000

CMP

比较指令

比较指令中没有常数

CMP_C

比较指令

比较指令中含有常数

STACK

栈指令

栈寄存器会发生变化

ARIAHMTIA

算术运算指令

不含常数

add

O

O

ARIAHMTIA_C

算术运算指令

含有常数

subO1

LOGIA

逻辑运算指令,

不含常数

andO1

LOGIC_C

逻辑运算指令

含有常数

esO3

UNKNOWN

未知指令

2.2

恶意代码库生成

使用

2.

1

节中的方法生成控制流图并且将汇编

指令转换为相应指令后

,

对所有恶意软件进行特征提

取进而生成恶意代码库

针对样本软件

恶意代码库

生成主要包括以下几个步骤

1

)

对样本软件生成控制流图并且进行优化

控制流图结果存储

,

方便后面进行对比&

2

)

对步骤

1

的控制流图进行指令转换

转换为表

1

对应的指令形式

并且统计每种指令出现的次数&

3

"使用最小二乘法计算出每种类型指令所占的

权重

并且进行记录

4

)

将步骤

3

计算出来的权重值填到步骤

2

得到

指令转化图

5

)

对所有软件进行相同操作

生成恶意软件库&

2.3

待测软件恶意性检测

使用

2.

1

节的方法生成待测软件的程序控制流

图并且将汇编代码转换为对应指令

然后通过子图同

构方法跟恶意代码库进行对比

并且计算其相似度

,

如果超过阈值

则为恶意软件

否则为良性软件&

一致的

那么图

g

h

是同构的

可以

O

k

g

#

h

&

定义

3

P

c

(

"

,

E

p

)

代表待测程序的控制流

c

(

v

m

,

e

m

)

表示恶意软件的控制流图

其中

V

,

V

(和

E

p

,

E

(

分别是图

P

和图

(

的顶点和边的集合

&

如果存在图

P

的子图

P)

c

(

V

*

,

e

*

),

v

*

$

V

,

e

*

$

E

p

满足

P

*

#

(

,

则图

P

和图

(

同构

子图同构算法主要用于确定一个控制流图是否

包含另外一个控制流图,或者被另外一个控制流图包

含&本文采用

VF2

算法

[

21

)

实现程序控制流图的子图

同构计算

其基本思想如下:

若图

G

1

c

(

V

1

,

#

1

)

与图

G

2

c

(

"

2

,

#

2

)

同构,其中

"

1

"

2

分另

IJ

表示图

G

1

G

的节点集合,

#

1

#

2

分别表示

边的集合

,

则必定存在

G

1

G

2

的映射

M

c

{(

,

,

-

)

"

"

1

f

"

2

,

其中,

为图

G

1

的节点

-

为图

G

2

的节点&

3

控制流匹配图

该算法用状态空间表达式来表

7K

确定映射函数

的步骤

其中

M

(

*是

M

的子集

,

*

表示每个状态

用状态

$

到状态*的转移来表示一对新的匹配节点

加入到当前的状态空间表达式

初始状态为

*

0

(

(

*

0

)

0

对于每个空间状态*算法会计算出可加

入当前状态的候选节点对的集合

P

(

*

&

对于

P

(

*

2019

5

孙炳林

一种基于

Native

层的

Android

6

代码检测机制

5

中的

(

*

,

节点对

通过判断

s

新的

满足可行性规则

F

*

,

然后重复上述步

dows10

,

CPU

Intel

Coro

0-6300HQ

2.

30

GH

z

,

内存

(

s,

n

,

,

),

F

(

*-

,

m

"

,

节点对加入到

M

1GB

验中构

一个包含

1000

An

­

3

的控制流图

3

(

a

)

是恶意样

droid

软件的

其中包含

1000

恶意软件和

1000

性软件

使用

AMD

(

22

)

软件

作为实

软件的控制流图

M

,

3

(

b

)

待测软件的控制流

'

其中

M

c

(

/

,

0

,

c

,

d

,

&

)

#

P

%

0

,

1

,

d

,

e

,

f

),

M

#

'

0

M

P

0

是同构的

即图

3

(

a

)

和图

3

(

b

)

中虚

验的恶意

下载

良性软件来源于

Google

Play

随机

VOusTotaV

23

)

具进行扫描

确保在

良性软件集中不包含恶意软件

线部分同构

3.2

已知恶意软件检测

为了验证本文所提出的方法对恶意代码检测的能

2.3.2

软件恶意性判断

得到待测软件的控制流图以后

2.3.1

方法判断待测软件与恶意软件库中具有同构子图

下来判断待测软件

文首先利用已知恶意软件构建恶意软件库

然后

25%

(

250

)

进行检测

检查工

Androouard

(

24

)

对比的实验结果如表

2

2

实验结果对比

检测方法

Androouard

具有恶意性

4

:

IDA

pro(

version

=7.0

)

的控制流图

5

为经过

1

转换的控制流图

■厨国

loc

32FC

LDR

R2j

[R4

J

#(dword_9®20

-

0x9018)]

BEQ

loc

3310

K

LDR

LDR

MOV'

ADD

MOV

STR

BLX

恶意样本

良性样本

250

250

总数

250

250

检测数

223

238

误报数

18

22

本文方法

LDR

=(aXguardian

-

O

k

330C)

LDR

Rlj

R2j

=(aForkSucce553Ch

-

0

k

330E)

MOVS

RO

#4

;

prio

ADD

Rlj

P€

;

"xeuardian"

ADD

PC

BLX

android^og^rint

;

"fork

success

ch:

Lid

pid

=

T

由表

2

可以看出,

本文提出的方法比

Androouard

高的检测率

,这

因为

选取的软件

比较少的原因

函諸国

1OJ321E

LDR

-

R3

J

[R4

CMP

loc

R3

J#(dword_9020

-

-

0x9018)]

BNE

#0

3226

应厨画

N

的数

loc_3310

LDR

R3j

=Cdword_9018

-

0x3316)

ADD

R3^

[R3

PC

J

#(dword_9020

;

dword_991B

LDR

R3j

-

0x9018)]

CMP

#Q

BEQ

loc_3342

1OJ332A

LDR

=(dword_9018

0x3330)

ADD

R2j

PC

~

;

-

dword_9018

LDR

R2j

[R2

J

#(dword_9O20

0x9«18)]

CMP

R2

#0

BEQ

loc

3342

则误

库进

本文提出的方法对

so

4

通过

IDA

pro

得到的控制流图

MEM

CMP_C

分析

检测出

Native

层的恶意代码

,

Androouard

做一些弥补

3.3

未知软件检测

0.2

0.2

验证

文方

知软件的检测能

CONTROL_C

MEM

ASSIGN

_C

LOGIC

CONTROL

C

MEM

LOGIC

ASSIGN

_C

CMP_C

0.3

0.2

0.

1

0.

1

恶意软件和

1000

性软件

输入

得其检测结果

测试

1000

混合作为

提交到

线检测

获取其中效果较好的

4

检测引擎的检测结果

结果与本文方法的检测结

VOusTotal

0.3

果进行对比得到表

3

的结果

6

结果对比如图

FP

(

)

&

3

FN

(

)

表软件

p

为恶意软件

,

文方法没

功检测出来的

0.2

0.

1

0.

1

0.2

软件

p

性软件

检测为恶意软件的

&

TP

为检测结果中

正确判定为恶意软件的样

5

指令转换后生成的控制流图

表中的

召回率的计算方法分别为:精度

5

分为

2

部分

第一部分是转换后的指

TP/(TP

+

FP)

,

召回率二

TP/(TP

+

FN)

O

3

未知软件实验结果对比

检测引擎

Ad-Awaro

FN

53

60

FP

第二部分

算得到的

然后

的权重

权重

2.2

节计

的权重系数加起来

,

跟恶意代

则认为该待

码库中同构图进行对比

,

如果超

精度

/%

93.6

召回率

/%

94.7

94

65

57

测软件含有恶意代码

否则为良性软件

&

CMC

Kaspersky

94.2

94.6

92.9

72

53

72

92.8

95.2

93.6

3

实验与结果分析

3.1

数据集与环境设置

BitDefender

AVG

DrWeb

48

64

69

80

93.1

92.2

93.4

94.6

57

69

94.3

Sophos

65

55

93.1

实验使用的环境配置如下

操作系统为

Win-

本文方法

42

95.8

6

95

计算机与现代化

2019

5

create

a

pocticol

Native-code

sandboxing

po

C

co

(

C

]

//

Symposium

on

Network

and

Distributed

System

Security.

2016

1-15.

(

4

:

SUN

X

,

ZHONGYANG

Y

,

XIA

Z

,

et

ai.

Detecting

code

ouso

in

Andoid

applications

using

component-based

con-

toi

flow

goph

(

C

]

//IFIP

Inteoational

Information

Securite

Confeonce.

2014

:

142-155.

(

5

]

ZHAO

Z

,

WANG

J

,

BAI

J.

Malwaro

detection

method

based

on

the

control--ow

construct

featuo

of

softwao

(

J

].

IAT

Information

Securite

,

2014

,

8

(

1

)

:

18-24.

(

6

:

SARACIAO

A

,

SGANDURRA

D

,

DINI

G

,

et

ai.

Madam

:

6

本文

检测

结果

ViosTotal

结果对比图

3

本文提出的方法具有较低的漏

文提出的方

Native

层代码的检测

现对

.

ss

库的恶意代码

的检测

上述其他方

不具备的

从图

6

可以

,

Kaspersky

以外

和其

方法相比

,

本文具

高的检测

,

Kaspersky

相比

本文具有

高的召回率

本文提出的方法可以检测出

NO

vv

(

ss

文件

)

的恶意代码

Naive

层恶意代码

难检测的

4

结束语

本文提出了一种基于

Naive

层的

Android

恶意

代码检测机制

smaii

代码和

文件转换为汇编代

对汇编代码进行转换后生

制流图并对其进行

子图同构方法与恶意软件库进行对比计算

相似

与给定

进行对比

判断待测软件是

包含恶意代码

实验结果表明

与现有方法相比

,

文提出的方法可以对

Naive

层代码进行检测

因此

高的代码

功检测待测应用

具有恶意性

具比较高的正确

检测率

&

文提出的方

检测待测软件

包含

恶意软件

不能区分出恶意软件的家族分类

在下一

步工作中

将结

机器学习算法

多恶意软件

提取各个恶意软件家族的特征

,

实现对恶意软

件家族的区分

,

提高恶意软件的检测

参考文献

(

1

]

360

互联网安全中心

,

360

烽火实验室.

2017

Andoid

恶意软件年度专题报告]

EB/0L

]

.

(

2018-03-02

)

(

2018

­

08-21

]

.

http

://

/

?

dtid

c

11010-

61451&didc

491056914.

(

2

]

杨欢

张玉清,胡予濮

基于多类特征的

Andoid

用恶意行为检测系统

(

J

]

计算机学报

,

2014

,

37

(

1

":

15-27.

(

3

:

AFONSO

V

,

BIANCffl

A

,

FRATANTONIA

Y

,

et

ai.

Go

­

ing

Native

:

Using

a

laoe-scaie

analysis

of

Andoid

Apps

te

EEective

and

efficient

behavior-based

Andoid

malwaro

de

­

tection

and

povention

(

J

].

IAEE

Transactions

on

Dependa-

bie

and

Securo

Computing

,

2018

,

15

(

1

)

:

83

-97.

(

7

]

LI

J

,

SUN

L

,

YAN

Q

,

et

ai.

Sianiacant

permission

identidcation

foo

machine

learning

based

Andoid

malwaro

detection

(

J

].

IAEE

Transactions

on

Industriai

Infoimatics,

2018

,

14

(

7

)

:

3216-3225.

(

8

]

QIAO

M

,

SUNG

A

H

,

LIA

Q.

Merging

permission

and

API

features

foo

Andoid

malwaro

detection

(

C

]

//

2016

AEEE

ihe

5

ih

A

AAAnieonaivinaaCingoe

s

in

Adeanced

Ap

­

plied

Informatics.

2016

566-571.

(

9

]

NARAYANAN

A

,

CHANDRAMOHAN

M

,

CHEN

L

,

et

ai.

A

multi-view

context

-2ware

approach

te

Andoid

malwaro

de­

tection

and

malicious

code

localization

(

J

].

Empiricai

SoOt-

wao

Engineering

,

2018

,

23

(

3

)

:

1222-1274.

(

10

:

FEIAOLLAH

A

,

ANUAR

N

B

,

SALLEH

R

,

et

ai.

AndodO

alysis

:

Analysis

of

Andoid

intent

eSectiveness

in

malwaro

detection

(

J

]

.

Computeo

&

Security

,

2017

,

65

:

121-134.

(

11

:

XU

K

,

LI

Y

,

DENG

R

H.

ICCDeWcWs

ICC-based

malwao

detection

on

Andoid

(

J

].

IAEE

Transactions

on

Information

Foonsics

and

Security

,

2016

,

11

(

6

)

:

1252-1264.

(

12

:

ENCK

W

,

ONGTANG

M

,

MCDANIAL

P.

On

lightweight

mobiie

phone

application

certification

(

C]

//

Proceedings

of

the

16th

ACM

Confeonco

on

Computeo

and

Communica

­

tions

Security.

2009

235-245.

(

13

]

XIAO

X

,

WANG

Z

,

LI

Q

,

et

al.

ANNs

on

ce-occuirencc

matrices

for

mobile

malware

detection

(

J

].

The

KSII

Trans

­

actions

on

Internet

and

Information

Systems

,

2015,9

(7)

:

2736-2754.

(

14

]

SANTOS

I

,

BREZO

F

,

UGARTE-PEDRERO

X

,

et

al.

Opcode

sequences

as

oposentation

of

executables

fee

data-

mining-based

unknown

malware

detection

(

J

].

Information

Sciences

,

2013

,

231

:

64-82.

(

15

]

DIMJASEVI

A

M

,

ATZENI

S

,

UGRINA

I

,

et

al.

Evalua-

ioon

ooAndoood

maawaoedeiecioon

based

on

sysiem

ca

a

s

(

C

]

//

Proceedings

of

2016

ACM

on

International

Work

­

shop

on

Security

and

Pivacy

Analytics.

2016

l-8.

(

16

]

SHABTAI

A

,

KANONOV

U

,

ELOVICI

Y

,

et

al.

Ando-

maly"

:

A

behavioral

malwaro

detection

framework

fee

An

­

droid

devices

(

J

].

Journal

of

Intellivent

Information

Sys

­

tems,

2012,38

(1

)

161-190.

(下转第

12

)

12

计算机与现

7

2019

5

4

结束语

随着光盘技术发展

目前对于光盘相关系统应用

[

10

]

段洁

邢媛

,赵国锋

.

信息中心网络中缓存技术研究综

[

J

]

.

计算机工程与应用

2018

,

54

(

2

):

1-10.

[

11

]

傅雨东

李小勇.基于固态盘与磁盘的混合存储系统框

研究被国内外研究者重新重

起来

本文针对当前

HDFS

光盘库用户响应时间较长的问题

HDFS

架研究

[

J

]

.

信息技术

2018

,

42

(

7

)

103-106.

[

12

]

康剑斌

汪海山

贾惠波

.

基于磁带库的磁盘缓存策略

[

J

]

.

仪器仪表学报

,

2009

,

30

(

6

):

1281-1284

[

13

]

宋洪治

武杰

张杰

.

一种符合

POSIX

规范的

FreeRTOS

模拟器的设计与实现

[

J

].小型微型计算机系统,

2012

,

33

(

6

)

1273-1277.

盘库系统前端加入磁盘缓存系统

通过文件缓存刻录

和小文件合并提高磁盘缓存与

HDFS

光盘库之间数

据传输速度

同时利用文件预取和基于文件标签的

LBLRU

算法将用户近期可能访问的文件保留在磁盘

缓存内

达到缩短用户响应时间的目的

通过实验验证

磁光虚拟存储系统相比

HDFS

盘库在数据存入和访问方面都取得较为明显的提升

[

14

]

王峰

雷葆华.

Hadoop

分布式文件系统的模型分析

[

J].

电信科学

2010

,

26

(

12

)

95-99.

[

15

]

郑通,郭卫斌

范贵生.

HDFS

中海量小文件合并与预取

优化方法的研究[

J

]

.

计算机科学

2017

,

44

(

11A

)

:

516-519.

但是随着时间运行

系统内被覆盖文件数据块将不可

[

16

]

师明

刘轶

唐歌实.一种面向分布式文件系统的文件

系统存储容量也随着时间推移而减少

这个问

预取模型的设计与实现

[

J

]

.

计算机科学

2014

,

41

(

7

)

30-35.

[

17

]

韩向春

田玉根.基于预测的

Web

缓存替换算法

[

J],

题的解决方案也是下一步要研究的内容

&

参考文献

[

1

]

刘贵君.大数据时代计算机数据备份技术分析

[

J

]

计算机

计,

2010

,

31

(

1

)

110-113.

[

18

]

温珍.基于

Python

语言的中文文本处理研究

[

J

]

.

南昌

工程学院学报

,

2018

,

37

(

3

)

70-75.

[

19

]

魏晓玲.

MD5

加密算法的研究及应用

[

J

]

.

信息技术,

2010

(

7

)%

145-147.

脑知识与技术

2017

,

13

(

10

)

%

25

,

39.

[

2

]

曾卫进.基于

HDFS

的分级存储功能设计与实现

[

D

]

.

武汉:华中科技大学,

2016.

[

3

]

王瑞通

李炜春.大数据基础存储系统技术研究

[

J

]

.

计算机技术与发展

2017

,

27

(

8

)

%

66-72.

[

20

]

王超宇.缓存替换策略研究

[

D

]

.

哈尔滨:哈尔滨工程

学,

2012.

[

21

]

王涛,朱怡安

黄姝娟.基于改进

LRU

替换策略的共享

Cache

划分

[

J

]

.

微电子学与计算机

2012

,

29

(

1

):

80-83.

[

4

]

游丽

.

基于蓝光存储的光盘存储系统的研究与实现

[

D

]

.成都

电子科技大学

2017.

[

5

]

钱能武

郭卫斌

,范贵生

.

基于关联规则挖掘的分布式

[

22

]

WANG

Y

,

GOPALAKRISHNAN

L

,

WANG

H

,

et

v

V

De­

sign

of

prioritized

LRU

circuit

for

shared

cache

in

real-time

小文件存储方法

[

J

]

.华东理工大学学报

(

自然科学

版)

2016

,

42

(

5

)

708-714.

compuWr

systems

[

C

]

//

2016

13

th

IEEE

InWrnational

Conference

on

Solid-State

and

Intexrated

Circuit

Technole-

[

6

]

严文瑞

曹强

姚杰

.

一种面向大容量光盘库的新型

gs.2016.

文件系统[

J

]

.

计算机研究与发展,

2015

,

52

(

S2

)

1-8.

[

7

]

尹洋

刘振军,许鲁

.

一种基于磁盘介质的网络存储系

统缓存

[

J

]

@

软件学报

,

2009

,

20

(

10

)

2752-2765.

[

23

]

还璋武.

LRFU

及其自适应算法的研究[

D

]

.马鞍山:安

学,

2016.

[

24

]

陈慧光

肖创柏,高允翔

.

一种基于取回代价的

LFU

[

8

]

查益.光盘库文件缓存管理系统的实现

[

D

]

.

武汉:武

2004.

[

9

]

王坤.面向

Hadoop

的小文件存储机制研究[

D

]

.北京

2018.

图片缓存算法及在

WAP

浏览器应用

[

J

]

.

中国电子商

%

,

2009

(

9

)%

94-99.

(上接第

6

)

[

17

]

王志强

张玉清,刘奇旭

.

一种

AndroO

恶意行为检

测算法

[

J

]

@

西安电子科技大学学报

(

自然科学版

),

2015

42

(

3

)

8-14.

[

18

]

ZOU

S

,

ZHANG

J

,

LIN

X.

An

effective

behavior-based

Android

malware

detection

system

[

J

].

Security

&

Commu

­

based

detection

of

AndroiO

Native

code

malware]

J

].

Com-

putoScincE

,

2016

,

aoXie1602.04693.

[

21

]

CORDELLA

L

P

,

FOGGIA

P

,

SANSONE

C

,

et

v

1.

A

(

sub

)

graph

isomorphism

alaorithm

foe

matching

larae

gaphs

[

J

]

.IEEE

Tansaceionson

Pa

e

Hn

Anaessisand

MachineIneee

igence

,

2004

,

26

(

10

)%

1367-1372.

nication

Netvorks,

2015

,8(

12)

2079-2089.

[

19

]

FEIIOLLAH

A

,

ANUAR

N

B

,

SALLEH

R

,

et

v

V

Com

­

parative

eveluation

of

ensemble

learning

and

supervised

learning

in

AndroiO

malwares

using

network-based

analysis

[

22

]

Argus

Cyber

Security

Lab.

AndroiO

Malware

Dataset

[

EB/

OL

]

.

[

2018-11-01

]

.

ht

w

//

/md.

arguslab.

org.

[

23

]

VirusTotal

Website.

VirusToWi

[

DB/OL

]

.

[

2018-11-01

]

.

https

//

ww.

virustotaL

cooi/#/home/upload.

[

C

]

//Adeanced

Compuaeoand

Communlcaalon

Englneeo-

ing

Technologs.

2015

:

1025-1035.

[

24

]

Desnos

A.

Androruard

:

Reverse

Engineering

,

Malware

and

Goodware

Analysis

of

Android

Applications

[

EB/OL

]

.

[

20

]

ALAM

S

,

QU

Z

,

RILEY

R

,

et

s

V

Droidnative

:

Semantic

­

[

2018-11-01

]

.

https

//github.

com/androguard/androguve.