从“携程”安全事件解读PCI DSS标准

2014-03-25

2014年3月22日乌云(Woo Yun)漏洞平台发布携程旅行网的相关安全漏洞,漏洞标题为“携程安全支付日志可遍历下载导致大量用户银行卡信息泄露(包含持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin)”。基于业界针对该漏洞提出了很多与PCI标准相关的讨论,atsec作为PCI安全标准委员会所授权的合规安全评估机构QSA公司在此进行官方解释,澄清由于该事件引起的对于标准容易引起歧义的解读。

1、CVV2是否允许存储?
CVV2是获取交易授权的一个重要数据,在PCI DSS标准中,CVV2/CVC2、PIN码以及磁条信息等数据称为敏感认证数据(SAD:Sensitive Authentication Data)。PCI DSS要求3.2原文参见如下:
3.2 Do not store sensitive authentication data after authorization (even if encrypted). If sensitive authentication data is received, render all data unrecoverable upon completion of the authorization process.
标准正确的解读为:敏感认证数据(SAD:Sensitive Authentication Data)在授权完成之后禁止存储(发卡机构和发卡处理机构除外),即使进行了加密也是绝对禁止的。该要求是PCI DSS标准6大类12个要求300余项安全要求之一,也是标准的重要的基线要求。

业界也在讨论在授权交易之前是否能进行存储,理论上来讲这应该取决于各支付品牌的安全体系要求。通常QSA评估机构和人员会在项目执行过程中通过业务流程的梳理与被评估机构进行深入研讨和确认,总体来讲授权之前的暂时性的敏感认证存储必须要高于原有的PCI要求,QSA至少要检查强加密算法的实现、密钥管理的相关流程和技术措施等。

故而,安全漏洞可能会导致的风险理论上应不会涉及到敏感认证数据的泄露,因为这些按照标准和产业要求是禁止存储的。

关于此点,早在多年以前产业内就有过诸多的探讨和解决方案。来自于PCI标准委员会的信息参见如下:
As for sensitive authentication data, such as the contents of the magnetic stripe and the security code, the Council added this:
With respect to SAD, PCI DSS Requirement 3.2 prohibits storage of SAD AFTER authorization, even if encrypted. Whether SAD is permitted to be stored prior to authorization is determined by the individual payment brands, including any related usage and protection requirements. Any permitted storage of SAD prior to authorization would be subject to strict conditions and controls above those defined in the PCI DSS. Additionally, several payment brands have very specific rules that prohibit any storage of SAD and do not make any exceptions. To determine payment brand requirements, please contact the individual payment brands directly.
从PCI DSS标准的角度,容易被忽略的位置(比如日志文件、临时文件、debug文件等),特别是调试性的debug信息经常会被忽略,这也是atsec执行QSA审核的重点和容易发现问题的环节。

此外,PCI的要求在所谓“预授权”过程中是一致的,并没有要求的变化和区别。参见2012年PCI标准委员会发布的正式说明:
PCI DSS applies wherever cardholder data (CHD) and/or sensitive authentication data (SAD) is stored, processed or transmitted, irrespective of whether it is pre-authorization or post-authorization. There are no specific rules in PCI DSS regarding how long CHD or SAD can be stored prior to authorization, but such data must be protected according to PCI DSS while being stored, processed or transmitted.

2、关于持卡人数据传输的加密要求
有文章谈及:“而PCI顾问James Huguelet则指出:PCI标准最大的安全问题在于,该标准虽然要求对静态数据加密,但是并不要求企业对数据传输加密,也就是在整个交易流程链中,数据都未被要求加密。”这个专家的评论无疑是错误的。

PCI DSS数据保护分为数据存储的保护和传输的加密,PCI DSS第4章的要求均是面向公共开放网络(包括但不限于互联网、无线、GSM、GPRS)的持卡人数据传输加密的要求,其中强加密是必须的。

关于传输加密,标准部分原文参见如下:
4.1 Use strong cryptography and security protocols (for example, SSL/TLS, IPSEC, SSH, etc.) to safeguard sensitive cardholder data during transmission over open, public networks.
通常atsec除了审核证据和访谈,也会通过外部授权的扫描供应商(ASV:Approved Scanning Vendor)通过扫描的方式进行进一步的验证(参见PCI DSS要求11.2)。

3、关于目录遍历漏洞
事件中提及的目录遍历漏洞,是OWASP top 10中的漏洞之一。在上个版本标准PCI DSS v2.0的要求6.5.8中已明确要求杜绝该漏洞的存在。此外,PCI DSS标准要求在支付应用上线前的代码审核阶段(涉及要求6.3.2)、安全性测试阶段(涉及要求6.4.5.3)以及上线后的定期安全性检查阶段(涉及要求6.6)的软件生命周期过程中,通过有效的代码评审、支付应用上线前的安全性测试以及支付应用上线后的定期代码审核或通过实施阻止针对Web应用的监测和防护机制等措施确保支付应用中不存在OWASP top 10漏洞。标准原文参见如下:
6.5.8 Improper Access Control (such as insecure direct object references, failure to restrict URL access, and directory traversal)

4、在美国上市是否就默认达到了PCI DSS标准的合规要求?
这是不准确的。PCI DSS早在多年前已经成为新商户、服务提供商,以及收单机构和发卡机构处理支付相关业务的强制要求,目前并没有明显的证据显示PCI DSS的合规要求是来自于上市管理机构的强制要求。

执行PCI DSS合规通常来自于卡品牌、收单机构(如银行)和支付合作客户的要求。目前也有越来越多的机构出于自身数据安全的考虑,致力于PCI合规建设和安全合规评估。

请参见atsec官方PCI QSA合规评估列表

5、关于数据泄露和PFI
在安全行业很多的机构和厂商都会接受安全专家或者自行发现安全漏洞,和黑客利用漏洞攻击的本质区别在于漏洞的发布是为了更好的修复漏洞并解决信息安全问题。故而漏洞可能是客观存在的,漏洞发布和问题修复之间的时间窗口就显得尤为重要,使得漏洞被黑客利用导致数据泄露事件的可能性以及相关风险降到最低。
而漏洞的发布本身也不意味着发生了数据泄露的事件。在国际PCI产业,通常发生了疑似数据泄露之后,会邀请PCI安全标准委员会所授权的PCI取证调研机构(PFI:PCI Forensic Investigator)执行事后取证调研,进一步确定事件发生的原因,提出建议改善信息安全。

PCI数据安全标准的生命周期为三年,每三年内全球的产业专家均在致力于新标准的研讨和制定,符合最新的安全发展要求;此外,各个领域的问题设置有专门的特别工作组(SIG:Special Interest Group)开发并维护特殊的相关安全技术指导,如加密、EMV、移动支付、云计算、渗透测试、安全意识教育等。PCI标准要求从制度流程、人员要求到网络安全、系统加固、应用开发过程、安全编码、数据安全存储和传输、物理安全、安全测试和漏洞管理等方方面面进行了诠释。致力于PCI合规且长期持续的合规是支付相关机构的业务健康稳定发展的基础,也是保护广大持卡人数据安全的最佳实践。

参考资料;
[1] WooYun.org:http://www.wooyun.org/bugs/wooyun-2010-054302
[2] PCI SSC官方网站:https://www.pcisecuritystandards.org/
[3] atsec官方网站:http://www.atsec.cn/
[4] 携程支付安全声明:
http://pages.ctrip.com/commerce/promote/201403/other/xf/index.html