渗透测试已经成为安全体系的评估、运营和改进的基础常规工作,是现代组织用来加强网络安全态势和防止数据泄露的有效方法。但渗透测试根据不同的应用场景有着不同的工作内容,了解它们之间的区别才能够更好地定义渗透测试项目的实施范围,采用匹配的安全专家或服务,以最终实现安全目标。
一、网络渗透测试
旨在识别网络基础设施中的弱点,无论是在本地还是在云环境中,网络渗透测试都是为确保业务系统安全性的最常见、最关键的测试之一。具体包括不安全的配置、漏洞发现和缺失的补丁等,可分为内外两种不同的角度。
外部渗透测试主要是通过互联网访问发现可能被攻击者利用的脆弱性,进而访问目标机构的关键业务系统或数据,这种测试是从“局外人”的角度进行的。内部渗透测试则是基于企业的内部环境,假设已经进入到机构的内部网络,从“内部人”角度在内网中寻找并窃取敏感信息。
一般来说,外部弱点被认为比内部弱点构成更严重的威胁。首先,攻击者必须先克服外部的障碍,然后才能访问到内部网络。如果以前没有进行过任何类型的渗透测试,从外部或“边界”测试通常是最好的开始。边界是攻击者最容易触达的,任何可以通过互联网访问的地方都是最直接的威胁。
二、Web渗透测试
这种类型的测试目的是发现网站和Web应用程序之间的漏洞,如电子商务平台、内容管理系统、客户关系管理系统等等。Web渗透测试涉及整个web应用程序的安全性评估,包括底层逻辑和一些定制化的功能。
web渗透测试中常见的漏洞包括,数据库注入、跨站脚本和身份验证等。如果想了解更多的Web应用程序漏洞及其相关信息,可参考查阅OWASP的十大Web应用程序安全项目。
三、自动化渗透测试
人工渗透测试最大的问题是成本,水平越高的渗透团队收费越高,国内业界顶尖团队的客单价可达数百万元。因此,自动化渗透测试近年来开始受到广泛关注。
当然,完全自动化的渗透测试是不现实的(可能永远也不现实,即使在人工智能时代)。需要对成本和收益,以及根据被保护系统的重要程度来平衡必要性和可行性。一个业界的最佳实践是,日常的漏洞扫描+时间跨度较大的渗透测试服务。
四、社会工程
社会工程的渗透媒介是人。有两种主要的形式,一种是远程的,比如网络钓鱼或打电话、篡改音视频等以骗取内部人员的信任。另一种是物理接触(数世咨询称为近源渗透),如冒充勤杂人员或是商业/技术合作伙伴直接接触到对方的网络设施。
社会工程渗透测试的成功往往取决于“侦察”阶段收集的信息,该阶段涉及使用公开获取的开源情报(OSINT)对目标个人或组织进行研究。建立了更为精确的目标画像后,渗透测试人员可以基于这些精准信息创建定制的渗透策略。
五、红队
红蓝对抗起源于军事演习,其将信息技术、人文社交和现实世界结合起来,实施更为全面真实攻击场景。近年来,国内监管机构主导的大型实战攻防活动取得了非常好的效果,从安全意识到安全水平,再到整个安全行业的发展,都起到了巨大的推动作用。
传统渗透测试的目标是在给定的时间范围内找到尽可能多的漏洞,但真正的攻击者是没有时间限制的,攻击手段也是层出不穷,无所不用其极。红蓝对抗能从整体上评估一个组织的环境,了解各部分如何协同工作。采用攻击者视角、批判性思维来发现新的漏洞(即所谓的未知攻,焉之防)。