论文部分内容阅读
由于Android系统独有的开放性,使得自身易被人们改造利用的同时,也极易受到恶意软件的侵蚀。开发者利用恶意软件可以直接窃取到用户个人隐私、更改系统关键设置,或以恶意软件为媒介间接传播非法敏感信息,这些恶意行为不仅给用户的使用带来不便,更对Android生态安全造成了极大的威胁。基于行为的恶意软件识别方法通过拟合恶意行为的具体特征,并结合现在最为流行的动静态方法进行检测,具有较好的检测效果,也逐渐受到了国内外研究人员的关注。但也存在不足:目前的研究并未根据具体行为来对Android软件进行系统性的划分,对不同恶意行为也缺乏具有针对性的检测方法,导致难以应对日新月异的恶意软件变种。基于此,本文从行为的角度对恶意软件进行了类别的重新划分,并针对不同行为特征设计了对症的恶意软件检测方法,从而能够提高对恶意软件检测的准确率。论文主要工作如下:(1)针对信息窃取、恶意扣费、系统破坏三种一般恶意行为,本文提出了基于深度森林的恶意软件检测模型。模型通过对良性及恶意软件的三种静态特征进行多分类学习,能够对该分类下细化后的三种恶意行为实现较准确的识别及分类。通过实验验证了本文所提模型比随机森林、深度学习两种分类算法更符合对一般恶意行为的检测要求,除对该行为检测的F值达到了更高的0.859外,还降低了参数调节复杂度及大训练样本所造成的算法冗余度。(2)针对有害内容推送行为具有的隐蔽性,本文提出了TF-Bloom检测模型来对软件运行时产生的界面文本进行识别过滤。首先使用Appium软件及内部监听方法对软件运行期间的界面、推送内容进行动态提取,然后通过TF-Bloom模型对文本进行分类。经实验验证TF-Bloom模型在检测效果及时间复杂性上都优于AC自动机及Logistic回归两种常用文本分类方法。(3)针对资源过度消耗行为的持续多变性,本文提出了C-ADB(Confidence-AndroidDebugBridge)检测机制。机制根据用户输入参数调用adb shell来对一段时间内软件运行所产生的资源消耗数据进行实时监控;为了增加检测结果的可靠性,机制还引入了信任度评价指标来对多个时段内软件的信任度迭代计算,进而判断软件是否具有该恶意行为。经测试,C-ADB机制能够实现对软件资源消耗情况的有效监控,并根据信任度的不同来对软件的评价进行动态调整。