企业必须熟悉不同的安全测试工具,包括漏洞扫描和渗透测试。
漏洞扫描是识别网络中潜在漏洞和易受攻击区域的过程。这可能包括探查整个路由器、系统设置、服务器和任何可能已部署的防火墙。攻击媒介在漏洞扫描更为常见,因为它本质上是用于入侵某个企业的潜在方法地图。
而渗透测试更为深入,并且主动性更高。进行渗透测试时,道德黑客会实施入侵,以暴露潜在的安全违规事件和/或漏洞。渗透测试人员将确定从哪个攻击面切入能获得最佳结果。对于希望详细了解其当前系统遭受入侵的风险和安全性的用户来说,渗透测试是理想之选。
渗透测试 (pen testing),即“penetration testing”的简称,是一种网络安全实践。在此实践中,获得授权的个人或公司会模拟对计算机系统、网络和应用程序进行网络攻击,以识别恶意黑客可能会利用的漏洞。渗透测试旨在发现系统安全措施中的薄弱环节,以避免真正的攻击者利用它们。
渗透测试(penetration testing,也称为“pen testing”或“pentesting”)是一个深度过程,旨在暴露系统安全对策和控制措施中隐藏的薄弱环节。渗透测试通常由获得授权的外部人员执行,用于模拟对系统所有组成部分执行不同类型的攻击。其目的是发现系统创建者以及安全团队可能已忽略的漏洞。
渗透测试几乎总是由未参与目标系统创建的人员执行。通常情况下,渗透测试人员(或团队)往往完全独立于构建系统的实体。这样做的原因有以下几点。首先,开发、QA/测试和安全团队的成员过于熟悉他们所构建的系统。这些系统可能会存在安全漏洞,而这些漏洞只有没有先入之见并以全新视角审视系统的人员才会发现。
此外,渗透测试是一种独特的技能组合,通常需要使用专门构建的工具。这项工作需要测试人员像黑客一样思考。事实上,一些渗透测试人员以前就是“黑帽”或恶意黑客,他们后来决定改邪归正,将自己的技能用于正途。俗话说的好,知己知彼,保站不动。渗透测试人员也可能接受过特殊培训并获得了相关认证。在大多数情况下,构建系统的企业的员工并不具备这些资质。
渗透测试人员有时被称为“道德黑客”,但这两种角色有所不同。从根本上来说,渗透测试人员是以道德黑客的方式对目标进行模拟攻击。他们获得了发动“攻击”的许可,可以找出安全漏洞,但同时承诺不会对这些漏洞进行利用。
两者的区别部分是结构性的。渗透测试通常遵循一系列预设的流程,并采用严格的方法来识别和记录安全问题。相比之下,道德黑客攻击往往更具开放性。例如,道德黑客可能会参与“漏洞赏金”计划,并因发现先前未知的漏洞而获得奖励。但是,这与进行全面的渗透测试并记录测试过程中发现的问题并不相同。
渗透测试方法通常包括五个阶段:
使渗透测试计划与企业中的所有相关系统类型保持一致是一种明智的风险管理实践。由于任何已连接的设备、应用程序或数据源都可能成为攻击面的一部分,因此使用渗透测试来评估它们遭受入侵的脆弱性是明智之举。一般来说,只对 Web 应用程序进行渗透测试,而不对移动应用程序进行测试,这是不合理的。对恶意攻击者来说,这两种应用程序都可能成为一条网络安全攻击路径,攻击媒介涵盖从网络钓鱼到社会工程等多种形式。
应用程序。渗透测试人员使用自动化工具和手动测试来查找应用程序和所连接数据库中的漏洞。这可能意味着要检查应用程序二进制文件本身或授权流程、加密、发生 SQLi 的可能性以及类似的攻击方法。
网络。作为企业的安全边界(至少在理论上如此),需要对网络进行严格的渗透测试。该过程通常涉及对管理访问控制、安全套接字层 (SSL)、加密传输协议、证书、网络分段等进行系统化研究。
云。对于云,渗透测试人员需要检查系统配置、应用程序编程接口 (API) 和存储。测试人员可能还会查找在未实施标准策略的情况下设置的云实例。这种情况的普遍程度超出了人们的认知。一个出于好意但缺乏相关认知的开发人员,可能会在未应用安全控制措施,甚至未将此云实例的存在告知任何人的情况下,将应用程序和数据库部署到云平台。
软件开发流程。DevOps 工作流和持续集成/持续部署 (CI/CD) 管道是风险点,开发人员会在无意中将缺陷和编码错误嵌入软件中的这些地方,从而导致应用程序容易遭到入侵。对 DevOps 和 CI/CD 管道进行自动渗透测试后,测试人员可能会发现静态代码扫描无法检测到的隐藏漏洞。渗透测试人员也会尝试进入开发人员工作流程,并测试他们是否可以将恶意代码插入代码库中。他们将对 Docker 等容器采取类似的操作。
设备。与网络或应用程序一样,硬件也容易遭到入侵。渗透测试人员会尝试利用设备的应用程序二进制文件、固件和操作系统软件中的漏洞来进行入侵。渗透测试人员经常会在未安装安全补丁的设备中发现薄弱环节。
API。渗透测试人员会将手动和自动 API 测试流程相结合,以确定 API 是否存在任何开放全球应用程序安全项目 (OWASP) 十大 API 安全漏洞(例如,对象级授权失效 (BOLA)),同时还将分析 API 是缺少速率限制还是会造成用户身份验证问题。
渗透测试所采用的方法各不相同,具体取决于漏洞利用目标的数量和性质、测试人员可用或收集的信息水平,以及测试人员可支配的工具、技能和资源。各种渗透测试方法包括几种不同的盒式测试法:
黑盒渗透测试:采用黑盒(即闭盒或单盲)方法进行渗透测试时,测试人员事先不了解目标系统,并且仅从外部角度对其进行测试以模拟真实攻击。他们尽其所能地利用最有创造性且最客观的策略,并且不作任何假设。
白盒渗透测试:在白盒(即开放盒或透明盒方法)中,测试人员会预先获得授权,能够访问公司的安全信息。因此,他们是在充分知情的情况下进行测试的。这种方法可以节省测试人员进行猜测所花费的时间,从而有可能让他们识别出更多风险。它还提供了有关目标系统的大量信息,包括架构图、源代码和功能。这种方法使测试人员能够进行全面且详细的分析,从而发现那些在信息有限的情况下可能无法发现的更深层次的漏洞。
灰盒渗透测试:在灰盒方法中,黑客团队可以获知公司系统的部分相关信息。因此,他们更有可能识别高风险漏洞并优先进行修复。
隐蔽法(或双盲法)是指包括 IT 人员在内的日常用户并不知道测试正在进行测试。此方法用于测试 IT 人员对入侵作出实时响应的能力。此类测试可能需要事先通知执法部门,以免引发任何误报。
渗透测试是一项重要的漏洞评估,可帮助在任何企业中保持强大有效的网络安全防护。它们可以帮助企业:
因此,适当的渗透测试对于保护 IT 工作负载和客户数据以及确保业务平稳运行至关重要。
企业必须熟悉不同的安全测试工具,包括漏洞扫描和渗透测试。
漏洞扫描是识别网络中潜在漏洞和易受攻击区域的过程。这可能包括探查整个路由器、系统设置、服务器和任何可能已部署的防火墙。攻击媒介在漏洞扫描更为常见,因为它本质上是用于入侵某个企业的潜在方法地图。
而渗透测试更为深入,并且主动性更高。进行渗透测试时,道德黑客会实施入侵,以暴露潜在的安全违规事件和/或漏洞。渗透测试人员将确定从哪个攻击面切入能获得最佳结果。对于希望详细了解其当前系统遭受入侵的风险和安全性的用户来说,渗透测试是理想之选。
渗透测试每年应至少进行一到两次,以识别安全漏洞。在某些情况下,您可能需要更频繁地执行渗透测试,具体取决于企业的规模和业务范围。随着所有行业的网络攻击和安全事件日益增加,企业必须针对数字漏洞采取主动措施并定期进行渗透测试。
渗透测试通常需要一到两周才能完成,具体取决于您当前的设置、API 安全措施和您的运营规模。但是,完成渗透测试所需的时间将因您的设备、防火墙和您要测试的网络而异。
Akamai 是一家致力于支持并保护在线商业活动的网络安全和云计算公司。我们卓越的安全解决方案、出色的威胁情报和全球运营团队可提供深度防御,保护各地的企业数据和应用程序。