学习报告9-22利用机器学习方法进行安卓恶意软件检测_第1页
学习报告9-22利用机器学习方法进行安卓恶意软件检测_第2页
学习报告9-22利用机器学习方法进行安卓恶意软件检测_第3页
学习报告9-22利用机器学习方法进行安卓恶意软件检测_第4页
学习报告9-22利用机器学习方法进行安卓恶意软件检测_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Titel(论文题目):EMULATOR vs REAL PHONE: Android Malware Detection Using Machine LearningAuthors(作者):Mohammed K. Alzaylaee HYPERLINK mailto:malzaylaee01qub.ac.uk malzaylaee01qub.ac.ukSuleiman Y. Yerima HYPERLINK mailto:s.yerimaqub.ac.uk s.yerimaqub.ac.ukSakir Sezer HYPERLINK mailto:s.sezerqub.ac.uk s.sez

2、erqub.ac.ukCentre for Secure Information Technologies (CSIT)Queen s University BelfastBelfast, Northern IrelandPublished in( 发表在):IWSPA 17: Proceedings of the 3rd ACM on International Workshopon Security And Privacy AnalyticsAbstract(摘要):论文介绍了一种基于机器学习方法的Android恶意软件检测研究。(采用在真实设备上的动态分析)一种工具被用来实施从Andro

3、id手机和几项试验中自动提取动态特征的工具;一项对比分析(基于仿真器和基于真实设备),检测手段用到了几种机器学习算法。实验结果表明:相比仿真器,在真实设备(手机)上的一些特征能够被更高效地提取,动态分析。近24%勺app成功在手机上被分析。研究中用到的所有基于机器学习的恶意软件检测方法,都在设备(手机)动态分析上表现更佳。Keywords(关键词):Android; Malware; Malware detection; Anti-analysis;Antiemulation; Machine Learning; Device-based detectionIntroduction( 弓 I言

4、):省略PHONE BASED DYNAMIC ANALYSIS AND FEATURE EXTRACTIONf 机的动态分析和特征提取)为了应用机器学习方法分类和检测恶意APP就需要一个platfrom 来从app中提取特征。本实验目的是为了比较基于仿真器的检测,和基于设备的检测,故需要从这两种环境下都提取特征,为下一步监督学习做准备。对于仿真器,我们采用DynaLog动态分析框架。大体框架:自动接收大量app,在仿真器上连续运行,记录动态行为(特征),提取。DynaLog组件包括一个基于仿真器分析的沙盒,一个APK设备模块,行为(特征)记录和提取,App触发/实验程序,记录解析,处理脚本。

