最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

移动终端APP安全防护规范及安全开放标准解决方案

IT圈 admin 26浏览 0评论

2024年2月7日发(作者:撒沛凝)

移动终端APP安全防护规范及安全开放标准

解决方案

2016年10月

移动终端APP安全防护规范及安全开放标准解决方案

目 录

一、

二、

三、

1、

2、

3、

4、

5、

6、

7、

四、

1、

2、

3、

4、

5、

五、

六、

前言 ................................................................. 2

术语与解释 ........................................................... 2

开发阶段安全要求 ..................................................... 2

安全编码原则 ....................................................... 2

安全需求设计与分析 ................................................. 3

APP客户端安全功能要求 ............................................. 3

开发环境安全管理 ................................................... 6

源代码的安全管理 ................................................... 7

委外开发安全要求 ................................................... 8

罚则 ............................................................... 8

上线阶段安全要求 ..................................................... 8

APP应用上线前安全评估原则 ......................................... 8

组织与职责 ......................................................... 8

APP安全评估内容 ................................................... 9

罚则 .............................................................. 10

附件 .............................................................. 10

运行阶段安全要求 .................................................... 10

下线阶段安全要求 .................................................... 11

第1页

移动终端APP安全防护规范及安全开放标准解决方案

一、 前言

为了加强和规范湖南电信企业信息化部(以下简称:企信部)APP应用的开发阶段、上线阶段、运行阶段、下线阶段的安全建设,有效防范来自应用层的威胁和攻击,保证APP应用整个生命周期的安全,特编制本解决方案。

企信部APP应用全生命周期管理遵循“谁开发谁负责”“谁使用谁负责”的原则;即:企信部APP应用相关各单位开发的应用由该单位负责开发过程的安全管理和安全功能的设计工作以及上线前安全评估发现问题的加固工作、APP使用部门负责运行阶段的安全维护管理及下线阶段数据销毁工作、安全中心负责APP上线前安全评估工作。

二、 术语与解释

机密性:个人或团体的信息不为其他不应获得者获得。

完整性:在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。

抗抵赖性:发送者不能在事后否认其发送的信息。

SQL注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

XSS:跨站脚本攻击,恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

SSL:安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。

APP客户端:是指具有新功能或新使用价值的移动终端APP软件程序。包括软件程序状态处于建设试点、试商用和商用的所有移动终端APP软件程序。

APP服务端:是指为APP客户端提供应用交互服务的后台应用平台。

三、 开发阶段安全要求

1、安全编码原则

 程序只实现制定的功能

第2页

移动终端APP安全防护规范及安全开放标准解决方案

 用户输入都是不可信的,对用户输入数据做有效性检查

 必须对异常情况进行处理

 尽可能使用安全函数编程

2、安全需求设计与分析

在APP应用立项开发批准前,需要明确所有的安全需求并形成文档。安全需求可以从以下几个方面考虑:

1)信息的机密性和完整性保护;

2)抗抵赖性;

3)身份鉴别和认证;

4)访问控制和授权;

5)数据校验及消息验证;

6)数据传输安全保护;

7)密码保护;

8)跟踪监控与审计;

10)合法性和符合性需求;

11)灾难恢复等

在APP应用的开发过程中,开发人员需对安全需求进行详细的分析,并将已确定的安全需求体现于应用程序设计中,包括安全架构的设计和安全功能的设计。

APP应用服务端的安全设计参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

APP客户端的基本安全设计见“3..APP客户端安全功能要求”,通用安全要求参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

3、APP客户端安全功能要求

 APP客户端数据安全存储

APP客户端应用程序本地存储的数据(包括但不限于数据文件,日志文件、数据库文件、会话cookie、配置文件、SD卡等)应采取加密方式保护存放敏感信息的文件。

对于关键数据加密,应使用TripleDES(192 位密钥)加密算法 。要减慢并加强对第3页

移动终端APP安全防护规范及安全开放标准解决方案

大量数据的加密,应使用 Rijndael (256 位密钥)算法。要对将暂时存储的数据加密,可以考虑使用较快但较弱的算法,如 DES。对于数字签名,应使用 RSA 或 DSA 算法。对于哈希,应使用 SHA1.0 算法。对于用户键入的哈希,应使用基于哈希的消息验证代码(HMAC)SHA1.0 算法。

 APP客户端数据安全传输

