有些软件声称自己是基于云的。所以,从一开始,您就知道您的数据将存储在第三方服务器上,您可以自由选择是否使用此类服务。
其他软件则模棱两可:它们是独立的,但具有同步功能。例如,它们允许在多个设备之间同步数据。当不提供客户端和服务器组件时,这种同步是通过第三方服务器完成的。
整个问题是要知道这种远程数据存储是否:
- 由用户自愿触发,如果他想同步数据或
- 由软件在后台自动执行,无需用户明确同意。
如何对不允许的数据上传发出警告并阻止它们?
通过记忆分析?
过去,我使用过防病毒/防火墙软件,必须明确允许外部连接尝试。但使用第三方防病毒/防火墙并不能防止间谍活动。例如,参见最近的卡巴斯基/俄罗斯间谍丑闻。
答案1
如果您不信任该软件,您可能不应该使用它。如果它没有询问您何时连接,那么它就会随时随地做它想做的事情。如果不限制它的互联网访问(使用您提到的防火墙),那么您事后能做的就是查看它是否正在访问网络(lsof
可以在 Linux 中执行此操作)。
开源软件在建立信任方面大有帮助,但除非您是程序员,否则您可能不会识别可疑/间谍代码,我相信更大的程序员群体(如大多数 Linux、Debian 等)会发现并禁止可疑的事情。
您可以尝试监视所有网络流量(wireshark 风格),以防软件正在连接但未“同步”,但无论如何它可能被隐藏或加密。
如果您认为程序正在读取您不想让它读取的内容,您可以尝试观察程序打开了哪些文件。(lsof
在 Linux 中也应该这样做,它的简短描述是“lsof - 列出打开的文件”)。
答案2
一种常见的方法是在设备所连接的网络上进行数据包嗅探。虽然这可以在机器本身上完成,但最好在上游路由器或交换机上进行。然后需要将这些数据与系统上运行的内容进行交叉关联。
如果您没有拦截流量的能力,有时您可以通过在虚拟机中运行它并查看虚拟机管理程序上的数据来实现同样的效果。