mPOS支付应用软件安全评估送检指南

mPOS支付应用软件安全评估

送检指南

银行卡检测中心

2014年6月

1.前言

感谢您选择银行卡检测中心进行mPOS支付应用软件安全评估。

mPOS支付应用软件安全评估包括mPOS支付软件要求、应用软件生命周期管理、应用软件自身安全要求、用户安全鉴别、账户信息保护、通信安全要求、密码算法及密钥管理。

本文档主要介绍了mPOS支付应用软件安全评估的过程和需要送检客户配合提交的一些文档、程序、代码和样品等要求,以及需要填写的调查问卷和指导手册。如果在您阅读完本文档后仍有不清楚之处,请及时与我们联系,我们将非常荣幸为您提供帮助。

2.流程说明

?客户首先与实验室签订终端安全评估合同。

?客户与实验室签订保密协议,保证实验室对获得的任何资料、样本和信息等严格保密,同时客户对从实验室获取的任何资料和信息等严格保密。

?实验室发放《mPOS支付应用软件安全评估需要提交材料清单》,请客户按照清单中的要求,准备相应的材料、测试程序等。

?实验室发放《mPOS支付应用软件安全评估客户调查问卷》,请客户就产品的一些安全设计等方面认真回答问卷中的每一个问题,并且尽量详细,以方便评估测试。

?实验室发放《mPOS支付应用软件安全要求手册》,请客户说明产品所支持的功能以及一些附件信息等。

?实验室收回《mPOS支付应用软件安全评估客户调查问卷》和《mPOS支付应用软件安全要求手册》,同时拿到客户提交的材料、程序和样品等。

?实验室检查资料和样品的有效性和充分性。

?实验室开始评估,在评估的过程中有可能会根据特定的需要来请求客户提交一些材料和探讨一些问题。

?保留样品和材料,以被核查,同时实验室出具评估报告。

附件1 《mPOS支付应用软件安全评估需要提交材料清单》

附件2 《mPOS支付应用软件安全评估客户调查问卷》

附件3 《mPOS支付应用软件安全要求手册》

mPOS支付应用软件安全评估

提交材料清单

银行卡检测中心

●联系地址:北京市丰台区外环西路26号院9号楼

●官方网址:https://www.360docs.net/doc/4015023235.html,/

●邮政编码:100070

●电话:010-******** 传真:010-********

●关注银行卡检测中心的新浪微博!请搜索:“银行卡检测中心官方微博”或

扫描

●关注银行卡检测中心的微信公众账号!请搜索:“bctc_official”或扫描

目录

一. 填写“mPOS支付应用软件安全评估客户调查问卷” (3)

二. 文档准备 (3)

三. 其他材料准备 (3)

一.填写“mPOS支付应用软件安全评估客户调查问卷”

为明确信息安全服务需求和提高评估工作效率,用户请详细填写问卷。 二.文档准备

编号检测项有/无对应文档名称

1 软件生命周期管理控制文档(开发、测试、发布、变更等)及控制记录

2 系统开发文档(包含需求、设

计、实施、测试文档等)

3 软件安全机制说明(包含各阶段的安全控制机制、自检、认证、风控、审计)

4 对账户信息生命周期的保护机制说明(包含存储、输入、传输、保护)

5 对传输过程的安全保护机制说明(数据完整性、机密性保护,抗抵赖等)

6

网络安全实施指南

7 数据及密钥保护机制说明文档

(包含加解密、密钥管理机制)

8 采集上位机信息的相关说明(如位置信息、IMEI、MAC地址等辅助信息)

三.其他材料准备

编号检测项

1 可正常执行支付功能的完整系统(服务器可通过虚拟机等方式实现)至少应

包含:

编号检测项

1.服务器、网络连接设备(根据实际需要可为专用的集线器、交换机、路由器等)、

2.专用的终端需提供4台样机,基于开放平台的通用终端需提供样机2台、3.支付应用软件光盘(或含软件备份的USB存储介质一个)、

4.上位机测试应用软件、

5.智能卡、

6.专用的软件调试工具、

7.其他系统所需设备。

其中:光盘(或USB介质)需留样,测试完毕不返还。如果软件非开放平台通用软件,需安装在专用终端上,则需留样专用终端一台(大型终端ATM等例外)。

mPOS支付应用软件安全评估

调查问卷

银行卡检测中心

●联系地址:北京市丰台区外环西路26号院9号楼

●官方网址:https://www.360docs.net/doc/4015023235.html,/

●邮政编码:100070

●电话:010-******** 传真:010-********

●关注银行卡检测中心的新浪微博!请搜索:“银行卡检测中心官方微博”或扫

●关注银行卡检测中心的微信公众账号!请搜索:“bctc_official”或扫描

目录

一.基本情况和机构信息审核 (3)

1.1基本信息 (3)

1.2检测申请机构信息 (3)

1.3软件基本信息 (3)

1.4公司业务基本情况 (4)

二.安全目标 (4)

三.支付应用软件的安全要求 (1)

基础安全要求 (1)

3.1应用软件生命周期管理 (1)

3.2应用软件自身安全要求 (4)

3.3用户安全鉴别 (6)

3.4账户信息保护 (7)

3.5通信安全要求 (9)

3.6密码算法及密钥管理 (10)

辅助信息要求 (11)

3.7辅助信息 (11)

软件功能限制 (12)

3.8IC卡应用处理内核 (12)

一.基本情况和机构信息审核

1.1基本信息

被测单位:

软件名称:版本号:

地址:

填写人:主要职责:

电话:传真:

E-Mail地址:

1.2检测申请机构信息

1.3软件基本信息

软件名称、版本

软件适用范围例如Android手机终端,XXx型号POS机软件开发语言

软件采用的数据库

软件所需其他支撑软件

软件使用的物理设备

最终知识产权归属

1.4公司业务基本情况

(请简述公司的业务,包括说明支付业务中贵公司所处的角色,以及贵公司如何储存、使用和传输敏感数据和数据处理容量。)

二.安全目标

1.账户信息安全保护

如果《mPOS支付应用软件安全要求手册》中此部分的答案为“是”,请描述:

1.

上位机传输给受理终端的账户信息都包括哪些内容?

2.

受理终端对账户信息加密使用的算法类型及密钥长度。

3.

敏感数据加密是在受理终端中完成还是在上位机中完成?

4.敏感数据明文是否出现在硬件加密模块之外的地方,如果保证数据在传输和处理过程中不被泄露、窃取和篡改?

5.

受理终端是否存储密文的敏感数据,存储的位置以及存储的内容有哪些。

备注:

2.交易信息安全保护

如果《mPOS支付应用软件安全要求手册》中此部分的答案为“是”,请描述:

1.如何保证交易关键信息(如交易金额、交易类型、货币类型、商户号、终端号等)的真实性和完整性。

2.

请列出终端的全部API函数列表。

3.

如何保证交易关键信息在传输过程中不被篡改。

备注:

3.交易真实性

如果《mPOS支付应用软件安全要求手册》中此部分的答案为“是”,请描述:

1.

受理终端如何保证报文的真实性?

2.

每笔交易中的唯一交易标识使用的是什么交易数据?由受理终端还是上位机生成?3.

如果受理终端提供MAC计算功能,请说明对交易信息进行校验和填充的方法。4.

进行MAC加密的密钥存储在受理终端还是在上位机中?

备注:

4.安全提示

如果《mPOS支付应用软件安全要求手册》中此部分的答案为“是”,请描述:

1.交易过程中的流程关键环节(如交易金额及交易类型确认,密码输入等)是否具有强制提示,如何提示?

2.交易关键环节和交易结果是否需要持卡人或收银员确认操作才能进行下一步操作,如果保证该步骤。

备注:

三.支付应用软件的安全要求

基础安全要求

3.1应用软件生命周期管理

3.1.1应用软件的需求安全分析

(1)需求分析文档中是否对软件的需求进行了信息识别和风险评估,制定了安全目标以及最低BUG标准?

是否

3.1.2应用软件系统设计威胁建模

(1)系统设计文档中是否包括了系统架构概述、分解应用程序、识别风险识别漏洞等。并且针对功能分析数据流、针对数据流分析威胁、确认没有相应的漏洞、以及改进安全设计并形成了规范文档。

是否

3.1.3应用软件的开发

(1)检查应用程序源代码如何存储和管理,是否需严格控制代码的修改权限,已发布版本的代码是否不允许直接再次修改?

是否

(2)若应用程序源代码具有传输机制,则源代码在传输时是否通过检测调试器、防止软件重编译、检查代码植入、禁用ptrace服务、逻辑代码动态加载等方式保证源代码的完整性?

是否

(3)是否具有安全编码指南,例如:开放式网页应用程序安全项目指南OW ASP、CWE/SANS 、CERT 安全编码等。

是否

(4)开发环境中是否使用真实环境的用户信息,如银行卡主账号、用户姓名、手机号、身份证号及通

讯地址等。

是否

(5)若应用程序开发过程中调用外部组件,如何保证外部组件的安全性?

(6)若为模块化开发,支付模块被调用时是否可被其他模块修改或替换?

是否

