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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

H5应用平安风险分析与加固方案

5.2客户端程序平安

客户端程序保护客户端程序应具备抗逆向分析、完整性校验等平安机制:

方案一

方案二

技术措施

代码混淆

具备运行时检查机制,防止攻击者对应用程序进行动态调试

具备签名验证机制

对于AndroidAPP的重要操作Activity,防范Activity劫持

对于敏感信息的输入(如密码),使用自定义随机键盘防范键盘劫持。

对客户端程序进行加壳,提供抗逆向分析、代码保护、资源加密等保护。

客户端程序签名

客户端应用程序以及升级程序在发布时,使用签名专用证书对应用程序进行签名,保证来源可靠性。

?对应用程序、更新程序、代码文件进行签名,保证应用程序完整性,其中签名文件必须是自己的签名,禁止使用第三方签名。

?应用程序启动、更新时,客户端应检查升级包的签名是否合法,如果签

名相同,那么进行后续操作;否那么,应提示用户存在风险,并终止升级过程。

移动客户端运行环境平安

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

Android设备root状态检测可通过检查如下文件列表中的文件是否存在来检测设备的root状态:

/system/bin/su

/system/xbin/su

/system/sbin/su

/sbin/su

/vendor/bin/su

iOS设备越狱状态检测

可通过判断设备中是否存在Cydia.appMobileSubstrate.dylibbashapt、sshd等文件来检测iOS设备的越狱状态,具体文件所存放的目录如下表所示:

/Applications/Cydia.app

/Library/MobileSubstrate/MobileSubstrate.dylib

/bin/bash

/usr/sbin/sshd

/etc/apt数据存储平安

为防范敏感信息和重要信息等用户的隐私数据泄露,客户端应用程序应严格限定客户端敏感数据存储。

(1)客户端应用中禁止以任何形式保存敏感信息(如明文密码),包括但不限于代码、内存、本地文件和本地数据库;

(2)对于重要信息,原那么上应存储于内存中,仅在应用运行生命周期内有效;(3)如果客户端需要存储重要信息与文件或者本地数据库中,应使用对称加密

算法对数据进行加密存储,由于加密密钥不能在客户端明文保存,需要使用客户端数字证书公钥加密或者保存在服务器端:

客户端使用用户数字证书,具体实现流程如下:

1)用户登录系统,完成身份认证;2)使用用户数字证书私钥对本地存储的加密密钥解密;

3)使用解密后的加密密钥对数据解密。

客户端没有用户数字证书:

1)用户登录系统,完成身份认证;2)与服务器端完成握手,获取密钥对本地存储的加密的密钥进行解密;

3)使用解密后的加密密钥对数据解密。

2.对于Android客户端应用,在本地文件或者本地数据库中存储重要信息时,应严格限制Activity、Service、BroadcastReceiver、ContentProvider的访问权限,不需要对外部应用提供服务时,应关闭导出接口,将exported属性设置为false。

数据交互平安敏感数据输入保护

对于用户在客户端程序中输入的敏感信息,包括但不限于用户密码、交易密码、手势密码等,均应对数据进行平安保护。

(1)对于用户输入的敏感信息及重要信息,客户端程序应采取平安措施防止数据被窃取,使用软键盘输入控件保护用户输入的敏感信息及重要信息,密码键盘需满足如下要求:

1)键盘键位随机布局。

2)不回显用户输入,通过声音或者震动的方式给予用户反应。

3)用户输入字符经过对称加密处理后再存放于内存中,加密密钥从服务器端获取。

4)防截屏恶意程序:应用程序应具备防范截屏恶意代码的功能,防止攻击者通过屏幕截取获得用户密码等敏感信息。

(2)客户端应用程序在重新切入时,应校验手势密码(由于手势密码易被破解,结合业界实践,建议手势密码仅用于应用屏幕解锁功能),防止用户信息泄露,手势密码应满足如下平安要求:

1)在设置手势密码时,应检测手势密码的强度,至少包含3个键位。

2)键位相关数据应先进行哈希处理再存储在客户端。

3)手势密码软键盘在划过时,应不显示轨迹,以震动的方式给予用户输入反馈。

5.252

您可能关注的文档

文档评论(0)

192****8775 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档