一文搞懂企业渗透测试

2023年 8月 24日 52.9k 0

随着网络安全形势的愈加严峻,如今企业也越来越重视网络安全建设,定期开展渗透测试正在成为一种趋势。

网络安全渗透测试,能够帮助企业从攻击者的角度思考,快速了解企业在网络防御方面的不足。通过梳理企业的IT资产、寻找漏洞和攻击路径,以便更好地修复或应对风险。

尽管开展渗透测试对于企业来说非常重要,但是很多企业在准备制定渗透测试计划时,对于渗透测试服务的理解和需求,往往与真实服务情况存在着很多偏差。

那么,企业该如何正确认知渗透测试工作,并有效避免误区?

1.渗透测试的关键特征

对于一些企业的安全团队而言,很难将渗透测试与漏洞测试、漏洞悬赏以及新兴的BAS(入侵和攻击模拟)技术区分开来。确实,这些安全技术和服务在很多方面都存在重叠,但它们也都有着自己的特点。

从本质上讲,渗透测试是一个主要依靠安全专家或团队以人工方式模仿攻击者的真实攻击行为,其目的是在数字化基础设施的不同层级,找到进入可以攻破目标网络的最有效方法。

漏洞测试,主要是为了在寻找软件应用系统中的缺陷,并帮助组织了解如何解决它们。而漏洞悬赏计划通常仅限于移动或web应用程序,可能与真正的入侵行为并不匹配。

漏洞赏金猎人的目标只是尽快找到漏洞并提交报告以获得奖励,而不是深入调查问题与解决问题。

入侵和攻击模拟(BAS)是一项新兴的安全防护技术。它遵循“扫描、漏洞利用和不断重复”的设计逻辑,依赖于自动化执行测试的工具,几乎不需要安全人员的参与。

BAS项目本质上是连续的,并且会随着网络的变化动态地产生测试结果。

总的来说,渗透测试相比其他类似的安全技术,具有两个关键性特征:首先,它是由人类完成的,在很大程度上取决于人工进攻战术;其次,它默认所有的数字化系统都会存在安全缺陷,需要全面的安全评估,并根据受到攻击后的危害程度确定修复的优先级。

2.考虑价值而不是成本

根据测试方法和目标的不同,渗透测试通常分为外部测试、内部测试、盲测、针对性测试等。

然而,很多企业为了节省成本,往往会选择收费更便宜的测试提供商和测试方式,并认为各种类型测试的结果会很相似,但事实并非如此。

首先,与大多数服务一样,渗透测试的程度差异很大,既有覆盖网络所有区域的广泛测试,也有针对网络中少数区域的非广泛测试。

其次,提供渗透测试服务的公司很多,这些公司都有各自的优势和弱点,他们的技术也各有千秋,呈现测试结果的方式也有好有坏。企业有必要确保所选测试团队的能力能够满足测试需要。

随着数字化转型的深入,各种数据资产对企业而言是无价的,一旦数据被非法泄露,组织的商誉会受到严重损害。

而如果攻击者的目标是为了勒索钱财,他们索要的赎金数额通常也会远高于渗透测试的成本预算。

因此,考虑到与网络攻击造成的经济损失相比,投入到渗透测试的成本可以说是微不足道的。企业应该根据实际需求,专注于寻找从测试中获得的价值,而不是成本。

3.渗透测试的方法和流程

渗透测试方法

  • 黑盒测试:将测试对象看作一个黑盒子,安全不考虑测试对象的内部结构;
  • 白盒测试:把测试对象看作一个打开的盒子,测试人员一句测试对象内部逻辑结构相关的信息,设计或选择测试用例;
  • 灰盒测试:介于白盒与黑盒之间,是基于对测试对象内部细节有限认知的软件测试方法。

渗透测试目标

主机操作系统的测试、数据库系统的测试、应用系统的测试、网络设备的测试。

渗透测试过程

渗透测试有一个执行标准(PTES),其核心理念是通过建立起进行渗透测试所需要的基本准则基线,来定义一次真正的渗透测试过程。

标准将渗透测试过程分为七个阶段,依次为:前期交互阶段、情报收集阶段、威胁建模阶段、漏洞分析阶段、渗透攻击阶段、后渗透攻击阶段、报告阶段。

前期交互阶段

在前期交互阶段,渗透测试团队与客户组织主要进行交互讨论。该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动。

渗透测试首先必须将实施方法、实施时间 、实施人员,实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。

应该做到客户对渗透测试所有细节和风险的知晓、所有过程都在客户的控制下进行。

信息收集分析阶段

信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性的制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效的降低攻击测试对系统正常运行造成的不利影响。

这一步主要包括白盒收集、人力资源情报、踩点、寻找外网入口以及识别防御机制。

威胁建模阶段

威胁建模主要使用情报搜集阶段所活的到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。

在威胁建模阶段,通常需要将客户组织作为敌手来看待,然后以攻击者的视角和思维来尝试利用目标系统的弱点。

此阶段的工作主要为:业务流程分析、威胁对手/社区分析、威胁对手/社区分析。

漏洞分析阶段

漏洞分析阶段主要是从前面几个环节获取的信息分析和理解,哪些攻击途径是可行的。

特别需要重点分析端口和漏洞扫描结果,提取到的服务“旗帜”信息,以及在情报收集环节中得到的其他关键信息。

渗透攻击阶段

渗透攻击主要是针对目标系统实施深入研究和测试的渗透攻击,并不是进行大量漫无目的的渗透测试。

后渗透攻击阶段

后渗透攻击阶段主要是从已经攻陷了的客户组织系统标识出关键的基础设施,寻找最具有价值信息和资产。主要包括:基础设施分析、高价值目标识别、掠夺敏感信息、掩踪灭迹、权限维持。

渗透测试报告

报告是渗透测试过程中最为重要的因素,将使用报告文档来交流在渗透测试过程中做了哪些,如何做的,以及最为重要的就是告诉客户组织如何修复所发现的安全漏洞与弱点。

4.渗透测试的误区

从测试中获得一个好的结果只是一个良好的开始,但企业不应该沾沾自喜,这也不代表企业的网络安全防护工作高枕无忧。

只要组织的数字化系统还在运行,它就时刻会面临各种不断出现的新威胁。网络犯罪分子会不停地寻找系统中的漏洞,如果渗透测试间隔时间长,他们就有机会领先于企业发现可利用的新漏洞。

良好的测试结果只是肯定了过去建设的成绩,并激励组织继续重视在安全方面的投入。因此,企业应该持续性进行渗透测试,以消除新出现的威胁,并确保系统没有威胁。

此外,关于渗透测试还有一个长期存在的误区,那就是外部人员执行渗透测试会比内部人员更有效,其原因是外部人员对企业的数字化系统并不熟悉,因此会更加客观。

虽然客观性是渗透测试有效性的关键,但了解业务系统并不就意味着不客观。

其实渗透测试可由企业内部员工、专业服务商或其他第三方机构完成。渗透测试由标准程序和性能度量组成,只要测试者能够严格遵循测试指导原则,测试结果就是有效的。

对于企业而言,选择的重点不应该放在聘请外部或内部测试者上,而是应该放在寻找能够出色完成工作的测试者上。

5.结语

随着网络安全威胁的不断扩展与升级, 渗透测试目前已经成为现代企业组织主动识别安全漏洞与潜在风险的关键过程。

但不幸的是,仍然有很多组织并未认识到主动评估安全态势的价值,而一些组织尽管开展了渗透测试工作,但主要目的也只是为了满足合规要求。

但不管企业开展渗透测试的目的是什么,只要测试结果能被用于做出有意义的改变,这项工作就是成功和有效的。

企业应该从测试的关键发现中吸取教训,并采取适当的行动来加强组织的安全防御。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论