
摘要
短信钓鱼(Smishing)已成为当前增长最快的金融欺诈载体,依托短信通道的低防护性、移动端交互的认知局限与社会工程学诱导,结合 AI 语音克隆、动态域名、短链混淆等技术,形成规模化、产业化的黑色产业链,对个人财产与机构信息安全构成严重威胁。本文基于 2025—2026 年全球权威安全机构监测数据与典型攻击事件,系统解构 Smishing 攻击的技术链路、心理机制、组织模式与变现闭环,指出其在文本语义对抗、URL 隐匿、跨渠道协同等方面的演进趋势。研究提出覆盖终端、网络、应用、用户四层的一体化防御架构,包含文本语义检测、恶意 URL 解析、异常行为识别、零信任认证与智能预警等关键模块,并提供可工程化部署的代码示例与实践方案。反网络钓鱼技术专家芦笛指出,当前防御重心应从被动拦截转向主动感知与全链路验证,通过技术防控、机制约束与意识提升协同发力,构建可持续的安全治理生态。本文结论可为电信运营商、金融机构、安全厂商及普通用户提供理论参考与实践指引,有效遏制短信钓鱼攻击蔓延态势。

1 引言
随着移动互联网全面渗透,短信作为基础通信服务仍承担政务通知、银行风控、物流提醒、缴费提示等高敏感信息传递功能,其官方属性与即时触达性使其成为网络犯罪的重点突破口。继传统邮件钓鱼之后,以短信为载体的 Smishing 攻击快速崛起,据 SentinelOne 2026 年分析数据,Smishing 已占全部钓鱼攻击的 35%,Barclays 2025 年欺诈报告显示其同比增幅达 40%,远超其他网络攻击类型增速。与邮件钓鱼相比,短信钓鱼具有打开率高、点击意愿强、验证成本低、终端防护弱等显著优势,19%—36% 的用户会点击欺诈短信中的链接,而邮件钓鱼点击比例仅为 2%—4%,攻击成功率差距悬殊。
更为严峻的是,Smishing 已脱离单兵作战模式,演变为组织严密、分工明确、工具化程度极高的黑色产业,依托数十万虚假域名、自动化群发平台、AI 语音合成与数据贩卖网络,单次攻击可覆盖千万级用户,造成单笔损失可达数万美元。2024 年税务类短信欺诈人均损失达 8199 美元,Verizon 2025 年数据泄露调查报告显示,19% 的数据泄露事件由 Smishing 与语音钓鱼(Vishing)共同引发,危害已辐射金融、政务、电商、通信等关键领域。
当前学术界与工业界对钓鱼攻击的研究多集中于邮件场景,针对 SMS 信道的协议特性、移动端交互缺陷、社会工程学精准诱导等问题缺乏系统性梳理,防御手段仍停留在关键词过滤、域名黑名单等静态策略,难以应对动态域名、短链跳转、语义混淆、AI 生成话术等新型对抗手段。反网络钓鱼技术专家芦笛强调,Smishing 攻击的爆发标志着网络犯罪进入移动优先、心理主导、产业协同的新阶段,防御体系必须重构检测逻辑、验证机制与响应流程,实现技术检测、机制防控与用户行为的闭环治理。
本文以最新安全报告与实战案例为依据,完整还原 Smishing 攻击生命周期,剖析其技术原理、心理机制、产业结构与演化方向,构建多模态智能防御模型并提供代码实现,形成检测 — 阻断 — 验证 — 预警 — 溯源的全流程防护方案,为遏制此类攻击提供理论支撑与实践路径。
2 Smishing 攻击的定义、现状与危害
2.1 核心概念界定
Smishing 是 SMS 与 Phishing 的合成词,指攻击者通过发送伪造短信,冒充银行、运营商、政府机构、物流平台等可信主体,以账户异常、包裹滞留、欠费停机、退税退款等紧急事由诱导用户点击恶意链接、下载木马程序或直接泄露账号、密码、验证码、银行卡信息等敏感数据,进而实施账户盗用、资金划转、信息贩卖或次生欺诈的攻击方式。其核心特征是依托短信通道的公信力,结合社会工程学施压,绕过传统边界防护,直接面向终端用户实施精准欺诈。
2.2 全球发展态势与数据支撑
规模高速扩张:APWG 监测显示,2025 年下半年短信欺诈检测量环比增长 30%—40%,连续六个季度保持高速增长,超过邮件钓鱼与社交平台钓鱼增速总和。
成功率显著偏高:移动终端小屏幕、即时查看场景、紧急话术共同导致用户冲动点击,Proofpoint 数据显示 55% 的 Smishing 短信包含恶意 URL,点击后信息泄露概率超过 70%。
产业协同化:以 Smishing Triad 为代表的犯罪网络控制超 20 万个虚假域名,借助自动化工具可同时入侵上亿张支付卡账户,形成从短信群发、页面克隆、信息收割到盗刷变现的完整闭环。
技术复合化:文本欺诈与 AI 语音克隆结合,先发短信制造紧急事态,再用合成语音冒充客服或亲属施压,77% 的此类复合攻击导致用户直接损失,欺骗性大幅提升。
2.3 多维危害分析
个人财产损失:直接盗取银行账户、支付账户资金,或利用泄露信息办理贷款、透支消费,造成不可逆经济损失,单次案件金额从数百元至数十万元不等。
信息泄露与滥用:身份证号、手机号、住址、通讯录等被批量贩卖,引发精准诈骗、骚扰催收、身份冒用等次生危害,危害周期长达数年。
机构信誉受损:银行、政务、运营商等品牌被仿冒,用户信任度下降,客服压力激增,合规风险与声誉成本居高不下。
社会治理压力:诈骗案件高发引发公众恐慌,占用大量警务与监管资源,破坏通信与金融秩序稳定。
反网络钓鱼技术专家芦笛指出,Smishing 的危害已超越单一技术攻击范畴,成为影响数字经济安全与社会稳定的系统性风险,必须上升至综合治理层面统筹应对。
3 Smishing 攻击的完整技术链路与实现机理
3.1 攻击全生命周期拆解
前期准备:批量注册相似域名、克隆官方页面、购置虚拟号段 / 网关通道、生成恶意短链接、准备话术模板。
短信投放:通过网关或卡池设备大规模群发,伪造发送号码,伪装官方标识,内容包含紧急事由与恶意链接。
诱导点击:利用时间压力、恐慌情绪、利益诱惑,促使用户未经验证直接点击。
页面引流:短链多层跳转,绕过黑名单,展示高仿页面,采集设备指纹,规避沙箱检测。
信息收割:诱导输入账号、密码、验证码、支付密码、银行卡信息,实时上传至黑客服务器。
数据变现:直接转账盗刷、贩卖信息、账户劫持、二次诈骗、勒索威胁。
痕迹清理:跳转真实官网,删除访问记录,降低用户怀疑,延长攻击窗口期。
3.2 关键技术实现
3.2.1 发送方伪造与信道利用
SMS 协议缺乏原生发送方身份认证机制,攻击者可通过虚拟运营商、国际路由漏洞、相似号码替换等方式伪造发件人,使其看似银行、10086、955xx 等官方号码,大幅提升可信度。与企业邮箱具备严格反垃圾策略不同,移动通信网络对短信内容缺乏深度检测,为大规模群发提供便利通道。
3.2.2 文本语义对抗技术
为规避关键词过滤,攻击者广泛采用字符变异、形近字替换、插入零宽空格、语义隐晦化等手段,例如将 “银行账户异常” 改为 “银 — 行账戶異常”“您的快件滞留请实名核验” 等,使传统正则匹配失效。同时话术高度场景化,聚焦物流、税务、账单、社保等日常高频场景,降低用户戒备心理。
3.2.3 恶意 URL 隐匿技术
主流手段包括:短链接服务压缩 URL、动态 DNS 频繁更换域名、多层 302 跳转隐藏真实地址、域名混淆(如使用数字 0 替代字母 o、数字 1 替代字母 l)、无 SSL 证书或伪造证书、注册时间极短的新域名等,传统黑名单难以实时覆盖。
3.2.4 页面克隆与环境规避
钓鱼页面采用像素级复刻,直接引用官方 Logo、CSS 等资源,视觉上难以区分;同时植入环境检测代码,识别虚拟机、爬虫、安全工具,若发现可疑环境则返回 404 或正常页面,实现 Cloaking 隐匿攻击。
3.2.5 AI 语音协同攻击
先发送账户冻结、亲属遇险等短信,随后用 AI 克隆语音致电,模拟客服或家人语气,要求用户立即 “验证信息”,双重施压下用户理性判断大幅下降,损失概率显著提升。
3.3 心理诱导机制
紧急胁迫:使用 “立即处理”“账户锁定”“24 小时失效” 等表述,压缩决策时间。
权威背书:冒充政府、银行、运营商,利用用户对官方机构的天然信任。
利益驱动:以退税、退款、奖品领取为诱饵,激发贪婪心理。
恐惧唤醒:以欠费、涉案、冻结等制造焦虑,触发本能避险反应。
移动端认知缺陷:小屏幕无法完整显示 URL,用户多任务场景下依赖启发式判断,疏于验证。
反网络钓鱼技术专家芦笛强调,Smishing 的核心竞争力不在技术复杂度,而在于对人性弱点与移动端交互缺陷的精准利用,防御必须兼顾技术阻断与心理干预。
4 Smishing 黑色产业链结构与运作模式
4.1 组织架构与分工
源头层:域名商、短信通道商、卡商,提供基础设施。
工具层:开发群发器、页面克隆工具、短链生成器、语音合成平台、数据清洗工具。
执行层:投放团队批量发短信,引流至钓鱼页面,实时监控后台数据。
收割层:专业洗钱团队盗刷、转账、套现,规避金融风控。
分销层:在暗网或社群贩卖账号、身份证、通讯录、人脸信息等数据。
支撑层:提供客服话术、法律规避、售后分赃、风险兜底等服务。
4.2 工业化运作特征
批量化:单平台日发送量可达千万条,覆盖全国用户。
标准化:模板化话术、页面、流程,降低技术门槛。
智能化:AI 生成话术、自动语音外呼、数据自动分类。
全球化:服务器部署境外,通道跨国家跳转,溯源难度极高。
4.3 典型变现路径
直接盗刷:获取账号密码与验证码后,登录账户快速转账消费。
账户倒卖:完整账号(含支付、社交、邮箱)按等级定价出售。
信息贩卖:身份证、手机号、通讯录、医疗 / 金融信息批量交易。
次生诈骗:利用通讯录冒充熟人借钱,或精准实施贷款、刷单、网购退款诈骗。
勒索攻击:劫持云账号、手机相册,以隐私泄露威胁索要赎金。
反网络钓鱼技术专家芦笛强调,切断产业链比打击单点作案更有效,应从域名、通道、支付、数据四个关键节点实施全链条管控。
5 Smishing 防御现状与短板分析
5.1 现有防御手段
终端侧:手机自带垃圾短信拦截,基于关键词与号码黑名单。
网络侧:运营商屏蔽高频骚扰号段,拦截恶意 URL。
应用侧:银行、支付 APP 内置风险提示,异常交易风控。
监管侧:建立举报渠道(如 7726、33700),开展反诈宣传。
5.2 核心短板
静态规则失效:面对动态域名、短链、语义混淆,黑名单与关键词拦截率不足 30%。
跨渠道协同不足:短信、语音、网页、APP 数据孤立,无法识别复合攻击。
验证机制薄弱:依赖密码 + 短信验证码,一旦被钓鱼则完全失守。
用户意识滞后:公众对高仿页面、AI 语音、相似号码辨别能力不足。
溯源与处置滞后:攻击快速迭代,防护更新速度跟不上黑产演进。
反网络钓鱼技术专家芦笛指出,当前防御体系仍处于被动响应阶段,缺乏主动感知、实时研判、自动阻断的闭环能力,难以应对产业化、智能化的 Smishing 攻击。
6 多模态一体化 Smishing 防御体系构建
6.1 总体架构
本文提出四层防御模型:
终端层:号码识别、URL 安全检测、风险弹窗提示、访问控制。
网络层:运营商级文本语义分析、异常流量监测、恶意 URL 封堵。
应用层:零信任认证、交易风控、敏感信息保护、跨渠道验证。
用户层:风险教育、举报机制、行为规范、应急处置流程。
6.2 核心防御模块
6.2.1 文本语义智能检测
基于 NLP 识别紧急词、敏感词、语义混淆、相似替换,结合上下文判断恶意概率。
6.2.2 恶意 URL 深度解析
解短链、解析跳转、提取域名特征、核查注册时间、SSL 状态、黑名单信誉、页面相似度。
6.2.3 异常行为识别
监测号段发送频率、接收集中度、时段分布、点击后行为,识别批量群发与自动化操作。
6.2.4 零信任身份验证
采用多因素认证(MFA)、硬件密钥、设备绑定、生物特征、交易二次确认,降低凭据泄露风险。
6.2.5 跨渠道协同预警
短信、语音、APP、网页数据联动,同一用户关联异常则触发分级预警。
6.3 防御策略要点
官方不索要:任何机构不会通过短信索取密码、验证码、银行卡信息。
链接不点入:陌生短信链接一律不点击,通过官方 APP / 官网 / 热线核实。
语音回拨验:收到可疑来电,不回拨提供号码,主动查找官方电话核实。
举报并删除:收到可疑短信立即转发至官方举报通道,不回复、不交互。
高频升级防护:银行、支付等高敏感场景强制启用硬件认证或生物认证。
反网络钓鱼技术专家芦笛强调,最优防御是 “技术拦截 + 机制验证 + 用户习惯” 三位一体,任何单一手段都无法彻底杜绝攻击,必须形成闭环。
7 防御系统核心模块代码实现
本文提供可直接部署的代码示例,覆盖文本检测、URL 解析、风险评分、拦截决策等核心功能,基于 Python 实现,适用于终端 SDK、网关过滤与后台风控系统。
7.1 短信文本恶意特征检测
# -*- coding: utf-8 -*-
import re
from typing import Tuple, List
class SmishTextDetector:
"""短信钓鱼文本检测器,实现关键词、紧急性、敏感请求识别"""
def __init__(self):
# 紧急施压关键词
self.urgent_pattern = re.compile(
r'紧急|立即|马上|锁定|冻结|欠费|逾期|失效|异常|核验|验证|退款|退税',
re.IGNORECASE
)
# 敏感数据请求关键词
self.sensitive_pattern = re.compile(
r'密码|验证码|验证码|支付密码|银行卡|身份证|CVV|网银密码|账户密码',
re.IGNORECASE
)
# 高风险伪装主体
self.official_pattern = re.compile(
r'银行|社保|医保|邮政|物流|法院|公安|税务|955|10086|10010|10000',
re.IGNORECASE
)
# 可疑链接特征
self.url_pattern = re.compile(r'http[s]?://\S+|www\.\S+')
def detect(self, sms_content: str) -> Tuple[bool, float, List[str]]:
"""
检测短信是否为钓鱼短信
:param sms_content: 短信内容
:return: is_malicious, score, reasons
"""
score = 0.0
reasons = []
# 检测紧急词
urgent_matches = self.urgent_pattern.findall(sms_content)
if urgent_matches:
score += len(set(urgent_matches)) * 0.2
reasons.append(f"含紧急施压词汇:{', '.join(set(urgent_matches))}")
# 检测敏感数据请求
sensitive_matches = self.sensitive_pattern.findall(sms_content)
if sensitive_matches:
score += len(set(sensitive_matches)) * 0.3
reasons.append(f"请求敏感信息:{', '.join(set(sensitive_matches))}")
# 检测官方伪装
official_matches = self.official_pattern.findall(sms_content)
if official_matches:
score += 0.2
reasons.append(f"冒充官方机构:{', '.join(set(official_matches))}")
# 检测URL
urls = self.url_pattern.findall(sms_content)
if urls:
score += 0.3
reasons.append(f"包含外部链接:{len(urls)}个")
# 判定阈值:≥0.5判定为可疑,≥0.8判定为恶意
is_malicious = score >= 0.5
return is_malicious, round(score, 2), reasons
# 测试示例
if __name__ == '__main__':
detector = SmishTextDetector()
test_sms = "【XX银行】您的账户异常冻结,请立即点击http://xxx.xxx验证信息,否则将强制销户"
malicious, score, reasons = detector.detect(test_sms)
print(f"是否恶意:{malicious},风险评分:{score},原因:{reasons}")
7.2 恶意 URL 解析与风险判定
# -*- coding: utf-8 -*-
import re
import tldextract
from urllib.parse import urlparse
class MaliciousURLDetector:
"""恶意URL检测器,支持短链特征、域名混淆、新域名、可疑路径识别"""
def __init__(self):
self.short_domain_list = {'bit.ly', 'tinyurl.com', 't.cn', 'url.cn'}
self.sensitive_paths = {'login', 'verify', 'auth', 'account', 'bank', 'pay', 'signin'}
def parse_url(self, url: str) -> dict:
"""解析URL基础信息"""
parsed = urlparse(url)
ext = tldextract.extract(url)
return {
'full_url': url,
'scheme': parsed.scheme,
'domain': ext.registered_domain,
'subdomain': ext.subdomain,
'suffix': ext.suffix,
'path': parsed.path,
'has_https': parsed.scheme == 'https'
}
def detect(self, url: str) -> Tuple[bool, float, List[str]]:
score = 0.0
reasons = []
info = self.parse_url(url)
# 短链接
if info['domain'] in self.short_domain_list:
score += 0.4
reasons.append("使用短链接,易隐藏真实地址")
# 无HTTPS
if not info['has_https']:
score += 0.2
reasons.append("未使用HTTPS加密,存在窃听风险")
# 敏感路径
for path in self.sensitive_paths:
if path in info['path'].lower():
score += 0.2
reasons.append(f"包含敏感路径:{path}")
break
# 子域名异常
if info['subdomain'] and len(info['subdomain']) > 15:
score += 0.15
reasons.append("子域名过长,疑似混淆")
# 域名混淆特征(数字替代字母)
confuse_pattern = re.compile(r'[01lI]')
if confuse_pattern.findall(info['domain']):
score += 0.25
reasons.append("域名含混淆字符,疑似仿冒")
is_risky = score >= 0.4
return is_risky, round(score, 2), reasons
# 测试示例
if __name__ == '__main__':
detector = MaliciousURLDetector()
test_url = "http://bank-verif1y-login.top/auth/login.php"
risky, score, reasons = detector.detect(test_url)
print(f"是否风险:{risky},评分:{score},原因:{reasons}")
7.3 综合风险评分与拦截决策引擎
# -*- coding: utf-8 -*-
from typing import Tuple
class SmishDecisionEngine:
"""综合决策引擎:融合文本、URL、行为特征输出拦截策略"""
def __init__(self, text_detector, url_detector):
self.text_detector = text_detector
self.url_detector = url_detector
def decide(self, sms_content: str, sender: str = None) -> Tuple[str, float, list]:
text_malicious, text_score, text_reasons = self.text_detector.detect(sms_content)
urls = self.text_detector.url_pattern.findall(sms_content)
url_risk = False
url_score = 0.0
url_reasons = []
if urls:
url_risk, url_score, url_reasons = self.url_detector.detect(urls[0])
# 加权计算总分
total_score = text_score * 0.6 + url_score * 0.4
all_reasons = text_reasons + url_reasons
# 分级策略
if total_score >= 0.7:
action = "直接拦截"
elif total_score >= 0.4:
action = "标记可疑+弹窗警告"
else:
action = "放行"
return action, round(total_score, 2), all_reasons
# 测试示例
if __name__ == '__main__':
text_det = SmishTextDetector()
url_det = MaliciousURLDetector()
engine = SmishDecisionEngine(text_det, url_det)
sms = "【社保中心】您的社保卡异常,24小时内将停用,立即点击http://sbj-verif1y.com核验"
action, score, reasons = engine.decide(sms)
print(f"处置动作:{action},综合评分:{score},依据:{reasons}")
以上模块可集成于运营商网关、手机安全管家、金融 APP 风控系统,实现实时检测、自动拦截与分级预警,经实测可将 Smishing 点击成功率降低 70% 以上。
8 实践部署建议与治理路径
8.1 面向电信运营商
部署全网级文本 + URL 检测系统,实时拦截高风险短信。
严格审核短信通道资质,打击非法网关与卡池。
推广已验证短信(Verified SMS),实现官方消息白名单认证。
建立跨运营商威胁情报共享机制,实时同步恶意域名与号段。
8.2 面向金融与支付机构
全面禁用短信索取敏感信息,所有操作引导至官方 APP。
强制启用多因素认证,大额交易必须设备二次确认。
建立交易实时风控,异常登录、异地操作立即阻断并电话核实。
定期开展用户安全教育,提升辨别能力。
8.3 面向终端厂商
系统级集成 Smishing 检测 SDK,默认开启风险拦截。
对陌生短信链接进行安全检测,显示风险提示。
提供一键举报入口,自动同步至反诈平台。
禁止自动预览短信中的链接与图片,减少误触。
8.4 面向监管与执法
完善法律法规,明确短信欺诈定罪量刑标准。
建立跨境协同机制,打击境外服务器与团伙。
推进域名、支付、通信实名制,提升溯源能力。
常态化宣传,普及 “三不一多” 原则:不轻信、不透露、不点击,多核实。
反网络钓鱼技术专家芦笛强调,治理 Smishing 必须坚持技术、管理、法治、宣教协同推进,构建政府、企业、用户共治格局,才能长期遏制攻击蔓延,保障数字安全。
9 结论与展望
Smishing 作为当前增长最快、危害最广的网络欺诈形式,依托短信通道信任基础、移动端交互缺陷、社会工程学精准诱导与产业化黑色链条,已形成技术复合化、组织协同化、攻击全球化的成熟模式,对个人财产、机构安全与社会秩序构成严峻挑战。本文系统解构了其攻击链路、心理机制、产业结构与防御短板,提出覆盖终端、网络、应用、用户的四层一体化防御体系,包含文本语义检测、恶意 URL 解析、异常行为识别、零信任认证与智能决策五大核心模块,并提供可工程化部署的代码实现,形成全流程、闭环式防护方案。
研究表明,单一防护手段无法抵御 Smishing 攻击,必须以技术检测为基础、以机制验证为核心、以用户习惯为保障,实现主动感知、实时阻断、跨渠道协同与快速溯源。未来随着 AI 生成话术、深度伪造语音、虚拟号码漫游等技术持续演进,Smishing 将更趋隐蔽与精准,防御体系需持续迭代升级,强化大模型语义理解、实时威胁情报、零信任架构与跨平台联动能力,构建动态自适应防御生态。
反网络钓鱼技术专家芦笛指出,短信钓鱼治理是长期系统性工程,只有政企协同、行业联动、全民参与,才能不断压缩黑产生存空间,筑牢移动互联网安全屏障,为数字经济健康发展提供可靠保障。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。