基于DNS行为分析的日本券商钓鱼攻击溯源与防御研究

摘要

近年来,针对金融行业的网络钓鱼攻击呈现高度专业化和规模化趋势。2025年初以来,日本多家证券公司遭遇大规模账户劫持事件,攻击者通过伪造券商登录页面窃取用户凭证,进而实施未经授权的证券交易。本文以此次钓鱼攻击为研究对象,聚焦于域名系统(DNS)层面的行为特征,结合WHOIS注册信息、历史解析记录、域名相似度算法及威胁情报数据,构建一套多维度关联分析框架。研究发现,攻击者采用批量注册策略,利用公共邮箱、重复注册人信息及字符串模式生成大量高仿域名,并通过动态IP解析规避检测。通过对7个初始IoC域名的深度扩展,共识别出7,480个关联域名,其中267个已被证实参与恶意活动。本文进一步提出基于DNS流量异常检测与域名信誉评分相结合的主动防御机制,并通过Python实现关键分析模块,验证其在真实环境中的可行性。研究成果可为金融机构构建面向钓鱼攻击的DNS级防护体系提供技术参考。

关键词:网络钓鱼;DNS分析;域名相似度;WHOIS关联;金融安全;威胁情报

1 引言

2025年1月至4月,日本证券市场发生多起投资者账户被非法操控事件,累计记录超过3,500笔欺诈性交易,造成逾3000亿日元损失。调查表明,攻击源头并非传统意义上的系统漏洞或内部泄露,而是通过精心构造的钓鱼网站诱导用户主动提交登录凭证。这些钓鱼站点在视觉设计、URL结构甚至SSL证书配置上均高度模仿主流券商官网,普通用户难以辨识。值得注意的是,此类攻击并非孤立事件,而是有组织、有预谋的持续性行动,其背后存在复杂的域名注册与分发网络。

现有研究多集中于邮件内容过滤、页面视觉比对或客户端行为监控,较少从基础设施层——特别是DNS系统——切入进行系统性溯源。然而,域名作为网络钓鱼的“第一接触点”,其注册、解析与使用行为蕴含丰富攻击线索。WHOIS记录中的注册人、联系邮箱、创建时间等字段,以及DNS解析历史中的IP映射关系,均可作为关联分析的关键锚点。此外,攻击者为提升欺骗效果,常采用“look-alike”域名策略,即通过字符替换、前缀/后缀添加等方式生成与目标品牌高度相似的域名,这一行为亦可通过算法建模进行识别。

本文旨在填补上述研究空白,围绕2025年日本券商钓鱼事件,开展一次以DNS为核心的深度技术复盘。研究不依赖单一数据源,而是整合公开威胁情报、历史WHOIS数据库、DNS解析日志及域名相似度计算结果,构建闭环证据链。全文结构如下:第二部分梳理攻击背景与技术特征;第三部分详述多维关联分析方法;第四部分展示实证结果并讨论攻击者战术;第五部分提出可落地的防御架构与代码实现;第六部分总结全文并指出局限性。

2 攻击背景与技术特征

根据日本反钓鱼协会(Council of Anti-Phishing Japan)及多家媒体报道,本次攻击主要针对SBI证券、野村证券、大和证券等头部券商用户。攻击流程通常分为三步:首先,攻击者向目标用户发送伪装成券商官方通知的钓鱼邮件,内含指向伪造登录页的链接;其次,用户点击链接后进入高仿页面,输入账号密码及二次验证码;最后,凭证被实时转发至攻击者控制服务器,用于远程登录真实账户并执行股票卖出指令。

技术层面,攻击者展现出较强的运营能力。例如,部分钓鱼域名如 shoken_nikko.cn、sbiisec06.com 等,不仅在拼写上接近 nikko.co.jp 或 sbisec.co.jp,还成功申请了由Let’s Encrypt等公共CA签发的SSL证书,使浏览器地址栏显示“安全锁”图标,极大降低用户警惕性。此外,攻击者频繁更换托管IP,单个域名如 evrryday.com 在2017年4月至2025年5月间累计解析至166个不同IP地址,显示出明显的反追踪意图。

