课题简介
Android系统是一个开放的系统,任何软件不需要官方认证就可以在设备上运行,加之国内外appMarket良莠不齐,Android的安全问题日益突出。
根据Android安全问题现状的调研分析,可在三个方面形成解决方案,一是终端安全防护软件,二是静态分析应用程序恶意行为,三是动态测试应用行为。
但是,同时,应用程序行为监控的技术需要继续完善,适应新的恶意应用技术的发展变化,同时需要增强自动化测试系统的功能。本文在这种背景下对Android系统机制、应用行为监控技术与自动化测试技术展幵了研究。
同类产品分析
第一个知名产品 :
TraintAndroid (2010)
http://www.appanalysis.org/tdroid10.pdf
主要功能监控android 应用对用户资料的收集。
另一个工具:
Crowdroid
使用系统工具 strace,监控Linux底层系统调用。
缺点是实际上是一款strace 的包装,没有办法监控Android系统操作。
之后比较有名气的产品:
Droidbox,这种方法的基本思想为将待检测应用反汇编后,在需要关注的敏感方法中加入标记信息(一般以日志格式输出),再将应用重新打包后运行。
动态监测软件中的代表Andrubis就是在Droidbox的基础上实现的。
需求分析
1.可以监控android中多数敏感的系统api,
2. 有一个完整的app管理以及自动测试框架
3. 数据收集和分析服务器。 用户也可以独立访问。
额外需求:
1.被监控的系统api调用记录、以及分析服务器的结果接口,都应该以json的格式展示。
2. 用户多数操作应该都可以在终端上独立完成。 不需要连接pc 调用adb等工具。
3. 可以由用户来自定义需要被监控的api
产品架构
Low <==> LowManager <==> LowServer
Low 是整个系统的底层模块,负责收集和解析系统api的调用。
LowManager 本系统的核心管理模块,提供了一个完整的类似于手机软件助手的用户界面
LowServer 服务器端。提供log文件上传、分析结果等功能。
成品介绍
这里可能需要录制一个视频
和DroidBox对比
项目 | Low 系统 | DroidBox |
---|---|---|
配置条件 | 移动端即可以单独使用 | 必须在pc上架设环境 |
用户自定义被hook函数 | 支持 | 不支持 |
App管理以及自动测试 | 有 | 无 |
检验加密使用api行为 | 可以 | 可以 |
记录形式 | 方法参数和返回结果 | 不能查看,只能查看分析后结果 |
分析结果形式 | 甘特图、饼图 | 甘特图 |