论文部分内容阅读
大量Android APP的出现,给人们的学习和生活提供了便利的同时也带来了极大的移动安全问题。随着移动学习理念的深入人心,移动学习APP被广泛使用。但是移动学习APP容易遭受到恶意代码的攻击,同时移动学习越来越低龄化和普遍,学生缺乏安全防范意识和自控力,会导致学生面临信息、资源泄露,甚至网络欺骗和不良诱导等伤害。因此需要重视移动学习APP恶意代码检测。而且由于Android手机应用市场的低门槛、低限制,恶意代码的数量日益增大,变种也不断丰富,反检测手段也不断增强,给恶意代码检测带来了巨大的挑战。因此急需一系列更加高效的恶意代码检测技术。本文分析了 Android恶意代码检测方面的国内外研究现状,归纳了传统的恶意代码检测方法存在的问题:不能适应海量样本、不能发现未知恶意代码。同时对基于图的恶意检测算法进行了研究,发现利用图进行恶意检测效率高。因此针对传统恶意代码检测方法存在的问题,提出了一种基于样本关系图模型的恶意代码检测方法。本文主要做了以下几方面的工作:首先,提出了一种基于代码相似度的代码关系模型。通过多种算法的比较分析,选择Simhash算法求代码的文本相似度,Sift算法求图标相似度,编辑距离求敏感字符串相似度,来综合表征代码的相似度,利用图结构,以代码为节点,以相似度为节点之间的权重,把代码关系模型化。然后,利用代码关系模型,提出了一种基于图的恶意代码检测算法。基于代码相似度图模型,结合标签传播算法,利用代码和代码之间的关联,通过代码与邻居代码之间的恶意性传递,不断迭代,进行恶意代码检测。实验表明算法准确率高且运行时间呈线性,能适应海量的代码样本,是一种高效的检测技术。最后,基于上面的算法,设计并实现一个基于图的恶意代码检测系统。基于相似度进行代码关系建模,利用图数据库Titan存储,利用标签传播算法进行恶意代码检测,并利用前端可视化技术展示样本之间的关联关系。通过测试表明基于图的恶意代码检测系统能发现未知的恶意代码。本文提出的基于图的恶意代码检测算法,准确率高,能一定程度上解决目前恶意代码检测方法存在的问题,改变了传统的检测模式,能检测未知恶意样本,且适应海量样本。本文下一步打算把更多的代码特征考虑进来。