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 R® 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 代码和 s° 文件转换为汇编代 码 , 对汇编代码进行转换后生 制流图并对其进行 化 , 子图同构方法与恶意软件库进行对比计算 相似 与给定 进行对比 , 判断待测软件是 包含恶意代码 。 实验结果表明 , 与现有方法相比 , 文提出的方法可以对 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.


发布评论