APP客户端应用程序传输敏感信息过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位),并在客户端对SSL证书合法性进行校验。具体数据安全传输要求如下:

(1) 全流程使用HTTPS传输,且是强制使用;

(2) 敏感信息传输过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位);

(3) 证书锁定(Certificate Pinning),在客户端对SSL证书合法性进行校验;

(4) 完全正向保密(perfect forward secrecy)一个密钥只能访问由它所保护的数据;用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并不影响其他密钥的安全性。

 APP客户端安全认证与鉴权机制

(1) APP客户端应用程序应对密钥/密码采取安全的存储保护方式(推荐哈希算法:SHA-512,加密算法:RSA-2048、AES-256);

(2) APP客户端应用程序应根据APP重要程度不同采用适宜的安全认证方式(如“密码+验证码”、“密码+动态密码”、“密码+令牌”、“密码+证书”等);

普通APP安全认证与鉴权要求如下:

 密码强度要求:对用户设置密码进行检测,输入至少6位字符,其中要包含大写字母、小写字母、数字和特殊字符中的至少两种。

 账号密码传输要求:客户端向服务器第一次发起登录请求(不传输用户名和密码)。服务器利用RSAAES算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。客户端收到公钥后, 加密用户密码,向服务器发送用户名和加密后的用户密码; 同时另外产生一对公钥和私钥,自己保留私钥,

第4页

移动终端APP安全防护规范及安全开放标准解决方案

向服务器发送公钥; 在第二次登录请求时传输用户名和加密后的密码以及客户端生成的公钥。服务器利用保留的私钥对密文进行解密,得到真正的密码。

 为提升用户体验,在首次登陆时用户只需要输入用户名和密码,当服务器发现异常情况时启用验证码、动态密码等机制。

 自动登陆:在实现自动登陆功能时,应将token和用户使用该App的移动终端进行绑定(如:绑定imsi,mac等),在登陆终端发生变化时,需重新进行账号密码验证并启用验证码或动态密码验证机制。

重要内部APP安全认证与鉴权要求如下:

 密码强度要求:对用户设置密码进行检测,输入至少8位字符,其中要包含大写字母、小写字母、数字和特殊字符中的至少三种。

 针对内部重要APP每次登陆必须使用账号+密码方式进行认证鉴权;

 当登陆终端发生变化时,应采用账号+密码+动态密码的验证方式。

(3) APP客户端应用程序应采取安全的会话机制(如:安全cookie方式、session方式);

(4) APP客户端应用程序不应过度授权(如管理后台向低权限用户开放)。

 APP客户端数据上传安全

(1) 管理后台应关闭非必要上传功能或模块,关闭非必要WEB管理方法(put、move、delete等);

(2) 前端和后端应严格限制用户侧上传功能(如文件类型、文件格式、文件大小等);

(3) 应对用户上传数据的合规性(如暴恐、涉黄、政治言论等)进行安全审核过滤(如在 @RequestParam 的参数上使用 @SensitiveFormat 注解,Spring MVC就会在注入该属性时自动进行敏感词过滤)。

 APP客户端应用安全

APP客户端应用安全(如:SQL注入、XSS、CSRF、弱口令和越权等相关安全要求)参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

第5页

移动终端APP安全防护规范及安全开放标准解决方案

 APP客户端反编译安全(APK加密)

APP客户端程序应通过对代码的高级混淆、流程混排加密、代码内部字符串加密等,对源码、函数名称以及接口调用进行加密隐藏,以防止第三方对应用程序进行反编译得到源代码。(对安卓应用的DEX、RES、SO库等主要文件进行加密保护,可使用第三方商业化APK加密工具进行加密,达到防止反编译的目的)

 APP客户端访问操作安全

(1) APP客户端应用程序访问用户终端的权限应限制在程序实现自身功能的最低权限范围内,不应额外访问/读取本地其他文件获取用户信息;不应额外截获/记录/传输应用登录访问的敏感信息;不应访问非应用外internet访问及执行非许可的动作。

(2) APP客户端应用程序不应调用/修改本地其它系统功能(如摄像头、录音、音量调节)进行非正常应用。

(3) APP客户端应用程序权限使用应充分告知终端用户。

 APP客户端软键盘安全

