我们知道,RAM 是一种易失性存储器,当计算机关闭时,其数据就会丢失。因此,当我们想要让系统休眠时,Windows 必须将其数据存储在 HDD 中的文件中,然后关闭计算机,然后在我们按下开机按钮的那一刻,它会再次将该数据(从 HDD)导入 RAM。
问题 1:Windows 在休眠之前将 RAM 内容存储在哪里?我的意思是特殊位置在哪里?它是文件吗?!如果是文件,其目录的路径在哪里?
问题2:我们可以修改存储的文件来破坏 Windows 的某些安全规则吗?(例如,将分配给某个程序的内存位置更改为分配给另一个程序的位置)(例如,使用 Windows-Live 磁盘或驻留在该系统上的另一个窗口”?)
答案1
休眠之前 Windows 将 RAM 内容存储在哪里?
休眠功能可让您在已保存的状态下关闭计算机。激活休眠功能后,系统会拍摄当前会话的快照,将其保存在硬盘上的“hiberfil.sys”文件中然后完全关闭电源。当计算机被唤醒时,它会读取“hiberfil.sys”文件,然后以进入休眠状态之前的状态启动。整个过程所用时间只是计算机冷启动所需时间的一小部分。
我们可以修改存储的文件来破坏 Windows 的某些安全规则吗?
理论上是的。
如果您可以物理访问该机器,您可以移除驱动器,安装在另一台计算机上,进行更改,更换驱动器,然后重新启动机器。
如果不使用第二台计算机或(正如 Daniel B 所指出的)原始计算机上的其他启动管理器/媒体,则无法进行更改。
我不知道在从休眠状态恢复之前是否检查了 hiberfil.sys 文件是否被篡改。
此外,请参见下文了解有关加密密钥的可能漏洞。
虽然方便可靠,但休眠操作系统可能会存在一些严重的安全漏洞,特别是当您使用 Bitlocker 或 TrueCrypt 等软件加密应用程序来保护存储在本地硬盘上的私人数据时。
如前所述,在进入休眠模式之前计算机保存的状态信息被写入“hiberfil.sys”文件并存储在硬盘的根目录中。这个“hiberfil.sys”文件基本上是系统 RAM 的快照。如果在系统进入休眠状态时加密软件正在运行,则加密数据可能会面临风险。
摘自 nti-Forensics 网站上发布的文章“Windows 休眠和 hiberfil.sys”:
使用加密软件时,Windows hiberfil.sys 也可能是一个问题……如果 Windows 系统进入休眠模式而未卸载加密容器或卷,则用于访问这些容器的加密密钥可能会以纯文本形式留在 RAM 中。RAM 随后将保存到硬盘驱动器中的 hiberfil.sys 中。这意味着您将留下所有私人容器和卷的密钥(密码)以供查找。
因此,如果在将计算机置于休眠模式时加密卷仍处于挂载状态,则如果您的硬盘驱动器受到威胁并且攻击者能够从“hiberfil.sys”文件中提取加密密钥,则加密分区的全部内容都可能被暴露。