KeyFrame內部研究專用

DEF CON 33 - RF Village - Meshtastic Under the Microscope From Chirps to Chat - Allan Riordan Ball

DEFCONConference·10月22日週三·28 min英文

三句話摘要

Meshtastic 是利用 LoRa 啁啾擴頻調制技術實現的離網網狀網絡,講者詳細解釋其物理層信號調制、軟件定義無線電解碼方法,並示範如何逆向工程其數據包結構與傳輸機制。 Meshtastic 的強大源於 LoRa 啁啾擴頻的物理優勢,其應用層則是相對簡單可複製的 Protobuf + AES-256 結構,任何人只要掌握逆向工程知識就可自行構造並廣播訊息。 LoRa 啁啾擴頻調制與 FSK 的根本差異在於:不在兩個離散頻率間切換,而是讓頻率連續上升或下降編碼數據,這使信號能穿過背景雜訊,在低於噪聲基底的條件下仍可被正確接收,實現長距離低功耗通訊。

重點整理

重點
  • 1

    LoRa 啁啾擴頻調制與 FSK 的根本差異在於:不在兩個離散頻率間切換,而是讓頻率連續上升或下降編碼數據,這使信號能穿過背景雜訊,在低於噪聲基底的條件下仍可被正確接收,實現長距離低功耗通訊。

  • 2

    Meshtastic 訊號三層結構:前導碼(重複啁啾用於同步)→同步字 0x2B(協議標識)→有效載荷(實際數據),接收器通過檢測重複符號自動對齐採樣網格,推算正確的符號邊界位置。

  • 3

    解碼鏈路多層化:信號下變頻→濾波→幀同步→啁啾解調→格雷碼映射→交錯反轉→去白化→CRC 檢查,每層使用不同開源工具,GNU Radio 流程圖整合 Joachim Tieman 的解調模組執行低層處理,最後用 Python 或 Lua 解析應用層 Protobuf 消息。

  • 4

    免許可頻譜的雙面性:無線電頻段允許任何人自由傳輸,講者示範用 Arduino 繞過官方客戶端直接廣播數據包,甚至可用迴圈連續發送,展示出協議的易於複製性和潛在的濫用風險。

實用技巧與重點

乾貨
  • 頻率與配置:
  • DEF CON Meshtastic 推薦配置頻率:917 MHz
  • 預設模式:「短時加速」(Turbo)
  • 灣區常用模式:中慢速
  • LoRa 擴展因子(SF)= 7,符號範圍 0~127
  • 訊號結構:
  • 前導碼:多個重複啁啾符號
  • 同步字:0x2B(one byte symbol)
  • 載荷:實際應用數據
  • 數據包結構:
  • 頭部:16 位元組明文(含目的地址、發送地址、數據包 ID、標誌位、頻道號)
  • 有效載荷:AES-256 加密
  • 加密方式:密鑰預共享
  • 軟件工具:
  • 信號錄製:GQRX(軟件定義無線電接收器)
  • 信號可視化:Inspectrum(時頻分析,支援網格對齐)
  • 解調處理:GNU Radio(開源流程圖軟件)
  • 協議分析:Wireshark(含自訂 Lua 解析器)
  • 硬件設備:
  • 軟件無線電:HackRF(可發射),RTL-SDR(低成本接收)
  • Meshtastic 裝置:T1000 等(口袋大小)
  • 發送端:Arduino + LoRa 模組(Amazon 上有售)
  • 節點傳輸內容:
  • 節點名稱(名字、簡稱、全名)
  • 硬體型號
  • 加密直訊用公鑰

結論

結論

Meshtastic 的強大源於 LoRa 啁啾擴頻的物理優勢,其應用層則是相對簡單可複製的 Protobuf + AES-256 結構,任何人只要掌握逆向工程知識就可自行構造並廣播訊息。

完整解析

詳細

Meshtastic 是構建於 LoRa 物理層上的應用層通訊系統,講者系統性地揭露了從無線電信號捕獲、解調、協議解析到自行發送訊息的全套技術細節。

LoRa 採用的啁啾擴頻調制(Chirp Spread Spectrum)是核心創新。與傳統頻移鍵控(FSK)在兩個離散頻率間切換不同,LoRa 讓頻率在整個頻寬內連續上升或下降,形成"啁啾"波形。這種設計的妙處在於能在噪聲基底以下工作——即便信號強度低於背景雜訊,通過相關處理(與反向啁啾相乘後進行傅里葉變換)仍能恢復出主導頻率信息。講者用 Inspectrum 工具展示了這一點:直觀的時頻圖像中,啁啾訊號呈現明顯的向上或向下波紋,這正成為 Meshtastic 標誌的視覺來源。

信號的物理層結構分三段。前導碼由多個相同的啁啾符號組成,接收器通過檢測這些重複模式自動同步,推斷出正確的採樣邊界位置——即使接收器初始對齐位置錯誤,持續看到相同符號值也能指示出需要的移位量。同步字 0x2B 標記著 Meshtastic 協議的開始,後續內容才是應用數據。這種"摸黑對齐"的機制巧妙地解決了無時鐘接收的難題。

解碼需要多層信號處理。GNU Radio 流程圖首先將接收信號下變頻至基帶(零頻率)並濾波,接著進行幀同步(確定包邊界)。核心解調由 Joachim Tieman 開源的模組執行:它與反向啁啾進行複數相乘,將上升啁啾信號"壓平"成類似 FSK 的直線信號,再進行傅里葉變換找出主導頻率,最終恢復出符號序列。隨後的格雷碼映射利用格雷碼的特性減少誤讀影響(相鄰數字間只差一個比特,避免 FSK 中 63↔64 的大誤差),交錯反轉將來自單個位元組的比特分散到多個符號上以提高糾錯能力,去白化則移除偽隨機序列以還原原始位元。

應用層則由 Protobuf 序列化格式定義。數據包前 16 位元組為明文頭部,包含目的地址、發送者地址、數據包 ID 和跳數限制(防止無限轉發),其後是 AES-256 加密的有效載荷。講者用 Wireshark 配合自訂 Lua 解析器展示了逐位元組的結構分析:在互動式界面中點擊任何欄位都能看到其含義和值,使複雜的二進制協議變得可讀。節點之間傳輸的既有文字訊息,更多是節點元數據(名稱、硬體型號、公鑰),用於構建網絡拓撲。

最後的實踐示範尤為大膽。講者用 Arduino 搭配低成本 LoRa 模組,繞過 Meshtastic 官方客戶端,直接用十六進制命令構造符合協議的數據包並廣播。代碼邏輯簡單:生成 Protobuf 位元組、用預共享密鑰加密、附加頭部即可發送。講者甚至示範了在迴圈中連續發送訊息(儘管最初因頻道設定錯誤未被接收),清楚地表明任何掌握協議結構的人都能自行發訊息,暴露出免許可頻譜開放性帶來的安全隱患——沒有載波偵聽、無碰撞避免、無源驗證,純粹依賴物理層的訊號傳輸。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。