- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android恶意软件检测方法研究.doc
Android恶意软件检测方法研究
摘要:Android已成为当今最热门的移动终端平台,其开放性的特点使得针对它的恶意软件层出不穷。该文针对恶意软件的行为进行动态分析,提出了一种基于监控敏感API调用的恶意软件检测算法。该算法用卡方检验筛选出权值高、作用不重叠的敏感API,最后使用K-means算法做机器学习,识别出与样本库相似的恶意软件,该方法能够有效识别恶意软件,标注出其恶意行为。
关键词:Android;恶意软件;敏感API
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)03-0086-02
近几年来,Android平台日益严重的安全问题,使得恶意软件研究成为当务之急。Android恶意代码分析研究目前主要有两种方法,即静态分析和动态检测。静态分析是指通过分析程序代码来判断程序行为 [1]。动态分析是指在严格控制的环境下执行应用程序,尽可能的触发软件的全部行为并记录,以检测应用程序是否包含恶意行为[2]。本文提出的全面检测软件运行时信息的Android恶意软件检测方案就是基于动态分析的基础上,利用敏感API的触发来判断应用程序的行为。据此开发了一个恶意程序检测系统,对系统的检测效果进行评估和验证。
1敏感API
通常,恶意软件在运行时需要调用特定的API来完成,如隐私窃取型恶意软件需要访问通讯录API,恶意计费型恶意软件需要调用发送短信API,这些API是敏感API[3]。在恶意软件动态分析中,需要用到程序运行时的API调用日志,而Android系统的日志仅提供了有限信息。因此通过dalvik注入的方式在Android源码中hook这些敏感API,使得恶意软件调用这些敏感API时能及时得到调用日志。
敏感API来源于对已知恶意软件分析的经验,以及对已知恶意软件和已知正常软件API统计的差异[4]。最终选定了可以用来收发短信、删除短信、拨打电话、删除通话记录、开启网络、执行shell脚本等功能的API。部分修改敏感API如表1所示。
2 检测方法的设计与实现
恶意软件检测系统功能包括:1)综合信息采集;2)数据预处理;3)数据分析。综合信息采集的目标是获取敏感API调用信息及全面获取程序的其它静、动态信息,以便于人工分析经过数据处理后仍然可疑的应用程序。数据预处理指的是用卡方检验算法对敏感API调用序列做滤波处理,以得到一个更加独立的敏感API调用特征值集合。经过数据预处理后,数据分析模块应用机器学习算法学习分类规则,学习完成后识别未知应用程序。
2.1综合信息采集
分析系统采用自动化设计,用户将目标应用程序导入系统后,系统将应用程序自动安装到分析模拟机上,并运行,分析系统记录下APK运行过程中对系统文件、网络、短信、通讯录、电话、日历、定位、录音的访问记录,以及系统是否有执行进程、注入、拍照等获取手机隐私信息的行为,并将应用程序触发的敏感API序列记录在数据库中。本系统为全自动化运行,分析模拟系统会自动模拟拨打电话、接听电话、收发短信、模拟按键、位置变化等真实的手机行为,应用程序会根据这些行为自动做出响应。部分综合信息如表2所示。
2.2用卡方检验预处理数据
数据采集模块得到的敏感API调用序列数据量很大,且有大量重复冗余调用。系统一共标记了183处敏感API,运行过程中会调用大部分的API。在获得的敏感API序列中,有些API单独触发对于检测软件是否安全的意义不大,并且很多敏感API在功能上有相似性,如Location类的getLatitude方法和getLongitude方法被应用程序触发后都表示程序正在获取手机位置信息等[5]。因此,可以使用卡方检验算法对样本库的API调用序列进行滤波,筛选掉上述类型的敏感API,以减少分析计算的工作量。卡方检验的公式表示如下:
2.3基于K-means算法的数据分析
经过上一步的去冗余等处理,将敏感API调用集合变成了含有敏感API、调用频数的二维表形式[6]。用K-means算法对各二维表进行学习计算。K-means算法是一种聚类算法,它以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇之间的相似度较低。算法的处理过程为:首先随机选取k个对象作为初始的k个簇的质心;然后将剩余对象根据其与各个簇的质心的距离分配到最近的簇;最后重新计算各个簇的质心。不断地重复此过程,直到目标函数最小为止。簇的质心公式如下:
每个Android应用程序的敏感API调用数据,都会被分成2种:正常的或含有恶意的,分别组成正常调用向量和恶意调用向量。实验中选择分两类即k=2,分类结果出来后,可以对照样本实际分类的情况,调整属性的数量,以及权重分配的方法。完成
您可能关注的文档
- 0.4kV低压电网无功补偿方式和.doc
- 10 kV电网PLC故障自动隔离系统研究.doc
- 10%多效唑粉剂在杂交中稻广两优5号生产上的应用效果研究.doc
- 1000MW超超临界机组给水控制系统优化分析.doc
- 100kW发射机调频发射系统的设计实践探究.doc
- 10kV电缆线路运行维护及管理建议之研究.doc
- 10kV电缆配电线路的相关设计内容分析.doc
- 10kV配电变压器防雷措施探讨.doc
- 10kV配电网中配电线路故障自动定位与隔离技术应用探析.doc
- 10kV配网自动化设计和施工的要点分析.doc
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
文档评论(0)