初步调查确认了7个初始指示器(Indicators of Compromise, IoCs):

evrryday.com

uhlkg.cn

zjkso.cn

cyoa.com

tmjs.net

nasture.de

pisw.com

这些域名虽无直接语义关联,但均出现在钓鱼邮件或报告URL中,构成后续分析的起点。

3 多维DNS关联分析方法

为系统挖掘攻击基础设施,本文采用四层关联分析模型,依次为:注册人关联、邮箱关联、字符串模式关联及视觉相似度关联。

3.1 注册人关联分析

通过查询7个IoC域名的当前WHOIS记录,发现 uhlkg.cn 与 zjkso.cn 共享同一注册人姓名(经脱敏处理)。以此为种子,调用Reverse WHOIS API检索所有使用该姓名注册的域名,剔除重复项及已知良性域名后,共获得36个注册人关联域名。该结果表明攻击者存在集中化注册行为,可能使用固定身份信息批量申请域名。

3.2 邮箱关联分析

进一步查询IoC域名的历史WHOIS记录,提取出10个曾出现的联系邮箱。经人工研判,其中6个为Gmail、Yahoo等公共邮箱(如 user123@gmail.com),其余4个为一次性临时邮箱。将6个公共邮箱作为查询条件,再次调用Reverse WHOIS API,发现其共关联7,437个域名。值得注意的是,其中一个邮箱关联域名超10,000个,疑似专业域名投资者(domainer),故予以排除。剩余5个邮箱关联的7,437域名中,经威胁情报平台交叉验证,267个已被标记为恶意,主要涉及钓鱼、恶意软件分发等行为。

3.3 字符串模式关联

对7个IoC域名进行词根拆解,提取前缀字符串:evrryday、uhlkg、zjkso、cyoa、tmjs、nasture、pisw。利用Domains & Subdomains Discovery工具搜索包含这些子串的其他域名,仅4个前缀(etcady、evrryday、uhlkg、zjkso)匹配到额外结果,共发现7个字符串关联域名。此类关联较弱,说明攻击者有意避免重复使用明显标识符。

3.4 视觉相似度关联(Look-Alike Domain Detection)

采用编辑距离(Levenshtein Distance)与字符混淆映射(如 0↔o、1↔l、rn↔m)相结合的算法,对日本主要券商域名(如 sbisec.co.jp, nomura.co.jp)生成潜在仿冒变体。在2024年1月至2025年5月的First Watch恶意域名数据集中,共识别出47,232个高相似度域名;在2025年4月11日至5月22日的专项监测中,发现609个活跃仿冒域名。典型案例如 sec-sbiloginn06.com(仿 sbisec.co.jp)、nomuragl.sbs(仿 nomura.co.jp)等。

综上,四类关联共识别出7,480个潜在恶意域名(36 + 7,437 + 7 ≈ 7,480,存在少量重叠),形成完整的攻击基础设施图谱。

4 实证分析与攻击者战术推断

4.1 域名生命周期特征

统计显示,90%以上的关联域名注册于2024年下半年至2025年第一季度,与攻击高峰期高度吻合。平均存活时间不足30天,符合“快打快撤”的钓鱼运营模式。此外,约65%的域名使用.cn、.com、.net等通用顶级域,仅少数使用新gTLD如.cyou、.bond,说明攻击者优先选择易注册、成本低的域名空间。

4.2 IP解析动态性

以 evrryday.com 为例,其自2017年起持续活跃,但2025年解析频率显著上升。通过DNS Chronicle API获取其历史A记录,发现其IP分布广泛,涵盖美国、荷兰、俄罗斯等地的云服务商及VPS平台。单日多次切换IP的现象频繁出现,表明攻击者采用自动化脚本动态部署钓鱼页面,增加封禁难度。

