郑州大学学报(理学版)  2018, Vol. 50 Issue (3): 27-33  DOI: 10.13705/j.issn.1671-6841.2017296

引用本文  

曹咪, 王继刚, 王伟, 等. 基于静态分析的TVOS恶意应用检测方法研究[J]. 郑州大学学报(理学版), 2018, 50(3): 27-33.
CAO Mi, WANG Jigang, WANG Wei, et al. Vetting TVOS Applications and Detecting Malicious Applications[J]. Journal of Zhengzhou University(Natural Science Edition), 2018, 50(3): 27-33.

基金项目

国家重点研发计划“网络空间安全”重点专项(2017YFB0802805);中兴通讯产学研合作项目(K17L00190);电子信息控制重点实验室基金项目(K16GY00040);国家科技重大专项(2014ZX01039101);中央高校基本科研业务费项目(K17JB00020);上海市信息安全综合管理技术研究重点实验室基金项目(AGK2015002)

通信作者

王伟(1976—),男,湖北英山人,教授,主要从事移动安全、计算机安全、网络安全研究,E-mail:wangwei1@bjtu.edu.cn

作者简介

曹咪(1993—),女,河北邢台人,硕士研究生,主要从事移动安全、网络安全研究,E-mail:cao_mi@163.com

文章历史

收稿日期:2017-09-27
基于静态分析的TVOS恶意应用检测方法研究
曹咪1 , 王继刚2 , 王伟1 , 邵坤1 , 何永忠1     
1. 北京交通大学 智能交通数据安全与隐私保护技术北京市重点实验室 北京 100044;
2. 中兴通讯股份有限公司 技术规划部 江苏 南京 210012
摘要:TVOS是一种新型的智能电视操作系统,针对当前TVOS应用分析相关工作较少,并且缺乏相应TVOS恶意应用检测方法的问题,全面深入分析TVOS应用,并提出有效的TVOS恶意应用检测方法.由于TVOS兼容Android应用,但又具有面向广电行业及媒体融合的特点.首先,基于静态特征深入研究了TVOS应用与Android应用的区别.其次,以TVOS的典型应用市场欢视网为例,分析并检测了欢视网应用市场中3 425个应用.再次,量化分析应用的静态特征,并使用支持向量机、逻辑回归、决策树、随机森林等4种机器学习方法对应用进行检测.最后,深入分析检测结果,讨论了基于静态特征的TVOS恶意应用检测方法的可行性与局限性.实验结果表明,所提出的基于支持向量机的TVOS恶意应用检测方法在误报率为0.54%的条件下,能够有效检测出98.67%的潜在恶意应用.
关键词TVOS    恶意应用检测    静态分析    
Vetting TVOS Applications and Detecting Malicious Applications
CAO Mi1 , WANG Jigang2 , WANG Wei1 , SHAO Kun1 , HE Yongzhong1     
1. Beijing Key Laboratory of Security and Privacy in Intelligent Transportation, Beijing Jiaotong University, Beijing 100044, China;
2. Department of Technical Planning, ZTE Corporation, Nanjing 210012, China
Abstract: TVOS was a newly developed operating system of smart TV. This study aimed to vet TVOS applications and to detect malicious applications. Firstly, the differences between TVOS applications and Android applications were investigated based on static features. Secondly, the applications were all detected in a typical TVOS app market called "HuanShi". Thirdly, features extracted from these applications were analyzed. With these features, malicious applications were detected based on four machine learning methods, namely, support vector machine (SVM), decision tree (DT), random forest (RF), and logistic regression (LR). Finally, the detection results were analyzed, and the feasibility and limitations were thoroughly discussed based on static features. The experimental results showed that the SVM based detection method had detectable rate 98.67% for malicious applications with a false positive rate of 0.54%.
Key words: TVOS    malicious application detection    static analysis    
0 引言

