时间:2024-09-03
◆王骏涛 易叔海
(武汉虹旭信息技术有限责任公司 湖北 430205)
安全模型、算法与编程
基于机器学习算法构建手机恶意软件研判模型的研究
◆王骏涛 易叔海
(武汉虹旭信息技术有限责任公司 湖北 430205)
本文介绍了一种基于机器学习算法构建手机恶意软件特征研判模型的方法,提出了基于恶意软件的行为分析模型,通过特征取样分析,可以实现对恶意软件的特征分析,通过不断完善机器学习算法,提升恶意软件的研判能力。
朴素贝叶斯模型;机器学习;特征分析;恶意软件
恶意软件是指在计算机和移动终端系统上执行恶意任务的病毒、蠕虫和特洛伊木马程序,通过破坏软件进程来实施控制[1]。伴随着手机的大量普及,移动端恶意程序不论是在技术上,还是在链路传播上更加趋向于对个人隐私的收集和财务诈骗。据2016年统计,基于Android系统的恶意程序已经达到了1402.3万个,IOS系统也曝出多个漏洞。面对日新月异的网络安全威胁和恶意软件的快速变种,急需一套恶意特征分析的检测系统,结合安装包文件特征、流量特征、权限特征、行为特征,构建四维立体检测模型,利用机器学习算法,实现对样本的不断分析和学习,提升恶意软件的研判能力,及时为用户提供预警。
自从智能手机的出现,恶意软件就一直在攻防领域展开对抗。当前手机恶意软件的现状如下:
1.1 利用漏洞技术,运行更加隐蔽
随着漏洞挖掘技术的兴起,特别是系统级漏洞的曝光,给不法人员入侵系统提供了快捷的途径。他们以低成本的方式对漏洞加以利用,可以绕过手机的杀毒软件,实现更加隐蔽的底层运行。
其次借助于逆向技术,黑客可以将恶意代码注入到手机合法软件中捆绑运行。这种捆绑式的软件在一定程度上提升了自身的隐蔽性,增加了用户的信任,很容易导致用户的财产损失。
1.2 恶意软件更加侧向个人财务
手机支付在便捷的同时,其安全性问题越来越多。据猎网平台2016年接统计分析,有4265人是通过银行转账、第三方支付、手机充值等方式主动给不法分子转账,占比66.4%;其次,有1132人在虚假钓鱼网站上支付,占比17.6%[2]。更多的恶意软件通过劫持用户操作界面,通过验证短信实现对手机支付和转账操作,给用户带来了巨大的财产损失。
1.3 结合社会工程学诱导用户
社会工程学(Social Engineering)泛指一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等取得利益的手法。黑客的社工手段正是利用前期获取的用户私有信息冒充亲人、政府人员、运营商、银行进行诱骗,特别是通过伪基站诱骗植入恶意软件,从而骗取用户的银行卡或支付宝账号、密码等重要信息,实现进一步诈骗。
1.4 恶意软件传播和感染途径更加广泛
恶意软件的传播从最开始短信和链接感染,逐渐发展为链路上的流量劫持,通过对流量包的伪造,从而植入恶意软件,手段更加隐蔽。在感染方面逐渐由单一系统向多系统演变,跨平台传播恶意安装包会根据接入设备不同,感染不同版本的恶意软件,从而实现了对用户终端设备的远程控制。同时在传播上,木马攻击全平台化方向发展将成为今后的趋势,例如2016年的“Switcher”恶意软件可以实现对家用路由器的攻击实现流量劫持,给手机用户带来致命的安全隐患。
2.1 恶意软件检测现状
当前对样本的检测方法主要有基于特征代码的检测方法和基于行为的检测方法。基于特征代码的检测方法,通过检测文件是否拥有已知样本的特征代码和权限列表来判断其是否为恶意软件。它的优点是检测快速、准确率高、误报率低,但缺点是无法检测未知的恶意代码。基于行为的检测方法,通过分析应用程序的运行权限和操作行为进行综合分析,并将这些行为与已知的恶意行为模式进行匹配,以此判断目标文件是否具备恶意特征。它的优点可以检测未知的恶意变种,缺点是误报率较高。
2.2 恶意软件特征采集和分析
本文将结合安装包的特征、流量特征、权限特征和行为的检测方法,通过动态分析和静态分析,构建一个恶意软件检测模型,实现对恶意软件的判定,主要特征如下:
2.2.1 安装包特征
安装包特征是硬件特征,可通过MD5文件特征比对进行分析判断。对于通过注入技术和捆绑技术实现的恶意软件,木马运行在正常的目标进程中,需要结合MD5值和数据交互IP池比对来辨别软件是否被篡改。
2.2.2 流量特征
基于流量的分析,包括了对流量产生的时间和地点进行分析,同时对样本的流量内容进行还原,进一步获取样本的流量数据。同时通过模拟用户操作手机系统,采集比对正常应用IP池、用户手机锁屏期间频繁交互、周期性请求固定数据、上行流量大于下行流量等特征,判断是否为被注入恶意代码正常软件。借助于逆向技术,还原出目标应用的加密算法,实现对流量的还原,检测是否涉及到用户通讯录、地理位置、短信、通话记录、图片、音视频等敏感私人信息,提供给分析模型进行判断。
2.2.3 权限特征
通过逆向技术对样本进行静态分析,可以获取样本权限特征。通过对权限信息的分析可以检测恶意软件是否申请了敏感隐私权限,包括访问文件、访问摄像头、访问短信、访问通讯录等权限。
2.2.4 行为特征
相对于静态分析,行为检测可以以动态的方式展现样本是否执行了具有威胁性的代码,通过采集对系统的资源访问情况,可以获取到该软件的行为特征。通过动态行为的监控,Hook系统API接口,可记录样本运行行为,最终确定的威胁行为将对比重判断提供更有效的判断模型。
表1 恶意软件特征列表
2.3 朴素贝叶斯模型
朴素贝叶斯分类器(Naive Bayes Classifier,或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率[7]。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。假如我们的分类模型样本是:
,接着得到条件概率分布:
2.4 朴素贝叶斯模型构建
基于以上的特征分析和朴素贝叶斯方法推断,可以实现基于恶意软件特征的模型建模。通过将样本数据统计分析,计算其概率,以表1总结出来的恶意特征作为统计属性,主要步骤如下:
(1)获取200种测试样本,n为获取样本中各权限总数;
(2)从应用市场获取正版应用软件100种,记录为A={<behavior1,size_a1>,...},概率计算公式为:
(3)获取网络曝光的恶意软件100种样本,记录为B={<behavior1,size_b1>,...}
(4)使用NB算法,计算概率,N为权限分类数量:
根据步骤四计算的概率可以计算出样本预测分类,随机选择未参与训练20个样本进行2轮的模型判断,利用以下公式可以得到分析结果:
表2 机器学习模型研判结果
由此可见,样本具有一定判断能力,可以通过更多样本学习不断提升精准度,之后可以完善恶意软件研判模型,提升系统的研判能力。
本文使用的基于特征决策模型,依据恶意软件安装包特征、流量特征、权限特征、行为特征进行深入分析,基于朴素贝叶斯模型构建机器学习模型,实现对恶意软件的研判,取得了一定效果,后期将加强研判样本的自学习,提升研判精度。
[1]百度百科.恶意软件[EB/OL].http://baike.baiducom/i. tem/恶意软件.
[2]MBA智库文档.2016年中国手机安全状况报告[EB/OL].http://doc.mbalib.com/view/14c980ded28e58be974ca2 17c3ed203c.html.
[3]孙润康,展娴,邵玉如等.Android手机安全检测与取证分析系统[J].信息网络安全,2013.
[4]吴大勇,郑紫微.基于Android平台的访问权限机制优化方案[J].计算机工程,2013.
[5]杨广亮,龚晓锐,姚刚等.一个面向Android的隐私泄露检测系统[J].计算机工程,2012.
[6]戴威,郑滔.基于Android权限机制的动态隐私保护模型[J].计算机应用研究,2012.
[7]薛丽娜.基于改进的朴素贝叶斯算法的Android平台安全检测[D].昆明理工大学,2016.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!