涉及用户敏感信息交互的用户输入软键盘应采用有效的防窃取措施,如使用随机分布式虚拟安全键盘,对键盘的数据输入过程、数据存储过程、内存数据换算过程进行全程高级加密(加密要求见前文“APP客户端数据安全存储”、“APP客户端数据安全传输”部分),达到效防止数据侦听、键盘劫持、键盘截屏等攻击行为。

 APP客户端完整性校验安全

APP客户端程序应在启动和更新时进行真实性和完整性校验,防范客户端程序被篡改(通过计算crc32或哈希值的方法对整个apk的真实性和完整性进行校验)。

4、开发环境安全管理

 开发环境隔离要求

(1) 开发测试环境、运行环境必须独立,并实施适当的控制措施;

第6页

移动终端APP安全防护规范及安全开放标准解决方案

(2) 测试系统环境应尽可能的效仿运行系统环境;

(3) 生产数据在未经相关领导批准前,不应拷贝到测试系统环境中。

 开发环境用户权限管理

(1) 应在项目组内部指定专人负责账户安全管理工作。账户安全管理的范围包括:应用系统账户和基础架构账户(操作系统、数据库、源代码管理库账户等);

(2) 对于关键、特权账户(如管理员账户)的申请和变更需经项目经理审批;

(3) 开发环境、测试环境中的账户管理应遵照湖南电信相应账户管理要求执行;

(4) 加强对开发环境用户权限的限制,禁止在开发环境使用超级用户或者其它特权用户进行软件开发;

(5) 用户权限变更必须经过相关负责人批准。

 开发环境安全管理软件防护

(1) 开发环境中的开发用机必须安装公司要求的相关安全管理软件。

(2) Windows平台的开发用机要求及时进行系统及中间件补丁升级和漏洞修复。

(3) 开发用机必须安装防病毒软件,并保持升级至最新的病毒定义码,及时增补安全补丁程序。

5、源代码的安全管理

建立专门的源代码管理服务器,对程序源代码实施有效管理;

代码管理应保存所有的历史版本,以便查阅;

所有源代码应进行归档保护;

应对软件主拷贝构建DSL(Definitive Software Library,最终软件库),安全存放正式授权软件版本;

应建立源代码修改保护制度;

经审批通过后,专职源代码管理人员才能将源代码(或设置文件)提取出来,交给修改人进行修改;

修改完毕应通过安全检查后提交,防止代码中存在隐蔽通道和木马;

通过检查后的源代码(或设置文件)应交还专职源代码管理人员,由其上载到源代码管理服务器;

重新上载后,必须给予新的版本号。

第7页

移动终端APP安全防护规范及安全开放标准解决方案

应具备应用软件文件完善的备份制度和灾难恢复机制。文档、源代码等数据每天备份一次,备份数据存放在其它服务器上。

应用软件正式上线前应删除所有测试页面、测试接口等所有测试代码片段。

6、委外开发安全要求

在开发过程中,将开发任务交给第三方时必须在双方签订第三方服务的《安全协议》中明确规定系统的安全要求、安全控制措施、服务定义和交付水准;

所有的第三方开发人员在签订合同时必须签订个人保密协议;

针对第三方提交的交付物必须做安全审查,检查是否存在安全脆弱性或者包含恶意程序及特洛伊木马。

7、罚则

对未按照APP安全开发要求落实安全设计与开发而引发的重大信息安全事件的单位,企信部进行通报批评、考核及责令停止有关业务等处罚。

四、 上线阶段安全要求

1、APP应用上线前安全评估原则

依据工信部《新技术新业务信息安全评估管理办法(试行)》(工信部保〔2012〕117号),为促进互联网业务健康有序发展,维护国家安全和社会稳定,保障用户合法权益和加强新技术新业务安全管理的要求,以及进一步细化落实相关要求。对可能引发信息安全风险或对国家安全、社会稳定和用户权益产生重要影响的业务移动终端APP(以下简称:移动终端APP)程序在上线、版本升级前均需开展安全评估工作。

2、组织与职责

(1) 企信部安全中心负责确定企信部移动终端APP评估工作规范,并负责组织开展的移动终端APP安全评估工作;

(2) 各单位是移动终端APP安全评估的主要责任单位和评估主体,遵循业务“谁主管谁负责、谁运营谁负责、谁使用谁负责”的原则负责协助开展移动终端APP安全评估及安全加固工作;

