熟练的专业渗透测试人员在渗透测试期间无意中删除或修改生产中的敏感数据是否可以接受?

信息安全 渗透测试 合法的
2021-08-31 01:13:23

今天我遇到了一个情况,一个负责公司安全的人要求一个渗透测试的公司撤回合同中的一个条款,该条款说:

“在渗透测试期间,由于某些工具、漏洞、技术等的执行,可能会无意中删除或修改生产环境中的敏感数据。”

客户说他不会接受该条款,并且他认为没有公司会接受该条款。他认为,在渗透测试期间,信息可以被访问,但永远不会被删除或修改。

我们知道,如果 Web 应用程序的编程非常糟糕,一些工具(如网络爬虫或蜘蛛)的执行可能会删除数据,因此如果要使用这些类型的工具,这种可能性总是存在的。

我知道这些是客户的条件,应该被接受,但是:

熟练且专业的渗透测试人员能否始终确保在渗透测试期间不会在生产中删除或修改任何数据?

如果 Pentest 团队有不能创建和修改数据的限制,那么 Pentest 真的可以做吗?

测试公司是否应该始终包含免责条款以防万一?

4个回答

渗透测试人员无法 100% 确保数据不会被修改或删除,就像他们无法确保系统可用性不会受到影响一样(我已经通过端口扫描或单个 ' 字符)。正如您所说,如果设置不当,网络爬虫可以从系统中删除数据。

我想说的是,应该说的是“将尽一切努力确保测试不会对正在审查的系统产生负面影响,并且不会故意尝试修改或删除生产数据或对可用性产生负面影响“

声称自己永远不会更改生产数据的渗透测试者要么是一个肮脏的骗子,要么认为自己比实际能力强得多,或者强烈打算什么都不做(这是永远不会破坏任何东西的唯一可靠方法) . 无论如何,你不想和那个人一起工作。

一个相信熟练的渗透测试人员永远不会损坏测试系统并且拒绝与渗透测试人员合作除非他们明确承诺的潜在客户是一个 1. 生活在童话独角兽梦境中的客户,并且 2. 几乎可以保证永远这样做只与肮脏的骗子做生意。在某些时候,他可能会以一种相当壮观的方式幻灭。

对于渗透测试者来说,在他们的合同中包含有关可能违约的条款是一种道德要求,也是基本的自我保护。附带损害的风险是真实的,即使渗透测试者非常擅长他所做的事情(因为损害不是来自渗透测试者有多好,而是来自测试系统的设计和实施有多糟糕)。渗透测试人员可能会因为没有警告客户而被起诉。

拒绝带有此类条款的合同的客户还有另一个名字:“麻烦”。通常最好完全跳过这些客户。

警告:我不是专业的渗透测试者。我从事备份软件工作。

熟练且专业的渗透测试人员能否始终确保在渗透测试期间不会在生产中删除或修改任何数据?

我会说不,没有绝对保证当您尝试破坏某些东西时不会意外删除某些内容。但是,也就是说,渗透测试者通常应该尝试以不涉及删除数据的方式利用系统。例如,虽然大家最喜欢的 SQL 语句是:

select * from users where userid='dave'; DROP ALL TABLES;

更负责任的方法是列出所有数据:

select * from users where userid='2' OR 1=1;

一般来说,我想大多数渗透测试人员已经开发了一系列非破坏性的漏洞,比如后者。

各种形式的 Javascript 注入可以使用简单的概念验证代码,alert("exploited you");而不是真正的漏洞利用代码。

如果渗透测试团队有数据不能创建和修改的限制,那么渗透测试真的可以吗?

我会说不。如果无法将 XSS 存储在数据库中,您将如何展示存储 XSS 的概念证明?这总是会创建新数据。

有很多例子表明,漏洞利用需要写入数据,即使只是暂时的。

测试公司是否应该始终包含免责条款以防万一?

再次,我在这里扩展我的个人知识,但我会说是的。

然而,这又回到了雇佣渗透测试公司的全部意义。渗透测试的目的是在坏人发现之前识别可能需要评估和修复的风险。

我还希望任何优秀的渗透测试者都会提出,任何优秀的企业都会想到某种规模的灾难恢复。当然,您应该在系统上进行某种形式的备份,以便您可以根据需要进行恢复。您不仅需要这个以防渗透测试破坏您的数据,而且以防您真的被坏人破坏,在这种情况下,您可能希望回滚到未受污染的备份。

我经常在我的网站上运行渗透测试。

我第一次运行一个站点时,我使站点停止运行,并用垃圾邮件淹没了他们的邮件服务器。

然后我调整了几个表格,以摆脱垃圾邮件,它可以识别和修复所有其他已知的漏洞,而不会使服务器停止运行。

坦率地说,我对剥削者的狡猾感到惊讶,我不得不堵住我没有考虑过的漏洞。

但问题是,在运行测试之前,我认为我的网站是安全的。就网站设计而言,我已经遵循了最佳实践,但仍然存在问题。

现在,事后看来,我意识到测试可能会影响我的生产站点。

所以我提前计划。

我确保首先备份所有内容。

如果该站点真的非常重要,我将创建一个完整的克隆,然后首先测试该克隆。

我从经验中了解到,如果您创建克隆,请在不同的服务器上创建它。否则,当克隆停止时,服务器仍然会影响您的生产环境。

但我仍然进行我的测试。您认为黑客如何访问网站?他们可能以未经授权的方式自己运行类似的测试。因此,在您的网站受到保护之前,它总是容易受到攻击。最好先完成测试,并采取预防措施(备份等),而不是在您最不期望的时候拿起碎片。

所以,是的,这是可以接受的,但它也是可预测的,应该进行相应的管理。