【发布时间】:2013-10-10 06:21:24
【问题描述】:
我正在用 Python 编写一个涉及对密码进行哈希处理的程序。假设我用它来获取密码:
import getpass
password = getpass.getpass("Password: ")
然后对其进行哈希处理,有什么方法可以安全地从 RAM 中删除所有未哈希密码的痕迹?
【问题讨论】:
-
您为什么要这样做?为了能够读取(真的很难)你的记忆,黑客无论如何都应该获得 root 访问权限。请把你的精力集中在更明智/常见的attack vectors 上,而不是创造这种虚假的安全感。
-
@RickyA 你不知道 tkbx 想要做什么,这实际上是一个好问题。
-
@RickyA:如果交换文件没有加密,那么你不需要root,你只需要硬盘(并且包含密码的页面已经被交换而不是被覆盖,课程)。窃取硬件即使不是高价值的攻击也是一种合理的攻击,因为攻击者不知道他们将在交换文件中获得什么,这取决于运气。但结论是一样的,你无能为力。
-
@RickyA:我不一定需要在交换文件中找到密码,而是使用交换文件作为字符串的来源来猜测密码。无论如何,我的观点只是未加密的交换文件破坏了内存内容由操作系统保护的原则(至少,一旦操作系统没有运行并且您将磁盘安装在其他位置)。正如我所说,它并没有真正影响您评论的主旨,只是假设并不总是成立。当然,操作系统也可以在正常关机时清理交换文件。
标签: python security memory hashlib