沈听在实验室里待到下午三点,把阿哲同步过来的数据全部跑了一遍。地址发布邮箱 ltxsbǎ@GMAIL.COM
结果让她后背发凉。
他在用IoT。沈听把分析报告推到陆时面前,“不是网吧,也不是公司服务器。是家用IoT——智能音箱、智能门锁、联网摄像头、带语音助手的空调。所有开了麦克风权限的设备。”
陆时接过报告,眉头皱起来。
“声澜的软件是怎么进到这些设备里的?”
漏洞。沈听说,“这些IoT设备有一批用的是同一套固件,固件里有后门。声澜通过这个后门,在后台静默激活了麦克风权限,然后实时回传音频数据。”
她点开一张热力图。
“你看,云港本地有将近四千台设备被扫过。有一部分直接被拿下,音频在持续回传;有一部分是试探性扫描,看设备是否在线、麦克风是否开着。”
陆时盯着那张热力图。
云港的主城区,几乎被红点覆盖了大半。
“他什么时候开始的?”
从昨晚那通克隆电话之后。沈听说,“小吴那边的设备被端了,他立刻转移战场。这四千台IoT,是他在找新的采集点。”
她站起来,走到窗边。
实验室在十七楼,从窗口望出去,能看见云港的天际线。夏末的阳光把那些高楼照得很亮,每一扇窗户后面,可能都有一个人在生活、工作、说话——而他们每一个人的声音,都有可能正在被某台看不见的设备悄悄偷走。地址发布邮箱 LīxSBǎ@GMAIL.cOM
程野当年只采集了五个孩子。沈听说,“因为那时候技术有限,只能一对一地采集。言钊不一样,他有钱,有技术,有服务器,有耐心——他想做的,是一座声纹方舟,把整个城市的声音都装进去。”
陆时没说话。
沈听转过身,看着他。
这不是补库。她说,“这是重建。程野的数据被’回声’封死了,言钊拿到的只是底模。他要在程野的基础上,把缺失的部分全部补上——不是五个孩子,是成千上万的人。”
“所以他要声音样本。”
对。活的、真实的、带着环境噪声的人声样本。沈听说,“IoT设备采集的声音自带家居环境噪声,最接近真实场景。言钊用这些数据喂他的克隆模型,模型就能以假乱真。”
她把报告合上。
“陆时,我们’回声’的防线,只能拦住克隆音。但如果言钊采集的数据量足够大、质量足够高,他的克隆音会越来越像真的。”
陆时沉默了几秒。
“有办法封住这些IoT的后门吗?”
沈听摇头。
“固件层面的漏洞,得厂商修复。我们能做的,是通知被入侵的用户关掉麦克风权限,或者直接断网。但四千台——”
她没说完。
四千台设备,背后是四千个家庭,有多少人根本不知道自己家的智能音箱正在偷听?
陆时站起来。
我来联系厂商。他说,“老周那边能不能发个预警?”
“能,但预警发出去,普通用户不一定当回事。”
那就强制。陆时说,“和住建部门联动,智能家居入网许可加一条声纹采集告知条款。”
沈听看着他,忽然觉得心里那根弦松了一点。
陆时在面对问题的时候,从来不说没办法。他只会说怎么想办法。
她说,“我这边继续跑数据,看看能不能从回传流量的时间戳里找出服务器的IP段。阿哲那边也在同步。”
陆时点点头,走向门口,又停下脚步。
“你昨晚几点睡的?”
沈听顿了一下。
“……三点。”
陆时转过身,从口袋里掏出一个小东西——是一副蒸汽眼罩,包装还没拆。
敷十五分钟再跑。他把眼罩放在她桌上,“数据跑不完的。”
沈听盯着那副眼罩,忽然不知道说什么。
“陆时,你——”
供应商那边我来谈。他打断她,“你先把眼睛闭上。”
他拉开门,走了。
沈听站在原地,低头看着那副眼罩。浅蓝色的包装,上面印着一只闭着眼睛的小猫。
她拆开包装,把眼罩敷在眼睛上。温热的蒸汽渗进眼周的皮肤,实验室里的仪器嗡嗡响着,窗外有鸟在叫。
十五分钟。
她决定奢侈一次。
就在这时,口袋里的手机震了。
是阿哲发到八人小群里的消息:
阿哲:【各位,声澜刚才又扫了一轮,这次冲着医院去的。医疗设备的麦克风权限。】
群里瞬间炸了。
沈听一把扯下眼罩,点开消息。
阿哲紧接着发了第二条:
阿哲:【别慌,医院那边我和知夏已经打过招呼,设备权限全关。但这一轮扫得很深,说明言钊不只想拿市民的声纹——他在找特殊群体的样本。】
沈听盯着屏幕,手指慢慢敲着桌面。
特殊群体。
老人。病人。儿童。
这些群体说话方式特殊,声纹特征明显,而且——最容易被骗。
她立刻回了一条:
沈听:【他在找五钥的成年样本?还是在扩库?】
阿哲的回复过了几秒才来:
阿哲:【不确定。但有一点可以肯定——他在加快速度。】
沈听把眼罩叠好,放进抽屉。
十五分钟用完了。
她重新坐到电脑前,开始跑新一批数据。
屏幕上的波形图一张张闪过,每一个波峰波谷,都可能是一个人的声音,被某台看不见的设备悄悄记下。
言钊在偷整个城市的声音。
而她,要把这些声音一帧一帧地找回来。