Daily Tech Briefing
AI 科技速览

每天 5 分钟内学习 AI。获取最新的人工智能新闻,理解其重要性,并学习如何将其应用于您的工作。

AI 快讯
Hacker News · 2026/7/30 01:27:12
Flume Water Monitor 915 MHz Security Is Pretty Good

Flume Water Monitor 915 MHz Security Is Pretty Good

AI 中文解读
Flume智能水表的无线安全评测出人意料:一位安全研究员花了几周时间成功破解了它的915MHz信号加密,但结论竟是“安全性不算差”。这款设备通过无线信号将水表读数传给家里的网络基站,基站再上传到手机App,方便用户实时查看用水量。研究员用软件无线电设备捕捉到跳频信号,发现数据加密是AES-128,但密钥只有44位有效长度——虽然不算极强,但在消费级产品中已属及格水平,破解它还得借助云端GPU跑一整天(花费不到10美元)。更关键的是,普通人家的水表数据就算被截获,顶多暴露出什么时候洗澡、浇花,很难造成实质伤害。不过,一旦密钥泄露,黑客可能伪造数据甚至推送恶意固件更新。目前这款设备销量很大,但现有设计让攻击成本远高于收益,普通用户无需恐慌,只需确保基站和WiFi网络不被轻易物理接触即可。
Jul 28, 2026Flume Water Monitor 915 MHz Signal Security – It’s Not BadThe Flume Water Monitor is a widely used consumer device that attaches to a home’s water meter and transmits near-real-time usage data to a companion bridge device on the home Wi-Fi network. The bridge then uploads the data to the cloud, where it is accessible via the Flume app. The water-meter-sensor–><–bridge link uses a 915 MHz band RF signal. This link is encrypted, and I was able to defeat the encryption with a few weeks of part-time effort, aided by the reverse-engineering work published by Steve Crosby [1]. Here’s a brief summary of what I did. Finding and Demodulating the 915 MHz Band RF Signal FCC documentation indicates the device uses a 50-channel frequency-hopping approach in the 902.5–927 MHz band, with 500 kHz channel separation. I tuned my LimeSDR Mini software defined radio to the center of the band (using a 20 MHz display bandwidth) and turned on the faucet. Short-duration (~1 ms) signals with ~500 kHz bandwidth were readily visible, as shown below. Example Frequency Spectrum of Flume RF Message (909 MHz center frequency) After some experimentation, I determined that the signal uses 2-FSK (Frequency Shift Keying) modulation at 200 kbps [2], with a portion of the ~25-byte messages whitened using an option in the sensor’s RFM69 transmitter chip. Side note: the whitening sequence is poorly documented, but I believe it begins with FF 87 B8 89… (see [3] for full sequence). The message structure is straightforward: I validated the Cyclical Redundancy Check CRC-16 values using the generator polynomial 0x1021 (per the chipset documentation) and with the initial seed and XOR options determined via exhaustive search. What About the Encrypted Payload? The 16-byte payload is encrypted in AES-128 Electronic Codebook (ECB) mode (another RFM69 chipset option). According to the raw data in Crosby’s post, the 128-bit key is derived from an 8-byte key using a simple hardcoded mapping. While 64 bits is still too large to brute-force directly, it turns out that a subset of the RF message header bytes (not encrypted) provide another 16 bits of the key. This reduces the search space to 48 bits. Adding the assumption (inferred from Crosby’s data) that half of the key’s last byte is a known constant further reduces it to 44 bits. I brute-forced the remaining 44 unknown bits by testing multiple messages and looking for consistently low-entropy plaintext (or plaintexts with a high number of matching bits). An unoptimized Python script on a decent GPU took roughly one day (<$10 on a cloud platform). Wrapping It Up For a consumer water sensor, a frequency-hopping waveform combined with 44-bit effective encryption on the payload is not an unreasonable level of security. That said, there is still some risk: with knowledge of the AES key, CRC algorithm, and other parameters, it becomes possible to generate spoofed messages. These could potentially enable malicious firmware updates if over-the-air (OTA) updates are supported (I have not investigated this and do not plan to). I reached out to Flume. They were very responsive, and their CTO shared an overview of their already-in-progress plans to further improve the product’s privacy and security. They are now comfortable with the release of this post. [1] (https://lithostech.com/2024/12/diving-into-flume-water-monitor/) [2] other signals with different data rates were also observed (e.g. upon bridge reboot) [3] (https://www.nxp.com/docs/en/application-note/AN5070.pdf)
分享
阅读原文