由于自 12.04 版起 apport 默认处于启用状态,我认为对一直困扰我的某些隐私问题进行一些急需的澄清非常重要。
apport 对于向远程服务器发送敏感信息有多偏执?如果我没记错的话,它曾经非常偏执,因为它坚持要求用户确认发送日志之类的内容,而日志可能包含通常无害的主机名,但我检查了 /var/crash/ 中的文件,发现大量数据不仅包含主机名,甚至还包含核心转储(“CoreDump”名称位于其中一个文件中的数据块前面),如果我没记错的话,这些数据可能会泄露曾经在计算机上使用过的任何密码(当然,这取决于具体情况)。
我是否可以假设在 /var/crash/ 中找到的所有日志都已“按原样”发送到 Canonical - 也就是说,在该目录中找到的日志,包括核心转储?
我经常遇到崩溃,导致出现一个窗口询问我是否要向 Canonical 发送报告,该窗口有一个名为“报告问题...”的按钮,但没有允许用户检查正在发送的信息的复选框。按下按钮时,我期望会出现一个后续对话框,显示正在发送的内容(因为按钮标题中有“...”)。但是,没有出现这样的后续对话框,这让我想到了最后一个问题:按下该按钮时发生了什么?如果有的话,实际上会向 Canonical 发送什么?
答案1
无论是 Apport 还是其他错误报告系统,都存在隐私问题。但这并不意味着敏感信息总是存在于错误报告中。
为什么(详细答案):错误报告的目的是收集有关用户失败执行的信息,以帮助开发人员找到其原因。根据所使用的机制,此类信息可以有多种形式:内存转储、日志条目等。但无论如何,目标是将此类信息转换为步骤,以重现导致失败的用户执行。因此,如果您使用的应用程序处理敏感信息,例如,您使用文本编辑器编辑机密文档、使用邮件客户端交换私人消息或其他涉及凭据或信用卡信息的应用程序,那么此类敏感信息可能会出现在内存转储或日志条目中。
为什么(简短回答):如果您在应用程序中插入数据(无论是否敏感)并且应用程序失败,那么重现导致失败的执行步骤就是您的数据->很可能出现在错误报告中。
因此,我的建议是,当你的数据比较敏感时,不要授权传输。否则应该没问题,我们应该通过传输来帮助开发人员解决问题。