打开报告,第一行通常写着一个地址和一个账号,仿佛两者是同一件事。其实不是。共享出口只能说明某台设备在记录时间用过那个地址,账号关联只能说明某项服务认出了一个标识符。要从前者走到后者,需要报告必须写明的连接基础。

从你真正掌握的观察开始

写清被记录下来的内容,而不是它看起来暗示的内容。地址、时间戳和请求路径是观察,而“是谁做的”这句话是推断。把这两栏分开,就是全部纪律;写在纸上比在对话里更容易坚持。

然后给观察分类,因为常见几类分量不同。共享出口地址、持久账号或 Cookie 标识符、时间或流量的相似,并不是同一事实的三个版本。同一企业出口后面的两名员工按设计共享地址,而一名员工换了出口但仍保持登录,账号关联就仍在。把这些当成同一事实,正是多数自信报告出错的地方。

在结论之前先说出连接基础

相关性主张必须说出连接两条记录的字段。是出示了同一 Cookie、认证了同一账号、上报了同一设备标识符,还是只有同一地址?如果答案只有地址,这项主张讲的是网络来源,也只能到此为止。

ObserverWhat it recordsWhat it can join onWhat it cannot join
Website or serviceIts own requests, logins and cookiesIts own account and session identifiersRequests to other sites, or the person behind the account
Access networkFlow five-tuples between addresses and portsAddress and timeWhich account, which page, which person
VPN operatorTunnel session, account and assigned addressAccount to tunnel address and intervalAnything after the tunnel exits
Account providerSign-in events and device identifiersSign-in to device across its own servicesTraffic that never touched its sign-in

RFC 6973 隐私模型把相关性视为信息组合,并指出持久标识符会跨时间连接交互。它对匿名集的讨论补上另一半:能否隐藏,取决于在那位特定观察者眼里还有谁看起来一样。两个想法都不会把共享地址变成身份识别。

所以诚实的话仍然很窄。这两起事件在这些时刻共享过出口,再往前的任何说法都需要另一条记录。

走一遍观察者的位置

网站看到的是自己的请求、自己的登录和自己的会话标识符;它不会因为两者碰巧用了同一出口,就继承另一个网站的记录。接入网观察者看到的是流,而不是内容。VPN 运营者看到的是账号与出口之间的映射。每个位置支持不同的结论,而报告通常只点出其中一个。

先问是哪位观察者产生了这条记录,再问那位观察者实际能看到什么。服务商自己的条款不等于它实际的日志记录,而两者都不等于你面前的记录。答案不清楚时,去要来源,不要用假设填空。没有来源的记录,是穿着制服的假设。问一句的成本,能省下一次更正。

把时间模式放回它该在的位置

时间与流量的比较不需要读取任何页面内容,所以它会出现在加密流量的讨论里。相似也可以由共享基础设施、多个同时在线用户、以及仅仅看起来相似的行为造成。这些都是诚实评估必须考虑的其他解释。

从无关实验中引用的百分比什么也带不过来。它的含义取决于候选集合、数据、方法和测得的错误率。缺了这四项,数字只增加信心,不增加证据。把任何单一相似当作假设,并在去找确认之前写下什么会推翻它。

检查记录能支撑什么

在结论离开你的手之前,先保存好物证和时间。带哈希和时间戳的文件是证据,而聊天里的截图只是好意头的传闻。也要记下时钟来源,因为无法复现的时间戳,只是在陈述一个时间戳。

date -u +%FT%TZ
sha256sum abuse-report.eml
whois 198.51.100.44 | grep -iE 'netname|org|country'

然后以记录允许的强度说结论,不要更强。一句限定,比一次更正便宜。

共享出口会削弱仅凭地址的归因,它既不是身份证明,也不是匿名的承诺。在隐私一侧,从跨会话仍然留存的东西开始,因为识别往往根本不需要流量分析。做运营调查时,把观察和推断分栏来写。让你报告的东西是最薄弱、缺乏支撑的那一环,并在报告里如实说明。

相关文章