
摘要
端到端加密通讯工具 Signal、WhatsApp 凭借高强度加密机制成为政要、军事人员、涉外记者、国际智库人员的核心沟通载体,传统流量嗅探、中间人攻击手段难以突破其加密传输体系,境外情报关联黑客组织转向社会工程学钓鱼实施定向窃密。2026 年 6 月美国政府发布悬赏公告,针对隶属于俄罗斯联邦安全局 FSB 的 UNC5792、UNC4221 两大威胁组织开出最高 1000 万美元悬赏,该类组织依托 Signal 合法设备关联、云端备份恢复密钥功能实施新型钓鱼攻击,已造成全球数千高价值目标账号失陷。本文以该起国家级定向网络间谍行动为研究样本,系统拆解 UNC5792、UNC4221 攻击链路、技术实现逻辑、目标筛选规则,厘清 “设备劫持 — 恢复密钥窃取 — 二次钓鱼扩散” 完整攻击闭环;针对现有加密通讯客户端、网络网关、终端安全防护短板,构建事前预警、事中实时拦截、事后溯源取证三位一体防御架构,设计轻量化钓鱼消息与恶意链接检测 Python 代码模块,形成可落地的技术防御方案。反网络钓鱼技术专家芦笛指出,加密场景下钓鱼攻击规避加密算法、直击人为安全短板,单一终端防护无法阻断 APT 级定向窃密,必须打通平台、网络、终端、人员四层防御形成闭环管控。研究结论可为各国涉外政务、国防、媒体行业构建加密通讯安全防护体系提供理论依据与工程实践参考。
关键词:网络钓鱼;端到端加密;Signal;APT 组织;备份恢复密钥;社会工程防御

