伪原创工具知乎( 如果你和我一样是知乎和的深度用户,你可能对这样的消息格式很熟悉)
优采云 发布时间: 2022-03-07 00:07伪原创工具知乎(
如果你和我一样是知乎和的深度用户,你可能对这样的消息格式很熟悉)
知乎分享功能可能会危及您的隐私
三十三
2018-05-07 12:54
万象网
如果您是 知乎 的深度用户并且像我一样,您可能熟悉这种消息格式:
这是知乎Android客户端分享的复制格式(因为我是Android用户,所以本文只讨论Android客户端,iOS不清楚,可能相同也可能不同)。让我们仔细看看这个链接:
https://www.zhihu.com/question/61427877/answer/361977341?utm_source=qq&utm_medium=social&utm_member=YzA1N2VkNTNiYTMyMmMwZDdiODYxYmI0NDRiOWZlYTY%3D%0A
紫色部分是打开页面所需的链接。里面有两个数字,分别代表问题和答案,这样链接就会打开一个答案页面。很好,完全没有问题。
接下来是绿色部分:utm_source=qq。在这里,事情变得棘手。这意味着该链接已共享。蓝色部分:utm_medium=social,表示链接是通过社交平台分享的。您可以尝试删除这两个参数,不会影响您打开此回答页面。
最重要的问题在*敏*感*词*部分:utm_member=Yz.....%3D%0A。您会注意到这部分很长,似乎没有多大意义。真的是这样吗?我将简要演示如何通过这个字符串获取你的知乎个人页面地址。
这串乱码是先进行URL解码,然后再进行base64解码。在这一点上,它是一串十六进制字符串 - 好吧,胡言乱语。但是这串乱码已经有用了,打开它,你会看到它跳转到了分享者的个人页面。
这样就完成了“从分享链接中找到分享者的知乎账号”的过程。这其实很严重——如果你把链接分享到一个群里,那么当群成员打开链接时,知乎就会知道你和他们是群友;群友也知道你的知乎账号。这是非常明显的隐私信息泄露。
为了讨论隐私泄露的问题,我们来谈谈跟踪是如何实现的。如果您已经了解 utm tracking,可以跳到第二部分“有什么问题?” 继续阅读。
跟踪是如何完成的?关联
“链接”对于万维网用户来说非常熟悉。简而言之,万维网是由链接链接的,链接用于在不同的网站、不同的应用程序之间导航。
一个典型的链接,就像我们一开始提到的那样,由协议、主机、路径、参数和其他一些部分组成。其中,协议和主机用于确定请求应该如何发送以及发送到哪个服务器,而路径和参数则直接发送给服务器,由服务器决定显示什么。
在分享的时候,知乎,或者其他app,一般都会生成一个指向当前页面内容的链接,然后把这个链接分享给其他app。
utm 参数
上面我们提到,参数是直接发给服务器的,分享的时候可以自定义参数,也就是说我们可以在链接中添加一些特殊的参数。这些特殊的参数静静地躺在链接里,等待别人点击——而一旦被别人(比如你的共享好友)点击了,这些参数就会被发送到服务器,服务器就会知道:哦,这个用户的请求有这些参数,表示他点击的是分享链接。
utm(Urchin Tracking Module)参数是业界常用的处理跟踪参数。一般来说,这些参数不会影响你打开的页面是什么样子(对用户没有感知),而只是用于统计和跟踪。这些参数通常以 utm_ 开头。(延伸阅读:)
就像 知乎 所做的一样,在共享时添加了 utm_source= 参数。当其他用户点击时,该参数将被发送到 知乎 服务器。这样知乎的服务器就会知道你的朋友是通过共享链接知乎访问的。
跟踪的好处
如果您理解我上面所说的话,就很容易理解为什么人们对跟踪技术如此热衷。产品经理想知道哪个渠道的分享到达率最高,哪个渠道的转化最多,或者可能会根据来源渠道给出各种奇怪的针对性优化(或负优化……)。甚至可以说,在建立了一定的规模和一定的监控机制后,如果某个渠道出现问题,可以很快发现。
这有什么问题?
如果跟踪对用户是不可见的并且有这么多好处,我为什么说 知乎 会危害您的隐私?事实上,由于链接参数的可见性(第三方平台、浏览器等可见),这些参数可能会泄露给第三方。另外,对于第一方(应用开发者,如知乎)来说,所有的用户行为很多都是用户的个人隐私,需要明确的向用户说明。
我将在这里简要解释一些比较明显和容易思考的问题。这些问题不一定存在——我不知道它们是否存在,我只是说:这些技术是完全可行的,知乎只是避免它们。
跨平台用户追踪
对于每个用户,无论分享多少次,只要不注销或更改账号,utm_member 都不会改变。这可以用来唯一标识用户,我们称之为“知乎userid”——当我们看到这个用户标识时,我们就知道是你。虽然链接是 https(因此运营商和中间服务器看不到链接),但除了您和 知乎 之外的任何人都可以访问它。
例如,如果您分享它,您可以知道您的 知乎 用户 ID;如果你把链接复制到微博,那么微博也知道你的知乎用户ID;你用浏览器打开它,浏览器也知道你的知乎用户ID。第三方平台可以将您在其平台上的账号与您的知乎用户ID完全关联,实现跨平台追踪。
任何人都可以识别的用户标识符
在 文章 的开头部分,我简要展示了如何从共享链接获取您在 知乎 的用户信息。其实没有技术门槛,任何人都可以尝试(如果对技术一窍不通,可以搜索“在线base64解码”、“在线URL解码”,也可以搜索很多在线工具为你而做)。假设你是知乎上的超级V,但你周围的人不知道,你也不想让他们知道。但是现在,只要你通过安卓知乎客户端分享任何内容给你的朋友,大家就会知道你是一个知乎大V……
应该做什么?
相信您已经了解问题是如何存在的(如果您没有忘记它......)。那么如何避免这个隐私问题呢?这里我也从用户和运营商两个方面思考如何处理(知乎)。
对用户做什么
对于用户来说,移动终端其实是缺乏这样的隐私保护工具的。就当前事件而言,我发现“复制链接”方法产生了一个相对干净的链接,从而摆脱了 utm 跟踪。
在桌面浏览器上,我向有一定隐私和清洁度的朋友推荐 Neat URL 扩展。它可以去除很多无用的URL参数,并具有丰富的自定义功能。(利益相关者:我是火狐用户,推荐大家使用火狐,所以不知道在Chrome中怎么玩~)
知乎怎么办
知乎避免从整体上跟踪特定用户的分享行为。如果你绝对必须,至少:
例如,我认为这是一个很好的做法:在客户端随机生成一个唯一的字符串,将该字符串发送到服务器,并让用户与之关联。字符串会定期(比如 4 小时)重新生成。
总结和反思
事实上,在发现这个问题后,我和一些朋友描述了我的发现,也尝试向 知乎 报告该事件,但没有得到任何回应。我想,大概从知乎到用户,大家都不太明白为什么这会伤害隐私。
当然,知乎和国内大部分app一样,隐私问题远比我说的要多,但是这个很容易验证,也很明显,所以就公开提出来了。知乎在国内移动市场上是比较感性的(至少以前是……),也希望知乎能有足够的内功来推动对这些事情的关注。
中国对隐私的关注太少,很难有合适的渠道去了解和了解这些与自己的生活息息相关的事情。这个文章可能有很多片面或误解的地方,请指正。