第8页

移动终端APP安全防护规范及安全开放标准解决方案

3、APP安全评估内容

 移动终端APP数据安全存储评估。该评估内容包括如下:

(1) 检查该应用程序的数据可能的本地存放位置,包括但不限于数据文件,日志文件、数据库文件、会话cookie、配置文件、SD卡等;

(2) 检查该数据文件、日志文件、数据库文件、会话cookie、配置文件、SD卡文件是否包含记录敏感信息;

(3) 评估该应用程序是否采取足够的安全措施(如:加密方式、访问权限)保护存放敏感信息的文件。

 移动终端APP数据安全传输评估。该项评估内容包括如下:

(1) 检查该应用程序传输敏感信息过程中是否采用SSL/TLS数据加密传输方式;

(2) 评估SSL加密算法强度(推荐密钥长度为:2048位);

(3) 评估客户端是否对SSL证书合法性进行校验。

 移动终端APP安全认证与鉴权机制检测。该项评估内容包括如下:

(1) 评估应用程序是否采用适宜的安全认证方式(如“口令+验证码”、“口令+短信”、“口令+令牌”、“口令+证书”等);

(2) 评估应用程序对密钥/密码的安全存储保护方式(推荐哈希算法:SHA-512,加密算法:RSA-2048、AES-256);

(3) 评估应用程序安全的会话机制(安全cookie方式、session方式);

(4) 评估应用程序是否过度授权(如管理后台向低权限用户开放)。

 移动终端APP数据上传安全检测。该项评估内容包括如下:

(1) 检查管理后台是否关闭非必要上传功能或模块,是否关闭非必要WEB管理方法(put、move、delete等);

(2) 检查前端和后端是否严格限制用户侧上传功能(如文件类型、文件格式、文件大小等);

(3) 评估是否对用户上传数据的合规性(如暴恐、涉黄、政治言论等)进行安全审核(人工或技术)。

 移动终端APP、Web应用安全检测。例如:SQL注入、XSS、CSRF、弱口令和平行越权等。

 移动终端APP反编译安全检测。该项评估内容包括如下:

第9页

移动终端APP安全防护规范及安全开放标准解决方案

(1) 评估是否能通过测试工具对应用程序进行反编译得到源代码;

(2) 评估是否可通过测试工具发现应用程序工作流程。

 应用程序恶意访问操作检测。该评估内容主要如下:

(1) 评估应用程序的本地执行的配置与权限;

(2) 评估应用程序是否会访问/读取本地其他文件获取用户信息;

(3) 评估应用程序是否会截获/记录/传输应用登录访问的敏感信息;

(4) 评估应用程序在运行时是否会访问非应用外internet访问及执行非许可的动作;

(5) 评估应用程序是否会调用/修改本地其它系统功能(如摄像头、录音、音量调节)进行非正常应用;

(6) 评估应用程序权限使用知情告知的充分性。

 移动终端软键盘安全性监测。评估涉及用户敏感信息交互是否采用有效的防窃取措施,如软键盘。

 移动终端完整性检测。评估客户端程序是否在启动和更新时存在真实性和完整性校验,防范客户端程序被篡改。

4、罚则

对未按照APP上线阶段安全要求进行评估的移动终端APP软件程序而引发的重大信息安全事件的单位,省公司进行通报批评、考核扣分及责令停止有关业务等处罚。

5、附件

具体APP安全问题评测方法及整改建议参考《APP安全评测手册》

APP安全评测手册.docx

五、 运行阶段安全要求

1、 各APP应用开发使用部门,依据湖南电信业务系统安全运维相关管理办法,负责APP应用的日常安全运维工作;保证APP应用持续稳定运行;

2、 企信部安全中心,将所有APP下载渠道纳入自建或第三方大数据监测中心进行实时监控,监测内容包括包括版本、渠道、下载源、下载量等。从而,第一时间发现盗第10页

移动终端APP安全防护规范及安全开放标准解决方案

版应用,进行正版盗版APP信息精准对比,使湖南电信安全部门清晰了解APP的正盗版情况及升级情况;做到及时发现、及时处理。

六、 下线阶段安全要求

根据湖南电信业务系统下线相关安全管理规定,进行APP应用下线工作,及时删除销毁敏感数据。

