H5应用安全风险分析与加固方案.docx

上传人:lao****ou 文档编号:364450 上传时间:2023-09-30 格式:DOCX 页数:25 大小:60.84KB
下载 相关 举报
H5应用安全风险分析与加固方案.docx_第1页
第1页 / 共25页
H5应用安全风险分析与加固方案.docx_第2页
第2页 / 共25页
H5应用安全风险分析与加固方案.docx_第3页
第3页 / 共25页
H5应用安全风险分析与加固方案.docx_第4页
第4页 / 共25页
H5应用安全风险分析与加固方案.docx_第5页
第5页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《H5应用安全风险分析与加固方案.docx》由会员分享,可在线阅读,更多相关《H5应用安全风险分析与加固方案.docx(25页珍藏版)》请在第一文库网上搜索。

1、H5应用安全风险分析与加固方案目录一. HTM15概述3二. HTM15应用开发模式4三. H5应用架构分析5四. H5应用安全风险64.1H5应用面临的安全风险64.2针对移动应用的攻击64.2.1静态攻击64.2.2动态攻击74.3 个人信息违规收集74.4 安全建设目标8五.H5应用安全解决方案SDK95.1SDK授权安全95.2 客户端程序安全105. 2.1客户端程序保护106. 2.2客户端程序签名107. 2.3移动客户端运行环境安全118. 2.4数据存储安全119. 2.5数据交互安全1210. 2.6资源管理135.3 通信安全135.3.1SS1/T1S安全配置135.3

2、.2客户端证书有效性校验145.3.3数据传输安全145.4服务器端安全155.4.1SDK授权155.4.2身份安全认证155.4.3短信验证码安全185.4.4访问控制185.4.5应用接口安全195.4.6数据交互安全195.4.7数据存储安全225.5个人信息安全235.5.1个人信息安全235.5.2运营者对用户权利的保障24一.HTM15概述网页技术(B/S)是互联网技术在各个行业业务应用的广泛和重要的技术领域,HTM15是基于兼容性、实用性、互通性以及通用访问性的理念设计而成的,随着HTM15(以下简称“H5”)的发布和应用,H5已经成为了互联网全新的框架和平台,包括提供免插件的

3、音视频、图像动画、本地存储以及更多酷炫而且重要的功能,并使这些应用标准化和开放化,从而能够轻松实现类似桌面的应用体验,并且,H5的最显著的优势在于跨平台性,用H5搭建的站点应用可以兼容PC端与移动端、windows与1inux、安卓和iOS,它可以轻易地嵌入到各种不同的开放平台、应用平台上。目前主流的应用程序大体分为三类:WebAPPsNativeAPP和HybridAPPo WebAPP:指采用H5语言写出的App,不需要下载安装。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。 NativeApp:指的是Android或iOS原生应用程序,一般依托于操作系统,具有较强的交互性和体验性

4、,可拓展性强。需要用户下载安装使用。 HybridApp:指的是半原生半Web的混合类App0需要下载安装,看上去类似NativeApp,但只有很少的UI组件,通过WebView组件加载H5页面,展示Web内容。三种开发模式的优缺点对比如下表所示:特性WebAPPNativeAPPHybridAPP开发语言使用Web开发语言即可基于的操作系统T同,实现的语言不同,JaVa和ObjeCt-C语言居多展示界面通过H5设计,交互通过Native语言实现代码移植和优化无访问针对特定设备的特性低高中充分利用现有知识高低高高级图形中高中升级灵活性高低,需要通过应用商店或自检测下载升级包升级中,可局部更新和

