Flipper Zero

Flipper Zero是一款便攜式多功能駭客裝置，專為與存取控制系統互動而開發。該裝置能夠讀取、複製和模擬RFID和NFC標籤、無線電遙控器、iButtons 和數位存取金鑰等。它還具備 GPIO 介面。這個裝置由Alex Kulagin 和 Pavel Zhovner 兩人在2019年構思設計，座落於美國德拉瓦州的Flipper Devices Inc.所銷售。2020年8月透過 Kickstarter 群眾募資活動首次宣布，籌集了 480 萬美元。首批裝置在群眾募資活動結束後 18 個月內交付給支持者。該裝置的使用者介面呈現了一個像素藝術海豚虛擬寵物。與虛擬寵物的互動是該裝置的核心遊戲機制。裝置功能的使用定義了寵物的外觀和情緒。

在內建遊戲中，「升級」海豚的主要機制是使用各種駭客工具。雖然存在無害的用途（例如作為電視的遙控器或二氧化碳感測器），但某些內建工具具有潛在的犯罪用途，包括 RFID 竊取（RFID skimming）、藍牙阻斷服務攻擊、模擬識別證章中使用的 RFID 晶片、使用內建的無線電複製器來開啟車庫門、解鎖汽車，以及無線BadUSB等。

## 概觀

操作Flipper Zero不需要電腦或智慧型手機；它可以透過 5 向十字鍵和獨立的返回按鈕進行控制。Flipper Zero 具有一個單色橘色背光LCD螢幕，解析度為 128×64 像素。為了與外部模組連接，該裝置在頂部具有通用輸入/輸出（GPIO）針孔。使用者數據和韌體更新儲存在 microSD卡上。某些操作，例如韌體或使用者數據更新，需要連接到已安裝開發者軟體的電腦或智慧型手機。

2023 年 7 月，該裝置開設了應用程式商店。

## 技術規格

Flipper Zero 專案的電子電路圖和韌體以GNU通用公共許可證（GNU GPL）開源。但該裝置並不屬於開源硬體，因為其印刷電路板（PCB）並未開源，這使得愛好者若不具備電子工程知識，便無法自行製作該裝置的複製品。

### 硬體

Flipper Zero 的硬體由四片透過軟性電纜連接的PCB模組組成。2,000 mAh鋰聚合物電池位於裝置中央，在三片 PCB 之間。

- 主 PCB（主機板）：包含核心元件，包括主處理器（STM32WB55）、GPIO 接腳、LCD 顯示器、Sub-GHz 晶片及其天線、藍牙天線、microSD 卡槽、電池控制器、USB Type-C 連接埠，以及用於按鍵的薄膜開關。所有額外的 PCB 都透過軟性電纜連接到主 PCB。
- 紅外線與 iButton 電路板：配備紅外線接收器（TSOP-75338）和三個用於傳輸紅外線信號的紅外線 LED。包含三個用於 iButton（1-Wire）標籤的彈簧針和一個用於音效回饋的壓電蜂鳴器（BCE-MX8530A）。
- NFC電路板：包含 NFC 晶片（意法半導體ST25R3916）以及用於 125 kHz RFID 的類比電路。
- 雙頻 RFID 天線電路板：具有兩個被動線圈天線：一個用於 13.56 MHz NFC 通訊，另一個用於 125 kHz RFID 系統。

#### 主處理器

<image>

<image>

<image>

Flipper Zero 採用意法半導體（STMicroelectronics）生產的雙核心ARM架構的 STM32WB55微控制器，具備 256 KB RAM 和 1 MB Flash 儲存空間。第一個核心是 64 MHz 的 Cortex-M4，用於執行主要韌體。第二個核心是 32 MHz 的 Cortex-M0，執行意法半導體專有韌體，實作藍牙低功耗通訊協定。儲存在 STM32WB55 安全區域中的金鑰用於即時解密加密金鑰，然後應用於解碼 Sub-GHz 通訊協定。此機制讓裝置能夠處理 Sub-GHz 通訊協定的加密通訊。然而，所使用的加密並非完全安全，主要作為一種混淆手段，而非強大的保護措施。其目的是讓逆向工程更加困難，但並不提供絕對的安全性。

#### Sub-GHz 無線電

在 300–900 MHz 無線電頻率範圍內進行無線電發射和接收時，使用的是德州儀器CC1101晶片，它支援振幅偏移鍵控（ASK）和頻率偏移鍵控（FSK）調變。與軟體定義無線電（SDR, software-defined radio）不同，CC1101 晶片無法擷取原始無線電信號。此限制要求使用者在接收無線電信號前預先設定調變參數，否則信號將會被錯誤接收。

#### 紅外線