第11页

2024年2月7日发(作者:撒沛凝)

移动终端APP安全防护规范及安全开放标准

解决方案

2016年10月

移动终端APP安全防护规范及安全开放标准解决方案

目 录

一、

二、

三、

1、

2、

3、

4、

5、

6、

7、

四、

1、

2、

3、

4、

5、

五、

六、

前言 ................................................................. 2

术语与解释 ........................................................... 2

开发阶段安全要求 ..................................................... 2

安全编码原则 ....................................................... 2

安全需求设计与分析 ................................................. 3

APP客户端安全功能要求 ............................................. 3

开发环境安全管理 ................................................... 6

源代码的安全管理 ................................................... 7

委外开发安全要求 ................................................... 8

罚则 ............................................................... 8

上线阶段安全要求 ..................................................... 8

APP应用上线前安全评估原则 ......................................... 8

组织与职责 ......................................................... 8

APP安全评估内容 ................................................... 9

罚则 .............................................................. 10

附件 .............................................................. 10

运行阶段安全要求 .................................................... 10

下线阶段安全要求 .................................................... 11

第1页

移动终端APP安全防护规范及安全开放标准解决方案

一、 前言

为了加强和规范湖南电信企业信息化部(以下简称:企信部)APP应用的开发阶段、上线阶段、运行阶段、下线阶段的安全建设,有效防范来自应用层的威胁和攻击,保证APP应用整个生命周期的安全,特编制本解决方案。

企信部APP应用全生命周期管理遵循“谁开发谁负责”“谁使用谁负责”的原则;即:企信部APP应用相关各单位开发的应用由该单位负责开发过程的安全管理和安全功能的设计工作以及上线前安全评估发现问题的加固工作、APP使用部门负责运行阶段的安全维护管理及下线阶段数据销毁工作、安全中心负责APP上线前安全评估工作。

二、 术语与解释

机密性:个人或团体的信息不为其他不应获得者获得。

完整性:在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。

抗抵赖性:发送者不能在事后否认其发送的信息。

SQL注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

XSS:跨站脚本攻击,恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

SSL:安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。

APP客户端:是指具有新功能或新使用价值的移动终端APP软件程序。包括软件程序状态处于建设试点、试商用和商用的所有移动终端APP软件程序。

APP服务端:是指为APP客户端提供应用交互服务的后台应用平台。

三、 开发阶段安全要求

1、安全编码原则

 程序只实现制定的功能

第2页

移动终端APP安全防护规范及安全开放标准解决方案

 用户输入都是不可信的,对用户输入数据做有效性检查

 必须对异常情况进行处理

 尽可能使用安全函数编程

2、安全需求设计与分析

在APP应用立项开发批准前,需要明确所有的安全需求并形成文档。安全需求可以从以下几个方面考虑:

1)信息的机密性和完整性保护;

2)抗抵赖性;

3)身份鉴别和认证;

4)访问控制和授权;

5)数据校验及消息验证;

6)数据传输安全保护;

7)密码保护;

8)跟踪监控与审计;

10)合法性和符合性需求;

11)灾难恢复等

在APP应用的开发过程中,开发人员需对安全需求进行详细的分析,并将已确定的安全需求体现于应用程序设计中,包括安全架构的设计和安全功能的设计。

APP应用服务端的安全设计参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

APP客户端的基本安全设计见“3..APP客户端安全功能要求”,通用安全要求参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

3、APP客户端安全功能要求

 APP客户端数据安全存储

APP客户端应用程序本地存储的数据(包括但不限于数据文件,日志文件、数据库文件、会话cookie、配置文件、SD卡等)应采取加密方式保护存放敏感信息的文件。

对于关键数据加密,应使用TripleDES(192 位密钥)加密算法 。要减慢并加强对第3页

移动终端APP安全防护规范及安全开放标准解决方案

大量数据的加密,应使用 Rijndael (256 位密钥)算法。要对将暂时存储的数据加密,可以考虑使用较快但较弱的算法,如 DES。对于数字签名,应使用 RSA 或 DSA 算法。对于哈希,应使用 SHA1.0 算法。对于用户键入的哈希,应使用基于哈希的消息验证代码(HMAC)SHA1.0 算法。

 APP客户端数据安全传输

