反跟踪
对于未开源的技术或软件, 除非存在其他有效的验证方式, 否则不应假定其具备反跟踪等相关功能.
以下技术和软件均存在局限性. 在使用之前, 必须了解其局限性.
网络
Tor 网络
Tor 一词是 The Onion Router 的缩写, 取名洋葱(Onion)是由于数据传输的过程会经过多层加密. 源代码存放在 Gitlab 上.
经过 Tor 网络传输的数据会经过加密和转发, 因此其具备一定的反跟踪功能.
弱点:
- 虽然 Tor 是用于反跟踪的, 但由于 Tor 网络的出口节点的公开的, 因此访问的目标可以得知用户正在使用 Tor 网络. 反而可能使用户成为被密切跟踪的对象1.
- 如果直接接入 Tor 网络, ISP 会得知用户正在使用 Tor 网络.
因此在部分地区, 直接接入 Tor 网络的行为会被阻断. 可以使用 Bridge 来规避检测, 因为这部分 Tor 中继是未公开的. - 慢, 具体原因请参考 Why is Tor slow?.
- Tor 只是对数据的传输过程进行了处理, 不妨碍直接对使用 Tor 网络传输数据的软件进行攻击. NSA 曾利用过该方法2, 使用 Tor Browser 的防御方法包括使用插件 NoScript.
- Tor 无法防御中间人攻击(machine-in-the-middle, MitM), 如果遇到异常现象需要创建新的 ID 来建立新的链路.
- Tor 网络出口处的流量可以被监听, 因此必须使用 TLS 或 SSL 等协议确保和目标之间存在端对端加密. 不应直接通过 Tor 网络传输明文信息.
更多弱点请参考 Wikipedia.
综上所述, Tor 网络虽然提供了匿名服务, 但盲目使用反而会产生更多风险. 用户应该先明确什么情况下可以使用, 以及如何使用, 否则会适得其反.
Exonera Tor 可以查询指定 IP 在特定日期是否被用作一个 Tor 中继(包含出口节点)和相关信息.
同时使用 Tor 网络和 VPN 会使情况变得更复杂, 具体方案及其优缺点请参考 Wiki.
常见的使用 Tor 网络情形是用户通过 Tor Browser 浏览网页.
识别 Tor Browser:
- 访问者的 IP 是 Tor 网络的出口节点. 若流量经过 Tor 网络后又进行了转发则该方法不适用.
- Torbutton.
代理
可以使用的工具有 proxychains-ng(仅支持 Unix), 在使用该工具前应充分了解其适用范围和限制. 该工具仅代理 TCP 流量, 且仅支持 SOCKS/HTTP 协议(均使用明文), 或直接转发到本地 Tor 网络代理.
在配置文件中填写好代理服务器列表后即可启用下面的一个模式:
- dynamic_chain: 按从上到下的顺序进行代理, 遇到失效的代理则跳过.
- random_chain: 使用随机顺序进行代理, 允许额外指定
chain_len
.
Info
可以通过搜索 free proxies
或 free proxy list
来获取免费代理服务器, 但该方法并不安全.
检查网络环境
在配置完网络环境后可以利用以下网站进行简单检测:
搜索引擎
- Brave Search, 隐私协议, Onion.
- DuckDuckGo, 隐私协议, Onion.
- SearXNG, 公开实例, 开源.
元数据
许多格式的文件的元数据中可能包含隐私, 因此在分享这些文件前应先去除其中的元数据.
可以使用的工具有:
- ExifCleaner, GUI, 跨平台, 开源.
- mat2, CLI, Web UI, GUI(Linux), 开源.
- ExifEraser, Android 6.0+, 只针对图片格式文件.
- ExifTool, CLI.
exiftool -all= *.file_extension
. - Metapho, iOS.
正文和图像
文档的正文/图片文件中的图像也可以利用隐写术隐藏数据.
以将文档或图片进行二值化处理, 可以去除隐藏在颜色中的信息.
可以使用的工具有 ImageMagick, 利用 Color Thresholding 功能.
还可以使用 OCR 去除隐藏在颜色/像素中的信息.
数据擦除
想要单独移除个别文件是是否困难的, 部分软件会在用户不知情的情况下创建副本.
以下方法用于完全擦除磁盘/闪存数据:
以上方法适用于支持且能正常工作的存储设备, 如果存储设备不支持或已损坏导致软件无法对正确的位置进行擦除, 可以直接物理销毁.