本文不适合小白。
注:本人推荐不要使用流氓软件,大部分都有替代品。Windows 系统的文件系统权限有很多坑,运行流氓软件就是有风险的。
之前写了个 指南:在不使用任何杀毒软件的实时防护的情况下,安全使用 Windows 电脑,那篇文章说的是怎么识别不靠谱的软件,然后直接就不运行了。但是好像很多人想要安全使用流氓软件,这其实也可以在一定程度上做到。注意是一定程度,完美隔离需要用虚拟机。
Sandboxie 的实现需要往操作系统内核加插件,本身会影响系统稳定性。2019 年有人写了文章说不要用 Sandboxie,不知道现在 2024 年是否适用:Sandboxie should be avoided in 2019 and above
对于不想使用这种外部的软件,但是想要隔离一个软件的话,可以考虑直接用 Windows 系统自带的用户权限机制做轻量级的隔离。它虽然没法做到完美隔离,但是能显著降低主账号被窃取数据的风险。最大的优点是,轻量级,不像虚拟机一样难用。
注意:不是所有软件都能这么隔离的
1 权限隔离等级
考虑到大部分读者没有软件开发的知识,这里就使用比喻的方式描述下不同的 Windows 权限等级好了,“你的电脑”就比作“你家”。
从最高权限到最低权限。
(1) 内核权限
这是最高权限,意味着软件可以做任何事情。
(2) 管理员权限
实际上给了管理员权限之后,流氓软件可以安装内核插件,就有了内核权限了。每次弹出 UAC 对话框的时候,点了下“是”,等于给了一个软件核弹引爆按钮,它可以随时把你家变成灰烬,或者进行任意的修改。这个授予管理员权限的操作是不可逆的,一旦点了就无法挽回了。
(3) 普通用户权限-使用单个用户
等于你家里有一堆流氓,虽然他们没法把你家炸飞,但是可以各种搞破坏来拆家。
(4) 普通用户权限-给流氓软件单独一个用户
你给流氓专门搭建了一个家,他们只能拆那个家。虽然偶尔也会被他们扔过来的垃圾砸中,但是相比和他们住在一起,还是安全多了。
这是本文介绍的方式。
(5) 沙箱
工作方式:基于 Windows 系统自身的权限管理在普通用户权限的基础上,进一步全面削减权限
常见软件:Google Chrome, Firefox, Adobe Acrobat PDF Reader, ReHIPS
你修建了一座监狱,把一堆软件关了进去。有些监狱的安全等级比其他监狱高,能更加有效防范越狱。
缺点:沙箱很难修建,需要给每个软件搭建一个。
这里说的沙箱是基于 Windows 权限模型搭建的沙箱,不包括 Sandboxie。Sandboxie 是直接使用 Kernel Hook 等技术做了一个自己的沙箱。
(6) 虚拟机
你把监狱修建在了恶魔岛,把一堆软件关了进去。越狱可能性基本为零。
缺点:软件性能暴跌,而且很难用。
2 步骤
2.1 先屏蔽掉国产流氓软件通过UAC提权的可能性
这是为了避免误触,导致给了管理员权限。给了管理员权限的话什么都控制不了了,很多国产流氓软件会安装内核扩展,直接获取了操作系统的最高权限。
2.2 不给管理员权限安装软件
首先,你得想办法不授予管理员权限的情况下安装软件。
- 从 Microsoft Store 下载。
不过有些 Store 里面的软件会提示 “由 XXX 提供和更新”,这种和官网下载的安装包没区别。
以及 Microsoft Store 的应用好像没法用“以其他用户身份运行”。 - 如果官网有提供解压就能用的版本,就用它吧。
- 使用普通用户账户安装软件,试下拒绝 UAC 弹框,有些安装包会允许非管理员安装模式。
- 使用 Scoop 来安装软件:https://scoop.sh/
不过上面的软件可能不是官方提供的? - 在虚拟机里面,比如 Windows Sandbox 里面安装好软件,然后把文件拷贝出来
有些软件没法这样操作,会提示软件损坏。
2.3 ACL 权限隔离
然后参考下这个博客(我不是作者),把一些不是非常信任的程序移动到另外一个低权限的账户运行: 使用Windows的ACL机制隔离限制毒瘤应用
这篇博客的作者只提到了 Windows 11 怎么设置。实际上,在 Windows 10 或者更老版本的系统里面,按住 Shift 然后右击一个软件,就可以出现“以其他用户身份运行”的选项了。
权限设置注意事项:
- 建议不要修改注册表的权限,没有必要,以及容易导致软件不兼容。
- 文件系统的权限要尽量锁紧。比如把所有磁盘下你的文件都放到一个父文件夹里,然后把这个文件夹设置成拒绝这个隔离账户访问。