APP客户端应用程序传输敏感信息过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位),并在客户端对SSL证书合法性进行校验。具体数据安全传输要求如下:

(1) 全流程使用HTTPS传输,且是强制使用;

(2) 敏感信息传输过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位);

(3) 证书锁定(Certificate Pinning),在客户端对SSL证书合法性进行校验;

(4) 完全正向保密(perfect forward secrecy)一个密钥只能访问由它所保护的数据;用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并不影响其他密钥的安全性。

 APP客户端安全认证与鉴权机制

(1) APP客户端应用程序应对密钥/密码采取安全的存储保护方式(推荐哈希算法:SHA-512,加密算法:RSA-2048、AES-256);

(2) APP客户端应用程序应根据APP重要程度不同采用适宜的安全认证方式(如“密码+验证码”、“密码+动态密码”、“密码+令牌”、“密码+证书”等);

普通APP安全认证与鉴权要求如下:

 密码强度要求:对用户设置密码进行检测,输入至少6位字符,其中要包含大写字母、小写字母、数字和特殊字符中的至少两种。

 账号密码传输要求:客户端向服务器第一次发起登录请求(不传输用户名和密码)。服务器利用RSAAES算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。客户端收到公钥后, 加密用户密码,向服务器发送用户名和加密后的用户密码; 同时另外产生一对公钥和私钥,自己保留私钥,

第4页

移动终端APP安全防护规范及安全开放标准解决方案

向服务器发送公钥; 在第二次登录请求时传输用户名和加密后的密码以及客户端生成的公钥。服务器利用保留的私钥对密文进行解密,得到真正的密码。

 为提升用户体验,在首次登陆时用户只需要输入用户名和密码,当服务器发现异常情况时启用验证码、动态密码等机制。

 自动登陆:在实现自动登陆功能时,应将token和用户使用该App的移动终端进行绑定(如:绑定imsi,mac等),在登陆终端发生变化时,需重新进行账号密码验证并启用验证码或动态密码验证机制。

重要内部APP安全认证与鉴权要求如下:

 密码强度要求:对用户设置密码进行检测,输入至少8位字符,其中要包含大写字母、小写字母、数字和特殊字符中的至少三种。

 针对内部重要APP每次登陆必须使用账号+密码方式进行认证鉴权;

 当登陆终端发生变化时,应采用账号+密码+动态密码的验证方式。

(3) APP客户端应用程序应采取安全的会话机制(如:安全cookie方式、session方式);

(4) APP客户端应用程序不应过度授权(如管理后台向低权限用户开放)。

 APP客户端数据上传安全

(1) 管理后台应关闭非必要上传功能或模块,关闭非必要WEB管理方法(put、move、delete等);

(2) 前端和后端应严格限制用户侧上传功能(如文件类型、文件格式、文件大小等);

(3) 应对用户上传数据的合规性(如暴恐、涉黄、政治言论等)进行安全审核过滤(如在 @RequestParam 的参数上使用 @SensitiveFormat 注解,Spring MVC就会在注入该属性时自动进行敏感词过滤)。

 APP客户端应用安全

APP客户端应用安全(如:SQL注入、XSS、CSRF、弱口令和越权等相关安全要求)参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。

第5页

移动终端APP安全防护规范及安全开放标准解决方案

 APP客户端反编译安全(APK加密)

APP客户端程序应通过对代码的高级混淆、流程混排加密、代码内部字符串加密等,对源码、函数名称以及接口调用进行加密隐藏,以防止第三方对应用程序进行反编译得到源代码。(对安卓应用的DEX、RES、SO库等主要文件进行加密保护,可使用第三方商业化APK加密工具进行加密,达到防止反编译的目的)

 APP客户端访问操作安全

(1) APP客户端应用程序访问用户终端的权限应限制在程序实现自身功能的最低权限范围内,不应额外访问/读取本地其他文件获取用户信息;不应额外截获/记录/传输应用登录访问的敏感信息;不应访问非应用外internet访问及执行非许可的动作。

(2) APP客户端应用程序不应调用/修改本地其它系统功能(如摄像头、录音、音量调节)进行非正常应用。

(3) APP客户端应用程序权限使用应充分告知终端用户。

 APP客户端软键盘安全

