论文部分内容阅读
随着移动互联网的快速发展,移动平台的安全问题日益严重,尤其是近年来智能手机平台恶意软件的爆发式增长,使得如何保证移动平台数据的隐私性和完整性成为了当前安全研究的重点之一。同时,由于移动设备受限于计算资源、存储资源、电池容量等因素的制约,且移动平台的恶意应用又有各自的特点,导致传统桌面系统的安全解决方案不能直接应用于移动平台。这些都为移动计算平台的数据安全保护提出了巨大的挑战。本文的工作基于本实验室开发的ReDroid系统。ReDroid是一个基于Android操作系统的轻量级记录重放系统,可在用户使用设备时记录下不可信应用对手机数据的修改行为,当用户发现自己的重要数据被破坏时,可以选择重新安装一份同样的未受感染的应用,并由ReDroid系统进行重放。ReDroid可进行选择性重放,忽略被感染的应用中恶意代码部分对数据的修改,保留正常代码部分的数据改动,从而使得用户在移除恶意应用后,能恢复该应用的正常部分所产生和改动的数据。在本文的研究工作之前,ReDroid系统已经支持了对数据文件操作的记录和选择性重放机制。然而现有机制只能实现粗粒度的数据恢复,无法用于存在数据依赖的情况,也不支持对同一应用不同性质行为的区分。为了弥补这些缺陷,本文为ReDroid系统设计了一种基于移动平台事件的记录、重放机制。该机制记录的事件分为用户事件(如触屏、按键等)和系统底层事件(如随机数、时钟值等);对于前者,本文结合Android系统树状视图的特性,设计了一种快速判断界面状态的方法,通过界面状态注入事件进行重放;对于后者,本文设计了一种支持多线程的事件记录和重放机制,使应用的所有线程在重放时均可获得与记录时一致的底层数据。在此基础上,本文进一步将基于事件的记录和重放机制与ReDroid原有的数据库重放机制进行融合,设计了结合两者优点的混合重放机制,在保证重放准确性的同时提高了重放效率本文对改进后的ReDroid系统进行了一系列的量化和用户体验测试,测试结果表明,改进后的ReDroid系统对移动平台产生的计算开销、空间占用、电池消耗均可以接受,同时几乎不会产生界面延迟等影响用户体验的问题。