消除系统和应用程序的弱点是网络安全的优先事项。公司依靠各种技术来发现软件缺陷,但没有任何测试方法能提供比渗透测试更真实、更全面的分析。本文是 对渗透测试的介绍。继续阅读以了解渗透测试的工作原理以及公司如何使用这些测试来防止 代价高昂且具有破坏性的违规行为。
渗透测试定义
渗透测试(或渗透测试)是对网络攻击的模拟,用于测试计算机系统、网络或应用程序的安全漏洞。这些测试依赖于真正的黑客用来破坏业务的工具和技术的组合。渗透测试的其他常见名称是 白帽攻击 和 道德黑客攻击。
渗透测试人员通常使用 自动化测试工具 和手动实践的组合来模拟攻击。测试人员还使用渗透工具来扫描系统并分析结果。一个好的渗透测试工具应该:
- 易于设置和使用。
- 快速进行系统扫描。
- 根据严重程度对弱点进行排序。
- 自动验证弱点。
- 重新验证过去的漏洞。
- 提供详细的报告和日志。
渗透测试的主要目标是识别操作系统、服务、应用程序、配置和用户行为中的安全问题。这种形式的测试使团队能够发现:
- 系统漏洞和安全漏洞。
- 不遵守数据隐私和安全法规(PCI、 HIPAA、 GDPR等)
- 整个团队缺乏安全意识。
- 威胁识别协议中的缺陷。
- 事件响应计划的改进空间 。
- 安全策略中的错误。
公司通常聘请外部承包商进行渗透测试。由于缺乏系统知识,第三方测试人员比内部开发人员更彻底、更有创造力。一些公司还运行赏金计划,邀请自由职业者入侵系统,并承诺如果他们违反系统,将收取费用。
渗透测试的最终结果是什么?
渗透测试的最终结果是渗透 测试报告。一份报告会通知 IT 和网络系统管理员有关测试发现的缺陷和漏洞。报告还应包括解决问题和改进系统防御的步骤。
每份渗透测试报告都应包括:
- 执行摘要: 摘要提供了测试的高级概述。非技术读者可以使用摘要来深入了解渗透测试所揭示的安全问题。
- 工具、方法和向量: 本节介绍测试背后的工具和方法。测试人员还概述了导致成功入侵的逐步攻击模式。
- 详细发现: 此部分列出了渗透测试发现的所有安全风险、漏洞、威胁和问题。与执行摘要不同,报告的这一部分深入探讨了技术细节。
- 建议: 建议部分解释了如何提高安全性并保护系统免受真正的网络攻击。
您应该多久进行一次渗透测试?
公司定期进行渗透测试,通常每年一次。除了年度测试外,公司还应该在团队出现以下情况时组织渗透测试:
- 添加新的网络基础设施。
- 安装新的应用程序。
- 显着升级或修改基础架构或应用程序。
- 在新地点设立办公室。
- 添加新的安全补丁。
- 更改最终用户策略。
根据您公司的规模和预算,在团队进行更改时运行渗透测试可能并不现实。在这种情况下,团队应该结合使用渗透测试和漏洞扫描。虽然效率不高,但自动漏洞扫描比渗透测试更快、更便宜。
渗透测试步骤
渗透测试是一个复杂的实践,由几个阶段组成。以下是渗透测试如何检查目标系统的分步说明。
渗透测试范围
此步骤涉及测试的初步准备。团队应该:
- 概述测试的后勤工作。
- 定义测试范围。
- 设定期望。
- 设定目标。
- 定义渗透团队的侵略限制。
- 考虑潜在的法律影响。
侦察(情报收集)
黑客开始了解系统并在情报收集阶段寻找潜在的切入点。这个阶段需要团队主要收集有关目标的信息,但测试人员也可以发现表面级的弱点。
侦察步骤包括扫描:
- 所有硬件。
- 本地和无线网络。
- 防火墙。
- 相关应用。
- 网站。
- 基于云的系统。
- 员工行为和协议。
侦察阶段的另一个常用术语是 开源情报 (OSINT) 收集。
威胁建模
测试人员使用侦察阶段的洞察力来设计自定义威胁以渗透系统。该团队还识别和分类不同的资产进行测试。
手术
测试人员试图通过他们在早期阶段找到的入口点闯入目标。如果他们破坏了系统,测试人员会尝试提升他们的访问权限。在系统中横向移动使渗透测试人员能够识别:
- 网络分段 设置不佳 。
- 访问敏感数据和资源。
- 帐号和 密码管理不力。
开发后
渗透测试人员评估黑客利用系统弱点可能造成的损害程度。后利用阶段还要求测试人员确定安全团队应如何从测试漏洞中恢复。
分析、报告和创建可操作的保护步骤
测试人员将测试结果编译成一份报告,其中概述了:
- 黑客活动的逐步细分。
- 发现的弱点和漏洞。
- 数据测试人员能够达到。
- 测试人员在系统中未被检测到的时间。
- 公司必须采取措施消除漏洞并防范真正的攻击。
重新测试
一旦安全团队实施了笔报告中的更改,系统就可以重新测试了。测试人员应该运行相同的模拟攻击,以查看目标现在是否可以抵抗破坏尝试。
标准化渗透测试方法
公司通常依赖五种标准化渗透测试方法之一: OWASP、 OSSTMM、 ISSAF、 PTES和 NIST。
OWASP
OWASP(开放 Web 应用程序安全项目)是一个用于识别应用程序漏洞的框架。此方法允许团队:
- 识别 Web 和移动应用程序中的漏洞。
- 发现开发实践中的缺陷。
OWASP 还使测试人员能够对风险进行评级,从而节省时间并帮助确定问题的优先级。该框架拥有庞大的用户社区,因此不乏 OWASP 文章、技术、工具和技术。
OSSTMM
OSSTMM(开源安全测试方法手册)依赖于网络渗透测试的科学方法。这个经过同行评审的框架为道德黑客提供了理想的操作安全性的准确表征。OSSTMM 使渗透测试人员能够运行适合组织技术和特定需求的定制测试。
国际安全援助部队
ISSAF(信息系统安全评估框架)提供了一种专门的结构化测试方法。该框架非常适合希望详细计划和记录渗透测试每个步骤的测试人员。ISSAF 对于使用不同工具的测试人员也很有用,因为该方法允许您将每个步骤与特定工具联系起来。
PTES
PTES(渗透测试方法和标准)提供高度结构化的七步测试方法。该方法指导测试人员完成所有渗透测试步骤,从侦察和数据收集到利用后和报告。PTES 要求测试人员了解组织运行成功测试的流程。
NIST
NIST(美国国家标准与技术研究院)提供精确的渗透测试指南,以提高整体 网络安全。该框架在银行、通信和能源等高危行业中很受欢迎。遵守 NIST 通常是美国企业的监管要求。为了遵守 NIST,公司必须对应用程序和网络进行渗透测试。
渗透测试的类型
渗透测试在目标、条件和目标方面有所不同。根据测试设置,该公司向测试人员提供有关系统的不同程度的信息。在某些情况下,安全团队是对测试了解有限的团队。
黑盒渗透测试
渗透团队在黑盒测试中没有关于目标系统的信息。黑客必须找到自己的方式进入系统,并计划如何策划破坏。通常,测试人员在黑盒测试开始时只有公司名称。渗透团队必须从详细的侦察开始,因此这种形式的测试需要相当长的时间。
灰盒渗透测试
测试团队了解具有提升权限的用户。黑客知道:
- 文档的设计和架构。
- 内部结构。
灰盒渗透测试允许团队从一开始就专注于具有最大风险和价值的目标。这种类型的测试非常适合模仿长期访问网络的攻击者。
白盒渗透测试
渗透测试人员在开始工作之前就掌握了有关目标系统的信息。这些信息可以包括:
- IP 地址。
- 网络基础架构示意图。
- 用户协议。
- 系统工件(源代码、二进制文件、容器)。
根据设置,测试人员甚至可以访问运行系统的服务器。虽然不像黑盒测试那样真实,但白盒组织起来又快又便宜。
有针对性的测试
公司的 IT 人员和测试团队一起进行有针对性的测试。测试人员和安全人员在各个阶段都了解彼此的活动。针对性测试的另一个术语是“开灯”方法,因为测试对所有参与者都是透明的。
外部测试
外部测试模拟对外部可见服务器或设备的攻击。外部测试的常见目标是:
- 域名服务器 (DNS)。
- 网络应用程序。
- 电子邮件服务器。
- 网站。
- Web 和应用服务器。
- 防火墙。
外部测试的目的是查明外部攻击者是否可以侵入系统。次要目标是查看攻击者在违规后能走多远。
内部测试
内部测试模仿 来自防火墙后面的内部威胁。此测试的典型起点是具有标准访问权限的用户。最常见的两种情况是:
- 一名心怀不满的员工决定破坏系统。
- 通过 网络钓鱼攻击访问系统的攻击者。
内部测试是确定恶意或受感染员工对系统造成多大损害的理想选择。
盲测
盲测模拟现实生活中的攻击。虽然安全团队知道测试,但工作人员对违规策略或测试人员活动的信息有限。
双盲测试
在双盲设置中,公司内只有一两个人知道即将进行的测试。双盲测试非常适合检查:
- 安全监控系统。
- 事件识别协议。
- 响应程序。
双盲测试可以真实地了解安全团队检测和响应现实攻击的能力。
渗透测试方法(测试领域)
以下是您可以运行来检查公司防御的不同渗透测试方法。
网络渗透测试和利用
网络渗透测试模仿入侵网络、路由器、交换机和主机的黑客技术。
这种形式的测试包括:
- 防火墙绕过。
- 规避下一代入侵防御系统 (NGIPS)。
- 路由器和代理服务器测试。
- IPS和DPS规避。
- 打开端口扫描。
- SSH 安全 攻击。
- 测试阻止横向移动的策略。
- 拦截网络流量。
- 发现旧设备和第三方设备。
这种类型的测试包括内部和外部网络利用。网络渗透发现的常见弱点有:
- 配置错误的资产。
- 特定于产品的漏洞。
- 无线网络的弱点。
- 流氓服务。
- 弱密码协议。
对企业网络基础设施的模拟攻击是最常见的渗透测试类型。
Web 应用程序安全测试
应用程序安全测试搜索服务器端应用程序中的潜在风险。这些测试的典型主题是:
- 网络应用程序。
- 蜜蜂。
- 连接。
- 构架。
- 移动应用程序。
常见的应用程序漏洞包括:
- 跨站点请求伪造和脚本。
- 注射缺陷。
- 会话管理不善。
- 不安全的直接对象引用。
- 编码错误。
- 损坏的身份验证或授权协议。
- 弱密码学。
客户端或网站和无线网络
这种类型的测试检查无线设备和基础设施是否存在漏洞。无线渗透测试会发现不安全的无线网络配置和糟糕的身份验证检查。
这种类型的测试包括扫描:
- Web 服务器配置错误。
- 反恶意软件和 DDoS 预防 策略。
- SQL 注入。
- MAC地址欺骗。
- 媒体播放器和内容创建软件。
- 跨站脚本。
- 热点和接入点。
- 加密协议。
社会工程学攻击
社会工程测试搜索员工协议和行为中的漏洞。成为社会工程攻击的受害者 可能导致未经授权的访问、恶意软件、 勒索软件或凭据泄露。
社会工程渗透测试通常模仿现实世界的攻击,例如:
- 窃听。
- 尾随。
- 网络钓鱼攻击。
- 鱼叉式网络钓鱼。
- 诱饵。
- 恐吓软件。
- 借口。
物理测试
物理渗透测试试图获得对业务区域的物理访问。这种测试可确保以下各项的完整性:
- 射频识别系统。
- 相机。
- 门禁系统和键盘。
- 员工和供应商的行为。
- 运动和光传感器。
黑客经常将物理测试与社会工程学结合起来,创造出真实的攻击条件。
云笔测试
云渗透测试检查保护云资产的防御措施。渗透测试可识别云设置中的应用程序、网络和配置中的潜在风险,这些风险可能使黑客能够访问:
- 公司凭证。
- 内部系统。
- 敏感数据。
这种类型的测试对于依赖 IaaS、PaaS 和 SaaS 解决方案的公司来说是必不可少的。云渗透测试对于确保安全的 云部署也很重要。
任何风险评估策略的关键部分
渗透测试允许公司在黑客有机会造成破坏之前主动发现系统弱点。定期对您的系统进行模拟攻击,以确保 IT 运营安全并防止代价高昂的违规行为。