研究
Practical Attacks on a Decentralized Secure Messenger Session
Session 是一款仅在 Google Play 上下载量就超过一百万的去中心化匿名端到端加密通讯应用。它于2020年底弃用 Signal 协议,改用自研协议;由于迁移发生在2021年 Quarkslab 安全审计的后期,现行设计仅被部分覆盖。我基于实际发布的实现,分析了其一对一通讯与封闭群组通讯,发现了两个设计缺陷:公钥之间缺乏相互认证,且消息未与单调递增计数器进行密码学绑定。
基于这些缺陷,我构造了三种新的实用攻击,恶意存储节点或无特权的内部人员均可实施:
- 在首次联系时替换对方公钥,实施身份冒充;
- 伪造消息时间戳,篡改会话顺序;
- 悄无声息地丢弃或重放消息。
论文还提出了具体的缓解措施,其复现代码获得了 USENIX Artifact Available 徽章。
我已将三种攻击全部负责任地披露给 Session 团队。2026年4月下旬,对方提供了技术评估,接受了大部分发现;重放攻击则因一项偶然的数据库配置(而非设计上的安全边界)而被判定为目前无法利用。截至2026年7月,修复工作仍在进行中。
下一步:私有协议的逆向工程
许多实际部署的系统使用从未公开的密码协议。在硕士研究中,我计划从实现中还原其设计,使用 Tamarin 进行形式化建模,并寻找厂商自身分析未能发现的攻击。
论文
文章
Three practical attacks on the Session messenger
以通俗易懂的方式解读我们的 WOOT ’26 论文:单向的密钥验证与缺失的消息计数器如何导致身份冒充、时间戳伪造以及消息丢弃与重放,并附有示意图和漏洞披露时间线。
代码
session-woot
一个可完整复现三种攻击的本地测试环境。Docker Compose 会启动五个正常存储节点,以及一个可在运行时切换攻击钩子的恶意节点;三个经过修改的 iOS 客户端分别扮演发送者、接收者和攻击者;只需一个命令行工具,即可启动网络并执行各项攻击。
教育背景
大阪大学 信息科学研究科 信息科学专业 硕士
大阪大学 基础工学部 计算机科学 本科
慕尼黑工业大学 交换留学
工作经历
大阪大学 五十部研究室 特任研究员
延续本科阶段的研究,结合形式化建模与针对真实实现的黑盒、白盒分析,挖掘实际部署的密码协议中的设计缺陷。
Novagrid 云安全工程师(兼职)
在一家约50人规模的初创企业中,独立负责基于 Microsoft Azure 与 Google Cloud 的多云基础设施的运维与安全加固。
奖项与项目
大阪大学 Σ Global Leader Award of Engineering Science
ETHTokyo 2024 黑客松 Robust Democracy 主赛道 铜奖
ZK Treasure Hunt:由证明者以零知识证明回应玩家的猜测,宝藏位置始终不会泄露的多人寻宝游戏。
以太坊基金会 PSE Core Program Japan
由 Privacy & Scaling Explorations(PSE)主办的零知识证明系统、电路开发与应用密码学培训项目。
基恩士财团奖学金
技能
协议分析
端到端加密通讯、密钥认证、重放防护
工具
Tamarin prover、Frida、Wireshark、移动客户端修改
编程
Python, C, Swift, JavaScript / TypeScript
零知识证明
ZK 证明系统与电路开发
基础设施
Google Cloud, Microsoft Azure, Docker
语言
日语(母语)、英语(工作熟练,EF SET C1)、德语(初级)