5、应用商店更新安装体验中,通过移动浏览器安装高,从应用商店安装高,可从应用商店安装三.H5应用架构分析一般来说,当前大部分“混合型H5应用”采用如下技术结构:服务器端在这种模式下,服务器端通过其控制的“原生逻辑处理”调用服务端的H5脚本,在“浏览器控制”中展示H5页面。在此模式下,相关组件控制方包括: 服务端控制的组件:H5页面脚本、服务接入端; 可能为第三方的控制组件:原生界面控件、原生逻辑处理、浏览器控件; 通用组件:操作系统四.H5应用安全风险移动应用作为个人生活、办公和业务支撑的重要部分,也面临着来自移动平台的安全风险,不仅仅来自于恶意程序、恶意代码,更多的是恶意的攻击行为、篡改行为和钓

6、鱼攻击。由于WebAPP通过移动浏览器加载显示页面以及与服务器端进行数据交互,面临攻击风险的是服务器端,因此,下方小节所讲述的针对移动应用攻击不包括WebAPPo4.1 H5应用面临的安全风险在“非加固”的“混合型H5应用”场景中,会出现以下的信息安全风险: 客户端安全 通信安全4.2 服务器安全4.3 针对移动应用的攻击从整体上来说,针对移动应用常见的攻击手段主要有静态攻击和动态攻击两种。4.3.1 静态攻击静态攻击通过对发布的应用进行静态分析,使用反编译及逆向工程分析的手段,发现并利用应用的脆弱点,对目标用户进行攻击。攻击流程如下图所示:弱的目标确定攻击点开发攻击程序反编译及逆向工程分析找

7、到应用漏洞确定攻击方式1攻击者将篡改后的应用重新投放市场,当使用者下载安装后,就会面临被攻击的风险,轻则泄露个人信息,重则导致资金损失。4.3.2 动态攻击动态攻击是攻击者通过对应用动态调试的方式,使用注入(代码注入或进程注入)或者修改内存数据,达到对用户或者服务器攻击的目的。攻击流程如下图所示:攻击者通过动态调试,可达到如下攻击目的: 通过动态调试,分析应用处理逻辑,达到绕过认证的目的; 通过动态调试,hook关键函数,篡改提交数据,提交至服务器端,对服务器进行攻击,如SQ1注入。 通过监测目标应用,对目标应用进行界面劫持,达到钓鱼的目的。4. 3个人信息违规收集有关个人信息收集应符合移动互

8、联网应用程序(APP)收集使用个人信息自评估指南、App违法违规收集使用个人信息自评估指南、App违法违规收集使用个人信息行为认定方法、(工信部信管函(2019)337号)和工信部信管函(2023)164号、APP用户权益保护测评规范等有关标准要求。4.4安全建设目标移动应用在整个业务中扮演越来越重要的作用,针对移动应用所面临的风险,需要建立一套针对H5应用的,适应未来发展需求的安全体系,应达到如下目标:技术加固: 减少移动客户端开发阶段引入的漏洞缺陷; 强化移动客户端应对各种攻击的能力; 强化授权认证的能力;应用管理: 明确各业务场景的安全风险,制定各安全场景下的业务开展模式; 制定安全开发

9、规范,将安全风险解决于开发阶段。 建立持续的移动应用安全体系。五.H5应用安全解决方案SDK5.1 SDK授权安全基于业务需要,将自身业务封装为SDK供第三方应用接入,在接入过程中,需要保证自身业务系统的安全性。定制开发的SDK,应实现如下功能: 敏感信息加密:针对前端页面传入的敏感信息(如密码等),对信息加密后再传入服务器端。 终端信息提取:提取终端信息,包括但不限于deviceid、mac地址、app应用相关信息等,用于服务器端信息认证。 数字证书认证:验证服务器端证书有效性,防护中间人劫持。 网络封包:将前端页面提交到服务器端的数据,通过SDK进行封包处理,由SDK发送至服务器端,获取返

