從 Kickstarter 智能睡眠眼罩到全球腦波外洩:一則令人背脊發涼的逆向工程紀錄

本篇文章更新時間:2026/02/15
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


揭露一款「智慧睡眠眼罩」背後的安全漏洞

一場從藍牙逆向到全球腦波外洩的真實紀錄

編輯前言:這篇文章讓我重新意識到,智慧穿戴裝置的風險往往不在硬體,而在看不見的雲端。作者從逆向工程入手,意外發現一間公司的睡眠眼罩竟將所有使用者的腦波公開到一個 MQTT 伺服器上。

文章來源:My smart sleep mask broadcasts users' brainwaves to an open MQTT broker

核心觀點 (Key Takeaways)

  • 硬體再先進,後端安全若不到位,一切都是災難的起點。
  • Flutter 應用雖難解構,但二進位中的字串資訊仍能暴露大量關鍵資訊。
  • 共用 MQTT 憑證 = 所有使用者的腦波、裝置控制權完全裸奔。

深入解析

這篇文章的起點十分無害:作者只是買了一個 Kickstarter 的智能睡眠眼罩,功能強大、有 EEG 感測、EMS(電刺激)、震動、加熱、音訊…硬體相當野心十足。但 App 體驗不如預期,因此他請 Claude 協助逆向藍牙協議,做一個簡單的 web 控制面板。

接著,故事開始失控。

1. 藍牙層面:找不到標準協議,只能從 App 下手

Claude 首先掃描 BLE 設備、嘗試發送各種常見封包,但裝置始終沒有回應。這意味著協議完全自訂,外界文檔全無。

於是只能轉向 App。

2. App 逆向:Dart 二進位中的字串洩漏一切

因為這是 Flutter App,逆向難度高。Dart 被編譯成 ARM64 原生碼,無法像 Java 那樣直接閱讀。但即使如此,Claude 仍透過字串搜尋找到驚人的資訊:

「Hardcoded credentials for the company's message broker (shared by every copy of the app)」

換句話說,每位使用者的 App 與裝置都用同一組 MQTT 帳密登入雲端。

此外還找到:

  • 雲端 API
  • 15 種設備控制指令的函式名稱
  • 顯示封包結構的除錯訊息

接著 Claude 又用 blutter 反編譯 Dart 快照,成功解析 15 組指令的 byte 格式,完全重建協議。

3. 驗證:設備資訊、感測器數據全部讀得到

只用六個 bytes,裝置回傳 153 bytes 詳細資訊,包括:

  • EEG(250Hz)
  • 呼吸、加速度計、陀螺儀
  • 電量、序號、韌體版本

控制震動、加熱、EMS 也都成功。看起來像是一次漂亮的逆向工程。

但真正的雷還沒爆。

4. MQTT 災難:所有使用者的腦波都在公開頻道中直播

Claude 用剛找到的 MQTT 憑證登入伺服器後,情況瞬間變恐怖:

Not just from my device — from all of them.

他看到:

  • 多台睡眠眼罩的即時 EEG 腦波
  • 室內空氣品質感測器數據
  • 室內佔用狀態感測器

甚至能分析某個陌生人在深睡、某人在 REM。

換言之:
任何人都能讀你的腦波,也能遠端對你的眼睛施加電刺激。

這不是比喻,是作者在文中實際做到的事。

筆者心得與啟發

老實說,看完我只想到一句話:所有智慧裝置最終都會變成資安裝置。

這篇文章的恐怖之處不在於逆向工程,而在於:

  • 開發團隊竟然把所有裝置的 MQTT 憑證硬編碼在 App 裡。
  • MQTT 伺服器不做隔離,不做 ACL,不做安全管控。
  • 即時腦波、EMS 控制等極度敏感的功能全部暴露在公開 broker 上。

作為使用者,我們往往被「酷炫功能」吸引,但背後的雲端架構到底長什麼樣?資料如何被傳輸、儲存、保護?大多時候完全不知道。

這也讓我重新理解作者引用的那句話:

這讓我重新回去讀了一次 Karpathy 的 Digital Hygiene。

換句話說,在這個 IoT 大爆炸的時代,我們需要的不只是隱私意識,而是更嚴格的「數位衛生」習慣。

對我而言,這篇文章最大的提醒是:

  • 若一個裝置能讀你的腦波,它就一定能外洩你的腦波。
  • 若一個裝置能刺激你的肌肉,它就一定能被用來做壞事。

科技變得越親密,安全就應該更嚴格。可惜現實往往相反。



Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon