系统与基础设施github.com
系统总线电台:不借助发射硬件,让电脑发出 AM 广播
System Bus Radio: Transmits AM radio on computers without transmitting hardware
2016 — 2020,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是一个开源项目,利用 CPU 执行精确计时的指令循环,让主板总线产生电磁辐射,在没有无线电发射硬件的电脑上发出可被普通 AM 收音机接收的信号。它演示了计算机部件可被当作无意中的发射天线,也让人重新审视'气隙隔离'的安全性。
为什么经久不衰:它把电磁泄漏这种冷门的安全威胁变成了人人可动手验证的极客实验,兼具趣味性和安全启示,因此多年来反复被翻出。
HN 评论精选
用总线电磁辐射做调试输出,是真实可行的工程手段
我用这个方法调试过 Apple Newton 的启动问题:最新固件在生产硬件上变砖(没有可用的 LED、GPIO 等),但开发硬件上正常。于是我写了一些在总线上做不同操作的小循环(听起来不一样),撒在启动路径各处,然后用便携 AM 收音机监听。把循环逐步往路径深处挪,不到一小时就定位了问题。本来也可以请硬件工程师焊个 GPIO,但这个方法更有趣。
kabdib查看英文原文
I debugged a boot issue on the Apple Newton this way. The latest flash image was a brick on production hardware (no available LEDs, GPIOs, etc.) but not on development hardware. But I could flash a new OS image. So I wrote some small loops that did different stuff on the bus (so that they sounded different) and salted the boot path with them, then listened in on my portable AM radio. Found the problem inside of an hour by moving the loops further down the path. There were probably other ways to do this (could have coaxed a hardware tech in the lab to solder in a GPIO), but this way was more fun. :-)
电磁泄漏是真实威胁,气隙防护需要距离和屏蔽,但实际攻击成本限制了适用场景
几十年前我的文字寻呼机收到乱码,后来发现是那台 Pentium 150MHz 电脑的 CPU 频率恰好调制了寻呼机的 150.5MHz 频率。主板走线可以当天线,CPU 引脚能产生并调制时钟脉冲。这个软件只是把主板总线本身调制出有序信号的实现。我认为 FM 可能比 AM 更容易做干净。这说明气隙隔离的距离必须很大,敏感数据最好加上法拉第笼。考虑到攻击的实际成本,它不会用来偷普通人的信用卡号,只有源代码、军事情报这类高价值目标才值得,不过网吧、图书馆等场所的机器大多联网,走网络外泄更容易。
cestith查看英文原文
Back a couple of decades, my alphabetic pager was going off but the messages were gibberish. It turned out the CPU in the PC I'd been asked to look at was a Pentium running at 150 MHz. I'd set my pager directly on top of the case, and the nominal frequency for it was 150.5 MHz, frequency modulated. The lines in the motherboard can be used as antennae and the CPU pins can produce a clock pulse and modulate it. There used to be a parallel port audio device for PCs which was mainly just different resistors. The driver for it just timed pulses to the different pins. This software just shows a bit of a novel implementation to modulate the motherboard bus itself in an ordered way to produce a signal with useful data in it. I imagine FM may be easier to pull off cleanly than AM, actually. This shows that an air gap has to be pretty large, and should probably be backed up by a Faraday cage if your data is that sensitive. I don't suspect this will be used to get grandma's credit card number from her home desktop considering the logistics of the actual attack. Source code to something really important, military data, diplomatic dispatches, or something else of really high value would be the only sensible targets in a closed area. However, a university lab, Internet cafe, coffee shop, or public library might be easy enough. Most of the machines there will be on the network, and that's an easier way to exfiltrate. The main advantage of this in the common attacker's toolkit is it won't be seen by a host-based firewall. DNS, DHCP, or lots of other ways could be used to exfiltrate through most firewalls though. This sort of thing is a great novelty for most of the computer-using world. It's kind of scary for people who are actually in need of an air gap, but I don't think it's unforeseen.
计算机无意发射电磁信号的历史可追溯到 1960 年代
用无线电干扰生成音乐的历史很悠久:1960 年代的 IBM 1401 就能做到,还能让行式打印机按字符序列'演奏'音乐。后来 1401 的收音机音乐甚至被一位冰岛作曲家改编成管弦乐并发行了 CD。
kens查看英文原文
Generating music via radio interference goes way, way back. The IBM 1401 (1960's era) could do this:https://www.youtube.com/watch?v=EPk8MVEmiTI It could also play music on the line printer by banging out the right sequence of characters. http://mail.computerhistory.org/pipermail/1401_software/2009-February/000289.html Strangely, the 1401 radio music was later set to orchestra and released as a CD by an Icelandic composer: http://www.npr.org/templates/story/story.php?storyId=7408766
反向问题:无硬件的电脑能否接收这类信号实现机器间通信
能不能反过来用没有特殊硬件的电脑接收这些信号?比如让音频、WiFi 或其他组件受到可被软件检测到的干扰?肯定达不到像样的传输速率,但两台电脑之间能否借此传递任何信息?
jpalomaki查看英文原文
What about receiving these communications using computer without special hardware? Could this interfere with audio, wifi or some other component in away that could be detected by software? Quite certainly decent bit rates would be out of question, but would it be possible to pass any information between two computers using this?
历次讨论
同类还值得读
TTY 揭秘(2008)
The TTY demystified (2008)
经典文章深入剖析了 Unix/Linux 中 TTY 子系统的工作原理,包括线路规程、终端驱动、信号与控制字符等机制。
系统与基础设施上首页 11 次 · 2009–2025linusakesson.net编辑精选为什么 GNU grep 这么快
Why GNU grep is Fast
FreeBSD 邮件列表上一篇广为流传的帖子,解释 GNU grep 为什么快:核心在于 Boyer-Moore 字符串搜索算法配合精心优化的内部循环和 I/O,让程序在搜索时“…
系统与基础设施上首页 9 次 · 2010–2022lists.freebsd.orgXplain:为普通人讲解 X11
Xplain – Explaining X11 for the rest of us
《Xplain》是作者(HN 用户 Jasper_)写的一系列 X11 长文,用他在浏览器中重建的 X11 绘图模型做交互演示,讲解 X11 的绘图模型与窗口系统设计。
系统与基础设施上首页 6 次 · 2013–2020magcius.github.io编辑精选旋风教程:为 Linux 创建极小 ELF 可执行文件(1999)
A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux (1999)
breadbox 写于 1999 年的经典教程,主题是如何为 Linux 手工构造并裁剪出体积极小的 ELF 可执行文件。
系统与基础设施上首页 6 次 · 2007–2025muppetlabs.comPostgreSQL 内部原理
The internals of PostgreSQL
《The Internals of PostgreSQL》是一本免费在线书籍,系统讲解 PostgreSQL 的内部实现,包括查询处理、并发控制、WAL、缓冲区管理等核心机制。
系统与基础设施上首页 5 次 · 2017–2025interdb.jp编辑精选