(7)是否具备专门的配置管理岗位,且职责包含应用程序的版本管理和代码权限管理?

是否

(8)若应用程序中存在敏感数据以及涉及处理敏感数据的程序逻辑,客户端应用程序是否通过采取代码混淆、加壳、加密等措施对敏感数据和相应的程序逻辑进行保护?

是否

(9)程序中的功能和组件是否有权限机制保护其不会被调用?

是否

(10)开发时是否使用了SSL连接验证,是否检查了证书所有者、证书的域名,并对用户的不安全连接有及时的反馈信息等?

是否

(11)软件执行支付时是否以前台显式方式运行,而非后台隐式?

是否

(12)应用程序部署的网络环境是否具有防火墙、恶意代码防范工具等保护措施?

是否

(13)是否具备客户的培训资料,是否具备相关制度要求培训资料应定期更新并及时对客户进行必要的培训?

是否

3.1.4应用软件的测试

(1)应用程序是否进行了严格的测试?

是否

(2)程序代码的变更是否由源代码作者以外的专业程序测试人员进行?

是否

(3)开发环境与测试环境是否分离?

是否

(4)测试环境中是否使用真实环境的用户信息进行测试操作?

是否

(5)测试过程中是否检查程序代码是参照安全编码指南开发的?

是否

(6)测试过程中发现的问题是否在软件发布前进行修正?

是否

(7)软件发布前是否由管理层审查并批准程序代码的测试结果?

是否

3.1.5应用软件的发布

(1)应用程序启用或发布给客户之前,是否清除无效的程序代码、自定义的支付应用程序账户、用户ID

与密码,清除不必要的log代码或更改log记录级别,并清除测试资料等与保证程序正常运行无关的信息?

是否

(2)是否具备独立的配置管理人员,应用软件的发布版本是否由配置管理人员进行生成、发布和登记?

是否

(3)采取什么措施保证应用程序提供者和应用程序发布机构之间传输应用程序源代码和数据时的机密

性和完整性?

(4)应用程序是否使用或请求不必要的服务或协议?

是否

(5)应用程序发布渠道采用什么保护措施保证应用程序发布时的完整性?

3.1.6应用软件的变更

(1)是否建立变更控制的申报和审批文件化程序,对变更影响进行分析并文档化,记录变更实施过程,

并妥善保存所有文档和记录。

是否

(2)是否保存授权方批准变更的所有文档和记录。

是否

(3)是否建立终止变更并从错误或失败变更中正确回退的程序,并明确过程控制方法和人员职责。

是否

(4)软件变更后再次发布前是否执行严格的功能测试。

是否

(5)在发生重大变更时,在发布给客户之前是否审查支付应用程序代码,以发现潜在的编码漏洞。

是否

3.2应用软件自身安全要求

3.2.1应用软件的下载、安装与更新

(1)应用程序采取什么手段保证软件传输过程的机密性和软件的完整性?

(2)应用程序在程序有更新时是否及时提示用户进行升级。

是否

(3)签名信息是否嵌入软件中以保证安装包的合法性。

是否

3.2.2应用软件的自检

(1)应用程序是否具有启动时的自检程序对软件自身和所处运行环境的安全性进行核查?

是否

3.2.3合法性认证和风险控制

(1)应用程序是否具有程序与后台系统之间的合法性认证机制。客户端是否采取有效手段与后台系统进行双向认证?

是否

(2)应用程序是否具备认证超时时间,时间设置为多少?

是否

3.2.4审计功能

(1)应用程序是否具备记录所有用户访问日志的功能。

是否

(2)是否存在相关文档要求用户不得停用日志。

是否

(3)应用程序在安装时或相关文档中是否告知用户将记录的审计信息,是否检查在软件卸载时可

由用户选择清除或自动清除该信息。

是否

(4)日志记录的内容包括哪些?

3.3用户安全鉴别

3.3.1用户标识

(1)系统中使用唯一的身份标识ID来鉴别用户?

是否

3.3.2用户验证

(1)采用什么方法验证用户身份?

(2)应用程序是否采用短信验证码方式对用户身份进行验证,验证码是否具有有效时间的设置。

是否

3.3.3重验证机制

(1)应用程序是否具有密码重置功能,执行密码重置前是否对用户身份进行有效验证?

是否

(2)应用程序是否设置会话空闲超时时间,超过时间后用户是否需要重新进行身份验证?

是否

3.3.4数据输入安全(支付软件为客户端程序形式)

(1)密码是否在传输和存储过程中进行加密保护?

是否

(2)应用程序如何设置密码复杂度?

(3)应用程序是否设置密码重复使用次数上限,并定期提示用户修改密码。

相关文档
最新文档