You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止非管理员用户修改或访问应用所需本地文件?

针对非管理员用户的文件保护方案

1. NTFS权限精细化控制(Windows平台)

  • 核心逻辑:通过系统权限隔离,仅允许应用专属账户访问目标文件
  • 操作方式:在代码中创建存储目录时,调用Windows API(如SetNamedSecurityInfo)设置目录权限:只授予应用专属服务账户或LOCAL SYSTEM账户完全控制权限,拒绝所有其他用户(包括Administrators组)的读写、列目录权限。
  • 优势:系统级拦截,技术用户即便找到文件路径,也因权限不足无法修改或读取
  • 注意:无需修改全局系统设置,仅针对应用创建的独立目录生效;若应用以当前用户身份运行,可创建低权限专用本地账户来托管文件操作

2. 加密存储+内存密钥管理

  • 核心逻辑:文件加密后落地,密钥仅驻留内存不落地
  • 操作方式:采用AES-256对称加密算法处理文件,密钥在应用启动时动态生成(或从远程服务临时获取,无需提前存储);加密后的文件可存储在任意目录,同时将文件哈希值与密钥哈希(而非密钥本身)存入本地数据库,同步到远程时再传递完整密钥与加密文件。
  • 优势:即使技术用户获取到加密文件,无密钥也无法解密或篡改;跨平台适用,不依赖系统权限
  • 注意:需确保应用崩溃时密钥被安全销毁,避免内存dump泄露;大文件可采用分段加密减少内存占用

3. NTFS交替数据流(ADS)存储(Windows平台)

  • 核心逻辑:利用NTFS特性将文件隐藏在正常文件的附加数据流中
  • 操作方式:创建一个看似普通的系统文件(如system_log.dll),通过Windows APICreateFile指定数据流名称,将需要保护的文件写入该文件的交替数据流;普通用户通过资源管理器无法发现该文件,需知晓数据流名称才能访问。
  • 优势:隐蔽性强,无需额外权限,仅依赖NTFS分区特性
  • 注意:仅适用于NTFS分区;宿主文件被删除时附加数据流也会丢失,需结合多副本机制做冗余

4. 独占锁+多副本哈希校验强化

  • 核心逻辑:在文件使用期间阻止外部访问,同时用多副本哈希校验实现篡改恢复
  • 操作方式:应用处理文件时,通过CreateFile(Windows)或open(Linux)的独占模式打开文件,阻止其他进程访问;定期校验所有副本的哈希值,若发现某副本哈希不符,立即用正确副本覆盖修复并记录异常。
  • 优势:实现简单,在文件使用时直接阻止篡改,多副本机制可快速恢复被篡改的文件
  • 注意:独占锁在应用崩溃后会自动释放,需结合加密或权限控制作为兜底

内容的提问来源于stack exchange,提问作者Johan Persson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:25:30