移动APP典型安全漏洞盘点、主要风险点和安全测试方案!
一、移动APP典型安全漏洞
1.1 图形验证码逻辑后门
案例概述
A公司是一个已经上市的信息科技公司,国内多家商业银行都是其客户。在分析A公司的移动银行产品时,发现产品的图形验证码机制存在逻辑后门可以被绕过,利用这个缺陷可以窃取大量用户账号。由于外包团队的代码复用,我们已经在至少两家商业银行的移动银行系统中复现了这个安全问题。
后果:大规模账号暴力破解攻击。
一般来说,大部分用户都习惯将移动银行密码设置为六位数字,而且查询密码和交易密码也有很大的概率设置为相同的。攻击者可以查找该地区的手机号码段范围作为登录用户名,以六位数字组成的密码字典进行暴力破解,几十万移动银行帐户信息唾手可得。
1.2 用户敏感信息泄露
案例概述
B公司也是一家上市的科技公司,其金融客户遍布全国,采用B公司移动银行方案的客户包 括至少两家全国性股份制商业银行和多家城市商业银行。在分析B公司的移动银行产品安全性时,发现没有关闭服务端的调试接口,造成大量的用户敏感信息泄露。这种问题其实也比较常见,往往是外包开发完成后上线过程的疏忽造成的,实际上更常见的例子是Android客户端通过logcat输出调试信息的问题。
调试接口会将用户转账的详细信息输出到web目录的test.log文件中。攻击者可以通过浏览器直接访问到这个log文件,该系统的每一笔转账交易都记录在其中,从中可以获取大量的用户账号、手机号、卡号和交易密码等信息。
1.3 开发商被渗透
案例概述
国内某漏洞平台曾经曝光过这样一个漏洞:某大型银行的移动银行ios客户端中存在一个txt文件,文件中存储了一个svn服务器的ip地址、用户名和密码,黑客解压出该文件获取信息后可以直接连上并checkout服务器上的文件。
svn服务器上存储的内容包括该银行移动银行系统的全部项目文档、完整的Android和IOS客户端代码,甚至还存放了用于客户端签名的数字证书。
二、APP安全测试方案
2.1 安全威胁分析
2.2 面临的主要风险
2.3 APP安全测试内容
还有最重要的:服务器和业务逻辑安全
2.4 安全测试流程