【技术】APP安全评估基础篇——敏感数据暴露

  • A+
所属分类:移动安全

【技术】APP安全评估基础篇——敏感数据暴露

随着科技的发展,现在移动APP的功能也越来越多、越来越强大。各种各样智能APP为我们工作和生活带来便捷的同时也存在着很多安全性风险。小编特别邀请我们赛博团队信息安全赛博南大神,为大家带来APP安全评估系列技术干货~本系列涵盖多个专题,今天就与大家分享专题一:APP安全评估系列之敏感数据暴露



【技术】APP安全评估基础篇——敏感数据暴露


(1)

明文传输用户名、密码和验证码等敏感信息

** 整改优先级:高 **

问题描述:

用户登录过程中,在与服务器端交互时明文传输用户名、密码或者验证码等,可导致用户敏感信息泄露。
检查方法和步骤:
1.  对模拟器进行设置:从Setting开始设置依次选择more —Mobile networks —Access Point Names—TelKila —Proxy:修改IP地址为虚拟机的IP地址。

【技术】APP安全评估基础篇——敏感数据暴露



【技术】APP安全评估基础篇——敏感数据暴露

【技术】APP安全评估基础篇——敏感数据暴露

【技术】APP安全评估基础篇——敏感数据暴露

【技术】APP安全评估基础篇——敏感数据暴露


2. BurpSuite设置:

在Proxy选项页里的Options中进行设置,在Proxy Listeners中增加虚拟机IP地址的8080端口

【技术】APP安全评估基础篇——敏感数据暴露


3. 利用BurpSuite对被测应用进行监听:

确保Burp Suite上的“intercept is on(监听是打开的)”,然后点击登陆。登陆请求将被Burp Suite监听拦截到

【技术】APP安全评估基础篇——敏感数据暴露

检查工具:

BurpSuite等抓包分析工具
整改建议:

在被测应用与服务器交互过程中,对用户名、密码和验证码等敏感信息进行加密传输。


(2)

不安全的本地存储

 ** 整改优先级:高 **

问题描述:

安卓开发者使用多种方法将数据存储在安卓应用中,而存储在本地的数据文件如果未加密,易造成敏感信息泄漏。
检查方法和步骤:
1. Shared Preferences是用key-value来存储私有的原始数据的xml文件:

数据类型有布尔型,浮点型,整形,长整型和字符串。
通常情况下存储的路径为:

【技术】APP安全评估基础篇——敏感数据暴露直接打开查看是否有敏感数据。


2. SQLite数据库是轻量级基于文件的数据库:

这些文件通常以db或者sqlite结尾。安卓默认提供了大量SQLite支持。
应用的数据库一般存储在下面的地方:

【技术】APP安全评估基础篇——敏感数据暴露

可以使用SQLite数据库直接打开查看是否有敏感数据。


3. 检查SD卡目录中是否存在敏感数据
检查工具:SQLite数据库
整改建议:对存储在本地的数据文件进行加密


(3)

泄漏后台服务器地址,导致服务器可控

 ** 整改优先级:高 **

问题描述:

在使用BurpSuite等工具对应用进行监听的过程中,发现后台服务器地址。对后台服务器进行测试,若后台服务器存在漏洞,则可控制后台服务器。
检查方法和步骤:
1. 利用BurpSuite对被测应用进行监听。确保Burp Suite上的“intercept is on(监听是打开的)”。对监听到的数据包进行查看,是否有后台服务器地址。
2.如果发现后台服务器地址,则对其进行安全测试,检查其是否存在SQL注入、struts2等后台服务器漏洞。
检查工具:

BurpSuite、SQL注入检查工具、struts2漏洞检查工具
整改建议

对后台服务器进行安全加固, 后台服务器需要按照中国移动相关安全规定进行配置,注意口令强度,后台配置页面原则上不能由公网随意访问等


(4)

边信道信息泄漏

**整改优先级:中**

问题描述:

当APP处理用户或其它数据源输入的数据时,可能会把数据放在不安全的位置,容易导致边信道被攻击者利用造成信息泄露。
检查方法和步骤:
1. Android提供的日志功能是一个会造成信息泄露的地方,日志一般是开发者在开发期间调试使用的。查看日志的方式有两种:
a. 使用Eclipse:在Logcat选项卡中看到应用运行期间输出的所有日志信息,其中可能就会有一些敏感信息。

【技术】APP安全评估基础篇——敏感数据暴露

b. 使用adb:使用命令# adb logcat在终端中打印出所有的日志。通过logcat的选项来过滤感兴趣的内容。或者通过命令#adb logcat > output.txt,将日志保存到电脑本地,以便后期进一步分析。

【技术】APP安全评估基础篇——敏感数据暴露

【技术】APP安全评估基础篇——敏感数据暴露URL缓存和浏览器Cookie对象:

基于web的应用程序会产生URL,cookie和缓存等泄露,允许攻击者劫持用户的会话。这样的缓存可能存在日志,流量历史,浏览缓存等多种形式。使用命令#adb logcat|grep “cookie”可以从logcat的输出中过滤出诸如cookies等敏感信息。
检查工具:

Eclipse、ADB

整改建议:

a. 在日志中对于密码等敏感信息进行加密存储。

b. 对敏感信息的缓存进行加密。

看完赛博南大神的分享是不是对于APP安全评估有了新的见解呢~若您还觉得意犹未尽,我们还为您准备了APP安全评估系列之鉴权机制缺陷、钓鱼劫持风险等专题,我们将在近期通过赛博星人公众号推出,请持续关注我们呦~


小编/赛博南,赛博克里斯,赛博慧

【技术】APP安全评估基础篇——敏感数据暴露

本文始发于微信公众号(赛博星人):【技术】APP安全评估基础篇——敏感数据暴露

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: