有时我不得不使用一些我不信任的专有软件,甚至是预编译的开源软件,我不知道它们是否被编译为它们的源代码。
假设我们在/opt/software 中安装了一个专有应用程序,然后我们以普通用户身份运行它(没有 sudo、gksudo 等)。
- 我知道当我们运行一个程序时,它能够连接到互联网、监控 X、击键、收集用户数据等等。
- 它不能更改系统中的任何重要内容或感染系统,(因为 Linux 权限系统)。
- 程序可以向用户的浏览器添加一些插件/扩展(因为浏览器配置文件在用户主目录中可用)。
- 关闭程序并重新启动后,它无法再执行任何操作。错误,因为:
- 程序可以将自身添加到执行自动启动过程的外壳/文件/目录中,因此它可以在任何登录时运行。
- 如果我们认为自动启动过程是干净的,无需重新启动,则程序的某个进程可能仍处于活动状态。
- 程序可以删除或修改用户主目录中的任何文件(或用户具有写权限的任何其他文件)。
那么我们应该怎么做呢?
- 我认为运行专有程序的唯一安全方法是以另一个用户身份运行它。
- 如果以其他用户身份运行该程序是不可能的,那么我们应该更改自动启动文件的权限,以便只有 root 可以更改它们。然后在关闭程序后重新启动将完成这项工作。
我对吗?有什么我想念的吗?