论文部分内容阅读
近些年来,勒索软件陆续出现在以Android系统为代表的移动端,遭受Android勒索软件威胁的用户数量呈现爆发式增长,人们对Android勒索软件的关注达到了空前的高度。Android勒索软件通常伪装成正常软件、游戏外挂、色情应用等形式诱导用户安装,运行后会锁定设备屏幕或加密用户文件,攻击者以此胁迫受害者支付赎金来解锁设备或解密文件,给用户造成了巨大的安全威胁。Android系统中勒索软件的检测和防御成为了移动安全领域亟待解决的问题。为了应对Android勒索软件的威胁,本文提出了一种基于ART编译器修改的Android勒索软件检测与防御方法,通过采用动态分析技术来实时检测和防御应用程序的恶意行为。它克服了静态分析方法的不足,在指令级上监控和分析应用程序的运行行为,并且通过预定的安全策略保护用户的设备不受侵害。与现有技术相比,这种基于Android源码修改的方法无需修改应用程序的签名,方便设备厂商使用,并且可以根据新型勒索软件的特点及时更新特征识别库和安全策略,防止Android勒索软件的大规模入侵,快速高效地解决了Android勒索软件带来的安全威胁问题。具体来说,本文方法通过修改Android dex2oat编译器的源码完成对应用恶意行为的监控。这个过程主要分为三个阶段:第一,在预处理阶段采用静态分析方法过滤绝对信任应用,并检测与勒索相关的威胁文本;第二,在优化编译阶段寻找恶意API方法的指令,在该指令前添加相应的标记和识别策略,生成注入标记指令后的oat文件;第三,在运行检测阶段实时判断应用程序是否触发标记指令,并结合恶意API方法的调用流程和威胁文本相似度等条件来综合判断该应用是否为Android勒索软件,及时提醒用户从而保护设备不受侵害。本文在Android 7.0版本上实现了原型系统,并收集了8个家族的850个Android勒索软件样本来实际评估本系统。功能测试结果表明,原型系统可以有效地识别出Android勒索软件的锁屏或加密行为(对于成功编译的样本,检测准确率达到了100%)。同时,本文通过大量的测试,在应用的运行稳定性、运行性能等方面进一步评估修改编译器对系统产生的影响,测试结果表明,原型系统运行稳定,并且性能损耗较低(应用程序运行开销平均不超过3%)。