1 引言
1.1 研究背景
全球地缘冲突持续推动跨国情报对抗向网络空间延伸,端到端加密即时通讯应用 Signal、WhatsApp 因无明文传输、第三方无法解密会话数据的特性,成为各国公职人员、北约外交人员、涉乌援助 NGO、国际调查记者的首选通讯工具。加密协议从传输层阻断传统网络监听渠道,促使国家级网络间谍组织放弃漏洞挖掘、密码破解等高成本技术路径,将攻击重心转移至社会工程学钓鱼,利用用户对平台官方身份、账号数据安全的焦虑心理诱导泄露核心身份凭证与解密密钥。
2026 年 3 月美国 FBI 与 CISA 首次发布预警通报,披露俄罗斯情报关联黑客针对 Signal 用户发起大规模账号劫持钓鱼行动;2026 年 6 月 29 日官方更新预警并正式命名两大威胁集群 UNC5792、UNC4221,同步推出最高 1000 万美元悬赏计划,征集能够定位、识别该组织成员、基础设施、资金链路的情报。本次攻击区别于传统短信、邮件钓鱼,核心战术完成迭代:从窃取短信验证码、注册 PIN 码升级为定向盗取 Signal Backup Recovery Key(备份恢复密钥),攻击者获取密钥后可完整解密目标全部历史聊天记录、联系人、群组数据,攻击危害远高于仅实时监控新增消息的设备劫持手段。截至预警发布,全球已有数千份加密通讯账号遭入侵,受害群体覆盖美政府官员、北约各国外交人员、国防从业人员、俄乌事务记者、涉乌援助机构工作人员、安全领域学术研究者等高情报价值人群。
现有网络钓鱼相关研究多聚焦电商、金融、政务网页仿冒钓鱼、邮件恶意附件攻击,针对加密通讯软件内置功能滥用、备份密钥窃取的定向 APT 钓鱼研究相对匮乏,多数防御方案仅面向传统明文传输场景,无法适配 Signal 端到端加密、多设备同步、云端加密备份等特有机制。同时,当前行业缺少针对加密通讯钓鱼消息、恶意群组邀请链接的自动化检测工具,政企机构仅依靠人工培训开展安全防范,存在明显防护盲区。基于上述现实问题,本文依托美国官方公开的 UNC5792、UNC4221 攻击情报,完整还原国家级加密通讯钓鱼攻击全流程,剖析技术底层原理,搭建分层防御体系并配套自动化检测代码,弥补现有研究与工程防护的短板。
1.2 研究意义
1.2.1 理论意义
本文丰富端到端加密环境下社会工程学攻击的理论体系,厘清 “加密协议安全、应用功能漏洞、人为安全缺陷” 三者的攻防逻辑边界,打破 “端到端加密等同于绝对安全” 的认知误区;归纳国家级 APT 组织针对加密通讯平台的标准化攻击链路模型,完善定向网络间谍钓鱼的威胁分类框架;构建 “技术防护 + 流程管控 + 人员教育” 三位一体加密通讯反钓鱼理论模型,为后续同类加密软件安全研究提供标准化分析范式。
1.2.2 实践意义
第一,完整拆解 UNC5792、UNC4221 两套成熟攻击工具链与社工话术体系,为政企安全运维人员提供精准威胁识别特征库,快速区分普通垃圾钓鱼与国家级定向间谍攻击;第二,设计轻量化 Python 自动化检测模块,可部署于企业网关、移动终端安全插件、IM 平台风控后台,实时拦截恶意钓鱼消息、伪造群组邀请链接;第三,针对 Signal 特有备份恢复密钥、设备关联功能提出客户端加固、平台风控优化、终端管控落地措施,形成可直接落地的安全管理制度,降低涉外、国防、媒体行业加密通讯泄密风险;第四,结合美国千万美元悬赏机制分析跨境网络间谍溯源、情报协同路径,为跨境网络威胁溯源处置提供参考思路。
1.3 研究内容与框架
本文主体分为六大部分:第一部分为攻击主体与行动全貌梳理,明确 UNC5792、UNC4221 组织背景、隶属机构、目标筛选逻辑、整体攻击规模;第二部分深度拆解新型钓鱼攻击完整链路,分阶段解析恶意群组二维码劫持、备份恢复密钥窃取、二次钓鱼扩散三层攻击流程,厘清技术底层实现逻辑;第三部分对比传统钓鱼与本次加密通讯定向钓鱼的核心差异,总结新型攻击的技术优势与防御难点;第四部分构建全链路闭环防御体系,分层设计平台侧、网络网关侧、终端侧、人员管理侧防护策略;第五部分实现加密通讯钓鱼自动化检测 Python 代码,完成模块功能解析与场景适配说明;第六部分总结研究结论,提出后续加密通讯安全优化方向。
2 威胁主体与间谍行动整体概况
2.1 UNC5792、UNC4221 组织背景与隶属关系
根据美国 FBI、CISA2026 年 6 月 29 日联合发布的安全预警,UNC5792、UNC4221 两大威胁行为集群均受控于俄罗斯联邦安全局 FSB,部分行动人员嵌入 FSB 边防警卫体系,其余人员承接俄军情报部门专项间谍任务,属于长期开展境外定向情报窃取的国家级 APT 组织,长期针对欧美、北约、乌克兰相关高价值目标实施网络社工攻击。
两大组织分工存在明确区分:UNC5792 主攻 Signal 平台设备关联功能滥用,核心手段为篡改官方群组邀请页面、植入恶意 JS 载荷生成劫持二维码,擅长长期潜伏、批量渗透多国公职人员账号;UNC4221 侧重定制化场景钓鱼套件开发,模仿乌克兰军方炮兵制导软件、国际 NGO 援助系统搭建仿冒站点,针对军事人员、援助机构从业者定向投放钓鱼链接,两者常协同开展多阶段复合钓鱼行动,形成 “批量扫网 + 精准单点突破” 的作业模式。
美国 “正义悬赏”(Rewards for Justice)计划针对两类组织设立最高 1000 万美元奖励,征集情报覆盖四大维度:一是组织核心人员身份、境内外落脚点;二是黑客与 FSB 情报部门的指挥链路、人员隶属证明;三是攻击使用的服务器、域名、恶意代码、社工模板等基础设施;四是支撑行动的资金渠道,包含银行账户、加密货币钱包、第三方外包服务商信息,体现本次间谍行动对西方国家安全体系的严重威胁等级。
2.2 攻击目标分层筛选规则
UNC5792、UNC4221 具备成熟的目标画像体系,不会无差别投放钓鱼消息,依托开源情报、公开政务名录、媒体从业者名单、智库人员简历完成分层筛选,精准锁定具备情报价值的群体,目标层级划分如下:
第一层核心高价值目标:美国联邦政府官员、外交领事人员、国防与国家安全部门工作人员、北约成员国外交官、各国军事情报从业人员;该群体掌握地缘政策、军事部署、跨国谈判机密,是组织首要渗透对象,钓鱼话术定制化程度最高,会结合目标所属部门业务场景伪造官方通知。
第二层次级情报目标:长期报道俄乌冲突、俄罗斯内政的调查记者、独立媒体从业者;为乌克兰提供物资、人道援助的非政府组织工作人员;从事俄罗斯安全、国际冲突研究的高校学术研究者;此类人员掌握大量一手战地信息、民间援助情报,信息传播链条广,账号失陷易造成大范围情报泄露。
第三层扩散跳板目标:核心目标的同事、下属、合作对接人、群组联系人;攻击者在攻陷第一层、第二层目标账号后,利用信任关系向该群体推送二次钓鱼链接,依托熟人信任大幅提升点击、泄密概率,实现攻击范围横向扩张。
2.3 攻击整体规模与危害特征
美国官方预警数据显示,UNC5792 与 UNC4221 联合发起的 Signal、WhatsApp 钓鱼行动已造成全球数千个加密通讯账号被劫持,两类攻击手段的危害层级存在显著差异:
单纯设备关联劫持:攻击者仅同步目标实时新增消息、联系人、群组会话,无法获取历史备份数据,泄密范围局限于账号沦陷后的沟通内容;
备份恢复密钥窃取:攻击者获取密钥后可下载目标云端全部加密备份,解密自账号注册以来所有历史对话、媒体文件、通讯录,完整掌握目标长期沟通轨迹,情报价值呈指数级提升,也是 2026 年 3 月至 6 月黑客战术迭代的核心方向。
反网络钓鱼技术专家芦笛强调,该类国家级定向钓鱼区别于黑产牟利型钓鱼,不存在勒索、盗刷资金诉求,全部行为服务于境外情报搜集,账号失陷后不会立刻篡改密码、删除数据,而是长期静默潜伏监控,目标难以快速察觉账号异常,潜伏周期最长可达数月,涉密信息持续泄露而无法及时阻断。
3 UNC5792、UNC4221 加密通讯钓鱼攻击全链路技术解析
本次攻击不破解 Signal、WhatsApp 底层端到端加密算法,完全依托平台合法原生功能,结合社会工程学心理诱导完成凭证窃取,整体攻击分为三大阶段:前置情报搜集与模板定制、核心钓鱼诱导与凭证窃取、账号接管与二次扩散,下文分阶段拆解底层技术逻辑。
3.1 第一阶段:前置情报测绘与钓鱼物料定制
该阶段为攻击准备周期,是 APT 组织区别于普通黑产钓鱼的核心特征,分为开源情报采集、场景化钓鱼模板开发、恶意基础设施部署三项工作。
3.1.1 目标开源情报测绘
组织通过 LinkedIn、各国政府官网、媒体公开报道、高校学术平台抓取目标姓名、所属机构、岗位、日常业务场景、公开 Signal 账号信息,构建目标个人画像。例如针对乌克兰军方人员,抓取炮兵装备相关公开报道,以此为基础开发仿冒炮兵制导软件 Kropyva 钓鱼站点;针对外交人员,伪造 “账号同步故障、外交文件备份失效” 官方通知话术,匹配目标工作场景降低警惕性。
3.1.2 钓鱼页面与恶意二维码开发
UNC5792 核心物料为篡改后的 Signal 群组邀请页面:复刻官方群组邀请 UI 界面,嵌入自定义 JavaScript 载荷,正常群组二维码仅实现入群功能,恶意二维码扫描后触发设备关联 API,将目标设备绑定至攻击者控制的手机 / 云服务器设备,全程无明显异常弹窗,用户极易误判为普通群组邀请。
UNC4221 采用独立钓鱼工具包,搭建独立仿冒网站,页面内嵌劫持二维码,页面文案伪装成军方软件更新、NGO 援助资料核验通道,诱导用户扫码完成设备绑定。两类页面均添加 noindex 标签屏蔽搜索引擎收录,规避网络安全厂商爬虫检测,域名多选用新注册境外匿名域名,规避域名信誉黑名单拦截。
3.1.3 C2 基础设施部署
黑客批量注册境外匿名服务器、加密货币支付购买动态域名,搭建恶意页面托管服务器、消息数据回传接口;基础设施采用分布式部署,单一域名封禁后可快速切换备用节点,同时使用加密流量传输窃取的恢复密钥、会话数据,规避网络流量审计设备特征匹配。
3.2 第二阶段:核心钓鱼诱导与两类凭证窃取技术机理
该阶段为攻击核心执行环节,分为早期验证码劫持、现阶段备份恢复密钥窃取两套战术,2026 年 3 月预警以验证码窃取为主,6 月更新预警后黑客全面转向备份恢复密钥定向盗取,技术危害性显著提升。
3.2.1 战术一:恶意二维码诱导设备关联劫持(UNC5792 主力手段)
Signal 原生支持多设备同步功能,用户可通过扫描群组邀请、设备绑定二维码将账号同步至多台终端,该功能设计初衷为提升多终端办公便捷性,但被黑客滥用。
完整技术流程:
攻击者修改标准 Signal 群组邀请网页源码,替换二维码底层 URI 参数,将入群跳转逻辑改写为设备绑定请求;
以目标行业可信身份发送消息,话术以 “内部工作群组、战地资料交流群、外交文件同步群” 为核心,推送伪造群组链接;
目标点击链接打开高仿页面,扫描页面二维码后,客户端自动发起设备关联请求,攻击者受控设备加入目标账号同步列表;
关联完成后,攻击者实时接收目标所有新消息、群组对话、联系人更新,无需获取账号手机号、验证码即可长期监控;
多数用户无定期查看 “已关联设备” 习惯,新增陌生设备数月难以被发现。
技术关键:该攻击完全调用 Signal 公开 API,无漏洞利用、无恶意代码植入,行为属于平台合法操作,传统杀毒软件、流量防火墙无法识别异常行为,仅依靠客户端设备变更提醒功能预警,预警力度薄弱。
3.2.2 战术二:备份恢复密钥定向窃取(当前主流迭代战术)
反网络钓鱼技术专家芦笛指出,备份恢复密钥窃取是本次 APT 攻击危害性升级的核心标志,需厘清 Signal 备份与密钥底层运行逻辑,才能识别攻击漏洞点。
Signal 备份恢复密钥基础机制
Signal 支持用户将全部本地聊天记录加密上传至云端存储,Backup Recovery Key 是唯一解密密钥,由客户端本地生成,不会上传至 Signal 官方服务器,正常场景下仅用户本人离线保存;若密钥泄露,攻击者搭配任意可登录账号的设备,即可下载云端完整备份并解密全部历史会话。
机制关键缺陷:攻击者获取密钥后,即便目标修改手机号、更换登录设备,已泄露的旧密钥仍可解密此前备份数据;仅用户手动生成全新恢复密钥,才能作废旧密钥的解密权限,多数普通用户不了解该操作逻辑。
社工诱导窃取完整流程
(1)攻击者注册仿 “Signal 官方客服” 账号,向目标发送私信,话术制造强紧迫感:“您的云端聊天备份同步故障,30 分钟内未核验恢复密钥将永久丢失全部历史外交 / 工作记录”;
(2)引导用户进入 Signal 设置 - 备份管理页面,复制 32 位恢复密钥字符串;
(3)诱导用户直接在聊天窗口粘贴密钥发送至攻击者账号;
(4)攻击者同步完成两项操作:第一,通过恶意二维码绑定目标账号实时监控新消息;第二,使用窃取的恢复密钥下载云端全部加密备份,解密数年历史涉密对话;
(5)部分场景下黑客同步索要注册锁定 PIN 码,彻底锁死账号控制权,阻止用户自主解绑恶意设备。
3.3 第三阶段:账号接管完成后的二次扩散攻击闭环
黑客成功接管目标账号后不会终止行动,依托目标可信身份搭建第二层钓鱼链路,形成自循环扩散闭环,大幅扩大渗透范围:
信任链社工扩散:使用沦陷账号向目标全部联系人、群组批量推送相同伪造群组链接、密钥核验通知;联系人因发送方为熟悉同事、记者、外交人员,警惕性大幅下降,泄露凭证概率远高于陌生账号消息;
情报分层筛选:自动抓取聊天记录中涉密文件、会议时间、人员联系方式、战地情报,结构化整理后回传 FSB 指挥服务器;
长期潜伏维持:不修改账号密码、不删除聊天记录、不发送异常消息,仅静默同步数据,延长潜伏周期;仅当用户主动核查关联设备列表时,才存在暴露风险;
持续迭代钓鱼模板:基于攻陷账号获取的行业内部术语、业务流程,更新钓鱼话术,提升后续攻击的仿真度。
4 新型加密通讯钓鱼与传统网络钓鱼差异化对比及防御难点
4.1 攻击模式核心差异对比
传统网络钓鱼多针对网页登录、金融账户,依托明文页面窃取账号密码,攻击载体以邮件、短信为主;UNC5792、UNC4221 定向钓鱼根植加密通讯软件原生功能,攻击载体为 IM 内置消息、群组链接,二者核心差异如表 1 所示。
表 1 加密通讯 APT 钓鱼与传统黑产钓鱼对比
表格
对比维度 UNC5792/UNC4221 加密通讯钓鱼 传统网页 / 短信钓鱼
攻击主体 国家级情报机构下属 APT 组织 黑产牟利团伙、个人攻击者
攻击目标 政军、媒体、NGO 等高情报价值精准人群 无差别普通网民、企业财务人员
技术路径 滥用应用合法功能,无漏洞、无恶意程序 仿冒网页窃取明文账号密码、捆绑木马附件
核心窃取对象 备份恢复密钥、设备绑定权限、注册 PIN 账号密码、银行卡、短信验证码
潜伏特性 静默长期潜伏,无破坏行为,难以察觉 得手后快速盗刷、篡改账号,短期暴露
加密规避能力 完全绕过端到端加密,攻击发生在客户端侧 传输层加密可阻断部分流量特征检测
扩散逻辑 依托受害者熟人信任链二次扩散 依靠批量群发、垃圾渠道推送
4.2 当前防护体系存在的核心防御难点
4.2.2 加密流量屏蔽流量审计能力
Signal 全量会话数据采用端到端加密传输,网络网关、防火墙仅能识别加密数据包,无法解析聊天明文内容,传统基于关键词匹配的钓鱼消息检测手段完全失效;网关无法识别消息内伪造群组链接、诱导泄露密钥的社工话术,仅能依靠终端客户端完成检测,防护存在单点短板。
4.2.2 合法功能难以通过规则拦截
设备关联、云端备份是 Signal 官方核心功能,无法通过平台后台全局关闭,企业运维人员无权限修改客户端底层交互逻辑;黑客操作均属于 API 允许的正常行为,无法通过流量特征、操作行为判定恶意,传统入侵检测系统 IDS 无匹配告警规则。
4.2.3 用户安全认知存在普遍盲区
绝大多数用户不了解备份恢复密钥的泄露风险,不清楚陌生二维码扫描会绑定第三方设备;Signal 官方从未主动推送恢复密钥安全科普,政企常态化安全培训多聚焦邮件钓鱼,针对加密通讯软件的专项培训覆盖率极低,人为漏洞成为攻击主要突破口。
4.2.4 恶意基础设施隐蔽性强
钓鱼页面采用无索引、动态域名、境外匿名服务器部署,威胁情报库更新存在滞后性;短链接跳转多层伪装,网关递归解析链路算力消耗大,大规模实时检测存在性能瓶颈。
5 面向加密通讯钓鱼的全链路闭环防御体系构建
反网络钓鱼技术专家芦笛强调,针对 UNC5792、UNC4221 这类依托原生功能的社工钓鱼攻击,单一终端杀毒、域名黑名单无法形成有效防护,必须搭建 “平台前置风控 — 网络网关实时检测 — 终端客户端加固 — 常态化人员安全管控” 四层联动闭环防御体系,覆盖攻击事前、事中、事后全生命周期。
5.1 第一层:加密通讯平台前置风控防御(事前预警)
该层从消息源头拦截恶意钓鱼物料,适用于企业自建 IM 管控平台、政企统一移动设备管理 MDM 后台,核心措施如下:
钓鱼消息语义风控模块部署
搭建轻量化文本风险评分引擎,针对 Signal 类通讯消息建立专属风险关键词库,包含 “备份密钥、同步故障、数据永久丢失、官方客服核验、群组二维码、设备绑定” 等社工诱导词汇;对短时间批量发送同类风险话术、陌生新账号私信高价值人员的会话直接标记预警,限制消息下发。
群组链接页面特征检测
对接爬虫服务,自动解析消息内所有外部群组跳转链接,提取页面 DOM 结构、JS 载荷、二维码底层 URI,识别篡改 Signal 官方群组页面的恶意站点,自动拦截链接访问并记录域名至黑名单。
高价值账号访问基线管控
为政军、媒体核心人员账号建立行为基线,监控陌生设备绑定请求、短时间多次生成备份密钥、向陌生外部账号发送长串 32 位密钥字符串等高风险操作,触发实时弹窗告警并推送安全管理员复核。
5.2 第二层:网络网关多维流量与 URL 检测(事中拦截)
网关层弥补加密流量无法解析明文的短板,依托域名、跳转链路、页面静态特征实现无解密检测,配套自动化检测代码实现实时研判:
多层 URL 递归解析机制
对 IM 消息内所有短链接执行全跳转链路解析,提取最终落地域名,匹配全球恶意域名情报库;对注册周期小于 7 天、境外匿名服务商域名、包含 signal 伪造关键词的域名加权加高风险分数,直接阻断访问。
网页静态特征自动化扫描
爬虫模拟移动端 UA 访问落地页面,检测页面是否复刻 Signal 官方 UI、嵌入自动执行绑定设备的 JS 代码、隐藏密钥输入表单,多维特征加权计算风险值,超过阈值直接拦截。
加密外联行为审计
防火墙监控终端异常外联境外陌生 C2 服务器行为,针对批量上传长字符串(疑似恢复密钥)、高频扫码设备绑定请求建立流量基线,超出基线阈值触发网络告警。
5.3 第三层:移动终端客户端安全加固(终端兜底防护)
聚焦 Signal 客户端原生安全功能优化配置,弥补软件交互设计安全短板,分为统一配置策略与终端安全插件双维度:
5.3.1 客户端强制安全配置规范(政企统一落地)
全员强制开启注册锁定 Registration Lock,设置独立高强度 PIN 码,即便攻击者窃取短信验证码,也无法完成账号劫持;
高涉密岗位人员禁用 Signal 云端备份功能,彻底消除备份恢复密钥泄露带来的历史数据失窃风险;确需备份的岗位,离线纸质存储恢复密钥,禁止电子复制、聊天传输;
建立月度设备自查制度,用户定期检查 “已关联设备” 列表,发现陌生设备立即解绑并重置全部备份密钥;
关闭自动扫码跳转权限,扫码前弹窗二次确认操作用途,区分普通入群与设备绑定二维码。
5.3.2 终端轻量化安全检测插件
开发移动端后台检测插件,实时监控两类高危行为:一是复制 32 位恢复密钥后剪贴板快速粘贴至聊天输入框;二是访问外部群组链接并触发二维码扫描操作,触发行为后弹出安全警示,阻断下一步操作。
5.4 第四层:人员安全意识常态化管控(长效治本措施)
反网络钓鱼技术专家芦笛指出,所有技术防护均存在绕过可能性,人为安全意识是防御闭环的最终屏障,需建立分层专项培训机制:
分层定向安全培训
针对政务、国防、记者群体开展 Signal 专项钓鱼演练,定期推送模拟伪造客服消息、恶意群组链接,统计用户点击、密钥提交率,针对失误人员一对一复训;普及核心常识:Signal 官方绝不会通过应用内私信索要恢复密钥、PIN 码、验证码,任何索要敏感密钥的消息均为钓鱼。
标准化信息核验流程
制定涉密人员沟通规范:收到任何要求核验账号、备份密钥的消息,必须通过电话、线下会面等带外渠道独立核验对方身份,禁止直接在 IM 内回复敏感凭证;陌生群组链接一律不予点击,内部工作群组仅通过单位官方渠道分发。
漏洞上报激励机制
建立可疑钓鱼消息快速上报通道,员工发现仿官方通知、恶意二维码链接可一键推送安全运维团队,运维实时完成域名溯源、特征入库,同步更新全网拦截规则,形成威胁情报闭环更新。
5.5 第五层:事后溯源与应急处置闭环
若出现账号失陷事件,标准化处置流程降低泄密损失:
账号紧急隔离:立即解绑全部关联设备,手动生成全新备份恢复密钥,作废泄露旧密钥解密权限;修改注册锁定 PIN 码;
威胁溯源取证:提取钓鱼消息、恶意域名、攻击者账号信息,上传至网络安全威胁情报平台,同步至全网网关黑名单;
横向风险排查:检索该沦陷账号所有联系人,批量推送风险预警,核查是否存在二次钓鱼泄露;
事件复盘优化:梳理攻击突破点,优化风控关键词、URL 检测规则,更新培训案例,填补防御体系短板。
6 加密通讯钓鱼自动化检测模块 Python 代码实现
基于上文网关层、平台风控层检测需求,开发轻量化三合一检测代码,包含三大核心模块:钓鱼消息文本风险检测、URL 恶意页面特征研判、备份密钥传输行为识别,适配 Python3.8 及以上版本,依赖 requests、beautifulsoup4、re、tldextract 开源库,无重型深度学习框架,可轻量化部署于企业网关、IM 风控后台。
6.1 环境依赖安装命令
pip install requests beautifulsoup4 tldextract
6.2 完整可运行检测代码
import re
import requests
import tldextract
from bs4 import BeautifulSoup
from requests.exceptions import RequestException
# ===================== 全局风险特征配置库 =====================
# 社工钓鱼高危诱导关键词
RISK_WORDS = ["备份密钥", "恢复密钥", "同步故障", "数据丢失", "官方客服", "账号核验", "群组二维码", "设备绑定"]
# 32位Signal备份恢复密钥正则匹配规则
BACKUP_KEY_REG = re.compile(r'[A-Z0-9]{32}')
# 恶意短链接正则匹配
SHORT_URL_REG = re.compile(r'https?://[a-zA-Z0-9]{3,10}\.[a-z]{2,5}/\w+')
# 高危域名后缀(境外匿名服务商)
HIGH_RISK_SUFFIX = ["top", "xyz", "club", "live", "online"]
# 风险判定阈值,总分≥5判定为恶意钓鱼内容
RISK_THRESHOLD = 5
# ===================== 模块1:钓鱼消息文本风险检测 =====================
def detect_phish_message(msg_text: str, send_count: int) -> dict:
"""
检测IM消息内社工钓鱼话术、备份密钥、恶意短链接
:param msg_text: 待检测聊天文本
:param send_count: 发送账号1小时群发消息数量
:return: 风险得分、风险标签、是否恶意
"""
risk_score = 0
risk_label = []
# 1. 匹配高危诱导关键词
for word in RISK_WORDS:
if word in msg_text:
risk_score += 2
risk_label.append(f"包含高危诱导词:{word}")
# 2. 检测是否存在32位备份密钥字符串
key_match = BACKUP_KEY_REG.findall(msg_text)
if len(key_match) > 0:
risk_score += 4
risk_label.append("消息内含Signal备份恢复密钥,极高泄密风险")
# 3. 检测短链接
short_links = SHORT_URL_REG.findall(msg_text)
if len(short_links) > 0:
risk_score += 3
risk_label.append(f"包含{len(short_links)}条可疑短链接")
# 4. 批量群发账号风险加权
if send_count > 150:
risk_score += 2
risk_label.append("账号短时间批量群发消息,疑似钓鱼机器人")
# 判定是否为恶意消息
is_malicious = True if risk_score >= RISK_THRESHOLD else False
return {
"total_risk_score": risk_score,
"risk_detail": risk_label,
"is_malicious": is_malicious
}
# ===================== 模块2:URL落地页恶意特征检测 =====================
def analyze_malicious_url(target_url: str) -> dict:
"""
解析链接域名信誉、页面DOM,识别伪造Signal群组钓鱼页面
"""
risk_score = 0
risk_label = []
headers = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/537.36"
}
# 解析域名信息
domain_info = tldextract.extract(target_url)
domain_suffix = domain_info.suffix
if domain_suffix in HIGH_RISK_SUFFIX:
risk_score += 2
risk_label.append(f"域名使用高危后缀:{domain_suffix}")
try:
resp = requests.get(target_url, headers=headers, timeout=6, verify=False)
soup = BeautifulSoup(resp.text, "html.parser")
# 检测页面是否隐藏密钥输入框
hidden_input = soup.find_all("input", type="hidden")
for inp in hidden_input:
if "key" in str(inp.get("name", "")):
risk_score += 3
risk_label.append("页面存在密钥窃取隐藏表单")
# 检测自动执行设备绑定JS载荷
script_list = soup.find_all("script")
for script in script_list:
script_content = str(script.string) if script.string else ""
if "linkDevice" in script_content or "signal/group" in script_content:
risk_score += 4
risk_label.append("页面植入恶意设备绑定JS代码")
# 检测页面屏蔽搜索引擎收录(钓鱼站点典型特征)
meta_tag = soup.find("meta", attrs={"name": "robots"})
if meta_tag and "noindex" in meta_tag.get("content", ""):
risk_score += 2
risk_label.append("页面设置noindex规避爬虫检测")
except RequestException:
risk_score += 3
risk_label.append("链接访问异常,疑似隐匿恶意站点")
is_malicious = True if risk_score >= RISK_THRESHOLD else False
return {
"url": target_url,
"url_risk_score": risk_score,
"url_risk_detail": risk_label,
"url_malicious": is_malicious
}
# ===================== 模块3:综合联动检测入口 =====================
def full_im_risk_detect(msg_content: str, send_volume: int, url_list: list):
"""
全流程综合检测:消息文本+内嵌URL批量研判
"""
msg_result = detect_phish_message(msg_content, send_volume)
url_result_list = []
for link in url_list:
url_res = analyze_malicious_url(link)
url_result_list.append(url_res)
total_risk = msg_result["total_risk_score"]
for url_item in url_result_list:
total_risk += url_item["url_risk_score"]
final_judge = "高危钓鱼消息,立即拦截" if total_risk >= RISK_THRESHOLD else "低风险正常消息"
output = {
"message_detect_result": msg_result,
"url_detect_result": url_result_list,
"comprehensive_risk_score": total_risk,
"final_judge": final_judge
}
return output
# ===================== 测试示例 =====================
if __name__ == "__main__":
# 模拟一条恶意钓鱼消息
test_msg = "您的Signal备份同步故障,请复制32位恢复密钥 ABC123DEF456GHI789JKL012MNO345PQR 发送给客服核验,点击链接加入修复群组 https://xxx.top/siggroup"
test_send_num = 200
test_urls = ["https://xxx.top/siggroup"]
detect_output = full_im_risk_detect(test_msg, test_send_num, test_urls)
# 打印检测结果
import json
print(json.dumps(detect_output, ensure_ascii=False, indent=2))
6.3 代码模块功能解析
消息文本检测模块:核心识别三类高危特征 —— 诱导密钥泄露的社工话术、32 位标准 Signal 备份密钥字符串、批量群发机器人账号,输出风险评分与标签,可直接对接 IM 平台风控后台,消息下发前自动拦截高危内容;
URL 恶意页面研判模块:递归解析短链接落地域名,检测页面隐藏密钥表单、恶意设备绑定 JS、noindex 隐匿特征,弥补加密流量无法解析聊天内容的短板,网关侧独立部署运行;
综合联动检测入口:整合文本、URL 双重检测结果,输出综合风险判定,支持批量离线扫描历史聊天记录,完成事后批量泄密风险排查。
6.4 落地部署适配场景
政企移动设备 MDM 管理后台,实时监控员工 Signal 聊天内容;
企业网络出口网关,解析 IM 外跳链接自动阻断恶意站点;
安全运维审计平台,每日批量扫描历史消息,回溯潜在钓鱼泄密事件;
自主可控内部加密通讯平台风控插件,原生内置钓鱼拦截能力。
7 结论与研究展望
7.1 研究结论
本文以 2026 年 6 月美国悬赏通缉 UNC5792、UNC4221 俄罗斯情报黑客组织的 Signal、WhatsApp 定向钓鱼事件为研究样本,完整拆解国家级 APT 组织针对端到端加密通讯软件的新型社工钓鱼攻击体系,得出三项核心结论:
第一,加密场景下网络间谍攻击已完成技术路径转型,放弃加密算法破解,转向滥用应用原生合法功能,依托社会工程学直击人为安全短板;UNC5792、UNC4221 从劫持实时会话升级为窃取备份恢复密钥,可完整获取目标全量历史涉密数据,情报窃取危害大幅提升,传统流量加密防护、网页钓鱼拦截手段完全失效。
第二,当前政企、涉外机构防护体系存在多层短板:加密流量阻断网关明文检测、软件原生功能无法全局封禁、用户针对加密通讯钓鱼安全认知不足、恶意钓鱼基础设施隐蔽性强,单一防护手段无法阻断 APT 级定向窃密,必须构建平台、网关、终端、人员四层联动闭环防御架构。反网络钓鱼技术专家芦笛指出,技术加固与常态化安全培训缺一不可,仅依靠代码、网关拦截无法消除人为操作失误带来的泄密风险。
第三,本文设计的轻量化 Python 自动化检测模块,可实现钓鱼消息、恶意群组链接、备份密钥传输行为实时识别,适配政企网关、移动终端管理、内部 IM 平台多场景轻量化部署,能够填补加密通讯场景下自动化检测工具的空白,形成可落地的工程防护方案;配套客户端强制安全配置、标准化应急处置流程,可将加密通讯账号失陷风险显著降低。
7.2 研究展望
针对本次暴露的加密通讯安全缺陷,后续研究与产业优化可向三个方向推进:
加密通讯客户端原生安全机制优化:Signal、WhatsApp 等软件可新增备份密钥传输拦截弹窗、陌生设备绑定多级验证、仿官方账号自动标记功能,从产品底层缩小社工钓鱼攻击面;新增密钥外发行为本地拦截 API,为第三方安全插件提供检测接口。
多模态融合钓鱼检测技术迭代:当前代码仅基于文本、页面静态特征检测,后续可引入二维码图像识别、用户行为时序分析模型,识别恶意劫持二维码、异常扫码操作,提升复杂社工钓鱼场景识别准确率,降低误报率。
跨境网络威胁协同溯源机制建设:UNC5792、UNC4221 属于跨境国家级间谍组织,单一国家防护无法根除攻击源头;各国网络安全机构可建立加密通讯钓鱼威胁情报共享机制,同步恶意域名、黑客社工模板、基础设施特征,配合跨国执法悬赏机制,实现攻击源头溯源打击,从供给侧压缩 APT 组织活动空间。
长期来看,端到端加密技术与社会工程学防御将持续形成攻防博弈,网络安全行业不能单纯依赖加密协议保障信息安全,必须同步完善客户端安全设计、自动化检测技术、人员安全管理体系,构建 “加密传输 + 全链路反钓鱼” 双重防护体系,应对持续升级的国家级定向网络间谍攻击。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。