研究
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)、德語(初級)