涉及用户敏感信息交互的用户输入软键盘应采用有效的防窃取措施,如使用随机分布式虚拟安全键盘,对键盘的数据输入过程、数据存储过程、内存数据换算过程进行全程高级加密(加密要求见前文“APP客户端数据安全存储”、“APP客户端数据安全传输”部分),达到效防止数据侦听、键盘劫持、键盘截屏等攻击行为。

 APP客户端完整性校验安全

APP客户端程序应在启动和更新时进行真实性和完整性校验,防范客户端程序被篡改(通过计算crc32或哈希值的方法对整个apk的真实性和完整性进行校验)。

4、开发环境安全管理

 开发环境隔离要求

(1) 开发测试环境、运行环境必须独立,并实施适当的控制措施;

第6页

移动终端APP安全防护规范及安全开放标准解决方案

(2) 测试系统环境应尽可能的效仿运行系统环境;

(3) 生产数据在未经相关领导批准前,不应拷贝到测试系统环境中。

 开发环境用户权限管理

(1) 应在项目组内部指定专人负责账户安全管理工作。账户安全管理的范围包括:应用系统账户和基础架构账户(操作系统、数据库、源代码管理库账户等);

(2) 对于关键、特权账户(如管理员账户)的申请和变更需经项目经理审批;

(3) 开发环境、测试环境中的账户管理应遵照湖南电信相应账户管理要求执行;

(4) 加强对开发环境用户权限的限制,禁止在开发环境使用超级用户或者其它特权用户进行软件开发;

(5) 用户权限变更必须经过相关负责人批准。

 开发环境安全管理软件防护

(1) 开发环境中的开发用机必须安装公司要求的相关安全管理软件。

(2) Windows平台的开发用机要求及时进行系统及中间件补丁升级和漏洞修复。

(3) 开发用机必须安装防病毒软件,并保持升级至最新的病毒定义码,及时增补安全补丁程序。

5、源代码的安全管理

建立专门的源代码管理服务器,对程序源代码实施有效管理;

代码管理应保存所有的历史版本,以便查阅;

所有源代码应进行归档保护;

应对软件主拷贝构建DSL(Definitive Software Library,最终软件库),安全存放正式授权软件版本;

应建立源代码修改保护制度;

经审批通过后,专职源代码管理人员才能将源代码(或设置文件)提取出来,交给修改人进行修改;

修改完毕应通过安全检查后提交,防止代码中存在隐蔽通道和木马;

通过检查后的源代码(或设置文件)应交还专职源代码管理人员,由其上载到源代码管理服务器;

重新上载后,必须给予新的版本号。

第7页

移动终端APP安全防护规范及安全开放标准解决方案

应具备应用软件文件完善的备份制度和灾难恢复机制。文档、源代码等数据每天备份一次,备份数据存放在其它服务器上。

应用软件正式上线前应删除所有测试页面、测试接口等所有测试代码片段。

6、委外开发安全要求

在开发过程中,将开发任务交给第三方时必须在双方签订第三方服务的《安全协议》中明确规定系统的安全要求、安全控制措施、服务定义和交付水准;

所有的第三方开发人员在签订合同时必须签订个人保密协议;

针对第三方提交的交付物必须做安全审查,检查是否存在安全脆弱性或者包含恶意程序及特洛伊木马。

7、罚则

对未按照APP安全开发要求落实安全设计与开发而引发的重大信息安全事件的单位,企信部进行通报批评、考核及责令停止有关业务等处罚。

四、 上线阶段安全要求

1、APP应用上线前安全评估原则

依据工信部《新技术新业务信息安全评估管理办法(试行)》(工信部保〔2012〕117号),为促进互联网业务健康有序发展,维护国家安全和社会稳定,保障用户合法权益和加强新技术新业务安全管理的要求,以及进一步细化落实相关要求。对可能引发信息安全风险或对国家安全、社会稳定和用户权益产生重要影响的业务移动终端APP(以下简称:移动终端APP)程序在上线、版本升级前均需开展安全评估工作。

2、组织与职责

(1) 企信部安全中心负责确定企信部移动终端APP评估工作规范,并负责组织开展的移动终端APP安全评估工作;

(2) 各单位是移动终端APP安全评估的主要责任单位和评估主体,遵循业务“谁主管谁负责、谁运营谁负责、谁使用谁负责”的原则负责协助开展移动终端APP安全评估及安全加固工作;

