铺垫
之前的「文章」着眼于助记词 / 私钥本身,但是在这之上还有很多内容值得写,而且这些因素是很容易被忽视的。
剪贴板
剪切板是指操作系统提供的一个暂存数据,并且提供共享的一个模块。通常情况下,我们在搜索信息,输入网站的过程中常常会进行复制,而这些复制的信息则会暂存在剪切板里。每次打开应用程序时,许多流行的应用程序都会静默读取剪贴板上的所有内容。比如某信复制了某口令,某宝会自动读取,然后可以快捷地跳转到商品页;再比如某信复制了银行卡号,打开网银会自动弹出是否要去转账。这些大家觉得很平常的交互,实际上在吞噬着我们的隐私。诚然自动读取剪贴板,对使用 App 有较大的便利,但是其中的隐私问题实在是可怕。
Apple 生态的设备,联动性非常好,比如熟知的 Airdrop、通用剪贴板。在 2020 年更新的 iOS 14 系统中,苹果加入了剪贴板弹窗提示,让用户明确知道哪些 App 在访问剪贴板。一年后的 iOS 15,苹果开发了「安全粘贴」功能,让 App 开发者无法「完全」看到剪贴板中的内容。又一年的 iOS 16,新的操作系统要求 App 在访问剪贴板之前,必须征得用户的明示同意。
读取剪贴板有哪些隐患呢?其一,大多数 App 在打开应用的时候会自动读取,但不清楚常驻后台会不会读取;其二,不清楚读取之后是存储到本地,还是上传到云端;其三,如果上传到云端,不清楚是会对这些数据做怎样的应用;其四,如果剪贴板内的内容是银行卡、手机号、身份证号,甚至是一些加密货币助记词 / 私钥之类的,被 App 读取后完全不明白会拿来做什么。也就是说,这是个黑盒,黑盒的内部怎么运作,只有开发者最清楚。
既然剪贴板如此敏感,都有哪些技巧可以避免应用滥用剪贴板呢?
第一,尽可能地关闭通用剪贴板功能。Apple 设备的剪贴板内容会在关联设备之间共享,这项功能被称为通用剪贴板,允许一台设备复制的内容可以在另一台设备上使用。通用剪贴板确实很方便,但是对于同时使用 Mac 和 iPhone 设备的读者来说,隐患非常大。因为 Mac 作为工作学习的工具,在 Mac 端复制内容是个很平常的事情,如果开启了通用剪贴板,啥内容都能同步到 iPhone 或者 iPad 设备。如果一定要使用,切记在使用完成之后,将 Mac 的通用剪贴板功能关闭。
第二,敏感信息,尽可能地输入而不是复制。对于敏感信息,尽可能的使用系统输入法输入,而不是图一时之便,复制粘贴。注意,是系统输入法,其他乱七八糟的输入法还是谨慎使用。如果是跨设备输入,还可以在 macOS 将助记词生成一个二维码,然后 iPhone 扫描导入。
第三,可以借助第三方工具清除剪贴板。iOS 端,Pin 这款第三方工具提供手动清除剪贴板的功能。此外,使用 Launch Center Pro、快捷指令,还可以做到在打开应用前,自动清理剪贴板。具体的技巧,读者感兴趣可以自行 Google。macOS 端,可以在终端输入 pbcopy < /dev/null
清理剪贴板,还可以结合 Alfred 做成快捷指令,或者使用 One Switch 一键清理。加入你在使用 Android 系统,可以在 Google Play 下载安装 Clipboard。
操作系统
剪贴板讲解完毕之后,我们来看一下「操作系统」。操作系统作为一切应用的载体,自身的安全也是非常重要的。维护操作系统的完全,也有一些技巧。
- 保持操作系统在最新稳定版的状态。在我们的常识里面,macOS 就要比 Windows 安全,iOS 就要比 Android 安全,然而 macOS/iOS 依然有安全漏洞,当然也有病毒,所以及时更新系统非常重要;
- 开启 macOS 防火墙。打开的具体路径在「System Settings ---> Network ---> Firewall」,除了系统的防火墙功能,还可以使用 Little Snitch 监控系统流量;
- 谨慎下载任何文件。钓鱼软件或者是病毒,通常都会进行伪装,你以为你打开的是 PDF 文件,实际上这个 PDF 就是各种脚本的集合。如果是 PDF,在浏览器查看是一个很好的习惯,如果是其他类型的文件,可以在虚拟机环境下载查看,关于虚拟机后面的章节还会进行讲解;
- 谨慎安装任何软件。对于提供安装包校验的软件,尽可能地做一下指纹和 PGP 校验,如果没有提供的,也要确保是从正确的官网获得。
虚拟机
之前发过一个 Tweet:
搭载 Apple 芯片的 MacBook 使用虚拟机的最佳实践。很多时候不方便上云,比如考虑到数据安全、使用成本等等,本地的虚拟机就大有用途。Apple 芯片采用了 ARM 架构,兼容性没有 Intel 芯片强。Apple 芯片下体验最好的虚拟机软件,还得是 Parallels Desktop,我在上面装了 Kali Linux 6.0、Ubuntu 22.04 和 Windows 11。但有个问题就是,在 ARM 架构的 Kali Linux 和 Ubuntu 编译一些软件特别费劲,有些包还找不到。这个时候就需要另一款软件,就是 UTM。这款软件是基于 QEMU 开发的,x86_64 架构的系统也能模拟。当然你也可以安装 qemu 命令行软件,使用体验上就没有图形化的 UTM 好。综上,Parallels Desktop + UTM,可以完美解决 Apple 芯片下的所有虚拟问题。
这个 Tweet 总结了如何选择虚拟机,接下来就聊一下具体的用法。
- Parallels Desktop 是可以为某个虚拟机系统开启是否同步剪贴板的,关闭之后,虚拟机内的剪贴板内容,macOS 是获取不到的,这就为在虚拟机拷贝粘贴助记词 / 私钥 / 敏感信息提供了支持;
- 建议尽可能安装最小化的系统,优先选择 Kali Linux 和 Ubuntu;
- 将一些不明文件或者链接放进虚拟机,在虚拟机系统打开,这一点挺重要,这叫物理隔离;
- 平时进行链上交互的浏览器插件钱包,也可以放到虚拟机系统,避免 macOS 出现问题被一锅端。
虚拟机的功能,就是原生系统的第二空间,可以很好地做到物理隔离,强烈建议用起来。
隐私技巧
本文主要讲解了和助记词 / 私钥相关的最重要的几个方面,除了这些方面,还有很多值得关注的。这里再推荐一个由慢雾 @evilcos 所著的「区块链黑暗森林自救手册」,可以多次阅读。
小结
安全和隐私,不管是对于企业还是个人而言都是一个很重要的话题。本文主要从剪贴板、操作系统、虚拟机几个比较重要的方面进行了讲解,并给出一些实践性较强的技巧,希望大家从中有所收获。