安全的幻觉比意识到缺乏安全性更糟糕,因为它导致基于错误假设的决策。由公共信任机构传递的信息,如“我们保护您的个人数据”,通常会制造这种安全的幻觉。让我们通过两个使用密码保护的PDF文件的案例来研究这种情况。
- 我收到了来自PZU的邮件,其中包含保险提议,强调“我们保护个人数据”:

2. 附件是一个受密码保护的PDF文件:

3. 假设我不知道密码。然而,从邮件内容中我知道密码是由4位数字组成的。让我们看看使用现代家庭电脑破解它需要多长时间。
4. 通过以文本模式打开PDF文件,我们可以读取文件的头信息(例如,使用记事本)。这将使我们能够识别创建该文件时使用的标准版本:

5. 下一步是提取我们要破解的密码哈希。这里我们使用工具pdf2john.py。

6. 为了破解提取的哈希,我们使用hashcat以暴力破解模式进行破解。10500表示这里的模式是破解PDF版本1.4-1.6文件的哈希:


如下所示,破解一个由四位数字组成的密码花了10秒钟:

因此,可以肯定地说,四位数字的密码是一种虚幻的保护,不能保护个人数据。
接下来,我们来看看NN投资合伙人的“保护”PDF。
- 这里使用了一串稍长的字符进行“保护”——PESEL号码。

2. 附件文件的头信息 – “%PDF-1.2” 表明该文件使用了 1996年的标准:

3. 提取的密码哈希也表明了这一点:

4. 我们用hashcat进行暴力破解。暴力破解,因为我们没有考虑任何其他假设,这些假设会减少可能的组合数量,除了PESEL是一个由11位数字组成的数字外:


应该怎么做,怎么生活?
要加密数据,应该使用长密码——超过12个字符,并且具有大的字符空间,也就是说,这些密码应包含大写/小写字母、数字和特殊字符。这样的密码应通过第二个通信渠道发送给客户,例如,通过短信。此外,机构应使用强大的加密算法,这些算法会显著减缓暴力破解尝试。例如,可以使用带有AES-256算法的7zip存档。