第8页

移动终端APP安全防护规范及安全开放标准解决方案

3、APP安全评估内容

 移动终端APP数据安全存储评估。该评估内容包括如下:

(1) 检查该应用程序的数据可能的本地存放位置,包括但不限于数据文件,日志文件、数据库文件、会话cookie、配置文件、SD卡等;

(2) 检查该数据文件、日志文件、数据库文件、会话cookie、配置文件、SD卡文件是否包含记录敏感信息;

(3) 评估该应用程序是否采取足够的安全措施(如:加密方式、访问权限)保护存放敏感信息的文件。

 移动终端APP数据安全传输评估。该项评估内容包括如下:

(1) 检查该应用程序传输敏感信息过程中是否采用SSL/TLS数据加密传输方式;

(2) 评估SSL加密算法强度(推荐密钥长度为:2048位);

(3) 评估客户端是否对SSL证书合法性进行校验。

 移动终端APP安全认证与鉴权机制检测。该项评估内容包括如下:

(1) 评估应用程序是否采用适宜的安全认证方式(如“口令+验证码”、“口令+短信”、“口令+令牌”、“口令+证书”等);

(2) 评估应用程序对密钥/密码的安全存储保护方式(推荐哈希算法:SHA-512,加密算法:RSA-2048、AES-256);

(3) 评估应用程序安全的会话机制(安全cookie方式、session方式);

(4) 评估应用程序是否过度授权(如管理后台向低权限用户开放)。

 移动终端APP数据上传安全检测。该项评估内容包括如下:

(1) 检查管理后台是否关闭非必要上传功能或模块,是否关闭非必要WEB管理方法(put、move、delete等);

(2) 检查前端和后端是否严格限制用户侧上传功能(如文件类型、文件格式、文件大小等);

(3) 评估是否对用户上传数据的合规性(如暴恐、涉黄、政治言论等)进行安全审核(人工或技术)。

 移动终端APP、Web应用安全检测。例如:SQL注入、XSS、CSRF、弱口令和平行越权等。

 移动终端APP反编译安全检测。该项评估内容包括如下:

第9页

移动终端APP安全防护规范及安全开放标准解决方案

(1) 评估是否能通过测试工具对应用程序进行反编译得到源代码;

(2) 评估是否可通过测试工具发现应用程序工作流程。

 应用程序恶意访问操作检测。该评估内容主要如下:

(1) 评估应用程序的本地执行的配置与权限;

(2) 评估应用程序是否会访问/读取本地其他文件获取用户信息;

(3) 评估应用程序是否会截获/记录/传输应用登录访问的敏感信息;

(4) 评估应用程序在运行时是否会访问非应用外internet访问及执行非许可的动作;

(5) 评估应用程序是否会调用/修改本地其它系统功能(如摄像头、录音、音量调节)进行非正常应用;

(6) 评估应用程序权限使用知情告知的充分性。

 移动终端软键盘安全性监测。评估涉及用户敏感信息交互是否采用有效的防窃取措施,如软键盘。

 移动终端完整性检测。评估客户端程序是否在启动和更新时存在真实性和完整性校验,防范客户端程序被篡改。

4、罚则

对未按照APP上线阶段安全要求进行评估的移动终端APP软件程序而引发的重大信息安全事件的单位,省公司进行通报批评、考核扣分及责令停止有关业务等处罚。

5、附件

具体APP安全问题评测方法及整改建议参考《APP安全评测手册》

APP安全评测手册.docx

五、 运行阶段安全要求

1、 各APP应用开发使用部门,依据湖南电信业务系统安全运维相关管理办法,负责APP应用的日常安全运维工作;保证APP应用持续稳定运行;

2、 企信部安全中心,将所有APP下载渠道纳入自建或第三方大数据监测中心进行实时监控,监测内容包括包括版本、渠道、下载源、下载量等。从而,第一时间发现盗第10页

移动终端APP安全防护规范及安全开放标准解决方案

版应用,进行正版盗版APP信息精准对比,使湖南电信安全部门清晰了解APP的正盗版情况及升级情况;做到及时发现、及时处理。

六、 下线阶段安全要求

根据湖南电信业务系统下线相关安全管理规定,进行APP应用下线工作,及时删除销毁敏感数据。

第11页

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论