TVOS是我国广电总局科技司组织研发的一款新型智能电视操作系统,目的是实现智能电视操作系统的自主安全,增强广播电视的信息安全管控能力.TVOS与Android相比,具备Android的基本功能,其采用“垫片”机制,实现了对Android应用的兼容.围绕TVOS,可以建立与Android一样的生态系统,由于TVOS中加入了更多的组件,能够支持比Android更丰富的功能,如DTV、DCAS等与数字电视相关的服务,具有面向广电行业及媒体融合的特点.TVOS制定了全局的安全管理框架,采用多种安全技术手段,实现TVOS系统安全的全局防控,形成了硬件安全、软件安全、网络安全、数据安全、应用安全等全方位的安全防护能力[1].智能电视的快速发展激活了应用开发市场,2016年TV端应用分发量比2015年增长了近10倍,与此同时,智能电视平台的恶意软件数量也大幅增长.另外,由于TVOS完全兼容Android应用,针对Android手机的恶意应用也有可能被用来针对智能电视.目前,智能电视应用安全的研究,仍然处于起步阶段,其安全防御水平远远落后于智能手机和桌面计算机,使得智能电视很容易成为网络犯罪分子新的攻击目标.

针对TVOS恶意应用检测的问题,本文进行了深入研究.由于当前TVOS应用商店中的应用多为Android应用,本文主要研究了TVOS上Android应用的恶意应用检测方法.本文以应用的特征为基础,全面分析了TVOS应用与Android应用的差异;提取了TVOS应用的11类特征,并提出了基于支持向量机、逻辑回归、决策树、随机森林的4种TVOS恶意应用检测方法;以真实的欢视网应用市场的所有应用为基础,做了大量的实验,实验结果证明,本文基于支持向量机的恶意应用检测方法效果良好,准确率达到98.67%.

1 基于静态特征的TVOS应用分析与恶意应用检测方法

目前Android恶意应用检测有较多的研究成果,大量企业、研究院和高等院校也进行了更加深入的研究.静态分析是恶意应用检测的重要方法.许多静态特征,如权限[2-8]、意图[9-10]、API调用[11-14]、进程间通信(IPC)[7]、代码语义[12, 15-16]、字符串[17]、组件[18-19]或其中某些特征的组合[20-24]等已被用于恶意应用检测当中.本文在Android恶意应用检测相关研究的基础上,基于静态特征分析TVOS应用并研究TVOS恶意应用检测方法.本文的具体实验方法及过程如图 1所示.

图 1 TVOS应用分析与恶意应用检测方法及过程 Figure 1 The methods and process for vetting TVOS apps and detecting malicious apps

首先,下载并收集实际的TVOS应用和Android应用,提取所有应用的特征并对特征进行量化分析比较;其次,检测并标定TVOS应用,对TVOS应用进行特征提取;再次,量化分析比较TVOS正常应用与恶意应用的特征,并将应用特征转化为特征矩阵,使用支持向量机(SVM)、逻辑回归(LR)、决策树(DT)及随机森林(RF) 4种检测方法对应用进行检测;最后,深入分析检测结果,讨论本文中基于静态特征的TVOS恶意应用检测方法的可行性与局限性.

1.1 TVOS应用标定方法