5、DynaLog使每个app的必要API都能够被监控,记录,提取(从仿真器, 在运行中)为了能在手机上进行动态分析和特征提取,DynaLog框架需要被扩展,用一个基于Python的工具:1、推一张contacts 表给设备的 SD卡,再导出他们(adb shell command 填充到手机的contact表中。2、找到并卸载所有第三方app,在安装待分析(提取特征)app之前。uninstall = lhadb shell pm list packages -3 | cut -dd: -f2 | tr| k3ng$ -r -nl -t adb uni n stair1 os.system (u

6、ninstall)print(uninstalling all 3rd party user app&)3、关闭飞行。Monkey (the app exerciser tool)4、电量5、向外拨号(adb shell)6、向外发送消息(adb shell)7、向SD卡中填充其它,如虚拟文件夹:图像文件,pdf, text文件等。每个app被安装,并运行300秒在仿真器上(然后在手机上进行第二次 实验),行为都被记录和解析(through提取特征的脚本)实验所用到的特征包括,API调用,Intent (关键事件的信号)API call signatures使API能够被记录和提取 viaad

7、b logcat,当app运行 时。对于-包含反仿真器方法的恶意app,提取的API调用就是那些能够使他们暴露出来的恶意行为不被记录,LhfruLof Oymamfc AiMty&isML ElawfflmMethodology and experiments(方法和实验)本部分描述实验方法(被用来评估检测和提取特征的环境有效性)以及机器学习算法在手机和仿真器上的分析性能Dataset(数据集)实验所用数据集包含 2444个Android app ,其中1222个恶意样本(来自49种类型,Android genome project),剩余1222个良性样本(来自Inter Security,

8、 McAfee Labs)Environment configurations(环境配置)Phone: Elephone P6000, Android 5.0 Lollipop, 1.3 GHz CPU, 16GB internal memory, 32G of external SD card storage.Emulator: Santoku Linux VirtualBox(Andriod虚拟设备),2GB 内存,8GB外部 SD 卡,4.1.2Jelly Bean(API level 16) 特征使由app决定的,不受 Andriod版本的影响 Features extraction(

9、特征提取)特征表示成向量输出、每个特征被表示为0/1代表该特征是否存在。特征文件被转换成 ARFF格式,丢到 WEKA机器学习工具中。178个特征(手机和仿真器),然后按照信息嫡排序,选出前 100用来实 验,比较检测性能,使用一些机器学习算法。Machine learning classifiers(机器学习分类器)特征被分为五档:20、40、60、80、100top算法:SVM、Naive Bayes(NB)、Simple Logistic(SL)、Multilayer Perceptron(MLP)、Partial Decision Tree(PART)、Random Forest(RF

10、)、J48 Decision Tree.Metric(度量) 真正率 真反率 假真率 假反率F1Results and discussions(实验结果和讨论): 实验一:仿真器设备,特征提取分析1222个恶意软件,1205能98.6%在手机上成功运行 VS 939个76.84% 能在仿真器上运行1222个良性软件,1097个90%能在手机上被成功检测,786个64.27%在仿真器上能给检测到手机上的总成功率 94.3%,仿真器70.5%USB1.0接口,只能运行 480/1222良性样本。大于1兆的将花费更多时 间分析,遭遇超时。特征TimerTask;- ,在手机上被记录了 813次,在仿

11、真器上被记 录了 633次。类似 intent.BOOT COMPLETED ”在手机上被提取了662次,在仿真器上仅 501次。对良性样本也有类似的发现,手机上可以分析更多的样本;对某些特征,手机提取和仿真器提取相差200.动态分析中我们能提取到的特征越多,检测结果就可能会越好。还有一些特征只能从手机提取到;System.loadLibrary特征是和本地代码相关的API调用。仿真器没有记录它的原因可能是由于缺少运行本地代码的能力。总之,基于手机上的恶意软件检测、特征提取、分析app或训练机器学习分类器,更加有效。 Experiment 2: Emulator vs Device Machi

12、ne learning detection comparison 实验2:仿真器VS设备 机器学习检测比较 表4、5展示了不同的机器学习算法结果(对前一百个特征) 结果说明,使用基于手机的特征进行动态分析更加有效,对检测和分类app,相比较仿真器而言。 检测木本33%,训练样本66% 表5展示较高的检测率,对所有算法,基于手机提取到的特征。真正率90% (对所有算法,除了 N.B),然而,N.B, SL, PART和J48 均有90%的真正率对基于仿真器提取到的特征。前面提到过,939/1222的恶意软件和786/1222的良性软件,在仿真器 上成功运行,总共1725,其中12没有在手机上运行

13、,所以1713个(939恶意,774良性)重叠app都在手机和仿真器上成功运行。另一组实验集,只用这些app作为样本执行。结果(2:1划分)(对前100个特征)如表6、7结果表明,除了 RF,所有检测算法都从仿真器数据中得到了0.9的F1值,而对手机,只有 NB , PART和J48得到小于0.9的F1值。再次说明,基于手机的特征表现性能更佳。Comparison with other works(和其他人的工作对比 )对比我们结果和 DroidDolphin 31 and STREAM ,动态分析框架 DroidDolphin是一个动态分析框架,检测安卓恶意app,利用基于图形界面的检测方法

14、,大数据分析,和机器学习。STREAM也是一个动态分析框架,基于Andromaly ,能够快速大规模验证恶意软件,利用机器学习分类器。DroidDolphin使用1000到64000个平衡恶意软件和良性安卓应用。在STREAM方法,测试集使用 24个良性和23个恶意app,训练集包 含408个良性1330个恶意软件,都使用分离训练/测试集(T.S), 10折交 叉验证法(C.V)。表8对比了我们的手机结果和STREAM结果,表9展示了和DroidDolphin的实验结果。从DroidDolphin的实验结果,显然,检测准确率随训练集中样本数增加而增大,准确率 83%/1000app, 92.5

15、%/64000app。表8说明, 尽管测试 集数目在我们的方法和 STREAM中不一样,但是我们的手机基于 RF、 SL、J48、MLP表现要远比T.S.准确。在C.V方法下,准确率,S.L表现优于我们的手机结果, 然而RF, J48, 和MLP结果接近于STREAM ,在我们的手机结果中 C.V , RF, SL, J48 和MLP的准确率优于DroidDolphin C.V .下的所有结果。对于T.S.的结果,我们的手机 SL, J48和MLP表现更好,相较 DroidDolphin在T.S.方法中的结果(除了 32k/32k训练/测t),我们的T.S 方法基于RF在手机上结果表现出更好的

16、准确性,比DroidDolphin , T.S.上的所有算法结果。基于以上鼓舞人心的结果,我们将继续分析,使用真实手机,用更多的训练样本。Related work(相关工作)一旦在意外发现了 一个新的恶意软件应用程序,它就应该在一个封闭的环境中运行,以了解它的行为。 研究人员和恶意软件分析师严重依赖于 仿真器或虚拟设备,因为这是一个相对较低的成本分析环境。仿真器对机器学习常用的自动质量分析也更有吸引力。因此,大多数以前的基于机器学习的基于动态分析的检测依赖于在模拟器环境中运行的工具的 特性提取。与之前的基于机器学习的动态检测工作相反,我们试图利用真实的手机(设备)来实现自动的功能提取,以避免

17、Android恶意软件使 用的反仿真技术来逃避检测。之前的一些基于机器学习的Android恶意软件检测工作,比如16、33、13、32,在他们的研究中已经考虑过API调用和意图。然而,与我们的工作不同,这些都是基于静态特性提取的,因此可能会受到混淆的影响。为了提高检测性能,马文 23采用了一种机器学习方法,从静态和动态 分析技术的组合中提取出提取的特征。Bayes和Bayes提出了一种动态框架,它应用了几种不同的机器学习算法,包括随机森林、朴素的贝叶 斯、多层感知机、贝叶斯网络、逻辑回归和J48,又Android应用进行分类。然而,他们在四个自我编写的恶意软件应用程序中评估了他们的 表现。MA

18、DAM也是一个动态分析框架,它使用机器学习来对 Android 应用进行分类。MADAM 在用户和内核级提取了13个特性。然而,他们的实验只在一个带有小数据集的模拟器上执行。Crowdroid是一个基于云的机器学习框架,用于Android恶意软件的检测。 Crowdroid的特点是基于Strace的两个自编写的恶意软件样本。前面的大部分工作都利 用了基于模拟器的分析所提取的动态特性。在此基础上,我们的工作是基于实际设备动态提取的特性,并对仿真器与基于电话的机器学习方法进行比较分析。BareDroid提出了一种系统,该系统可以使对Android应用程序的分析变得可行。它对来自 Android.HeHe , OBAD ,和 Android Pincer.A families 的恶意软件进行了分析。他们的工作突出了恶意软件的反仿真能力,可以通过使用真实的设备来解决。Glassbox 21还提出了一个动态分析平台,用于分析真实设备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论