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锂聚合物电池