关注公众号,回复“220716”获得“英国:渗透测试指导文件”PDF版
又到一年一度,各个单位比较慎重的时节了,关于每年一度的网络安全大考和检验,几乎所有的单位都在临时性的考虑防守对抗,实际上能够满足“三化六防”的实战化要求,但是对于常态化来说,就堪忧了。大考结束势必故态复萌回到最初,而真正的破坏者或者黑客可谓365X24小时无休的,如何实现真的“三化六防”,基于现有的资源(人、财、物)是远远不够的。
渗透测试指导
关于如何从渗透测试中获得最大收益的建议
介绍
渗透测试是分析IT系统安全的一个核心工具,但它并不是灵丹妙药。
本指南将帮助您了解渗透测试的正确调试和使用。它还将帮助你计划你的日常安全措施,使你从这个强大但昂贵的操作中获得最大的利益。
什么是渗透测试?
为了本文的目的,我们将渗透测试定义为。"通过使用与对手相同的工具和技术,试图破坏一个IT系统的部分或全部安全,从而获得对该系统安全的保证的一种方法。
渗透测试应该被看作是在组织的漏洞评估和管理过程中获得保证的一种方法,而不是识别漏洞的主要方法。
渗透测试应该被认为是类似于财务审计。你的财务团队每天都在跟踪支出和收入。由一个外部团体进行的审计可以确保你的内部团队的流程是充分的。
渗透测试:理想
在一个理想的世界里,你应该在渗透测试人员发现之前,就知道他们会发现什么。在充分了解你的系统中存在的漏洞后,你可以利用第三方测试来验证你自己的预期。
经验丰富的渗透测试人员可能会发现你的内部程序没有发现的微妙问题,但这应该是例外,而不是常规。目的应该是利用渗透测试报告的结果来改进你的组织的内部漏洞评估和管理流程。
渗透测试应该告诉你什么?
通常情况下,渗透测试被用来确定来自软件和硬件漏洞的技术风险水平。究竟使用什么技术,允许什么目标,事先向测试人员提供多少系统知识,以及向系统管理员提供多少测试知识,在同一测试制度中都会有所不同。
一个精心设计的渗透测试可以让人相信,被测试的产品和安全控制已经按照良好的实践进行了配置,并且在测试时,被测试的组件中不存在常见的或公开的漏洞。
应该测试什么样的系统?
渗透测试是一种适当的方法,用于识别由多个供应商的产品和服务组成的特定的、可操作的系统上存在的风险。它也可以有效地应用于"内部"开发的系统和应用程序。
对于特定产品的测试,它不是一种合适的技术。
有效使用渗透测试
渗透测试只能验证你的组织的IT系统在测试当天没有受到已知问题的影响。
渗透测试之间间隔一年或更长时间的情况并不少见。因此,如果这是你验证安全的唯一手段,那么漏洞可能存在很长一段时间而你却不知道。
第三方渗透测试应该只由合格和有经验的工作人员执行。就其性质而言,渗透测试不可能完全是程序性的,不可能制定出一套详尽的测试案例。因此,渗透测试的质量与相关渗透测试人员的能力密切相关。
NCSC建议HMG组织使用加入CHECK计划的测试人员和公司。非政府组织应使用符合这些认证计划之一的团队。
测试类型
渗透测试器可用于进行广泛的测试。下面的清单是说明性的,并不全面。
-
1. 测试依据
测试可以由拥有不同数量的系统信息的测试人员来进行。
白盒测试-与测试人员共享目标的全部信息。这种类型的测试通过识别一个组织的系统中存在的已知软件漏洞和常见的错误配置,确认内部漏洞评估和管理控制的有效性。
黑盒测试-不与测试人员分享目标内部的信息。这种类型的测试是从外部角度进行的,目的是确定访问一个组织的内部IT资产的方法。这更准确地模拟了未知的或与目标组织无关联的攻击者所面临的风险。然而,信息的缺乏也会导致在分配给测试的时间内,漏洞仍然没有被发现。
-
2. 测试类型
下面描述的每个测试都可以作为黑盒或白盒操作来运行:
定制或利基软件的漏洞识别-最常用于网络应用程序。这种类型的测试必须向开发人员提供编码实践方面的反馈,以避免引入所识别的漏洞类别。
旨在识别漏洞的场景驱动测试-渗透测试人员探索一个特定的场景,以发现它是否会导致你的防御系统出现漏洞。情景包括。丢失的笔记本电脑,连接到内部网络的未经授权的设备,以及受损的DMZ主机,但还有许多其他可能的情况。你应该根据以前的事件,考虑哪些场景与你的组织最相关。
探测和响应能力的情景驱动测试-在这个版本的情景驱动测试中,目的也是为了衡量你的组织已经到位的探测和响应能力。这将有助于你了解它们在特定场景中的功效和覆盖范围。这是国家安全委员会目前工作的一个领域,不久将提供进一步的信息,如果你在这个领域有特殊需要,请与我们联系。
注意
如果您有一个需要额外保证的特定场景,专门的目标渗透测试可能是获得该保证的一个好方法。具有适当资质的渗透测试团队将能够指导您完成这种情况下所需的选择和范围界定过程。
你的测试制度
值得注意的是,计划中的渗透测试并不意味着你的正常测试制度应该停止包括对目标系统的安全测试。安全控制的功能测试仍应进行。
评估定义的安全控制是否正常运行并不是对渗透测试资源的有价值的使用。
功能测试计划应始终包括积极的测试(如"每次尝试登录时都会出现登录框,而不是只允许你登录")。
在你的组织内有执行技能的情况下,负面测试可以包括在你的功能测试计划中(例如,验证一下没有正确的密码就不能登录")。
模型渗透测试参与模型
一个典型的渗透测试将遵循这一模式。最初的参与、范围界定、测试、报告和跟进。对发现的任何问题都应该有一个严重程度的评级。
对于这个模型,我们假定:
你希望知道攻击者利用漏洞的影响是什么,以及它发生的可能性是多少
你有一个内部漏洞评估和管理程序
外部团队的初步参与
你应该确保外部团队有相关的资格和技能来对你的IT资产进行测试。如果你有任何不寻常的系统(大型机,不寻常的网络协议,定制的硬件等),这些应该在投标过程中强调,以便外部团队知道需要什么技能。
范围
渗透测试的范围应包括:
1.所有相关的风险所有者
2.对目标系统有了解的技术人员
3.渗透测试小组的一名代表
其中,测试的目标是确保良好的漏洞管理:
1.风险所有者应概述任何特别关注的领域
2.技术人员应概述组织的IT财产的技术界限。
3.渗透测试小组应确定他们认为哪些测试可以全面了解该机构的脆弱性状况。
假设你有一个,在这个阶段应该与测试人员分享当前的漏洞评估。然后,测试可以被设计为支持对内部漏洞评估的准确性和完整性的合理意见。
特殊要求
在范围界定期间,你应该概述任何可能影响测试的问题。这可能包括对非工作时间测试的需要,任何需要特殊处理限制的关键系统,或其他针对你的组织的问题。
行动计划
范围界定工作的产出应该是一份说明的文件。
1.测试的技术边界
2.预期的测试类型
3.提供测试的时间框架和所需的工作量
4.根据商定的方法类型,该文件还可能包含一些要测试的情景或具体的"用例"。
5.渗透测试团队的要求。这将允许你在测试日期前做任何必要的准备。例如,通过创建测试账户或简单地分配桌面空间。
6.测试计划必须满足的任何合规性或立法要求
7.任何具体的报告要求,例如包括CVSS评分或使用CHECK严重程度等级。
8.渗透测试公司在分配资源时需要考虑的关于测试或报告的任何具体时间限制。
测试
保持联系
在测试阶段,你应该确保在任何时候都有一个技术联络点。联系点不需要把所有的时间都花在测试团队的工作上,但应该在短时间内就能得到通知。这允许测试团队提出在测试中发现的任何关键问题,并解决阻碍他们测试的问题(如网络配置错误)。
谨慎对待
测试人员应尽一切努力避免对被测系统造成不必要的影响。然而,由于渗透测试的性质,不可能保证不会发生测试的意外反应。
变更范围
在渗透测试或安全评估期间,测试团队可能会发现测试范围之外的其他系统或组件,但对已定义为范围内的系统的安全有潜在影响。
在这种情况下,测试团队可能会建议改变范围,这可能会改变测试的时间框架和成本,或者他们可能会建议将这些组件的排除作为测试的限制来记录。
一般来说,哪一个是首选方案,将由风险所有者决定,而渗透团队负责明确说明要考虑的因素。
报告
测试报告应包括。
发现的任何安全问题
测试小组对每个漏洞使组织或系统面临的风险程度的评估
解决每个发现的问题的方法
对贵组织的漏洞评估的准确性的意见
关于如何改进你的内部漏洞评估过程的建议
汇报会也是有用的。在这个会议上,测试团队会对他们的发现进行分析,你可以要求进一步的信息或对任何问题进行澄清。
严重程度评级
在对漏洞进行评级时,渗透测试人员(通常是在客户的要求下)通常会使用通用漏洞评分系统,该系统试图给出一个数字分数来识别漏洞的严重程度。
为了简化这种测量,要求CHECK报告按照严重程度从高到低的顺序,将风险水平描述为高、中、低或告知。对于CHECK报告,可以使用CVSS等评分系统作为补充(但不能代替)。
虽然漏洞通常以一致的方式被归类于这些级别之一,但有时也会出现例外情况。例如,其他
例如,现有的其他缓解控制措施可能会使漏洞的有效性降至最低,或者其他漏洞的存在可能会产生协同效应。
任何偏离漏洞与其标准评级的情况都应由渗透测试团队记录并说明理由。
报告的后续工作
1.做出自己的评估
渗透测试报告应该由你的组织的漏洞管理小组进行评估。
渗透测试报告应该由贵组织的漏洞管理小组以类似于内部漏洞评估结果的方式进行评估。
渗透测试小组将对发现的每个问题进行评级,并给出潜在的解决方案。然而,重要的是要注意,风险评估和修复措施的应用决定是你的责任。
测试团队可能没有机会接触到关于特定系统的所有细节或利用漏洞的潜在商业影响。因此,他们对问题的评价可能比你低或高。这个评估漏洞等级的过程不应该被用来淡化问题--它应该是一个审视问题和识别对你的组织的风险的过程。
2.以前未知的漏洞
渗透测试所发现的任何你以前不知道的漏洞都应该得到特别的关注,目的是确定你将来可能去发现这些问题的方法。
3.选择解决方案
渗透测试人员提出的解决方案可能不是唯一可能的。你应该从你自己的技术人员和供应商那里获得关于替代方案的建议。
举个例子,假设你的渗透测试人员建议给某个软件打补丁。你应该问自己:"这是解决问题的唯一办法吗?"如果实际上不需要的话,你可以简单地卸载该软件,或者采取其他控制措施来限制漏洞的暴露。甚至可以说,对易受攻击的组件进行额外的监控就足以将风险降低到可接受的水平。
漏洞风险评估和缓解是一个商业过程,不能也不应该完全外包给测试团队。
原文始发于微信公众号(祺印说信安):大考在即看看英国佬的渗透测试指导文件
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论