为什么当有只读挂载时需要写阻止程序?

cut*_*tjm 10 linux read-only write-blocker

假设我们正在使用某种风格的 Linux,我们使用以下命令挂载一个分区:

sudo mount -o ro /dev/sdc1 /mnt
Run Code Online (Sandbox Code Playgroud)

该分区应该是只读的,以便操作系统和用户在不更改mount权限的情况下无法写入磁盘。

来自ForensicsWiki

写阻止程序是允许获取驱动器上的信息而不会造成意外损坏驱动器内容的设备。它们通过允许读取命令通过但通过阻止写入命令来实现这一点,因此得名。

在我看来,这只是为了防止意外标记。该页面还表示,某些写阻止程序还有其他功能,例如减慢磁盘速度以防止损坏。但是为此让我们假设它只是一个只能阻止写入的简单程序。

如果您只能以只读模式挂载磁盘,那么购买诸如写阻止程序之类的东西有什么意义?这只是为了帮助防止诸如具有写入权限的意外挂载命令(用户错误,在某些情况下是不允许的,即刑事案件)之类的事情,还是我错过了文件系统如何工作的更多深入功能?

注意:我知道有些 SSD 会连续洗牌数据,我不确定是否将它们包含在问题中。似乎这会让事情变得更加复杂。

gla*_*len 9

杂志数字取证,安全和法律 具有优良的文章法医成像在写阻滞剂缺乏研究,分析取证捕获既没有写阻滞剂。来自杂志:

数字取证的最佳实践要求在创建数字媒体取证图像时使用写阻止程序,几十年来,这一直是计算机取证培训的核心原则。这种做法根深蒂固,以至于在没有写阻止程序的情况下创建的图像的完整性立即受到怀疑。

仅仅挂载文件系统就可能导致读/写。许多现代文件系统,从ext3/4xfsNTFS,都有一个日志来维护关于文件系统本身的元数据。如果断电、关闭不完全或由于多种原因,该日志会自动读取并写回到驱动器上的文件结构中,以保持文件系统本身的一致性。这可能发生在挂载过程中,无论文件系统是否是读写的。

例如,从ext4 文档中ro挂载选项将...

挂载文件系统只读。请注意,即使挂载为“只读”,ext4 也会重播日志(从而写入分区)。挂载选项“ro,noload”可用于防止写入文件系统。

尽管这些驱动程序级别的更改不会影响文件的内容,但在收集证据时采用加密哈希值是一种取证标准,以维护监管链。如果可以证明当前持有的证据的哈希值(即 sha256)与收集到的内容相匹配,那么您就可以毫无疑问地证明驱动器的数据在分析过程中没有被修改。

几乎所有犯罪类别都可以引用数字证据作为证据。法医调查人员需要绝对确定他们作为证据获得的数据在捕获、分析和控制过程中没有以任何方式改变。律师、法官和陪审员需要确信计算机犯罪案件中提供的信息是合法的。调查员如何才能确定他或她的证据在法庭上被接受?

根据美国国家标准与技术研究院 (NIST) 的说法,调查人员遵循一组旨在防止执行任何可能修改磁盘内容的程序的程序。http://www.cru-inc.com/data-protection-topics/writeblockers/

一个写阻滞剂是必要的,因为如果所有的位变为任何理由-OS,驱动级,文件系统级或以下,则收集VS分析系统将不再匹配的哈希值作为证据驱动的受理,并可能是质疑。

因此,写阻止程序既是针对低级别更改可能性的技术控制,也是确保不进行任何更改的程序控制,无论用户或软件如何。通过消除更改的可能性,它支持使用哈希来显示分析的证据与收集的证据匹配,并防止许多潜在的证​​据处理问题和问题。

JDFSL 文章的分析表明,如果没有写阻止程序,他们测试的驱动器就会发生变化。然而,另一方面 - 单个数据文件的哈希值仍将完好无损,因此存在关于在没有写阻止程序的情况下收集的证据的可靠性的论点,但不被视为最佳行业实践。