Firefox快取推特私讯内容引发隐私疑虑

推特警告用户,Firefox浏览器会快取非公开讯息,导致用户的私讯内容(Direct Message)可能曝光,为此,Firefox技术长Eric Rescorla亲上火线回应表示,推特没有使用标准的方法,禁止浏览器快取网页内容,而Chrome、Safari和Edge之所以没有快取推特的私讯内容,就是因为没照标准来。

推特日前在隐私中心发文警告用户,当在公用电脑使用Firefox浏览器存取推特应该特别小心,在下载推特封存资料,或是以私讯发送与接收图像资料时,即便用户在Firefox登出帐户,这些资料仍然会留存在公用电脑上,而根据Firefox浏览器的快取保留设定,这些资料会留存7天,之后才会自动从快取中删除这些资料;其他浏览器不受这个问题影响。

虽然这些资料只会暂存在本地装置上,而且推特也已经修改了实作方法,但还是建议Firefox用户,当用户正使用,或是曾经在公用电脑上浏览推特,应该手动清除浏览器的快取,避免其他人有机会在公用电脑浏览用户的个人资讯。

在推特公告完这个消息之后,Eric Rescorla也在Mozilla部落格回应这个事件,Eric Rescorla除了表示这个问题只会影响使用共用电脑的推特用户之外,也解释为什么只有Firefox受到影响。他提到,这并非谁对谁错的问题,每个浏览器处理快取的方法都有不同,不过,的确有一个标准的方法可以确保资料不被浏览器快取,而推特并没有使用这个方法,因此Firefox才会快取推特用户的个人资料。

Mozilla在技术部落格详细说明了其中的细节;快取机制是加速用户浏览网页内容的方法,让浏览器不需要花时间重新下载,就能重复使用已经下载的内容,但是究竟浏览器该快取那些内容?网际网路工程任务工作组发布了RFC 7234,来规范网页快取的工作方式,开发者可以使用Cache-Control标头,让网页伺服器告诉浏览器快取,要用什么方式处理内容。

网页伺服器可以使用Cache-Control标头,告诉浏览器要快取的内容以及快取留存的时间,也可禁止浏览器快取敏感的用户个人讯息,Cache-Control中有一个名为no-store的控制项,可以指示浏览器不在快取中留存任何内容,而这是能够确保网页讯息不被快取的唯一方法。不过,当伺服器没有提供Cache-Control资讯的情况下,浏览器就会以启发式快取,快取大部分网页内容来加速网页浏览,浏览器会猜测应该快取的内容以及应该留存的时间,每个浏览器的机制都不同。

但是推特并没有使用no-store的控制项,因此各浏览器便使用各自的启发式快取逻辑来快取内容,Mozilla表示,之所以推特测试其他浏览器不会快取推特个人隐私内容,是因为这些浏览器在网站使用HTTP标头Content-Disposition时,也会禁用启发式快取,但是Content-Disposition选项是让网站标示要下载的内容,以及要用来储存内容的名称,这个标头与快取无关,因此Firefox仅是按照标准配置,只要网站没有Cache-Control相关配置,就启动启发式快取。

Mozilla建议在共用电脑使用Firefox浏览推特的用户,可以利用浏览器的清除最近历史纪录功能,清除推特的快取,而开发者应该仔细检视网站内容,在个人资讯使用Cache-Control: no- store设定。另外,Mozilla也提醒,网站开发人员应该要了解网页标准与浏览器实际行为的差异,避免未来可能出现预料之外的状态。

Author: bwh