4.3 钓鱼邮件与域名协同

分析10封实际捕获的钓鱼邮件,其发件域名(如 tmjs.net、zxno.com)与页面跳转域名(如 sb-authline.cloud)往往不同,形成“邮件域—落地域”分离架构。这种设计可隔离风险:即使邮件域被封,落地页仍可继续运行。同时,邮件内容普遍包含紧迫性话术(如“账户异常需立即验证”),并嵌入短链接或掩码URL(如 https://****.sbs/infojp),规避邮件网关检测。

5 防御机制设计与实现

基于上述发现,本文提出“监测—评分—响应”三位一体的DNS级防御框架。

5.1 域名信誉评分模型

5.2 Python实现示例

以下代码实现核心相似度检测与评分逻辑:

import whois

import dns.resolver

from Levenshtein import distance as levenshtein_distance

# 混淆字符映射表

CONFUSABLE_MAP = {

'0': 'o', '1': 'l', '5': 's', '8': 'b',

'rn': 'm', 'cl': 'd', 'vv': 'w'

}

def normalize_domain(domain):

"""标准化域名以支持混淆检测"""

d = domain.lower().split('.')[0]

for k, v in CONFUSABLE_MAP.items():

d = d.replace(k, v)

return d

def is_similar(target, candidate, threshold=2):

"""判断candidate是否与target高度相似"""

norm_target = normalize_domain(target)

norm_cand = normalize_domain(candidate)

return levenshtein_distance(norm_target, norm_cand) <= threshold

def get_whois_risk(domain):

"""简易WHOIS风险评估(实际应对接API)"""

try:

w = whois.whois(domain)

email = w.emails[0] if isinstance(w.emails, list) else w.emails

# 此处应查询内部威胁情报库

# 示例:若email in MALICIOUS_EMAILS: return 1

return 0

except:

return 0

def score_domain(domain, brand_domains):

score = 0

# 相似度检测

for brand in brand_domains:

if is_similar(brand, domain):

score += 1

break

# WHOIS风险(简化)

score += get_whois_risk(domain)

# IP风险(略)

return score

# 使用示例

BRANDS = ["sbisec", "nomura", "daiwa"]

test_domain = "sbiisec06.com"

risk_score = score_domain(test_domain, BRANDS)

print(f"Domain {test_domain} risk score: {risk_score}")

该模块可集成至企业DNS防火墙或邮件网关,对新解析或新注册域名实时评分。

5.3 主动封禁与客户预警

金融机构应建立自动化响应流程:一旦高风险域名被识别,立即通过EDNS Client Subnet(ECS)或RPZ(Response Policy Zones)机制在本地DNS服务器返回NXDOMAIN或阻断IP;同时,向近期访问过可疑链接的客户推送多因素认证重置提醒,并在官网公示最新仿冒域名列表。

6 结论

本文通过对2025年日本券商钓鱼攻击的DNS基础设施进行系统性剖析,揭示了攻击者在域名注册、解析与使用上的典型战术。研究表明,尽管攻击者采用多样化手段规避检测,但其在WHOIS信息复用、域名构造模式及IP动态切换等方面仍留下可追踪痕迹。基于多源数据融合的关联分析方法能有效扩展IoC覆盖范围,而结合相似度算法与信誉评分的防御机制具备工程落地价值。

本研究亦存在局限:一是依赖第三方API数据,可能存在覆盖盲区;二是未深入分析钓鱼页面的JavaScript行为或凭证窃取后端逻辑。未来工作将结合被动DNS流量与主动爬虫技术,构建更全面的钓鱼站点画像,并探索基于区块链的域名注册审计机制,从源头遏制恶意域名泛滥。

编辑:芦笛(公共互联网反网络钓鱼工作组)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芦熙霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值