10、回信息后,再由前端页面显示。 SDK加固:SDK在发布时,应对自身进行代码混淆处理。第三方接入应用在访问相关业务时,应完成授权流程并嵌入SDK完成业务接入。对于无法嵌入SDK的应用,如“微信”应用,应通过业务应用管理进行风险防范。 在此种业务场景下不开展“资金交易”等重要业务,以防止中间人攻击,对请求进行非法篡改。 不应支持展示包含“高级别敏感信息”页面和相关请求,防范敏感信息泄露。5.2 客户端程序安全5.2.1 客户端程序保护客户端程序应具备抗逆向分析、完整性校验等安全机制:方案一方案二技术措施代码混淆 具备运行时检查机制,防止攻击者对应用程序进行动态调试 具备签名验证机制 对于Andro

11、idAPP的重要操作Activity,防范Activity劫持 对于敏感信息的输入(如密码),使用自定义随机键盘防范键盘劫持。对客户端程序进行加壳,提供抗逆向分析、代码保护、资源加密等保护。5.2.2 客户端程序签名客户端应用程序以及升级程序在发布时,使用签名专用证书对应用程序进行签名,保证来源可靠性。对应用程序、更新程序、代码文件进行签名,保证应用程序完整性,其中签名文件必须是自己的签名,禁止使用第三方签名。应用程序启动、更新时,客户端应检查升级包的签名是否合法,如果签名相同,则进行后续操作;否则,应提示用户存在风险,并终止升级过程。5.2.3 移动客户端运行环境安全当用户设备处于root状

12、态下,APP的私有目录/data/CIata/$PaCkage_name是可以被任意访问的,当一些恶意程序在获取root权限后,就可利用赋予的权限来窃取用户的隐私信息(如短信息、用户键盘输入等),或者通过遍历客户端的私有目录获取用户的私有信息。因此,系统在启动或者进行敏感操作时,应给予处于root状态的设备用户风险提示。在客户端应用启动时,应判断系统是否已root或者越狱,并给予用户提示风险。1. Android设备root状态检测可通过检查如下文件列表中的文件是否存在来检测设备的root状态:systembinsusystemxbinsusystemsbinsusbinsuvendorbin

13、su2. iOS设备越狱状态检测可通过判断设备中是否存在Cydia.appMobi1eSubstrate.dy1ibbash、apt、sshd等文件来检测iOS设备的越狱状态,具体文件所存放的目录如下表所示:/App1icationsZCydia.app1ibraryMobi1eSubs1rateMobi1eSubstrate.dy1ibbinbashusrsbinsshdetcapt5.2.4 数据存储安全为防范敏感信息和重要信息等用户的隐私数据泄露,客户端应用程序应严格限定客户端敏感数据存储。(1)客户端应用中禁止以任何形式保存敏感信息(如明文密码),包括但不限于代码、内存、本地文件和本地

14、数据库;(2)对于重要信息,原则上应存储于内存中,仅在应用运行生命周期内有效;(3)如果客户端需要存储重要信息与文件或者本地数据库中,应使用对称加密算法对数据进行加密存储,由于加密密钥不能在客户端明文保存,需要使用客户端数字证书公钥加密或者保存在服务器端:客户端使用用户数字证书,具体实现流程如下:1)用户登录系统,完成身份认证;2)使用用户数字证书私钥对本地存储的加密密钥解密;3)使用解密后的加密密钥对数据解密。客户端没有用户数字证书:1)用户登录系统,完成身份认证;2)与服务器端完成握手,获取密钥对本地存储的加密的密钥进行解密;3)使用解密后的加密密钥对数据解密。2.对于Android客户端应用,在本地文件或者本地数据库中存储重要信息时,应严格限制ActivityService、BroadcastReceiver、ContentProvider的访问权限,不需要对外部应用提供服务时,应关闭导出接口,将exported属性设置为fa1se。5.2.5数据交互安全5.2.5.1 敏感数据输入保护对于用户在客户端程序中输入的敏感信息,包括但不限于用户密码、交易密码、手势密码等,均应对数据进行安全保护。(1)对于用户输入的敏感信息及重要信息,客户端程序应采取安全措施防止数据被窃取,使用软键盘输入控件保护用户输入的敏感信息及重要信息,密码键盘需满足如下要

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服