Android应用安全分析大纲
一、安全威胁分析
1、首先绘制数据流图,即APP使用到的业务数据走向。对于外部交互频繁的应用时十分必要的
2、识别出可信任的边界,即哪些代码逻辑是完全由APP控制,识别出可信任的边界后,对于不可信任(不能完全控制)的对象要进行安全风险分析
二、安全分析的几种方式
外部交互分析
通过识别可信任边界得到的不可信对象,进行危险分析:
1、仿冒:外部对象被仿冒,导致交互的数据和行为被非法探测
2、抵赖:与外部交互的行为,没有进行日志记录。导致攻击者否认攻击
3、隐私:与外部交互涉及到隐私数据传递,没有进行隐私信息的保护或者没有正式的协议声明
数据流分析
通过绘制数据流程图,识别出数据的流向,对于每一次流向进行安全分析;
1、篡改:如果传输的数据流被篡改,接受者收到修改后的数据将导致使用错误的数据进行业务处理,使业务异常。
2、信息泄露:若系统中的敏感信息(个人数据、密码、密钥等)泄露,将对系统的机密性造成重要影响。
3、拒绝服务:通过传递异常数据,使服务端拒绝服务
处理过程分析
通过识别可信任边界得到的可信对象,进行危险分析(可信对象也可以被仿冒):
1、仿冒:可信对象被仿冒,导致交互的数据和行为被非法探测
2、应用篡改:发布的Android应用被篡改
3、抵赖:与外部交互的行为,没有进行日志记录。导致攻击者否认攻击
4、信息泄漏:在处理过程中,分析是否有信息泄露的风险
数据存储分析
主要考虑数据存储的位置是否可以被非法查看、篡改即可