原标题:不用费心猜了!Linux 加密应用软件 Cryptkeeper 有个通用的密码:“p”
Linux加密应用软件Cryptkeeper近日爆出了一处缺陷,导致它使用只有一个字母的通用的解密密码:“p”。
这个有缺陷的版本出现在目前处于测试阶段的Debian 9(Stretch)中,但未出现在Debian 8(Jessie)中。这个缺陷似乎是与encfs加密文件系统的命令行接口之间糟糕的交互引起的:Cryptkeeper调用encfs,使用模拟的“p”键盘按键,试图进入偏执模式(paranoia mode)――恰恰相反,它将文件夹的密码设成为就是“p”那个字母。
Cryptkeeper的开发人员似乎已抛弃了这个项目。幸好,使用这个加密工具的用户不是特别多――不过我们不可因此对这个缺陷掉以轻心。它实际上执行下面这个代码将参数传送给encfs:
write (fd[1], "pn", 2);
write (fd[1], password, strlen (password));
write (fd[1], "n", 1);
然而,encfs是使用-S参数选项符来执行的,这意味着它应该不需要提示符就能从stdin读取密码。修正版(https://github.com/vgough/encfs/commit/c3a7da5eff4055e77dc9404b0c15945485232bf2)纠正了其操作,确保与说明文档相符――这让它与Cryptkeeper的假设不相一致。
所以,这就是为什么Cryptkeeper将所有目录密码设成“p”:encfs已经过了更新,而这破坏了Cryptkeeper的接口。
Debian的开发人员西蒙·麦克维蒂(Simon McVittie)建议,应该将这款应用软件从Linux发行版完全剔除。
麦克维蒂在缺陷报告帖子中说:“看起来cryptkeeper在encfs的命令行方面的假设不再有效。”
Cryptkeeper ……输入“p”就会被攻陷。
“我还注意到,cryptkeeper在与encfs交互的过程中并没有检查write()和close()返回的内容,这似乎很有可能导致了不想要的结果。”
“我建议,版本发布团队一开始就要剔除这个软件包:它目前给人以一种虚假的安全感,实际上比根本不加密还要来得糟糕。”
相关阅读:
责任编辑: