论文部分内容阅读
随着智能手机不断融入于人们生活的各个方面,用户的各种敏感数据也被保存在了手机上,如邮件内容、医疗健康、账户密码等。一般情况下,Android系统的安全机制可以确保这些敏感数据的安全。但是,近来的研究表明,攻击者甚至在没有利用漏洞的情况下,可通过应用程序运行过程中暴露的边信道信息,推断出用户的隐私信息。在这种基于应用程序边信道信息的攻击方式中,恶意应用通常在后台静默的运行,并不断收集前台应用的进程相关信息,进而直接或间接地偷取用户的隐私信息。诸如此类的进程信息泄露已经严重的威胁到Android用户的安全。因此,Android应用边信道攻击问题具有重要的实际意义。本文针对Android应用边信道安全问题进行了两方面的研究:一方面,针对应用程序运行时所暴露进程状态信息提出了一种基于边信道的Activity推断攻击方法,该方法的提出进一步暴露了应用程序边信道威胁的重要性,为基于GUI的攻击问题提出了新的方案;另一方面,针对Android应用边信道所引起的攻击问题,提出了一种通用的防护方案。基于边信道的Activity推断攻击方法的提出,揭露了攻击者可以利用应用程序运行状态信息,有效地推断出前台应用程序的行为活动,提升了攻击的隐蔽性。首先,通过对Android应用程序的窗口活动事件与共享内存边信道信息的分析,发现前台应用Activity的改变会造成系统对共享内存的分配和回收。其次,通过对Activity转换过程中,应用程序进程的其它边信道信息变化分析,提出了使用网络数据流量、内存占用、CPU使用时间来标记Activity签名。然后,在前两步的分析基础上,利用共享内存的变化来推断是否发生Activity转换活动。最后,利用标记Activity的边信道信息建立Activity签名数据库,推断出前台应用程序的Activity。对于边信道攻击防护,主要根据边信道攻击中恶意应用程序的进程状态和行为活动,提出一种抵御边信道攻击的通用方案。首先,通过恶意应用程序使用CPU的时间和调度CPU的频率来确定后台可疑的应用程序。其次,根据不同类型的应用程序,提供策略设置模块,用户可以根据安全需求进一步缩小后台可疑应用程序的范围。最后,对前台应用程序相关Activity重启,增加前台应用进程态信息的不确定性,扰乱后台恶意应用收集前台应用进程信息的准确性,从而抵御Android应用边信道攻击。