渗透测试 - 快速指南
渗透测试 - 简介
什么是渗透测试?
渗透测试是一种安全测试,用于测试应用程序的不安全性。目的是发现系统中可能存在的安全风险。
如果系统不安全,则任何攻击者都可以破坏该系统或获取对该系统的授权访问权限。安全风险通常是开发和实施软件时发生的意外错误。例如,配置错误、设计错误、软件错误等。
为什么需要渗透测试?
渗透测试通常评估系统保护其网络、应用程序、端点和用户免受外部或内部威胁的能力。它还尝试保护安全控制并确保仅授权访问。
渗透测试至关重要,因为 -
它识别模拟环境,即入侵者如何通过白帽攻击来攻击系统。
它有助于找到入侵者可以攻击的薄弱区域,以访问计算机的功能和数据。
支持避免黑帽攻击,保护原始数据。
它估计对潜在业务的攻击的严重程度。
它提供了证据表明为什么增加技术安全方面的投资很重要
何时进行渗透测试?
渗透测试是一项重要功能,需要定期执行以确保系统正常运行。除此之外,还应在任何时候执行 -
- 安全系统发现攻击者的新威胁。
- 您添加新的网络基础设施。
- 您更新系统或安装新软件。
- 您搬迁办公室。
- 您设置了新的最终用户计划/政策。
渗透测试有什么好处?
渗透测试具有以下优点 -
管理系统的增强- 它提供有关安全威胁的详细信息。除此之外,它还对漏洞的程度进行分类,并向您建议,哪一个更容易受到攻击,哪一个更容易受到攻击。因此,您可以通过相应地分配安全资源来轻松、准确地管理您的安全系统。
避免罚款- 渗透测试使您组织的主要活动保持更新并符合审核系统。因此,渗透测试可以保护您免受罚款。
防止财务损失- 简单的安全系统漏洞可能会造成数百万美元的损失。渗透测试可以保护您的组织免受此类损害。
客户保护- 即使是单个客户的数据泄露也可能会造成巨大的财务损失和声誉损失。它保护与客户打交道的组织并保持其数据完整。
渗透测试 - 方法
渗透测试是考虑系统的各种问题并进行测试、分析并给出解决方案的技术组合。它基于逐步执行渗透测试的结构化程序。
本章描述渗透测试方法的各个步骤或阶段。
渗透测试方法步骤
以下是渗透测试的七个步骤 -
规划与准备
规划和准备从定义渗透测试的目标开始。
客户和测试人员共同定义目标,以便双方有相同的目标和理解。渗透测试的共同目标是 -
- 识别漏洞并提高技术系统的安全性。
- 由外部第三方确认 IT 安全性。
- 提高组织/人员基础设施的安全性。
侦察
侦察包括对初步信息的分析。很多时候,测试人员除了初步信息(即IP地址或IP地址块)之外没有太多信息。测试人员首先分析可用信息,如果需要,则向客户端请求更多信息,例如系统描述、网络规划等。这一步是被动渗透测试的一种。唯一的目标是获得系统的完整而详细的信息。
发现
在此步骤中,渗透测试人员很可能会使用自动化工具扫描目标资产以发现漏洞。这些工具通常有自己的数据库,提供最新漏洞的详细信息。然而测试者发现
网络发现- 例如发现其他系统、服务器和其他设备。
主机发现- 它确定这些设备上的开放端口。
服务询问- 它询问端口以发现在其上运行的实际服务。
分析信息和风险
在此步骤中,测试人员分析和评估在动态渗透系统的测试步骤之前收集的信息。由于系统数量较多且基础设施规模较大,因此非常耗时。在分析时,测试人员考虑以下要素 -
渗透测试的既定目标。
系统的潜在风险。
评估后续主动渗透测试潜在安全缺陷所需的预计时间。
然而,从已识别的系统列表中,测试人员可以选择仅测试那些包含潜在漏洞的系统。
主动入侵尝试
这是最重要的一步,必须谨慎执行。此步骤涉及发现步骤中识别的潜在漏洞在多大程度上具有实际风险。当需要验证潜在漏洞时必须执行此步骤。对于那些完整性要求非常高的系统,在执行关键的清理程序之前需要仔细考虑潜在的漏洞和风险。
最终分析
此步骤主要考虑到那时为止执行的所有步骤(如上所述)以及对以潜在风险形式存在的漏洞的评估。此外,测试人员建议消除漏洞和风险。最重要的是,测试人员必须确保测试及其披露的漏洞的透明度。
报告准备
报告的准备必须从整体测试程序开始,然后对漏洞和风险进行分析。高风险和严重漏洞必须有优先级,然后是较低的顺序。
然而,在记录最终报告时,需要考虑以下几点 -
- 渗透测试的总体总结。
- 每个步骤的详细信息以及笔测试期间收集的信息。
- 发现的所有漏洞和风险的详细信息。
- 清洁和修复系统的详细信息。
- 对未来安全的建议。
渗透测试对比 漏洞
一般来说,由于误解或营销炒作,渗透测试和漏洞评估这两个术语被许多人互换使用。但是,这两个术语在目标和其他手段方面彼此不同。然而,在描述差异之前,让我们首先一一理解这两个术语。
渗透测试
渗透测试复制外部或/和内部网络攻击者的Behave,旨在破坏信息安全并破解有价值的数据或破坏组织的正常运作。因此,在先进工具和技术的帮助下,渗透测试人员(也称为道德黑客)努力控制关键系统并获取敏感数据的访问权限。
漏洞评估
另一方面,漏洞评估是在给定环境中识别(发现)和测量安全漏洞(扫描)的技术。是对信息安全状况的综合评估(结果分析)。此外,它还识别潜在的弱点并提供适当的缓解措施(补救措施)以消除这些弱点或将其降低到风险水平以下。
下图总结了漏洞评估 -
下表说明了渗透测试和漏洞评估之间的根本区别 -
渗透测试 | 漏洞评估 |
---|---|
确定攻击的范围。 | 创建给定系统中资产和资源的目录。 |
测试敏感数据收集。 | 发现每个资源的潜在威胁。 |
收集目标信息和/或检查系统。 | 为可用资源分配可量化的价值和重要性。 |
清理系统并给出最终报告。 | 尝试减轻或消除宝贵资源的潜在漏洞。 |
它是非侵入性的记录和环境审查与分析。 | 对目标系统及其环境进行综合分析和审查。 |
它非常适合物理环境和网络架构。 | 它是实验室环境的理想选择。 |
它适用于关键的实时系统。 | 它适用于非关键系统。 |
哪个选项最适合练习?
这两种方法具有不同的功能和方法,因此取决于各自系统的安全位置。然而,由于渗透测试和漏洞评估之间的基本区别,第二种技术比第一种技术更有利。
漏洞评估识别出弱点并给出解决方案来修复它们。另一方面,渗透测试只回答“任何人都可以侵入系统安全吗?如果可以,那么他会造成什么危害?”的问题。
此外,漏洞评估试图改进安全系统并开发更成熟的集成安全计划。另一方面,渗透测试只能说明安全程序的有效性。
正如我们在这里所看到的,与渗透测试相比,漏洞评估更有益,并且可以提供更好的结果。但是,专家建议,作为安全管理体系的一部分,这两种技术都应该定期执行,以确保完美的安全环境。
渗透测试的类型
渗透测试的类型通常取决于范围以及组织的需求和要求。本章讨论不同类型的渗透测试。它也称为笔测试。
笔测试的类型
以下是笔测试的重要类型 -
- 黑盒渗透测试
- 白盒渗透测试
- 灰盒渗透测试
为了更好地理解,让我们详细讨论它们 -
黑盒渗透测试
在黑盒渗透测试中,测试人员不知道他要测试的系统。他有兴趣收集有关目标网络或系统的信息。例如,在这个测试中,测试人员只知道预期的结果应该是什么,而不知道结果是如何到达的。他不检查任何编程代码。
黑盒渗透测试的优点
它具有以下优点 -
测试人员不一定是专家,因为它不需要特定的语言知识
测试人员验证实际系统与规格的矛盾
测试通常是从用户的角度进行的,而不是设计者的角度
黑盒渗透测试的缺点
它的缺点是 -
特别是,这些类型的测试用例很难设计。
如果设计者已经进行了测试用例,则可能不值得。
它并不执行一切。
白盒渗透测试
这是一项全面的测试,因为测试人员已获得有关系统和/或网络的全部信息,例如架构、源代码、操作系统详细信息、IP 地址等。它通常被视为模拟攻击内部来源。它也称为结构、玻璃箱、透明箱和开箱测试。
白盒渗透测试检查代码覆盖率并进行数据流测试、路径测试、循环测试等。
白盒渗透测试的优点
它具有以下优点 -
它确保模块的所有独立路径都已被使用。
它确保所有逻辑决策及其真值和假值都经过验证。
它发现印刷错误并进行语法检查。
它发现由于程序逻辑流程与实际执行之间的差异而可能发生的设计错误。
灰盒渗透测试
在这种类型的测试中,测试人员通常提供有关系统程序的内部细节的部分或有限的信息。它可以被视为非法访问组织网络基础设施文档的外部黑客发起的攻击。
灰盒渗透测试的优点
它具有以下优点 -
由于测试人员不需要访问源代码,因此是非侵入性且公正的
由于开发人员和测试人员之间存在明显差异,因此发生个人冲突的风险最小
您不需要提供程序功能和其他操作的内部信息
渗透测试领域
渗透测试通常在以下三个领域进行 -
网络渗透测试- 在此测试中,需要测试系统的物理结构,以识别确保网络安全的漏洞和风险。在网络环境中,测试人员识别相应公司/组织网络的设计、实施或操作中的安全缺陷。测试仪测试的设备可以是计算机、调制解调器、甚至远程访问设备等
应用程序渗透测试- 在此测试中,需要测试系统的逻辑结构。它是一种攻击模拟,旨在通过识别漏洞和风险来暴露应用程序安全控制的效率。防火墙和其他监控系统用于保护安全系统,但有时需要重点测试,特别是当允许流量通过防火墙时。
系统的响应或工作流程- 这是需要测试的第三个领域。社会工程收集有关人类交互的信息,以获取有关组织及其计算机的信息。测试各个组织防止未经授权访问其信息系统的能力是有益的。同样,该测试是专门为组织/公司的工作流程设计的。
渗透测试 - 手动和自动
手动渗透测试和自动渗透测试都是出于相同的目的进行的。它们之间的唯一区别是它们的执行方式。顾名思义,手动渗透测试是由人类(该领域的专家)完成的,而自动渗透测试是由机器本身完成的。
本章将帮助您了解这两个术语的概念、差异和适用性。
什么是手动渗透测试?
手动渗透测试是由人类完成的测试。在此类测试中,机器的漏洞和风险由专家工程师进行测试。
一般来说,测试工程师执行以下方法 -
数据收集- 数据收集对于测试起着关键作用。可以手动收集数据,也可以使用网上免费提供的工具服务(例如网页源代码分析技术等)。这些工具有助于收集表名、数据库版本、数据库、软件、硬件甚至不同第三方插件等信息
漏洞评估- 收集数据后,它可以帮助测试人员识别安全漏洞并采取相应的预防措施。
实际利用- 这是专家测试人员用来对目标系统发起攻击的典型方法,同样可以降低攻击风险。
报告准备- 渗透完成后,测试人员会准备一份最终报告,描述有关系统的所有信息。最后分析报告以采取纠正措施来保护目标系统。
手动渗透测试的类型
手动渗透测试通常分为以下两种方式 -
重点手动渗透测试- 这是一种测试特定漏洞和风险的重点方法。自动化渗透测试无法执行此测试;它只能由人类专家来完成,他们检查给定领域内的特定应用程序漏洞。
全面的手动渗透测试- 通过测试彼此连接的整个系统来识别各种风险和漏洞。但这种测试的功能更多是情景性的,比如调查多个低风险故障是否会带来更容易受到攻击的场景等
什么是自动化渗透测试?
自动渗透测试更快、更高效、更简单、更可靠,可以自动测试机器的漏洞和风险。这项技术不需要任何专业工程师,而是可以由任何对该领域知识最少的人来运行。
自动化渗透测试的工具有Nessus、Metasploit、OpenVAs、backtract(系列5)等。这些都是非常高效的工具,改变了渗透测试的效率和意义。
然而,下表说明了手动和自动渗透测试之间的根本区别 -
手动渗透测试 | 自动渗透测试 |
---|---|
它需要专业工程师来执行测试。 | 它是自动化的,因此即使是学习者也可以运行测试。 |
它需要不同的测试工具。 | 它具有集成的工具,不需要任何外部的东西。 |
在这种类型的测试中,结果可能因测试而异。 | 它有固定的结果。 |
该测试需要测试人员记住清理内存。 | 它不是。 |
这是详尽且耗时的。 | 它更加高效和快速。 |
它还有额外的优点,即如果专家进行渗透测试,那么他可以更好地分析,他可以思考黑客会想到什么以及他可以攻击哪里。因此,他可以相应地采取安全措施。 | 它无法分析情况。 |
根据需要,专家可以进行多次测试。 | 这不可以。 |
对于危急情况,它更可靠。 | 它不是。 |
渗透测试 - 工具
渗透测试通常包括信息收集、漏洞和风险分析、漏洞利用和最终报告准备。
了解可用于渗透测试的各种工具的功能也很重要。本章提供有关这些功能的信息和见解。
什么是渗透测试工具?
下表收集了一些最重要的渗透工具并说明了它们的功能 -
工具名称 | 目的 | 可移植性 | 预计成本 |
---|---|---|---|
华平 | 端口扫描 远程 OC 指纹识别 |
Linux、NetBSD、 免费的BSD, 开放式BSD, |
自由的 |
地图 | 网络扫描 端口扫描 操作系统检测 |
Linux、Windows、FreeBSD、OS X、HP-UX、NetBSD、Sun、OpenBSD、Solaris、IRIX、Mac 等。 | 自由的 |
超级扫描 | 运行查询,包括 ping、whois、主机名查找等。 检测开放的 UDP/TCP 端口并确定哪些服务正在这些端口上运行。 |
Windows 2000/XP/Vista/7 | 自由的 |
p0f | 操作系统指纹识别 防火墙检测 |
Linux、FreeBSD、NetBSD、OpenBSD、Mac OS X、Solaris、Windows 和 AIX | 自由的 |
探针 | 远程主动操作系统指纹识别 端口扫描 TCP 指纹识别 |
Linux | 自由的 |
网页打印 | Web 服务器指纹 SSL 检测 检测支持网络的设备(例如无线接入点、交换机、调制解调器、路由器) |
Linux、Mac OS X、FreeBSD、Win32(命令行和 GUI | 自由的 |
内瑟斯 | 检测允许远程破解者控制/访问敏感数据的漏洞 | Mac OS X、Linux、FreeBSD、Apple、Oracle Solaris、Windows | 免费到限量版 |
GFI LANguard | 检测网络漏洞 | Windows Server 2003/2008、Windows 7 Ultimate/Vista、Windows 2000 Professional、Business/XP、Sever 2000/2003/2008 | 仅免费试用版 |
国际空间站扫描仪 | 检测网络漏洞 | Windows 2000 Professional SP4、Windows Server 2003 Standard SO1、Windows XP Professional SP1a | 仅免费试用版 |
影子安全扫描器 | 检测网络漏洞、审核代理和 LDAP 服务器 | Windows,但扫描构建在任何平台上的服务器 | 仅免费试用版 |
Metasploit框架 | 针对远程目标开发并执行漏洞利用代码 测试计算机系统的脆弱性 |
Unix 和 Windows 的所有版本 | 自由的 |
布鲁图斯 | Telnet、ftp 和 http 密码破解 | Windows 9x/NT/2000 | 自由的 |
渗透测试 - 基础设施
计算机系统和相关网络通常由大量设备组成,其中大多数设备在各自系统的总体工作和业务中发挥着重要作用。这些设备任何时间、任何部分的小缺陷都可能对您的业务造成巨大损害。因此,所有这些都容易受到风险的影响,需要得到适当的保护。
什么是基础设施渗透测试?
基础设施渗透测试包括所有内部计算机系统、相关外部设备、互联网、云和虚拟化测试。
无论是隐藏在您的内部企业网络中还是在公众视野中,攻击者总是有可能利用它来损害您的基础设施。所以,与其事后后悔,不如事前稳妥。
基础设施渗透测试的类型
以下是基础设施渗透测试的重要类型 -
- 外部基础设施渗透测试
- 内部基础设施渗透测试
- 云和虚拟化渗透测试
- 无线安全渗透测试
外部基础设施测试
针对外部基础设施的渗透测试可发现黑客可以对您的网络进行哪些操作,而您的网络可通过互联网轻松访问。
在此测试中,测试人员通常通过查找和映射外部基础设施中的安全缺陷来复制黑客可以使用的同类攻击。
利用外部基础设施渗透测试有多种好处,因为它 -
识别防火墙配置中可能被滥用的缺陷
了解攻击者如何从您的系统中泄露信息
建议如何解决这些问题
准备一份综合报告,强调边境网络的安全风险,并提出解决方案
确保您企业的整体效率和生产力
内部基础设施渗透测试
由于一些轻微的内部安全缺陷,黑客在大型组织中非法实施欺诈Behave。因此,通过内部基础设施渗透测试,测试人员可以识别安全的可能性以及发生此问题的员工。
内部基础设施渗透测试的好处是 -
识别内部攻击者如何利用哪怕是很小的安全漏洞。
识别内部攻击者可能造成的潜在业务风险和损害。
完善内部基础设施的安全系统。
准备一份综合报告,提供内部网络安全漏洞的详细信息以及如何处理该问题的详细行动计划。
云和虚拟化渗透测试
当您购买公共服务器或波浪空间时,它会显着增加数据泄露的风险。此外,在云环境中识别攻击者也很困难。攻击者还可以购买托管云设施来访问您的新云数据。
事实上,大多数云托管都是在虚拟基础设施上实现的,导致攻击者可以轻松访问的虚拟化风险。
云和虚拟化渗透测试的好处是 -
发现虚拟环境中的真正风险,并提出修复威胁和缺陷的方法和成本。
提供如何解决问题的指南和行动计划。
完善整体防护体系。
准备一份全面的云计算和虚拟化安全系统报告,概述安全缺陷、原因和可能的解决方案。
无线安全渗透测试
您的笔记本电脑和其他设备的无线技术可以轻松灵活地访问各种网络。易于获取的技术容易受到独特风险的影响;因为物理安全不能用于限制网络访问。攻击者可以从远程位置进行黑客攻击。因此,无线安全渗透测试对于您的公司/组织来说是必要的。
以下是采用无线技术的原因 -
找出您的无线设备造成的潜在风险。
提供有关如何防范外部威胁的指南和行动计划。
完善整体保障体系。
用于准备无线网络的全面安全系统报告,概述安全缺陷、原因和可能的解决方案。
渗透测试 - 测试人员
存在保护组织最关键数据的问题;因此,渗透测试人员的作用非常关键,一个小错误就可能使双方(测试人员及其客户)面临风险。
因此,本章讨论渗透测试员的各个方面,包括他的资格、经验和职责。
渗透测试人员资质
该测试只能由合格的渗透测试人员进行;因此,渗透测试人员的资质非常重要。
合格的内部专家或合格的外部专家都可以执行渗透测试,直到他们在组织上独立。这意味着渗透测试人员必须在组织上独立于目标系统的管理。例如,如果第三方公司参与目标系统的安装、维护或支持,则该方无法执行渗透测试。
以下是一些在致电渗透测试人员时为您提供帮助的指南。
认证
经过认证的人员可以执行渗透测试。测试人员持有的认证表明了他作为渗透测试人员的技能和能力。
以下是渗透测试认证的重要示例 -
认证道德黑客(CEH)。
攻击性安全认证专家 (OSCP)。
CREST 渗透测试认证。
通信电子安全组 (CESG) IT 健康检查服务认证。
全球信息保障认证 (GIAC) 认证,例如 GIAC 认证渗透测试员 (GPEN)、GIAC Web 应用程序渗透测试员 (GWAPT)、高级渗透测试员 (GXPN) 和 GIAC 漏洞研究员。
过去的经历
以下问题将帮助您聘请有效的渗透测试人员 -
渗透测试人员有多少年的经验?
他是一名独立的渗透测试员还是为某个组织工作?
他在多少家公司担任过渗透测试员?
他是否对任何与您的规模和范围相似的组织进行过渗透测试?
渗透测试人员有什么类型的经验?例如进行网络层渗透测试等
您还可以向他工作过的其他客户索取推荐信。
在雇用渗透测试人员时,评估他(测试人员)所工作的组织过去一年的测试经验非常重要,因为这与他在目标环境中专门部署的技术有关。
除上述之外,对于复杂的情况和典型的客户需求,建议评估测试人员在其早期项目中处理类似环境的能力。
渗透测试员的角色
渗透测试员具有以下角色 -
识别工具和技术的低效分配。
跨内部安全系统进行测试。
精确定位暴露以保护最关键的数据。
发现整个基础设施中漏洞和风险的宝贵知识。
报告补救建议并确定其优先级,以确保安全团队以最有效的方式利用时间,同时保护最大的安全漏洞。
渗透测试-报告撰写
经验丰富的渗透测试人员不一定能写出好的报告,因为编写渗透测试报告是一门需要单独学习的艺术。
什么是报告写作?
在渗透测试中,报告撰写是一项综合性的任务,包括方法、程序、报告内容和设计的正确解释、测试报告的详细示例以及测试人员的个人经验。报告准备好后,将在目标组织的高级管理人员和技术团队之间共享。今后如有此类需要,可将此报告作为参考。
报告撰写阶段
由于涉及全面的写作工作,渗透报告的写作分为以下阶段 -
- 报告策划
- 信息收集
- 撰写初稿
- 审查和定稿
报告策划
报告规划从目标开始,帮助读者了解渗透测试的要点。这部分描述了为什么要进行测试,渗透测试有什么好处等等。其次,报告计划还包括测试所花费的时间。
报告撰写的主要内容是 -
目标- 它描述了笔测试的总体目的和好处。
时间- 时间的包含非常重要,因为它给出了系统的准确状态。假设,如果以后出现任何问题,这份报告将拯救测试人员,因为该报告将说明特定时间段内渗透测试范围的风险和漏洞。
目标受众- 笔测试报告还需要包括目标受众,例如信息安全经理、信息技术经理、首席信息安全官和技术团队。
报告分类- 由于携带服务器 IP 地址、应用程序信息、漏洞、威胁的信息高度机密,因此需要对其进行正确分类。然而,这种分类需要根据具有信息分类政策的目标组织来完成。
报告分发- 工作范围中应提及份数和报告分发。还需要提及的是,可以通过打印有限数量的附有其编号和接收者姓名的副本来控制硬拷贝。
信息收集
由于过程复杂且冗长,渗透测试人员需要提及每一个步骤,以确保他收集了测试各个阶段的所有信息。除了方法之外,他还需要提及系统和工具、扫描结果、漏洞评估、发现的详细信息等。
撰写初稿
一旦测试人员准备好所有工具和信息,现在他需要开始初稿。首先,他需要详细地写初稿——提及一切,即所有活动、过程和经历。
审查和定稿
报告起草后,必须首先由起草者本人审阅,然后由他的前辈或可能协助过他的同事审阅。在审阅时,审阅者应检查报告的每个细节并发现任何需要纠正的缺陷。
渗透测试报告内容
以下是渗透测试报告的典型内容 -
执行摘要
方法
详细调查结果
参考
|
渗透测试 - 道德黑客
互联网的快速发展改变了每个人的生活方式。如今,大多数私人和公共工程都依赖于互联网。政府的所有秘密工作计划和操作都是基于互联网的。所有这些都使生活变得非常简单和容易。
但在好消息的同时,这一发展也有一个阴暗面,即犯罪黑客。这些犯罪黑客没有地缘政治限制,他们可以入侵世界任何地方的任何系统。它们可能会严重损坏机密数据和信用记录。
因此,为了防止黑客犯罪,道德黑客的概念应运而生。本章讨论道德黑客的概念和角色。
谁是道德黑客?
道德黑客是合法允许侵入计算机系统的计算机专家,其目的是防止犯罪黑客的侵害。道德黑客会识别系统的漏洞和风险,并建议如何消除它们。
谁是犯罪黑客?
犯罪黑客是那些侵入他人系统的计算机编程专家,其目的是窃取数据、窃取金钱、诽谤他人信用、破坏他人数据、勒索他人等。
犯罪黑客可以做什么?
一旦系统被黑客入侵,犯罪黑客就可以利用该系统做任何事情。以下两张由 CC Palmer 发布在 pdf.textfiles.com 上的图像说明了被黑页面的简单示例 -
这是在被黑客攻击之前拍摄的网页的屏幕截图 -
而且,这是同一网页被黑客攻击后的屏幕截图 -
道德黑客的技能是什么?
专业的道德黑客拥有以下技能来以道德方式入侵系统
他们必须值得信赖。
无论他们在测试系统时发现什么风险和漏洞,都必须保密。
客户提供有关其系统基础设施的机密信息,例如 IP 地址、密码等。道德黑客需要对这些信息保密。
道德黑客必须具备丰富的计算机编程、网络和硬件知识。
他们应该具有良好的分析能力,能够提前分析情况并推测风险。
他们应该具备管理技能和耐心,因为笔测试可能需要一天、一周甚至更长时间。
道德黑客做什么?
道德黑客在进行渗透测试时,基本上会尝试找到以下问题的答案 -
- 犯罪黑客可以攻击哪些弱点?
- 犯罪黑客可以在目标系统上看到什么?
- 犯罪黑客可以利用这些机密信息做什么?
此外,道德黑客需要充分解决他发现目标系统中存在的漏洞和风险。他需要解释并建议回避程序。最后,准备一份关于他在执行渗透测试时所做和观察到的所有道德活动的最终报告。
黑客的类型
黑客通常分为三类。
黑帽黑客
“黑帽黑客”是指拥有大量计算机软件和硬件的个人,其目的是破坏或绕过他人的互联网安全。黑帽黑客也被称为破解者或黑暗面黑客。
白帽黑客
“白帽黑客”一词是指有道德的计算机黑客,是计算机安全专家,专门从事渗透测试和其他相关测试方法。他的主要职责是确保组织信息系统的安全。
灰帽黑客
“灰帽黑客”一词是指破解计算机安全系统的计算机黑客,其道德标准介于纯粹道德和纯粹恶意之间。
渗透测试对比 道德黑客
渗透测试与道德黑客Behave密切相关,因此这两个术语经常互换使用。然而,这两个术语之间存在细微的差别。本章深入了解渗透测试和道德黑客之间的一些基本概念和根本区别。
渗透测试
渗透测试是一个特定术语,仅侧重于发现漏洞、风险和目标环境,目的是保护和控制系统。或者换句话说,渗透测试针对的是各个组织的防御系统,包括所有计算机系统及其基础设施。
道德黑客
另一方面,道德黑客是一个广泛的术语,涵盖所有黑客技术以及其他相关的计算机攻击技术。因此,除了发现安全缺陷和漏洞,确保目标系统的安全之外,这不仅仅是黑客攻击系统,而是获得许可,以保障未来的安全。因此,我们可以认为,它是一个总括术语,渗透测试是道德黑客的特征之一。
以下是渗透测试和道德黑客之间的主要区别,如下表所示 -
渗透测试 | 道德黑客 |
---|---|
狭义的术语侧重于仅用于保护安全系统的渗透测试。 | 全面的术语和渗透测试是其特点之一。 |
测试人员本质上确实需要对所有事情都有全面的了解,而不是只需要了解他进行笔测试的特定领域。 | 道德黑客本质上需要具备软件编程和硬件的全面知识。 |
测试人员不一定需要成为优秀的报告编写者。 | 道德黑客本质上需要成为报告撰写方面的专家。 |
任何具有渗透测试输入的测试人员都可以执行笔测试。 | 它需要成为该领域的专家,并拥有道德黑客的强制性认证才能有效。 |
与道德黑客相比,文书工作更少。 | 需要详细的书面文件,包括法律协议等。 |
执行此类测试所需的时间较少。 | 与渗透测试相比,道德黑客攻击需要大量的时间和精力。 |
通常,不需要整个计算机系统及其基础设施的可访问性。仅测试人员执行笔测试的部分需要可访问性。 | 根据情况,通常需要所有计算机系统及其基础设施的全面可访问性。 |
由于渗透技术用于防御威胁,潜在的攻击者也迅速变得越来越复杂,并在当前应用程序中发明了新的弱点。因此,特定类型的单一渗透测试不足以保护被测试系统的安全。
报告称,在某些情况下,渗透测试后会立即发现新的安全漏洞并成功发起攻击。但是,这并不意味着渗透测试没有用。这仅意味着,通过彻底的渗透测试,确实不能保证不会发生成功的攻击,但可以肯定的是,测试将大大降低成功攻击的可能性。
渗透测试 - 局限性
由于信息和技术领域的快速发展,渗透测试的成功故事相对短暂。由于需要对系统提供更多保护,因此您需要更频繁地执行渗透测试,以便将成功攻击的可能性降低到公司认可的水平。
以下是渗透测试的主要局限性 -
时间限制- 众所周知,渗透测试并不总是有时间限制的;尽管如此,渗透测试专家还是为每次测试分配了固定的时间。另一方面,攻击者没有时间限制,他们计划在一周、一个月甚至几年内进行攻击。
范围的限制- 由于自身的限制,包括资源限制、安全限制、预算限制等,许多组织不会测试所有内容。同样,测试人员的范围有限,他必须留下系统的许多部分,这些部分可能会影响系统的性能。更加脆弱,并且可能成为攻击者的完美利基。
访问限制- 通常测试人员对目标环境的访问受到限制。例如,如果一家公司从整个互联网网络对其 DMZ 系统进行了渗透测试,但如果攻击者通过正常的互联网网关进行攻击怎么办?
方法的限制- 目标系统有可能在渗透测试期间崩溃,因此对于专业的渗透测试人员来说,某些特定的攻击方法可能会被排除在外。例如,产生拒绝服务洪水来转移系统或网络管理员的另一种攻击方法,这通常是真正坏人的理想策略,但它可能不符合大多数专业渗透测试人员的参与规则。
渗透测试人员技能的限制- 通常,专业渗透测试人员的技能是有限的,无论他们的专业知识和过去的经验如何。他们中的大多数人专注于某一特定技术,而对其他领域的知识却很少。
已知漏洞的限制- 许多测试人员只知道那些公开的漏洞。事实上,他们的想象力并不像攻击者那么发达。攻击者的思维通常超出测试人员的思维,并发现缺陷进行攻击。
实验限制- 大多数测试人员都有时间限制,并遵循其组织或前辈已经给他们的指示。他们不尝试新事物。他们的思考不会超出给定的指示。另一方面,攻击者可以自由思考、试验并创建一些新的攻击路径。
而且,渗透测试既不能取代常规的IT安全测试,也不能取代通用的安全策略,而是渗透测试补充既定的审查程序并发现新的威胁。
渗透测试 - 修复
渗透测试工作无论多么彻底,都无法始终确保彻底发现安全控制有效性不足的每个实例。识别应用程序某一区域中的跨站点脚本漏洞或风险可能无法明确暴露应用程序中存在的此漏洞的所有实例。本章阐述了修复的概念和效用。
什么是修复?
补救是一种提供改进以替换错误并纠正错误的Behave。通常,某个区域存在漏洞可能表明流程或开发实践中存在缺陷,而这些缺陷可能会在其他位置复制或启用类似的漏洞。因此,在修复时,测试人员必须仔细调查被测试的实体或应用程序,同时考虑到无效的安全控制。
由于这些原因,相关公司应在原始渗透测试后的合理时间内采取措施修复任何可利用的漏洞。事实上,一旦公司完成这些步骤,渗透测试人员就应该进行重新测试,以验证新实施的控制措施是否能够减轻原始风险。
初始笔测试后持续较长时间的修复工作可能需要执行新的测试活动,以确保最新环境的准确结果。应在对自原始测试完成以来发生了多少变化进行风险分析后做出此决定。
此外,在特定条件下,标记的安全问题可能说明相应环境或应用程序中的基本缺陷。因此,重新测试的范围应考虑测试中确定的补救措施引起的任何变化是否被归类为重大变化。所有变更均应重新测试;然而,是否需要对整个系统进行重新测试将取决于对变更的风险评估。
渗透测试 - 法律问题
在允许某人测试敏感数据之前,公司通常会采取有关数据的可用性、机密性和完整性的措施。为了达成此协议,法律合规是组织的必要活动。
下面介绍了在建立和维护安全和授权系统时必须遵守的最重要的法律法规,以用于实施渗透测试。
有哪些法律问题?
以下是测试人员和他的客户之间可能出现的一些问题 -
测试人员对他的客户来说是未知的——因此,基于什么理由,他应该被授予敏感数据的访问权限
谁来保证丢失数据的安全?
客户可能会因测试人员的数据丢失或机密性而受到指责
渗透测试可能会影响系统性能,并可能引发机密性和完整性问题;因此,这一点非常重要,即使是在内部渗透测试中,由内部员工进行以获得书面许可。测试人员与公司/组织/个人之间应签订书面协议,以在开始测试之前澄清有关数据安全、披露等的所有要点。
在进行任何测试工作之前,双方应起草并正式签署一份意向声明。应清楚地概述工作范围以及您在执行漏洞测试时可能会或可能不会做的事情。
对于测试人员来说,重要的是要知道谁拥有所请求工作的业务或系统,以及测试系统与其目标之间可能受到笔测试影响的基础设施。这个想法是为了确保;
测试人员有书面许可,并有明确定义的参数。
该公司拥有渗透测试员的详细信息,并保证他不会泄露任何机密数据。
一份法律协议对双方都有利。请记住,各个国家/地区的法规都会有所不同,因此请及时了解各自国家/地区的法律。仅在考虑相应法律后才签署协议。