最近查一些Nessus、Nexpose漏洞扫描工具相关资料,工具介绍都会提到一些审计功能,其中最常见的就是PCI DSS合规性审计。从网上找到一篇介绍较详尽的文章,与大家分享。
原文摘自:http://sec.chinabyte.com/313/12214313.shtml
PCI(Payment Card Industry)中文全称为:支付卡产业。在这个产业里存在一个标准组织,称为--支付卡行业安全标准委员会,英文简写为PCI SSC(Payment Card Industry Security Standards Council)。PCI安全标准委员会是由国际知名的五家支付品牌共同建立而成,他们是美国运通(American Express)、美国发现金融服务公司(Discover Financial Services)、JCB、全球万事达卡组织(MasterCard)及Visa国际组织。PCI SSC一共维护了三个安全标准:PCI DSS(Payment Card Industry Data Security Standard 支付卡行业数据安全标准)、PCI PA-DSS(Payment Card Industry Payments Application Data Security Standard支付卡行业支付应用数据安全标准)以及PTS(PIN Transaction Security PIN传输安全标准)。从下图可以很清楚的反应这三个标准之间的关系。
无论是PTS还是PCI PA DSS,其最根本的目的是为了使最终的客户能够满足PCI DSS的要求。(关于PTS和PA DSS更多的介绍可参见PCI官方网站www.pcisecuritystandards.org和atsec官方网站www.atsec-information-security.cn)。
在PCI DSS第11.2.2中有这样的要求“Perform quarterly external vulnerability scans via an Approved Scanning Vendor (ASV), approved by the Payment Card Industry Security Standards Council (PCI SSC).”其转译中文意思是:每季度由PCI SSC认可的授权扫描服务商(Approved Scanning Vendor)——ASV执行外部的脆弱性扫描。
什么是ASVs
授权扫描服务商是经过PCI SSC认可的,为商户和服务提供商的对外提供服务的互联网环境执行脆弱性扫描的组织,它的目的是为了验证商户和服务提供商遵守一定的PCI DSS要求(PCI DSS 11.2要求)。
PCI DSS对于ASVs的要求
对于ASVs而言,PCI SSC维护了一套认证的流程,详细的认证流程可参见PCI SSC的指引文件。根据要求ASVs每年都需要进行资质的重新认证,认证的结果可以从PCI官方网站上查询到,详细地址参见:
https://www.pcisecuritystandards.org/approved_companies_providers/approved_scanning_vendors.php
对于ASVs的认证,PCI SSC除了对公司的资质要求以外,扫描工具也需要经过PCI SSC的认可。除此以外执行ASV扫描的人员则需要通过PCI SSC的ASV在线考试。
ASV扫描的流程
根据PCI SSC的规定,所有ASV的执行过程和流程都应该要满足“asv_program_guide_v1.0”的要求。该指导文件描述了ASV扫描流程中的不同角色,扫描范围的确定,脆弱性分类,扫描报告内容描述,误报处理,报告的交付和完整性保护,质量保证等内容。
ASV范围的确定
在执行ASV扫描之前,执行扫描的人员需要与客户一起去确定ASV扫描的范围。通常客户需要提供其对外提供服务的所有IP地址列表,网络拓扑图以及相关的资料以便扫描人员能够根据PCI DSS要求判断那些系统组件应该要在扫描的范围之内。按照PCI DSS的要求:所有对外提供服务的涉及持卡人信息传输,处理或者存储的系统组件都需要每季度执行ASV扫描。这里的系统组件包括但不限于服务器,网络设备,安全设备。
在初步确定ASV扫描范围之后,扫描人员需要使用ASV扫描工具的“探测”功能去探测目标系统以及与其相关联系统组件的状态。在这个环节当中, ASV扫描工具会自动化的去识别与预设目标相关联的系统组件的活动状态,所以“探测”扫描发现的IP地址数量通常会比预设目标的IP数量会更多。这时候扫描人员就需要根据发现的结果与客户进行讨论以最终确认ASV的扫描范围。
如何判断是否通过ASV的扫描
对于ASV扫描的结果,很多客户都会关心什么样的条件能够通过ASV扫描,是否有统一的标准?
根据PCI SSC“asv_program_guide_v1.0”的描述,所有包含高危严重级别的脆弱性和任何违反PCI DSS的功能或配置的脆弱性都将不能通过ASV的扫描。
以下是CVSS评分和NVD严重级别与ASV扫描结果的对应关系:除了少数特定情况,任何CVSS分值大于或者等于4.0的脆弱性都不能够通过ASV扫描
CVSS 分值严重级别ASV扫描结果指导
7.0 -- 10.0高危失败为能够通过ASV扫描,这些脆弱性被修复并且在脆弱性修复之后需要再次执行扫描。组织应采取以风险级别为基础的方法来纠正这些漏洞,按照风险的危害程度最关键的(CVSS分值为10.0)脆弱性应当最先修复,然后修复CVSS分值为9的脆弱性,直到CVSS分值从4.0至10.0的所有漏洞都被纠正。
4.0 -- 6.9中危失败
0.0 -- 3.9低危通过CVSS分值从0.0至3.9的脆弱性是能够通过ASV扫描的,但是从安全角度建议(非强制)对这些脆弱性进行修复。
对于NVD严重级别与ASV扫描结果的对应关系而言会存在一些特殊的情况,以下是需要ASV特殊考虑的情况:
-
- 该脆弱性并没有被NVD收录
- ASV不认同在NVD中给出的CVSS分值
- 纯粹的拒绝服务(DoS)脆弱性
- 该脆弱性违反PCI DSS的要求或者风险级别高于NVD的描述
ASV扫描报告
PCI SSC对于ASV扫描报告格式有严格的要求,每个ASV在报告中都需要包含以下的内容:
- 扫描认证的合规性
这部分的内容是整体的总结,主要显示客户的基础架构是否满足PCI DSS审核要求并且通过ASV的扫描。
- ASV扫描报告执行摘要
这一章节的内容需要列举组件(通过IP地址的形式)的脆弱性以显示每个被扫描的IP地址是否满足PCI DSS审核要求并且通过ASV的扫描。这个章节当中,所有的脆弱性都会对应到特定的IP地址,每个脆弱性都会与IP地址一一对应。
- ASV扫描报告漏洞详细资料
这个章节包含对应脆弱性合规的状态(通过 / 失败)的总结以及被发现的脆弱性的详细描述。
除上述描述以外,作为一份被认可的ASV扫描报告,它需要包含两个非常重要的元素:被扫描客户对ASV扫描的认可声明(包括扫描的范围,客户的信息等内容)另外一个则是具有PCI SSC ASV资质认定的人员对于报告的认可。其中最后一个元素被视为ASV扫描报告有效性的证明。任何没有经由具有PCI SSC ASV资质认定的人员声明的ASV报告将不被视为一份合规的ASV扫描报告。