版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
移动APP安全测试要点随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及APP等方面的挑战。随着运营商自主开发的移动APP越来越多,这些APP可能并不会通过应用市场审核及发布,其中的安全性将面临越来越多的挑战,这一点在《XcodeGhost危害国内苹果应用市场》一文中就曾提到过。这个问题也引起了运营商的足够重视,已经自主开发了自动化检测工具及定期的APP安全测试评估工作。在此,邀请到移动APP安全测试专家,让他们结合一次AndroidAPP安全测试实例,为大家讲解评估特点,并将评估检查点、评估细节和整改建议一一列出,给大家提供移动终端APP安全测试的思路。风起云涌的高科技时代,随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长。在海量的应用中,APP可能会面临如下威胁:
木马破解慕改资源打包篡改窃取病毒木马破解慕改资源打包篡改窃取病毒新技术新业务移动APP评估思路在这次的移动APP安全测试实例中,工作小组主要通过如下7个方向,进行移动终端APP安全评估:/能力调用资源访问感信息安听认证鉴权谨信安全键盘输入反逆向
/能力调用资源访问感信息安听认证鉴权谨信安全键盘输入反逆向运营商自动化APP测评思路运营商自主开发的自动化APP安全检测工具,通过”地集、省”三级机构协作的方式,来完成移动终端APP安全检测与评估。APP测试思路如下:检查AndroidManifestxml配置文件中权限选项对常见的安全问题进行配置验证,通过模拟攻击方式,验证终端检查AndroidManifestxml配置文件中权限选项对常见的安全问题进行配置验证,通过模拟攻击方式,验证终端APP存在的问题对常见的安全问题采取简单人工验证方式,获取终端APP信息.自动化检测思路安全检测要点Allowbackup漏洞AndroidManifest.xml文件中allowBackup属性值被设臵为true。当allowBackup标志为true时,用户可通过adbbackup来进行对应用数据的备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。<applicationandroid:theme=1T@7F0C0QEF,Tandroid:label=ir@7F0B0097,randroid:"。口=叫肚02006宁*android:name=w^™・皿・aw・MyApplication1TIandroid:alLowBackup=lptxaelpI整改建议将参数android:allowBackup属性设置为false,不能对应用数据备份。WebView漏洞应用中存在WebView漏洞,没有对注册JAVA类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其他任何JAVA类,最终导致javascript代码对设备进行任意攻击。protectedWeb^iewcreateRe^restiablEViEwfZcnTexzarj4r二二二二二argS^{vveliViewvO=super.crcBteRerr^shableVi-ew{BD54rargSJ:return讪;整改建议通过在Java的远程方法上面声明一个@JavascriptInterface来代替addjavascriptInterface;在使用js2java的bridge时候,需要对每个传入的参数进行验证,屏蔽攻击代码;Note:控制相关权限或者尽可能不要使用js2java的bridge。关键数据明文传输应用程序在登录过程中,使用http协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息泄露,给用户带来安全风险。Content-Lengih:TOCentcm-Type:贞口口lication/x-www-form-ur1encoded匚如:Ke*p-AliwUser-^gem:Apiche-KtteCLient/UHAVAILABLE(j*va1.4)整改建议在传输敏感信息时应对敏感信息进行加密处理任意账号注册使用手机号133*****887注册某个APP,获取验证码46908;在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为1338*****678(任意手机号);
Etm/i.iPOSThttp:/-Etm/i.iPOSThttp:/-AUTH-IEES-ID:S3TAdffafd占凸冊6£他J±fb到9阴头fl1CGnitriT-LwiBitt:1弭Cantc:nt-T>pe:a^plicjiti<m/i^mw-form^urlcneededCmneciivn-Keep--AlivuUsrr-Asctit:ftpachc-KltpCLirnt/UNft^iLfthLE(joval.fl)isLoftin=lti:5t-rnajKisLoftin=lti:5t-rnajK;创卿irl亟MHH-LSER-ID:S3Iti佗兔辺4旣砧99拴fL39953itf71駅站切1吒Fngth:L帥Cantent*Type:apoli-catiact/himr-fara-urJencodedHast:U'sir-XEirrt:Aja^h?imt/UNA.VAllftBLE(jsva1,4}分别使用133*****887和133*****678(任意手机号)登录,均可以通过验证登录,看到最终结果。整改建议注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。登录界面可被钓鱼劫持应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。關貼戏因F■10:33□电话号码¥密码提示若显示此悬浮框则说明谨界面可被劫持关闭注册忘记密码整改建议:应用程序自身通过获取栈顶activity,判断系统当前运行的程序,一旦发现应用切换(可能被劫持),给予用户提示以防范钓鱼程序的欺诈。获取栈顶activity(如下图),当涉及敏感activity(登录、交易等)切换时,判断当前是否仍留在原程序,若不是则通过Toast给予用户提示。ComponentNamecn=((ActivilyHanager)getSystemSerce(Cantejct))-getRunningTasks(1).get(^).topActivity;使用HTML5架构或android+HTML5混合开发,实现登陆、支付等关键页面,降低被劫持的风险。有争议的整改建议在实施整改过程中,运营商、APP厂商及安全厂商之间就如下几点存在争议:关键数据明文传输根据客户测评结果以及移动终端APP厂商理解,目前的数据安全问题可为:客户端安全(数据录入)。客户端到服务器安全(数据传输)。服务器端安全(数据存储)。而关键数据明文传输属于客户端数据录入安全,针对此部分,目前不仅是移动终端APP,包括Web安全方面,对此部分要求也是不一而分,具体可以体现为:具有现金流的交易平台:此类业务安全级别要求最高,在数据传输方面也是目前做得最好的。主要代表是:淘宝、京东、各大银行网银等具有较大社会影响力的平台:此类业务安全级别低于上述业务,但由于账户数据丢失以后,对其自身以及社会影响较大,所以在传输上也不会采取明文传输。如:百度、腾讯等。数据丢失本身不会造成较大的影响的平台:此类业务账户数据本身价值不大,丢失以后也不会造成影响,或者本身不会受到太大关注,一般都不会对传输数据进行加密。这样的例子比比皆是。当然也有厂商提出,明文传输在某些专业的漏洞检测和通报的网站上,是不属于安全漏洞的,为了验证此异议,在某平台上提交了一份关于明文传输的漏洞,得到的结果请看下图:发布喜户账户信皂泄谒QTVA-2015-2868082015年08月20日登录界面钓鱼劫持APP应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。这一条检测结果,最大的争议在于按照整改建议整改以后,对一般用户来说,没有任何作用。首先,我们了解一下钓鱼劫持如何产生。Android钓鱼原理需要理解,Android启动一个Activity时,是这样设计的,给Activity加入一个标志位FLAG_ACTIVITY_NEW_TASK,就能使它臵于栈顶并立马呈现给用户。但是这样的设计却有一个缺陷。如果这个Activity是用于盗号的伪装Activity呢?这种现象在XcodeGhost事件中,已经被证实是可以实现的。在Android系统当中,程序可以枚举当前运行的进程而不需要声明其他权限,这样的话,就可以编写一个程序,启动一个后台的服务,这个服务不断地扫描当前运行的进程,当发现目标进程启动时,就启动一个伪装的Activityo如果这个Activity是登录界面,那么就可以从中获取用户的账号密码,具体的过程如下图:
标志位当前的activityactivityQl览先显示为当前的drctiwilYProgram:用于扫描燧程扫描具有特殊功tEffJa-ctivityFLAG_ACTIVITY_NEW_m$KactivityD2标志位当前的activityactivityQl览先显示为当前的drctiwilYProgram:用于扫描燧程扫描具有特殊功tEffJa-ctivityFLAG_ACTIVITY_NEW_m$KactivityD2activity03activityQ4通却伪装的恶意程序伪装的activity逬入标志谊检测原理描述清楚以后,就需要给出让软件厂商能够明白的整改建议以及漏洞情景重现。Android钓鱼情景演示以小米手机为例:1.当打开3个APP时,最后一个打开的APP”语音助手”,切换至手机桌面,长按HOME键查看进程,”语音助手”会显示在进程的第一个。2.点击”微信”以后,切换至”微信”,再查看进程,:2.点击”微信”以后,切换至”微信”,再查看进程,:SM宇离桔手楙令確£)可用f2G可以看到,进程中由于”微信”已切换至当前窗口,故进程◎B56M可用/2G◎B56M可用/2G中不存在3.可以从第1步看到,当切换至手机桌面时,无论是语手机令炉语音肋手音助手、手机令牌、还是微信,都是默认后台运行,而且切
换出来以后无任何提示。这样,当恶意activity收到微信登录
界面或者其他敏感界面的时候,就会抢先推送至客户,从而
让客户轻易的输入了帐号,并获取了客户的信息,但此时微信不会做任何提示4•再来观看一下某行手机APP,当切换至手机桌面时,
会对客户做出提示。如下图:拨号短信測览器建行手机银行仍在后台运各如需退岀」请先进入建行手机银行T会对客户做出提示。如下图:拨号短信測览器建行手机银行仍在后台运各如需退岀」请先进入建行手机银行T搖手机“返回键”退岀。假设一下页面是恶意推送的activity,那么在恶意推送的APP页面,应该会显示出此类提示,告知客户,此页面并非正常APP的页面。用户打开正常页面vs用户打开了恶意页面¥转账汇款我的账户它账户安全中心手机银行¥转账汇款我的账户它账户安全中心手机银行貼心的银行服务「带给您更璽全、便捷前絢能金融
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《光缆识别》课件2
- 4S店售后夏季活动方案
- 前端年终总结工作完成情况
- 智慧养老平台系统智慧养老有我更专业
- 《LED培训资料》课件
- 妇幼保健院归档病历质量评分表
- 主动脉成形手术指南
- 2024年我国职业病现状
- 儿童手术体位
- 《级技能历年考题》课件
- 高中英语必背3500单词表(完整版)
- 2024至2030年中国领先型机组式凹版印刷机数据监测研究报告
- 2024年公安智能外呼项目合同
- 铸造机械市场分析及投资价值研究报告
- 内蒙古自治区锡林郭勒盟2024-2025学年高一上学期11月期中 生物试题(含答案)
- LOGO著作权转让协议书
- 2024年教师资格考试高级中学面试语文试题及解答参考
- 译林新版(2024)七年级英语上册Unit 5 Grammar 课件
- 关于健康的课件图片
- 2024年度上海市高校教师资格证之高等教育心理学题库与答案
- 第三章+相互作用-力+大单元教学设计 高一上学期物理人教版(2019)必修第一册
评论
0/150
提交评论