论文部分内容阅读
随着移动设备的日益普及,各种各样的移动应用为用户提供了极大的便利,但随之而来的移动应用威胁也使用户面临各种安全风险,例如隐私窃取、恶意扣费等。面对当下数以百万计的移动应用,目前需要考虑的一个重要问题是:如何确保移动应用程序的安全性,特别地,我们希望能够有效检测出一个移动应用中是否包含恶意行。然而,这往往具有很大的挑战性。一方面,为了抵御自动化分析技术的不断发展,攻击者试图通过应用各种规避技术(例如抗分析)来反制各种自动化分析方法,从而尽可能长时间地隐藏和执行恶意应用的恶意行为。这些规避技术大幅提升了恶意应用的复杂性,使得恶意行为更为隐匿,给当前自动化分析检测方法带来了巨大挑战;另一方面,随着恶意应用的不断发展,它们通常伪装成合法的应用程序,并且通过模仿正常的应用行为来达到相应的恶意目的,即看似“正常”的恶意行为。因此,往往需要更多的信息来区分一个移动应用中的恶意行为和正常行为(例如隐私泄露是否合法),这给自动化分析方法和安全分析人员在分析移动应用安全性过程中带来了另外一个挑战。针对上述挑战,本文以Android应用作为研究对象,通过采用多种程序分析技术,提出了三种通用性较强的自动化分析方法来提升当前面向移动应用的恶意行为检测能力。具体来说,(1).为了应对当前移动应用隐私泄露检测方法难以区分其合理性的不足,本文提出了一种基于程序上下文的移动应用隐私泄露合理性鉴别方法PrivacyContext。给定一个隐私泄露数据流,PrivacyContext能够自动化地提取隐私泄露发生过程的程序上下文信息,并通过机器学习分类算法来对其合理性进行高效、准确鉴别,从而能够帮助分析人员快速发现和分析潜在的恶意隐私泄露;(2).为了应对移动恶意应用中普遍使用的各种抗分析技术,本文提出了一种面向移动恶意应用的自动化抗分析检测和反制方法Droid-AntiRM。基于前期的若干发现,Droid-AntiRM采用了符号化数据流分析技术来检测恶意应用中潜在的抗分析,并进一步使用代码插桩来反制这些检测到的抗分析,从而能够有效辅助现有动态分析方法发现更多隐匿的恶意行为;(3).为了进一步提升当前自动化分析方法的有效性和效率,我们提出了一种全新的移动应用混合分析方法DirectDroid。该方法结合了模糊测试和按需强制执行技术,无需大量复杂的约束求解就能够绕过恶意应用中某些复杂的条件检查,从而能够更加高效地触发移动恶意应用中的隐匿敏感行为。实验结果表明,上述本文所提的三个方法不仅可以有效地提升当前移动恶意应用的恶意行为检测效果,而且可以为分析人员的进一步手动分析提供充足的客观依据,具有较强的研究和实用价值。