在地铁站输一次 PIN:偷窥、摄像头和确认前的几秒钟 图 1
在地铁站输一次 PIN:偷窥、摄像头和确认前的几秒钟 · 图 1

在地铁车厢里单手抓着扶手、另一只手拇指飞速输入六位支付密码,身后可能正有一双眼睛把你的按键顺序看了三站路——这不是谍战片的桥段,而是加密用户最少被认真对待的操作场景。手机上完成一次钱包操作,风险往往不在链上,而在物理世界里输入与确认的那几秒钟。本文拆解四种常见手法,再给一份移动场景的操作纪律。不构成投资建议。

先说肩窥。肩窥不需要技术,只需要角度:PIN、登录密码、助记词的最后几个字,都会以可见形式经过屏幕和你的手指。攻击者常选站立、排队、电梯这类场景,距离近、你很难回头。对策有两条。一是任何公共场合输入口令前,养成左手遮挡再加改变键盘布局的习惯,PIN 尤其不要让数字小键盘朝外;能选随机键位或密码输入框的场合,不用固定排布的九宫格;顺手关掉数字键盘的声音和震动。二是一条红线:涉及助记词、私钥的操作一律不在家以外完成,无论当时的理由显得多么紧急——紧急感往往正是对方制造的。而且,对方递过来的任何“帮你看看”的举动,都是这条红线的变体。

第二是远距离光学截取。屏幕点亮后,长焦镜头或高处俯拍的监控在特定角度能读到你屏幕的内容,尤其在亮度拉满时。这类攻击未必针对你个人,更像是批量收集:拍下人流,再用图像手段拼图手指轨迹还原密码。对应防线有三条:公共场合把屏幕亮度调低一档,顺手关掉抬起唤醒;确认锁屏通知设置为不显示内容,别让手机在你没碰它的时候自己开口;操作完成后清理多任务卡片里的钱包残留页面,别让交易界面挂在后台任人翻看。

第三是假键盘。安卓第三方输入法可以被替换:你看到的是数字面板,实际传输的是另一套映射表;截图里输入的是正常密码,真实字符早已被中转走。iOS 的系统键盘不存在这类输入法替换,但设备上若被开启了远程协助类软件或无障碍服务,效果同样。自查方法很朴素:资产手机只用系统自带键盘;在系统设置里核对当前输入源是不是你亲手装的那一个;无障碍权限不确定开了什么,就全部关掉再逐个回查。

第四是就近搭话式的当面社工。地铁口的收款码、“扫这个能领礼品”、“你手机这个软件有问题我帮你弄”——物理世界的钓鱼剧本,本质和邮件钓鱼一样,靠的是设备离手或视线离屏的那几十秒。纪律是三句话:手机不离开自己的手,不在陌生人面前解锁,不在有人贴近时确认收款信息。确实需要在公共场所完成一笔转账时,改用不依赖屏幕的确认方式:通过电话逐段核对地址,或者走双方都用过的既有通道。

最后是一张场景清单。地铁站台与排队时:只看行情,不输口令。必须输时:先遮挡、再输入、后放下,确认弹窗前多看一眼收款方全名。扫码支付时:确认自己扫的是柜台的机具,而不是在相册里翻来翻去找二维码。机场安检把设备递进传送带之前:先退出钱包类应用,别让解锁后的界面在强光下停留。这些纪律的成本是几秒钟,换来的是密钥进入物理空间之前的最后缓冲。物理攻击没有弹窗提醒,也没有事后撤销,它的全部防线就压缩在你低头前的这一眼和抬手时的遮挡里——把它变成肌肉记忆,比记住任何一款安全工具的名字都有用。

在地铁站输一次 PIN:偷窥、摄像头和确认前的几秒钟 图 2
在地铁站输一次 PIN:偷窥、摄像头和确认前的几秒钟 · 图 2