是什么使得使用通过利用漏洞获得的信息是非法的?

信息安全 渗透测试 合法的
2021-08-15 11:54:20

根据新闻报道,已经逮捕了与 Heartbleed 漏洞相关的人员。听起来这个人设法通过捕获应用程序用于访问数据库的凭据来访问网站的数据库。然后,此人显然使用这些凭据来访问数据库。

我的问题是,这里的哪一部分是非法的?他被指控“一项未经授权使用计算机的罪名和一项与数据有关的恶作剧罪名”。那么,明知请求会导致数据泄露,向服务器发送心跳请求是否违法?如果该数据只包含随机位,它仍然是非法的还是必须包含敏感数据才能成为非法的?假设存在密码或其他此类信息,那么这样做是否违法?或者,然后获取这些凭据并登录到数据库的面向公众的管理界面是否变得非法?

我感到困惑的是,非法黑客攻击和仅使用公开可见的信息之间的界限在哪里?如果一个网站在其主页上留下其数据库凭据,并带有指向该数据库的 phpMyAdmin 前端的链接,那么登录并环顾四周是否违法?

冒着提出会导致该问题被关闭的多个广泛问题的风险,当好奇地四处窥探以查看某些工作如何越界成为非法时,是否有任何经验法则可以遵守?

4个回答

这里的基本问题是授权,而不是访问

如果你闯入邻居的房子,显然你是违法的。但如果他让你进来,那你就不是。

那么如果你有钥匙呢?如果他给了你钥匙和进入的许可(在他不在的时候喂他的狗),那么你就有进入的授权。那里没有侵入。

另一方面,如果您在他的门垫下找到钥匙,这并不意味着授权即使它授予您访问权限你可以很容易地进入,但它是非法侵入的。

现在,假设您挨家挨户检查是否有人将钥匙留在门垫下。您只需进入脆弱的房屋并环顾四周即可;你不东西,你只是在寻找。这就是 Heartbleed 问题所发生的情况。有人正在利用他们对漏洞的了解(例如,钥匙有时出现在门垫下)来获取访问权限,但他们无权访问。

是的,任何了解该漏洞的人都可以访问他们检索到的密钥,就像门垫下的钥匙在技术上同样可供公众访问一样。但这并不意味着使用它是合法的。

首先,这个问题必须在特定国家的背景下回答,因为每个国家都有自己关于计算机犯罪、入侵、数据操纵等的法律和法规。

还需要考虑的一件重要事情是,将判断这些案件的人不是具有技术意识的人。他们通常不清楚什么是数据库,什么是 UDP 数据报,有时甚至不清楚 Google 是什么。因此,即使法院听取了 IT 专家的意见,其决定也将主要基于常识。

我不是加拿大法律专家,但以下是我的想法:

  • 发送一个事先知道它可以/将会改变存储在服务器上的数据的单个数据包在某些国家/地区可能被视为犯罪,无论为什么这样做(例如,研究人员试图复制错误)以及影响是什么是在最后;
  • 当局(例如检察官或法官)通常这样看待非法黑客攻击和仅使用公开可见信息之间的界限:组织是否故意将信息公开和可见? 还是“攻击者”使用了技巧来访问它?最后,这涉及到用户访问信息的意图。
  • 不管泄露的数据是否包含无用的随机位或明确的敏感信息,访问仍然是在没有适当授权的情况下执行的。当然,敏感程度可能会被认为是一个加重因素。

这种情况的一个真实例子是最近在法国谴责一位互联网用户通过谷歌找到了一些不应该存在的公司信息(由于公司的错误,它被搜索引擎索引)。即使数据完整性或可用性没有受到威胁,也没有实际入侵,该互联网用户仍被判犯有“未经授权访问信息系统”和“数据盗窃”罪。此处提供了非常详细的法律解释(法语)。

最后,当局主要考虑了两件事:

  • 不管访问是如何执行的,数据并不意味着是公开的。在 Heartbleed 漏洞的情况下,没有人可以认真地假装负责加密互联网通信的程序使用的明文数据应该是公开的。
  • 用户并非偶然访问数据,而是使用了一些普通用户无法使用的技术方法。这包括谷歌黑客攻击、制作 UDP 数据报等。

因此,为了回答您的问题,非法黑客攻击和授权访问之间的界限基本上是:受影响的组织是否授权或授权您访问其任何数据(例如,通过Bug Bounty 计划或渗透测试服务)?

我感到困惑的是,非法黑客攻击和仅使用公开可见的信息之间的界限在哪里?

问题是这些信息是否被认为是公开的,即使它是公开可见的。在这种特殊情况下,100% 清楚事实并非如此。即使服务器管理员未修补此错误,也不意味着您可以自由使用它。

从纯粹的技术角度来看,可以说任何可以以某种方式访问​​的数据都是公开的,因为技术不会区分功能和错误。但法律很少是技术性的。

世界各地关于什么是非法黑客行为和什么不是非法黑客行为的立法差异很大。我不是律师,但据我所知,当系统所有者采取措施阻止公众访问时,许多立法都认为数据是私有的。如果这些步骤由于软件错误而变得不充分,当访问它们的人没有理由相信数据应该是公开的时,访问它仍然是非法的。

当有人在他们的主页上写“我建立了一个公共的 MySQL 数据库供大家试验,用户名user和密码是pass时,可以合理地假设该数据库中的任何信息都是公开的。当您必须利用他们用来获取登录信息的软件中的安全漏洞时,可以合理地假设该信息不打算公开。