最近在各种安全相关的资讯或者技术文章中,越来越多的提到渗透测试(Penetration Testing)和红队(Red Team)这个两个词,而且很多地方是把这两个词的意思混为一体,认为是相同的东西。虽然这两者在方法和实施过程中存在一定相似甚至重合的部分,但是渗透测试和红队还是存在一些本质的差异。本文将分别对两者进行定义和描述,方便企业根据自身安全需求选择合适的安全服务,也能以此识别那些打着红队幌子实际干着渗透测试活的安全公司。
渗透测试
渗透测试是对给定的目标系统进行安全测试,找出漏洞或风险的过程。渗透测试工程师会从不同的层面(包括应用层、网络层、系统层甚至物理层)对目标系统进行脆弱性分析,尝试找出尽可能多的漏洞、配置错误或其他安全风险,并尝试对这些找到的漏洞进行组合利用,最终获取到访问关键隐私数据的权限(隐私数据包括用户信息或者商业秘密等)。渗透测试过程中对漏洞的利用一方面能证明漏洞真实存在,另一方面这些漏洞的利用结果也能揭示出目标系统所面临的风险等级。
渗透测试专注于对给定的系统进行测试,存在明确的测试目标和测试边界。企业会指定测试起始时间和结束时间,测试时长一般为1到2周。测试目标可能是web系统、工业控制网络、内部办公网络等等。各类众测平台上的测试任务本质上就是渗透测试任务,这些任务都会明确测试范围,比如指定web系统域名、指定测试的APP等。
一般安全企业提供的渗透测试服务通常可以分解成一组针对不同系统的测试任务,如针对web系统的测试任务、针对内部办公网的测试任务、社会工程学测试任务等等。
渗透测试在评估系统或网络的安全性时,通常会忽略企业里其他运行环境的安全限制。例如,内网渗透测试将从内网中恶意用户(例如恶意员工或被入侵的员工机器)的角度评估企业的网络安全性。测试工程师到达现场后,将会直接将笔记本电脑接入内部办公网络开始进行测试。内网渗透测试会忽略黑客在内网中获得初始落脚点这个步骤(通常是通过钓鱼邮件或其他方式欺骗员工运行恶意程序),直接从已有内网接入权限开始进行测试。内网测试报告会包含内网中暴露的有漏洞的服务、未打补丁的系统、错误的系统配置、敏感文件共享等等安全问题,但是不会包含黑客最初如何获取内网接入权限这个步骤。
在渗透测试过程中,企业中负责防护的安全团队一般不会直接参与,为了配合渗透测试,企业有时会关闭某些安全防护软件或禁用安全策略,方便测试工程师找出更多的安全漏洞。
当整个渗透测试活动结束后,工程师会出具一份渗透测试报告,里面包含所有发现的漏洞列表以及每个漏洞具体的利用步骤和过程,同时会依据漏洞危害给出相应的威胁等级评分。
红队
尽管红队测试在有些攻击技术方面类似渗透测试,但不同于渗透测试尽量多找漏洞的目标,红队测试的任务往往是拿下某个特定的业务目标(比如公司某个项目的源代码,公司竞标标书和底价等商业机密,某个高层管理人员的邮箱或个人机等) 。红队要模拟真实世界中的极具目的性且不希望被检测到的恶意攻击者(受竞争对手雇佣的恶意黑客,收集政治、经济和科技情报的境外国家资助的黑客团伙等),红队测试某种程度上可以说是合法的高级持续性威胁(APT)。在这种完全贴近真实攻击的测试活动中,能够测试企业安全防护体系的阻断(prevention)、检测(detection)和响应(response)能力。
渗透测试中只关注给定目标系统的漏洞,红队测试则完全不一样。红队在测试过程中关注的是如何规划一条攻击路径来达到目的。在整个红队测试过程中不一定要也不一定会发现目标组织的漏洞,只要能达到目的,任何形式的攻击手段都可以使用,包括但不限于web或者操作系统漏洞、社会工程学、物理渗透、攻击上下游合作供应商等。
在红队测试开始前,除了任务目标外,不会给到红队关于目标企业的任何其他信息。红队需要通过各种渠道去搜集目标的物理位置、公开的网络系统和服务、组织架构以及雇员等信息,然后根据收集的信息制定攻击计划并实施。被测企业并不清楚(或仅有少数人清楚)攻击将于何时发起,将以何种方式进行。红队测试的持续时间一般比渗透测试更长,可以达到4到6周甚至更长(想想看真实APT攻击中长达数月的潜伏和持续渗透)。
红队在实施攻击时,会尽量隐藏自己的踪迹,另外还会详细记录每个攻击行为的具体实施时间,在整个行动结束后需要与组织中的防御检测部门(即蓝队)的检测响应时间表进行核对,以此来评估防御检测机制的有效性和响应速度,同时检查蓝队在哪些方面存在漏报和响应不及时,帮助蓝队更好的发现防御检测层面的弱点。这一点CS做的很好,可以导出红队的详细操作日志和时间。
结语
两者并没有哪个更好之说,对于企业来讲,先要搞清楚具体的场景和安全需求,才能确定需要的是渗透测试还是红队测试。对于新上线的业务系统,需要搞清楚存在那些漏洞以及漏洞可能造成的危害时,需要的是渗透测试;如果企业各个子系统都已经进行过渗透测试,并且存在成熟的漏洞管理、防御检测以及应急响应机制,另外还想要对企业整体安全环境进行评估,了解企业在面临真正的安全攻击事件时,是否有能力防御或者检测并及时响应,那么需要的便是红队评估。
最后说一点,在很多人的认知里面,一个企业被攻破一定是因为存在安全漏洞或者配置错误之类的安全问题,这是不正确的。如果真这么简单,那只要按时打补丁,就能防住所有没有0day的恶意黑客甚至防住APT攻击了。上文已经说过,红队测试过程中不一定会发现安全漏洞,很多时候不需要安全漏洞就能打穿一个企业。而现今的安全市场,很多企业还是以漏洞数量来评定安全服务团队的能力,就导出现了很多安全服务报告硬凑漏洞数量的怪象。在这种大环境下,企业可能反而认为没有发现安全漏洞但打穿了他们的红队安全能力不行,或者认为纯粹是偶然侥幸才能得手。这是一个认知升级的过程,什么时候能不以漏洞数量来评定安全服务能力,才能说真正理解了安全和攻击。(Twi1ight)
声明:本文来自孟极实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。