论文部分内容阅读
随着基于Android系统智能手机的日益普及,特别是伴随着3G网络的普及以及4G业务的高速发展,智能手机已经取代了部分电脑的功能逐步融入了人们的生活。当前智能手机已经具备了银行支付以及购物和社交等涉及用户隐私的功能,这使得各种以谋取利益为目的,盗窃用户隐私信息甚至是资金的恶意软件日益增多。然而由于Android系统的开源特性使得其安全问题更为突出,Android平台的恶意软件已经越来越成为当前影响智能手机安全的主要因素。本文在充分研究恶意软件行为特征以及当前恶意软件检测方法的基础上,提出了基于隐Markov模型的Android系统恶意行为检测方法。在检测的方式上选择了以软件行为作为检测要素的动态检测方法,避免了需要不断更新恶意代码库的繁琐,同时也可以对未知的恶意软件进行检测。在检测内容上本文的研究注重于短信、电话、网络、位置信息这样对用户隐私构成一定危害的关键功能。检测模型采用了基于隐Markov模型,利用其评估的方法实现对恶意软件的判断。同时利用隐Markov模型良好的学习能力,实现了机器自主学习的功能。通过不断的学习用户使用习惯来提高对恶意软件判断的准确性,当出现区别于用户习惯的行为就可以通过经过学习的判断参数来判断其是否是恶意行为。在实现检测方法中,本文建立了以用户判断为基础的检测模型。在模型参数选择时,为了体现用户使用习惯。在平衡对恶意行为检测的效率和对系统资源的占用这两个因素的前提下,本文选取了若干能够反映用户使用习惯的行为参数来建立模型。考虑到智能手机硬件配置的局限性,为了降低对系统资源的占用率,实现轻量级的恶意行为检测软件。首先模型的参数不需要通过第三方的分析软件来获得,仅借助于Android系统自身的广播机制和优良的框架层监控体系来实现参数的获取。其次基于Android系统的广播机制来实现软件行为获取,实现了系统不用常驻后台运行,只有收到相关广播时才启动。在判断模型中,除了系统自动判断还加入了用户的判断。通过设立黑白名单,不仅提高了在判断恶意行为时的效率也提高了检测方法的灵活性,同时还降低了对系统资源的占用率。在测试中本文使用了正常短信软件与可以后台发送指定短信的恶意程序进行对比。通过测试系统能够识别出区别于用户使用习惯的恶意行为,达到了预期的效果。