《APP应用安全评测指导手册.docx》由会员分享,可在线阅读,更多相关《APP应用安全评测指导手册.docx(46页珍藏版)》请在第一文库网上搜索。
1、APP应用安全评测指导手册二。二一年二月目录APP安全检测41.1 应用配置安全性4(1)开启a11owbackup备份权限,存在备份数据泄露风险4(2)开启DebUggab1e属性,存在应用信息篡改泄露风险41.2 公共组件安全性5(3)组件ContentProVider配置错误,导致数据泄漏5(4)组件ACtiVity配置错误,导致登录页面被绕过6(5)组件SerViCe配置错误,导致非法权限提升8(6)组件BrOadCaStReCeiVer配置错误,导致拒绝服务、非法越权91.3 代码安全性10(7)反编译彳弋码10(8)可以重新编译打包11(9)签名证书不规范12(10) JanUS安
2、卓签名漏洞13(11) WebVieW漏洞141.4敏感信息暴露16(12)不安全的本地存储16(13)边信道信息泄漏17(14)操作i己录检:则18(15)是否存在已知敏感内容19(16)明文传输敏感信息19(17)传输过程中数据被解密20(18)未脱敏处理,敏感信息泄露21(19)中间件版本信息泄露221.5业务逻辑测试23(20)未使用有效的token机制,导致可以绕过鉴权23(21)传输数据可修改,造成越权访问24(22)登录设计缺陷,存在被暴力破解风险25(24)未授权访问28(25)任意密码修改,密码找回漏洞29(26)枚举攻击30(27)账号登陆限制31(28)账号锁定策略31(
3、29)密码复杂度检测31(30)客户端更新安全322 个人信息保护专项检测32(1)是否公开收集使用个人信息规则32(2)是否明示收集使用个人信息的目的、方式和范围34(3)收集使用个人信息是否征得用户同意36(4)是否遵循必要原则,仅收集与其提供的服务直接相关的个人信息39(5)是否未经同意向他人提供个人信息41(6)是否按法律规定提供删除或更正个人信息功能,或公布投诉、举报方式等信息423 小程序安全检测43(1)明文或弱加密传输用户名、密码和验证码等敏感信息43(2)泄漏后台服务器地址,导致服务器可控44(4)文件上传漏洞45(5)未使用有效的TOken机制,导致可以绕过鉴权46(6)传
4、输数据可修改,造成越权访问461.1应用配置安全性(1)开启a11owbackup备份权限,存在备份数据泄露风险整改优先级:高问题描述:被测应用的AndroidManifest.xm1文件中a1IowBackup属性值被设置为IrUe,可通过adbbackup对应用数据进行备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据泄露。检查方法:1)使用反编译软件JEB对apk进行反编译。2)在AndroidManifest.XmI文件中查看a11owBackup属性,检查是否未设置或者被设置为true0检查工具:JEB、APKTooKAndrOidKi11er等。uses-perm
5、issionandroid:Rame=android.permission.PROCESS_0UTGO1NG_CA11Sapp1icationIandroid:a11。WBaCkUP=七rueIandroid:debuggab1e=七rueandroidactivityandroid:Iabe1=nGs1rnapp_nameandroid:name=com.kai1.tea-serviceandroid:enab1ed=cruewandroid:name=,com.baidu.1ocation,fwa图1.利用JEB查看a1IowBackup属性整改建议:将参数android:a11owBac
6、kup属性设置为fa1se,防止数据泄漏。(2)开启DebUggabIe属性,存在应用信息篡改泄露风险整改优先级:高问题描述:被测应用的AndroidManifest.Xn1I文件中Debuggab1e属性值被设置为true,可以设置断点来控制程序的执行流程,在应用程序运行时修改其行为。检查方法:1)使用反编译软件JEB对apk进行反编译。2)在AndroidManifest.xm1中搜索Debuggab1e属性,检查是否被设置为true0检查工具:JEBsAPKTooIAndrOidKi1Ier等。uses-permisaionandroid:name=andrOid.permission.
7、PR,。ESSCUTsC1MBCA11Sapp1icationandroid:a11owBackup=trueIandroid:dcbuggab1e=crueandroidactivityandroid:1abe1w0stringapp-nar.eandroid:name=com.kai1.tes,Oerviceandroid:enab1ed=trueandroid:name=com.baidu.1ocation.fa图2.利用JEB查看Debuggab1e属性整改建议:将参数android:DebUggabIe属性设置为fa1se,不能对应用进行调试。1.2公共组件安全性(3)组件COnte
8、ntPrOVider配置错误,导致数据泄漏整改优先级:中问题描述:ContentPrOVidCr是安卓应用组件,以表格的形式把数据展现给外部的应用。每个ContentProvider都对应一个以“COntCnt:”开头的特定URI,任何应用都可以通过这个UR1操作COntentPrOVider应用的数据库。如果应用对权限控制不当就会造成信息泄露。检查方法:1)使用drozer获取所有可以访问的URI:runscanner,provider,finduris-a(packagename)(packagename是待检测的应用包名)Accessib1econtentURIs:contentecin
9、c.sq1mai1tab1econtentecinc.sq1mai1tab1econtent:/cine.sq1/infotab1e/content:/ecinc.sq1/down1oadtab1/content:/ecinc.sq1/infotab1eCOntent:/ecinc.sq1/down1oadtab1e图3.利用drozer获取可以访问的URI2)使用drozer获取各个URI的数据:runapp.provider,querycontent:/com.mwr.examp1e,sieve.DBContentProviderPasswords(content:/com.mwr.exa
10、mp1e,sieve.DBContentProviderPasswords是上一步骤中得到的可以访问的URI)dzrunapp.provider.querycontentecinc.sq1mai1tab1eI_idInameIfasongrenIShoujianrenIChaosongImisongIzhutiIZhengwenIZhuangtaiIChuangjianshijianImai1ur1Idzrunapp.provider.querycontent:/ecinc.sq1/infotab1/I_idInameImai1ur1Idzrunapp.provider.queryconten
11、t:/ecinc.sq1/down1oadtab1eI_idInameIreadstateIdown1oaddataIup1oaddataI图4.利用drozer获取可以访问的UR1数据检查工具:drozer整改建议:在被测应用的AndroidManifeSt.xm1文件中,设置provider的android!exported属性为fa1se或者通过设置自定义权限来限制对Contentprovider的访问。(4)组件ACtiVity配置错误,导致登录页面被绕过整改优先级:中问题描述:ACtiVity是安卓应用组件,提供与用户进行交互的界面,如果应用对权限控制不当,可以绕过登录界面直接显示该
12、界面。检查方法:1)使用drozer检查APK中是否存在暴露的activity,使用命令runapp.activity,info-a(packagename)(PaCkagename是待检测的应用包名)。dzrunapp.activity.info-acom.isi.testappPackage:com.isi.testappcom.isi.testapp.MainActivitycom.isi.testapp.We1comedzX图5.利用drozer检查是否有暴露的Activity2)在上图中ConI.isi.testapp.MainActivity是正常启动的主界面,com.isi.te
13、stapp.We1come是登录鉴权后才能启动的界面,可以使用以下命令尝试启动。runapp.activity,start-componentcom.isi.testappcom.isi.testapp.We1comedzrunapp.activity.start-componentcom.isi.testappcom.isi.testapp.We1comedz图6.利用drozer启动Activity5SSAppUseAI,Stestapp0O0图7.利用drozer启动Activity进入界面检查工具:drozer整改建议:通过设置自定义权限,限制对ACtiVity的访问。(5)组件SerViCe配置错误,导致非法权限提升整改优先级:中问题描述:SerViCe是AndrOid中四大组件进行后台作业的主要组件,如果被测应用对权限控制不当,导致其他应用可以启动被测应用的Service0检查方法:1)使用JEB检查APK中是否存在暴露的Service,将apk拖入JEB中,然后查找暴露的Service0(actionandroid:nay.e-co.c1eanaster.apwidget.ACTION_FASTC1EAiractionandroid:naar=co.C