本实验使用防病毒引擎VirusTotal(https://www.virustotal.com)在线服务对所有应用进行检测,标定正常应用和恶意应用.本文中正常应用和恶意应用的标定方法如下.

定义1  正常应用:检出率 < 1/58,至少有57家防毒软件报告了检测结果,且均未检出任何后门、木马等恶意代码的应用标定为正常应用.

定义2  恶意应用:检出率>30/60,至少有30家防毒软件报告出了恶意检测结果,或检出应用程序中包含后门、木马、勒索欺诈、间谍程序等恶意代码的应用标定为恶意应用,如检出者为Android.Trojan.Slocker、Android.Trojan.Adwo、Android.Exploit.Lootor.D、Android.Riskware.Agent、Andr.Exploit.CVE_2014_7911-1等.

为了保证应用质量,本文对应用进行了两轮筛选,两轮均满足正常应用标定要求的应用标定为正常应用,均满足恶意应用标定要求的应用标定为恶意应用,两轮筛选分别于2016年11—12月和2017年2—3月进行.

1.2 特征提取及特征分析

本文提取了所有应用的11种静态特征,分别为:Permissions、Filtered Intents、Restricted API Calls、Components、Code Related Features、Payload Information、Certificate Information、Strings、Used Permissions、Hardwares及Suspicious API Calls[20-22],并对欢视网(http://app.tvhuan.com)的所有3 425个TVOS应用与55 819个Android应用的每种特征进行了量化分析.同时也对TVOS应用和Android应用做了分类比较,分别为游戏应用和影视应用,用来发现特征在类别上的差异.本文也对TVOS应用的11种静态特征进行了进一步的分析,对TVOS正常应用和恶意应用的特征进行了比较.比较结果将在2.2节进行详细介绍.

1.3 检测方法

本文基于TVOS应用的特征,使用支持向量机、逻辑回归、决策树及随机森林4种检测方法对TVOS应用进行检测.

支持向量机是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,支持向量机在解决小样本、非线性及高维模式识别中有许多特有的优势,可以分析数据,识别模式,用于分类和回归分析.

逻辑回归是一种通过历史数据的表现对未来结果发生的概率进行预测的分类方法.对于分类问题,首先建立代价函数,通过优化方法迭代求解出最优的模型参数,然后测试验证求解模型的好坏,可用于各种分类判别和预测.

决策树算法是一种逼近离散函数值的方法.首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策树对新数据进行分析.决策树是一个预测模型,代表对象属性与对象值之间的一种映射关系,用于数据分析和预测.

随机森林是一个包含多个决策树的分类器,其输出的类别由个别树输出的类别的众数而定.随机森林算法较好地解决了单分类器在性能上无法提升的瓶颈,具有较好的性能,能应用于各种分类筛选和预测.

2 实验及结果分析 2.1 实验数据集

本实验共下载收集了62 235个应用,其中包含6 416个智能电视应用和55 819个Android手机应用(分别收集于2016年2—12月及2017年4—6月),所下载应用的详细来源及数量情况如表 1所示.

表 1 实验所下载应用来源及数量情况 Table 1 The number of apps in our study

本文以TVOS的典型应用市场欢视网应用市场为例,下载了欢视网应用市场中的所有应用作为TVOS应用,欢视网应用市场是欢网科技的官方应用市场,欢网科技是目前国内最大的智能电视服务商,河南省广电、江苏省广电、新疆维吾尔自治区广电、秦皇岛广电、歌华有线、陕西省广电等多家广电与欢网科技合作共建TVOS应用商店,欢视网应用市场中的部分智能电视应用已经运行于TVOS系统之上,欢视网应用市场对TVOS应用商店具有很强的代表性.H.TV(http://www.htvmarket.com/webMain.isp)是专门散布包含ANDROIDOS_ROOTSTV.A等恶意程序的智能电视应用市场,本文下载了H.TV应用市场中的所有应用,用于发现并收集智能电视恶意应用.当贝市场(http://down.znds.com)是具有代表性的Android智能电视应用市场,由于TVOS系统完全兼容Android应用,故当贝市场的所有应用均适用于TVOS,本文下载并检测了当贝市场中的所有应用,使用其中的部分恶意应用评估本文恶意应用检测方法的有效性.通过GitHub(http://github.com)搜索收集了21个智能电视勒索软件样本,也作为本文的恶意应用样本.安智市场(http://www.anzhi.com)是国内最专业的Android手机应用市场,具有海量的Android手机应用,本文将安智市场所有类别的1/4应用用于实验(本文所述Android应用均表示Android手机应用).实验所用应用涵盖了以上各个应用市场所有类别的应用,保证了应用的全面可靠.

本文将欢视网应用市场的3 425个应用与安智市场的55 819个应用进行了特征的比较,使用1 438个应用进行恶意应用检测方法的研究.1 438个应用中正常应用的数量为1 288个.恶意应用的数量为150个,分别来源于欢视网应用市场(84个)、H.TV应用市场(14个)、当贝市场(31个)及GitHub网站(21个).所有正常应用和恶意应用均符合相应的标定要求.

2.2 特征对比及结果分析

本文对应用特征进行了大量的分析和比较,实验发现TVOS应用和Android应用在多个方面存在差异.不同类别的应用所占应用市场的数量比例差异较大,相同类别应用的特征也存在不同程度的差异.

由于智能电视和智能手机在使用环境及使用人群上的侧重点有所不同,比如智能电视多固定在家庭、办公区等场所,智能手机多为随身携带,智能电视多针对家庭使用,而手机多针对个人使用等,导致智能电视和智能手机对不同类别的应用有不同程度的需求,所以智能电视应用和智能手机应用在各个类别上的比例差异较大.图 2显示了欢视网应用市场与安智市场不同类别的应用所占市场比例的对比情况.

图 2 不同类别应用所占比例情况 Figure 2 The ratio of different application categories between TVOS and Android

由于智能电视和智能手机在功能和交互方式上的侧重点有所不同,比如智能电视侧重于家庭共享,智能手机更侧重于人机交互,智能电视多用遥控器或游戏手柄进行操作,而智能手机多使用触屏操作,使得即使是相同类别的应用在相同特征上的使用频率和数量也存在差异,对于不同的类别,差异情况也有所不同.本文对游戏类别的应用和影视类别的应用做了特征的详细分析和对比,图 3图 4分别显示了游戏应用和影视应用在9种特征上的对比情况,由图 3图 4可以看出,游戏类别的应用特征差异较为明显.图 5以游戏应用的Hardwares特征为例,显示了TVOS智能电视应用与Android手机应用在具体特征上细化的差异.

图 3 游戏应用特征对比情况 Figure 3 The number of features on game apps

图 4 影视应用特征对比情况 Figure 4 The number of features on video apps

图 5 游戏应用Hardwares特征使用情况 Figure 5 Occurrence percentage of Hardwares features of game category in TVOS apps and Android apps

另外,本文也对TVOS正常应用和恶意应用进行了特征分析和特征对比.总的来说,正常应用和恶意应用所请求的特征数量和具体类型均存在差异,恶意应用对特定的特征集的请求率普遍较高,并且存在一些特征是恶意应用所特有的,这些特征集有利于我们区分特征明显的正常应用和恶意应用.通过大量的对比分析,本文选取Permissions、Restricted API Calls、Components、Code Related Features、Strings、Used Permissions、Hardwares、Suspicious API Calls 8种特征用于恶意应用检测,相较于DREBIN中使用的特征,本文去掉了Filtered Intents特征,加上了Code Related Features特征,实验结果表明,本文的方法对于TVOS恶意应用检测更为有效,恶意应用与正常应用的Code Related Features对比情况如图 6所示.

图 6 TVOS应用Code Related Features特征使用情况 Figure 6 Occurrence percentage of Code Related Features in TVOS benign apps and malware apps
2.3 检测结果及分析

本文基于4种检测方法对TVOS应用进行了检测,表 2显示了4种方法的检测结果.由表 2可以看出,基于SVM的检测方法的准确率最高,在FPR为0.54%的情况下准确率达到98.67%,相比DREBIN的检测效果更好.SVM、LR、DT、RF 4种检测方法的AUC值分别为99.88%、99.76%、99.80%、99.58%,SVM检测方法的AUC最高,结合准确率和AUC可知,基于SVM的TVOS恶意应用检测方法的效果最好.为公平比较4种检测方法,本文的检测结果均来自10重交叉验证.下面分析讨论实验方法的可行性与局限性.

表 2 4种检测方法及与DREBIN对比的检测结果 Table 2 Comparison of detection result with four methods and DREBIN

方法的可行性.首先,本文选取具有代表性的欢视网应用市场的所有应用进行实验,保证应用的丰富性和可靠性.通过对应用进行两轮高标准的筛选,保证应用分类的准确性和可靠性.其次,通过TVOS恶意应用与正常应用的特征统计情况,可以发现恶意应用和正常应用对相同类型不同特征的请求,情况差异明显,对不同类型不同特征的请求,情况差异更大,使用上述8类静态特征对应用进行建模分析,可以有效区分特征明显的正常应用和恶意应用.最后,使用4种检测方法对TVOS应用进行检测,基于SVM的检测方法准确率达到98.67%,实验结果证明,本文的恶意应用检测方法可行有效,效果良好.

方法的局限性.首先,存在一些恶意应用并不需要太多的特征请求即可实施恶意行为,由此检测到的恶意应用的特征与正常应用并无太大差别,从而影响检测精度.据实验统计结果发现,恶意应用各类特征的平均请求数量均高于正常应用.如果实验中恶意应用请求的特征数量明显低于正常应用请求的平均特征数量,在这种情况下,检测方法不能产生稳定的结果,就会导致漏报恶意应用.其次,一些正常应用在开发过程中被加入了过多的请求,有些请求并不真正需要或者并不被真正使用,导致从这些正常应用提取出的特征数量超过正常应用的一般水平,从而影响检测精度.另外,恶意应用检测所使用的TVOS应用特征总量为41 381个,而实验中使用的所有应用的平均特征数量为180个,41 381维特征向量十分稀疏,而且实验所用的特征向量为布尔类型,使得稀疏矩阵向量不足以全面描述应用程序的行为,这也增加了恶意应用检测的难度.

3 总结

本文通过分析比较TVOS应用和Android应用,发现TVOS应用和Android应用的各种特征在数量和类别上均存在一定程度的差异,研究有效针对TVOS的恶意应用检测方法,有助于更大程度保障TVOS应用商店中应用的安全.通过使用4种检测方法对TVOS应用进行检测,实验结果表明,本文基于SVM的恶意应用检测方法在误报率为0.54%的条件下,能够有效检测出98.67%的潜在恶意应用.

随着广电总局对TVOS智能电视操作系统的大力推进,TVOS恶意应用检测方法的研究将成为TVOS推进中的重要一环.随着恶意应用的日益复杂化和多态化,下一步我们还将提取更多的有效特征和方法来提高恶意应用的检测准确率.

参考文献
[1]
陈德林, 黎政, 王颖, 等. NGB TVOS的软件架构及其主要技术特点[J]. 广播电视信息, 2013(10): 21-25. DOI:10.3969/j.issn.1007-1997.2013.10.003 (0)
[2]
WANG W, WANG X, FENG D, et al. Exploring permission-induced risk in Android applications for malicious application detection[J]. IEEE transactions on information forensics and security, 2014, 9(11): 1869-1882. DOI:10.1109/TIFS.2014.2353996 (0)
[3]
BARRERA D, KAYACIK H G, OORSCHOT P C, et al. A methodology for empirical analysis of permission-based security models and its application to Android[C]// Proceedings of the 17th ACM Conference on Computer and Communications Security. Chicago, 2010: 73-84. (0)
[4]
CERBO F D, GIRARDELLO A, MICHAHELLES F, et al. Detection of malicious applications on Android OS[C]// International Workshop on Computational Forensics. Berlin, 2010: 138-149. (0)
[5]
FAN M, LIU J, WANG W, et al. DAPASA: detecting Android piggybacked apps through sensitive subgraph analysis[J]. IEEE transactions on information forensics and security, 2017, 12(8): 1772-1785. DOI:10.1109/TIFS.2017.2687880 (0)
[6]
PENG H, GATES C, SARMA B, et al. Using probabilistic generative models for ranking risks of Android apps[C]// Proceedings of the 2012 ACM Conference on Computer and Communications Security. Raleigh, 2012: 241-252. (0)
[7]
ENCK W, ONGTANG M, MCDANIEL P. On lightweight mobile phone application certification[C]// Proceedings of the 16th ACM Conference on Computer and Communications Security. Chicago, 2009: 235-245. (0)
[8]
VIDAS T, CHRISTIN N. Evading android runtime analysis via sandbox detection[C]// Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security. Kyoto, 2014: 447-458. (0)
[9]
FEIZOLLAH A, ANUAR N B, SALLEH R, et al. Androdialysis: analysis of Android intent effectiveness in malware detection[J]. Computers and security, 2017, 65(14): 121-134. (0)
[10]
IDREES F, RAJARAJAN M, CONTI M, et al. PIndroid: a novel Android malware detection system using ensemble learning methods[J]. Computers and security, 2017, 68(11): 36-46. (0)
[11]
WU S, WANG P, LI X, et al. Effective detection of android malware based on the usage of data flow APIs and machine learning[J]. Information and software technology, 2016, 75(9): 17-25. (0)
[12]
ZHANG M, DUAN Y, YIN H, et al. Semantics-aware Android malware classification using weighted contextual API dependency graphs[C]// Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. Scottsdale, 2014: 1105-1116. (0)
[13]
LIU X, LIU J, WANG W, et al. Discovering and understanding Android sensor usage behaviors with data flow analysis[J]. World wide web and web information systems, 2017(11): 1-22. (0)
[14]
HU W, TAO J, MA X, et al. MIGDroid: detecting app-repackaging Android malware via method invocation graph[C]// International Conference on Computer Communication and Networks. Shanghai, 2014: 1-7. (0)
[15]
YANG W, XIAO X, ANDOW B, et al. Appcontext: differentiating malicious and benign mobile app behaviors using context[C]//IEEE/ACM 37th IEEE International Conference on Software Engineering. Florence, 2015, 1: 303-313. (0)
[16]
CHEN K Z, JOHNSON N, DAI S, et al. Contextual policy enforcement in Android applications with permission event graphs[J]. Heredity, 2013, 110(6): 586. DOI:10.1038/hdy.2013.9 (0)
[17]
LI D, LYU Y, WAN M, et al. String analysis for Java and Android applications[C]//Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. Bergamo, 2015: 661-672. (0)
[18]
WEI F, ROY S, OU X. Amandroid: a precise and general inter-component data flow analysis framework for security vetting of android apps[C]//Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. Scottsdale, 2014: 1329-1341. (0)
[19]
LU L, LI Z, WU Z, et al. Chex: statically vetting Android apps for component hijacking vulnerabilities[C]//Proceedings of the ACM Conference on Computer and Communications Security. Raleigh, 2012: 229-240. (0)
[20]
ARP D, SPREITZENBARTH M, HUBNER M, et al. DREBIN: effective and explainable detection of Android malware in your pocket[C]//Network and Distributed System Security Symposium. San Diego, 2014. (0)
[21]
WANG X, WANG W, HE Y Z, et al. Characterizing Android apps′ behavior for effective detection of malapps at large scale[J]. Future generation computer systems, 2017, 75: 30-45. DOI:10.1016/j.future.2017.04.041 (0)
[22]
WANG W, LI Y Y, WANG X, et al. Detecting Android malicious apps and categorizing benign apps with ensemble of classifiers[J]. Future generation computer systems, 2018, 78(3): 987-994. (0)
[23]
SU D, WANG W, WANG X, et al. Anomadroid: profiling Android applications′ behaviors for identifying unknown malapps[C]//Trustcom/BigDataSE/ISPA. Tianjin, 2016: 691-698. (0)
[24]
杨晓晖, 常思远, 江丽军, 等. 基于可信第三方的Android应用完整性验证模型[J]. 郑州大学学报(理学版), 2015, 47(2): 59-67. (0)