- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用机器学习检测Android恶意代码
原原文文地地址址:/mobile/13428
0x00 前前言言
前段时间在乌云知识库上面看到一篇比较有意思的文章利用机 学习进行恶意代码分类 。这篇文章对Kaggle上的一个恶意代码分类比赛中冠军队伍所采用的
方法进行了介绍,展现了机 学习在安全领域的应用与潜力。但是这个比赛的主题是恶意代码的分类,没有进一步实现恶意代码的检测;其次比赛的代码只
是针对Windows平台的PE格式,缺少对移动应用的研究。受此启发,尝试利用机 学习方法在Android平台对恶意代码进行检测,最终得到了一定的检测效
果。
0x01 背背景景知知识识
安安卓卓恶恶意意代代码码检检测测方方法法
目前恶意软件检测方法主要有基于特征代码(signature-based)的检测方法和基于行为(behavior-based)的检测方法。基于特征代码的检测方法,通过检测文件
是否拥有已知恶意软件的特征代码(如一段特殊代码或字符串)来判断其是否为恶意软件。它的优点是快速、准确率高、误报率低,但是无法检测未知的恶意
代码。基于行为的检测方法,则依靠监视程序的行为与已知的恶意行为模式进行匹配,以此判断目标文件是否具备恶意特征。它的优点可以检测未知的恶意
代码变种,缺点是误报率较高。
基于行为的分析方法又分为动态分析方法和静态分析方法。动态分析方法是指利用“沙盒或模拟 ”来模拟运行程序,通过监控或者拦截的方式分析程序运行的
行为,但是很消耗资源和时间。静态分析方法则是通过逆向手段抽取程序的特征,分析其中指令序列等。本文采用静态分析的方法进恶意行代码检测。
Weka与与机机 学学习习的的分分类类算算法法
Weka (Waikato Environment for Knowledge Analysis),是一款免费的,非商业化基于JAVA环境下开源的机 学习 (machine learning)以及数据挖掘 (data
minining)软件。Weka存储数据的格式是A FF (Attribute- elation File Format)文件,是一种ASCII文本文件。本文就是将特征数据生成A FF格式的文件,利用
Weka 自带的分类算法进行数据训练与模型测试。
机 学习中分为有监督学习与无监督学习。有监督学习就是根据训练集,用学习算法学习出一个模型,然后可以用测试集对模型进行评估准确度和性能。分
类算法属于有监督学习,需要先建立模型。常见的分类算法有:随机森林(Random Forest)、支持向量机(SVM)等。
PK的的基基本本格格式式
Wikipedia上面有APK (Android application package)的介绍。
APK文件格式是一种基于ZIP的格式,它与JA 文件的构造方式相似。它的互联网媒体类型是application/vnd.android.package-archive;
一一个个 PK文文件件通通常常包包含含以以下下文文件件::
classes.dex: Dalvik字节码,可被Dalvik虚拟机执行。
AndroidManifest.xml: 一个的Android清单文件,用于描述该应用程序的名字、版本号、所需权限、注册的服务、链接的其他应用程序。该文件使用XML文
件格式。
META-INF 文件夹: 下面有3个文件
MANIFEST.MF: 清单信息
CE T. SA: 保存应用程序的证书和授权信息
CE T.SF: 保存SHA- 1信息资源列表
res: APK所需要的资源文件夹
assets: 不需编译的原始资源文件目录
resources.arsc:编译后的二进制资源文件
lib:库文件目录
所有的文件中需要重点注意的是classes.dex,安卓的执行代码被编译后封装在这个文件中。
Dalvik虚虚拟拟机机与与反反汇汇编编
区别与JAVA虚拟机(JVM),安卓的虚拟机称为Dalvik虚拟机 (DVM)。Java虚拟机运行的是Java字节码,Dalvik虚拟机运行的是Dalvik字节码。Java虚拟机基于
栈架构,Dalvik虚拟机基于寄存 架构。
DVM拥有专属的DEX可执行文件格式和指令集代码。smali和baksmali 则是针对DEX执行文件格式的汇编 和反汇编 ,反汇编后DEX 文件会产生.smali 后
缀的代码文件,smali代码拥有特定的格式与语法,smali语言是对Dalvik 虚拟机字节码的一种解释。
apktool工具是在smali工具的基础上进行封装和改进的,除了对DE
您可能关注的文档
最近下载
- 机动车辆租赁合同.docx VIP
- 形势与政策论文1500(通用3篇).docx VIP
- 2025年教科版(2024)小学科学三年级上册(全册)教学设计(附目录P171).docx
- T∕CECS G:T34-2023 寒区公路隧道设计标准.pdf
- 2014普通铁路质量控制标准和要求.doc VIP
- 2025年新人教版7年级道德与法治上册全册课件.pptx
- 第一单元+第2课《缤纷的世界美术流派》-2025-2026学年人美版(2024)美术新教材八年级上册.pptx VIP
- 江苏省泰州市区县街道社区乡镇村名称统计.pdf VIP
- 行政管理学题库答案.pdf VIP
- 学校食堂采购水果供应协议书.doc VIP
文档评论(0)