Flipper Zero 的紅外線收發器由數位接收器和 LED 電路組成。基於 TSOP-75338 模組的接收器可解碼傳入的紅外線信號。紅外線傳輸由三個直接連接到微控制器（MCU）的 LED 管理，MCU 控制信號輸出。

#### NFC 和 125 kHz RFID

NFC 子系統基於 STM ST25R3916 晶片，負責讀取和模擬高頻卡片。Flipper Zero 中的 125 kHz 低頻 RFID 功能主要透過在 MCU 上運行的軟體實現，而無需專用的 RFID 晶片。它也支援讀取 110–140 kHz 範圍內的 RFID 標籤，儘管讀取距離會縮短。

#### 硬體擴充

2024 年 2 月，Flipper Zero 的製造商為其發布了一個遊戲模組。該裝置以樹莓派Pico為硬體，具有HDMI介面，允許將 Flipper 用作遊戲控制器或連接到電視。

### 韌體

<image>

Flipper Zero 的韌體基於 FreeRTOS 作業系統，並在硬體層上使用自己的軟體抽象。該韌體主要使用 C語言編寫，在第三方模組中偶爾使用 C++。該系統使用多工處理結合事件驅動架構，組織在單一位址空間中執行並透過佇列和事件系統進行通訊的應用程式和服務的互動。該系統可以從隨機存取記憶體（RAM）和唯讀記憶體（ROM）執行。從 RAM 執行用於提供無線韌體更新（OTA）。

韌體包含以下組件：

- FuriCore：提供與排程器和多執行緒互動的API。FuriCore 抽象化並擴展了 FreeRTOS 排程器的功能，並添加了額外的系統原語。
- FuriHal：提供與硬體互動的 API。
- 服務和應用程式：裝置的主要功能。Sub-GHz、紅外線、RFID、NFC 等都是供使用者互動的應用程式。圖形使用者介面（GUI）、命令列介面（CLI）、通知、儲存等則是應用程式開發的額外 API。
- 函式庫和驅動程式：涵蓋各種通訊協定、裝置驅動程式、檔案系統驅動程式和開發工具。

使用者和系統資料儲存在基於 LittleFS 函式庫的內建快閃記憶體中。與 SD 卡上檔案系統的互動是使用 FatFs 函式庫實現的。

建置系統基於 SCons 工具，並使用以 Python 編寫的額外工具。為進行編譯，該系統使用基於 GNU Compiler Collection 的自有開放工具鏈。

## 應用

### Sub-GHz

Flipper Zero 內建一個模組，可以讀取、儲存和模擬遙控器，讓它能夠接收和發送 300 至 928 MHz 之間的無線電頻率。無線電鎖、無線門鈴、遙控器、柵欄、大門、智慧照明和其他設備都可以透過這些控制器進行操作。使用 Sub-GHz，Flipper Zero 還可以接收並解碼許多氣象站的資料。

### 125 kHz RFID

Flipper Zero 相容於低頻 （LF）無線電頻率識別（RFID），這項技術用於供應鏈追蹤系統、動物晶片和存取控制系統。與 NFC 卡不同，LF RFID 卡通常不提供高層級的安全性。這項技術有多種外型規格可供選擇，包括塑膠卡、鑰匙圈、標籤、手環和動物微晶片。Flipper Zero 中的低頻 RFID 模組可以讀取、儲存、模擬和寫入 LF RFID 卡。

### NFC

NFC 技術用於智慧卡中的存取控制和卡片，以及數位名片，與 Flipper Zero 相容。13.56 MHz NFC 模組能夠模仿、讀取和儲存這些卡片。NFC 卡是具有唯一識別碼（UID）的應答器，以及用於資料儲存的可重寫記憶體。當放置在讀取器附近時，NFC 卡會傳輸所需的資料。

### 紅外線

Flipper Zero 可以讀取和傳輸使用紅外線（IR）的信號，例如電視、空調或音訊設備。它可以學習和儲存紅外線遙控器，或使用其自身的通用遙控器。

### GPIO 和模組

Flipper Zero 探索硬體、燒錄韌體、偵錯和模糊測試。它能夠作為 UART、SPI或I2C的 USB 轉換器運作。內建的 GPIO 接腳連接到硬體，按鈕操作，發送代碼，並在 LCD 螢幕上顯示訊息。

### iButton

Flipper Zero 配有一個 iButton 連接器，使其能夠讀取和模擬 iButton 接觸式鑰匙。

### BadUSB

BadUSB 裝置具有更改系統設定、開啟後門、恢復資料、啟動反向 Shell 以及執行任何其他基於實體存取操作的能力。Flipper Zero 可以充當 BadUSB，當連接到不安全的計算裝置時，它會像鍵盤一樣作為人機介面裝置 (HID)。指令使用 DuckyScript注入並執行。

### U2F

Flipper Zero可作為通用雙重因子驗證（U2F），例如Google帳戶和其他服務的第二重驗證因素。

### HID 控制器

Flipper Zero 可以取代某些人機介面裝置（HID）控制器。這使它能夠與手機或電腦互動。它可以遠端控制媒體播放器、電腦鍵盤或滑鼠、簡報遙控器等。

- 簡報：簡報遙控器
- 鍵盤：可作為電腦的鍵盤使用
- 媒體：控制電腦上的媒體、作為手機的相機遙控器
- 滑鼠：可作為電腦的滑鼠使用
- TikTok 控制器：控制手機上的 TikTok 應用程式
- 滑鼠搖動器：在電腦上重複滑鼠移動，以保持電腦始終顯示為活動狀態
- 按鍵通話：將 Flipper 用作Push-to-talk控制器／無線 PTT 遙控器

## 法律事件

### 美國海關扣押與釋出

2022 年底，美國海關與邊境保護局扣押了一批 15,000 台Flipper Zero 設備，但這些設備最終被解除扣押。

### Amazon 封鎖

2023年4月7日，電商平台Amazon以其可做為「卡片竊讀裝置」為由，禁止在其網站上銷售 Flipper Zero。

### 巴西查獲

2023 年，訂購 Flipper Zero 的巴西買家報告稱，他們訂的貨已被巴西國家電信局（Anatel）沒收。根據電子前哨基金會的說法，Anatel 已將該設備標記為犯罪工具，使認證過程變得複雜。使用者曾試圖使其設備獲得Anatel認證，但未成功。電子前哨基金會表示，這些沒收行動將限制巴西網路安全研究人員進行研究的能力，因為他們對該設備有合法用途。

### 關於 Flipper Zero 的警察公告

2023 年 8 月，The Daily Dot 發表了一篇關於執法機構南達科他州融合中心（South Dakota Fusion Center）發布給警察人員的公告的文章。該文件暗示，極端分子可能會使用該裝置繞過存取控制系統，特別是在發電廠。該公告承認，沒有具體證據顯示上述極端分子計畫使用該裝置，儘管在線上論壇上已表現出興趣。

Flipper Devices Inc.執行長 Pavel Zhovner 被出示該公告副本後表示，Flipper Zero 經過刻意設計，不會影響現代門禁系統。他還指出，公告本身也提到，發電廠的大門並非天生易受該裝置影響，但較老舊的大門可能會。

### 蓋威克機場查獲

2023年9月27日，英國蓋特威克機場的一名安保人員因安全考量沒收了英國科技專家 Vitor Domingos 攜帶的 Flipper Zero。該設備隨後被交給薩塞克斯警方。

### 藍牙低功耗攻擊

2023年9月，一位名為「Techryptic」的安全研究人員展示了使用 Flipper Zero 發動藍牙低功耗垃圾訊息攻擊的能力。隨後不久，開發了一款客製化的 Flipper Zero 韌體，能夠對 Android 裝置和 Microsoft Windows 電腦發動垃圾訊息攻擊。之後不久，也開發了一款用於發動 BLE 攻擊的 Android 應用程式。

在 2023 年於美國伊利諾州羅斯蒙特舉辦的中西部毛皮節（Midwest FurFest）上，參加者報告稱Square 支付服務讀取器遭到嚴重干擾，且一個胰島素幫浦控制器因 BLE 垃圾訊息而崩潰。一位名為 Remy 的研究員向 Bleeping Computer 表示：「對於啟用 BTLE 的醫療設備，至少干擾會導致受影響者的生活品質下降，」，並補充說：「某些情況下的干擾可能不會危及生命。其他人可能就沒那麼幸運了。」·

因此，Wall of Flippers 專案為 Linux 和 Windows 開發了一個 Python 腳本，用於檢測來自 Flipper 和 Android 設備的 BLE 垃圾訊息攻擊。

### 加拿大提議的禁令

2024年2月，加拿大創新、科學及經濟發展部（ISED）宣布有意禁止 Flipper Zero 及其他可用於複製遙控進入無線信號的裝置，以回應汽車盜竊案件的顯著增加。同年3月20日，ISED 宣布將禁止使用 Flipper 進行非法行為，但不會完全禁止該裝置。

## 基本資料

- 發布日期：2020年8月
- 中央處理器：意法半導體 STM32WB55
- 連接接口：NFC、125 kHz RFID、Sub-1 GHz無線電、紅外線收發器、GPIO引腳、低功耗藍牙、USB 2.0、1-Wire
- 存儲器：256 KB 主記憶體、1024 KB 快閃記憶體
- 移動存儲：Micro SD（最高256 GB）
- 尺寸：100 x 40 x 25 mm
- 重量：104g
- 作業系統：FreeRTOS
- 製造商：Flipper Devices Inc.
- 音效：蜂鳴器 (100–2,500 Hz): 最高87分貝
- 電源：2,000 mAh鋰聚合物電池