渗透测试助力PCI DSS合规建设(3)

从测试范围的选择,客户可以指定整体网络环境的系统组件,或者是部分的网络环境的系统组件,又或者是对于特定的目标系统进行测试。对于测试人员在测试过程当中的活动,客户可以要求测试人员隐秘的执行渗透测试活动

从测试范围的选择,客户可以指定整体网络环境的系统组件,或者是部分的网络环境的系统组件,又或者是对于特定的目标系统进行测试。对于测试人员在测试过程当中的活动,客户可以要求测试人员隐秘的执行渗透测试活动,又或者明确测试人员并不需要隐藏测试活动可以公开执行渗透测试工作。在渗透测试活动中,客户可以要求测试人员对如下方面执行渗透测试工作:对互联网络执行渗透(如互联网上的web服务器,数据库服务器,网络设备等等);对通讯执行渗透测试(如PSTN网络,电信网络,3G网络等方面);对物理安全执行渗透测试(如目标系统的物理防护,电磁辐射等方面);执行社会工程学测试(主要是为了测试员工的安全意识)。在测试方法设定的时候,客户还可以要求测试人员以外网或者内网作为渗透测试活动的出发点。在确定测试协议和方法之后,测试人员通常会要求客户出具一份渗透测试的免责声明,该声明中会明确声明测试人员不需要为测试过程中产生的任何风险承担法律责任。这份免责声明,对于渗透测试人员而言是很好的法律保护,因为任何的测试活动都不可能百分之百安全,在某些测试过程(如对漏洞进行渗透和利用)当中难免会存在一些安全风险,如果没有此份声明测试人员迫于法律的限制不可能完成后续的测试工作。 当完成上述两个准备阶段的工作之后,测试人员通常会进入非常重要和关键的一个环节----信息收集。在信息收集过程当中包括但不限于以下信息:IP地址信息,关联域名信息,域名联系人信息,DNS服务器信息,邮件服务器信息,IP地址段路由信息,和目标系统相关的人员信息收集,目标系统漏洞信息,或者通过社会工程学从相关人员口中套取有用的信息等等。信息收集是一门比较高深的学科,如果信息收集得很好,很多时候都不需要使用技术手段对系统漏洞进行渗透利用都能获得系统的权限。对于渗透测试而言,虽然它是一项通过模拟黑客或者骇客的攻击以评估系统或者网络环境安全性的活动,但是渗透测试比真实生活当中的攻击行为有着更多的限制。渗透测试并不以摧毁或者破坏系统的可用性为目的。在渗透测试过程当中,我们需要最大限度的保证客户业务的正常运转(当然客户的特殊要求除外),在这个前提下 尽最大可能发现和挖掘目标系统的脆弱性并进行利用。因此,在进行真正渗透之前,我们通常需要对发现的脆弱性进行分析,分析和评估该脆弱性可能会对目标系统造成的影响,并制定相应的应急预案。对于脆弱性的分析通常会借助外部的脆弱性扫描工具如Nessus,QualysGuard ,WebInspect或者是Nikto2等等进行脆弱性的发现和识别,测试人员会根据所发现脆弱性的类型,CVE(Common Vulnerabilities and Exposures)依据CVSS(Common Vulnerability Scoring System)对于脆弱性的评分,客户被测目标系统所处的实际环境等因素进行综合考虑以进一步对脆弱性进行分析。在PCI DSS第11.2中要求客户需要每个季度或者在基础架构或应用程序有任何重大升级或修改后(例如操作系统升级、环境中添加子网络或环境中添加网络服务器)都需要执行内部和外部脆弱性扫描。外部 脆弱性扫描是需要由PCI SSC授权的扫描服务提供商执行,业界的术语叫做ASV(Approved Scanning Vendors)。目前PCI DSS对于外部脆弱性扫描活动不仅仅要求需要由ASV开展,对于实际执行脆弱性扫描的人员也需要经由PCI SSC进行培训,考核并获得相应资质证书之后才能出具具有资格的扫描报告。在渗透测试脆弱性分析的阶段,测试人员可以参考客户提供最近的ASV扫描报告作为脆弱性分析的输入数据。在完成对脆弱性分析之后,测试人员会根据与客户之间的渗透测试方法和协议进一步对脆弱性进行渗透或者利用。在测试过程当中,渗透测试人员可能在初次攻击完成之后获得了有限的权限,此时渗透测试方法和协议则是测试人员最好的参考。如果客户允许执行进一步的权限提升操作,测试人员则可能会尝试将以获得的权限提升至管理员级别或者系统级别的权限。在完成对脆弱性的渗透和利用之后,测试人员会对渗透的结果进行评估和判断,以确定脆弱性的可利用价值,同时渗透测试的过程以及测试过程中发现信息将会被编写到最终的渗透测试报告当中。对于在渗透测试过程当中,由于特定的原因(如客户的要求,漏洞利用条件的限制等等)导致脆弱性并没有被实际测试,测试人员将会在报告当中描述恶意人员可能对该脆弱性使用的攻击方法以及该脆弱性被成功利用后可能带来的安全风险。客户根据渗透测试报告中所发现的脆弱性以及测试人员提供的解决方法进行脆弱性修复。对于完整的渗透测试流程通常还会包含对修复后的脆弱性进行验证测试,从第三方的角度去评估脆弱性修复的有效性。

基于应用层和网络层的渗透测试

对于PCI DSS第 11.3中有要求至少每年或者在基础架构或应用程序有任何重大升级或修改后需要执行内部和外部基于应用层和网络层的渗透测试。何为应用层渗透测试?何为网络层渗透测试呢?应用层渗透测试指的是对web应用程序进行渗透测试,测试要求覆盖OWASP Top 10(OWASP项目组会周期性的根据OWASP联盟中应用开发和测试专家反馈的结果定期对web应用面临的安全问题进行统计和排名,Top 10是web应用程序前10名影响最大的脆弱性)中的所有安全问题。对于网络层的渗透测试,通常是指对操作系统,网络设备等系统组件进行系统级别的渗透测试。

下图是2007年和2010年OWASP Top 10的排名对比。从图中可以看到Top 10的内容在这两年的评估当中出现了变化。所以在渗透测试过程当中我们除了参照PCI DSS的要求之外,还需要参照OWASP最新的关于Top 10的排名情况。

怎样选择合适的渗透测试合作机构

前面介绍了很多关于渗透测试介绍,以及测试流程和方法,然而我们在实际执行渗透测试工作的时候,应该如何选择合适的渗透测试实验室或者渗透测试人员进行测试工作呢?对于渗透测试人员的选择,PCI DSS在第11.3的要求:测试人员可以是内部具有能力且独立的内部人员或者外部合格的第三方评测机构。对于内部人员的选择,技术能力的考虑和测试人员的独立性是最为重要的因素。对于第三方的评测机构的选择,除了技术水平的考虑,以下的参考因素能够为客户在渗透测试过程当中可能会面临的安全风险提供很好的安全保障。

专一性,IT安全是否是该公司的主营的业务?该公司自身是否切实执行IT安全流程?评估机构和他们员工是否具有相关的资质?该评估机构是否为行业的领导者,帮助或者能够分享相关的标准信息?该机构是否具有相关的成功项目经验?该评估机构是否能够提供除渗透测试以外其他能够提高客户流程等有价值的服务?该评估机构是否能够在很多不同的技术领域提供专业知识和经验?评估机构安全评测的独立性,是否能够为客户提供第三方独立的不带任何偏见的评估报告?该评估机构是否为客户提供足够的保险和合理的法律协议保障?谁是该评估机构的服务客户?

(责任编辑:安博涛)

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
热点内容
图片资讯

桌面安全 需采用“深层防御”方法

桌面安全 需采用“深层防御”方法

深层防御方法代表了一套全方位安全哲学,帮助保护计算环境免受许多攻击手法的攻击。 ...[详细]

网络安全巧设置 Win2008 R2 防火墙详解

网络安全巧设置 Win2008 R2 防火墙详解

针对一般中小企业型来说,如果希望对企业网络进行安全管理,不一定非得花高价钱购买专...[详细]

Windows Vista中如何加密文件或文件夹

Windows Vista中如何加密文件或文件夹

要在Windows Vista加密文件或文件夹,可按下面的操作步骤进行:。 ...[详细]

信用卡背后的安全隐患

信用卡背后的安全隐患

Visa组织在2001年推出一个他们称为3DS的安全协议,也就是3 Domain Secure的缩写。试图...[详细]

周鸿祎:AVC证明360杀毒具有世界级技术

周鸿祎:AVC证明360杀毒具有世界级技术

曾令中国杀毒业难堪的AV-Comparatives国际权威评测传来喜讯:在最新公布的AVC回溯测试...[详细]