博客

安全编码技术:安全删除文件

September 10, 2017
Pieter De Cremer
一个黑色的键盘按键,上面印有白色的“恢复文件”字样。

在计算机系统中删除文件并非易事。每个人,甚至包括你的母亲,都曾有过误删文件的经历,并庆幸能在回收站中找回并恢复它。

计算机系统中的数据由位序列表示。这意味着系统需要在文件系统中进行一些记录工作,以明确哪些位代表哪个文件。这些信息包括文件大小、最后修改时间、所有者、访问权限等。这些记录数据与文件内容是分开存储的。

通常情况下,删除文件时,代表该文件的位本身不会发生任何变化,系统只是修改了记录数据,从而将这部分存储空间标记为无效并可重复使用。在新的文件保存到该位置并覆盖原有位之前,你往往仍能恢复之前保存的数据。这不仅提高了删除文件的速度,也常作为一种撤销删除的实用功能。

然而,这种方法也有其弊端。当计算机系统中的应用程序处理敏感信息时,会将这些数据保存在文件系统的某处。当这些信息不再需要时,数据可能会被删除。如果未采取额外措施,即使开发者的初衷是彻底删除所有数据,这些信息仍可能被恢复。

彻底擦除数据的最简单方法是用随机数据重写文件内容(有时甚至需要覆盖多次)。目前已有多种安全删除文件的方法,它们因存储类型和文件系统而异,例如 Gutmann 方法。不过,对于日常应用程序的使用来说,这些方法有些大材小用,你完全可以自行覆盖数据。

但请务必小心!不要使用全零或其他低熵数据。许多文件系统可能会优化此类稀疏文件的写入过程,从而保留部分原始内容。建议在删除文件本身之前,生成安全的随机数据来覆盖整个文件内容。

数据残留是指数据在以某种方式被删除后,其物理层面仍留存的残余表现。存储介质被擦除后,可能仍存在某些物理特征,使得数据能够被重构。

https://fas.org/irp/nsa/rainbow/tg025-2.htm

标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。