天天看点

Android静态安全检测 -> 升级包数据篡改

升级包数据篡改 - getExternalStorageDirectory方法

一、API

1. 继承关系

【1】java.lang.Object

【2】android.os.Environment

2. Environment.getExternalStorageDirectory()

返回:类型(File),外部存储的路径

3. 参考链接

https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()

二、触发条件

1. apk文件类型

【1】对应的特征:application/vnd.android.package-archive

【2】参考链接:

http://blog.csdn.net/heikefangxian23/article/details/38582261

2. apk包存放在外部存储

【1】对应的特征:

         /sdcard

         Landroid/os/Environment;->getExternalStorageDirectory(

三、漏洞原理

【1】软件自动更新时下载的升级包文件放到了外存中,该文件可能会被篡改,导致遭受攻击

【2】参考链接

http://zkread.com/article/955751.html

http://www.peep-squirrel.com/itcontent-2717447.html

四、修复建议

【1】不要把升级包文件放到外存,另外升级包下载完成后要对升级包进行校验,以防文件被篡改

【2】升级包文件可以放在内部缓存目录getCacheDir下

继续阅读