System Bus Radio: Transmits AM radio on computers without transmitting hardware
github.com
github.com
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. :-)
Thinking back this doesn't make much sense.
EDIT: I was maybe ⅓ right https://web.archive.org/web/20070613032334/http://www.ipodli...
Thats awesome
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.
My first thought - an alternate reality where you could turn power to (say) 100kW of light and then back again - would actually not be enough, as light can be pulsed so rapidly we're already using it to encode data. Welp.
I'm guessing that UPS-type equipment was used as a form of powerline isolation, at least.
[0] https://www.wbdg.org/FFC/DOD/UFC/ufc_4_010_05_2013_c1.pdf
Resistor ladder DA converters are pretty fun.
https://en.wikipedia.org/wiki/Covox_Speech_Thing
https://hackaday.com/2015/11/05/logic-noise-digital-to-analo...
https://www.tek.com/blog/tutorial-digital-analog-conversion-...
No such luck. The end of the civilization came, rather anticlimactically, when the humans discovered that side effects and timing attacks made any form of cyber-security a joke. Their computers screeched to a halt bogged down by nightmarish security patches.
By then, it was already too late to go back and live off the land.
But if you were timesharing on a quantum machine (which, given that they need $1M microkelvin coolers seems like it will be common) it's not impossible that information could leak. Given the analog way they work, you could probably set up a computation that would be sufficiently sensitive to initial conditions that the not-entirely-decayed-to-zero previous computation could influence it.
(Yup, of course they’re extremely simplistic in terms of inner architecture, but that’s quite beside the point, as I think we both agree.)
There may also be an option to use a directional antenna to pick it up from a great distance away.
Physical infiltration of networks isn't a fictional concept. It does happen all the time.
It’s possible to exist in a relative detente between nations, but when the capacity to end human civilization is democratized we are dead. Many forms of incredible tech are really maturing, and frankly our laws are a century or more behind. We’re in real trouble if we have to wait to be burned to believe in the fire this time.
Unfortunately it seems that most of the smartest people are desperately trying to strike it rich, and that’s just about all. Even most of the people who want to make a difference only feel they can/should after making “fuck you money.”
These articles are only friendly reminders: computing runs in physical reality. Whatever you do, whatever information you process, its always broadcasting itself at the speed of light. The only thing you can do is to try and raise the practical costs of a side-channel attack so much, that it becomes much more expensive than the target data is worth to the attacker.
http://computermuseum.informatik.uni-stuttgart.de/
Klemens usually feeds punched cards into one of his treasures and puts a radio on top. Playing music.
So much to see!
http://computermuseum.informatik.uni-stuttgart.de/cm003.html
Including real core memory.
Anyone who's in Seattle for any length of time owes it to themselves to check out the Living Computer Museum: http://www.livingcomputers.org/Discover/At-The-Museum/Vintag...
In addition to the working Alto, MITS Altair, etc. they have a dedicated cold room for working vintage mainframes. You can even request an account on one of 'em so you can remotely telnet in. You're also openly invited to interact with just about any of the microcomputers they have up and running that day.
That's just a small part of their collection. Neat stuff.
Highly recommended.
https://pitchfork.com/reviews/albums/9583-ibm-1401-a-users-m...
badBIOS Sound: https://arstechnica.com/information-technology/2013/10/meet-...
Acoustical Mesh Network: https://arstechnica.com/information-technology/2013/12/scien...
DiskDrive Sound: https://arstechnica.com/information-technology/2016/08/new-a...
Survellance Cameras: https://arstechnica.com/information-technology/2017/09/attac...
https://github.com/anfractuosity/musicplayer
Which plays .wav files (example with Taylor Swift) to a nearby radio
https://www.youtube.com/watch?v=xSj5skknXWg&feature=youtu.be
In a far less sophisticated way, I was able to achieve audio transmission without any extra hardware except for a ~6 foot aux audio cable. This was back when I was maybe 14 years old and I was already building RF circuits with crystal oscillators and such. Learning that audio is sampled at specific frequencies, I was then lead to wonder if the same principles used to send and receive audio through proximal electromagnetism(since electrical current generate fields). While this is obvious to any adult with basic knowledge of science, it was quite novel for me to discover that my boom box radio, when set to auxiliary mode, could slightly pick up audio passing through an open-ended cable from my sound card. What I really didn't expect was that by upping the volume further, I could send a clear signal across several feet. Clearly, this wasn't just the force of magnetism but there was some radio activity happening. I never figured out what was going on, although I hypothesized that the transistors in the microphone input hardware of the boom box were configured in a way that was behaving like a transistor radio.
I would love to understand what was really happening there.
I am not a professional, but my impression is that AUX mode basically just pass the input audio signal directly to the speakers.
I am not quite sure what you mean by an open ended cable though, nor what end of the setup you upped the volume one (i suspect the PC).
By open-ended cable, I meant that there was an audio cable coming out of my sound card but connected to nothing on the other end. That's how I remember it, anyway. Actually, I think I increased the volume output in my PC was well as the volume on my receiver.
At Cold War time, in USSR, American spy device was discovered that was placed on the street outside the wall of main frame computer installation nearby drum printers (https://en.wikipedia.org/wiki/Printer_(computing)#/media/Fil...). The device was recording signals from them and retransmitted recording in compressed form to satellite.
The device was masqueraded as a canned "Килька черноморская в томате" (Canned fish: Black Sea sprat in tomato) and was transmitting short narrow beams upstream on schedule.
I suppose it could be capturing EM emissions from the printers rather than acoustic, but that would make it fundamentally more like the other TEMPEST hacks as a way to exploit unintentional emissions, rather than as a sneaky covert channel where you have control over the computer equipment, but don't have access to external interfaces to offload your stolen data.
Unless I'm misunderstanding some part of your description, anyway.
https://arstechnica.com/information-technology/2015/10/how-s...
It's fun to play with, and is a great hack, but please don't try and use it for anything or any length of time; it puts out a tonne of horrible harmonics all over the radio spectrum.
I have a „Hörmann“ garage door opener. For a long time, I want to use my phone instead of the original sender. Therefore, I thought to run a raspberry and send the signal from there.
I recorded the signal with HackRF One as .wav, the problem here is that HackRF records with a sampling rate much higher than 48kHz (by default it is 10MHz!). So one has to downsample the recorded file, which I did with Matlab (downsample(signal, „fs_of_record/fs_for_rpitx“)). The resulting .wav signal is now send at 433MHz (either my garage door listens their too, or 2nd harmonic works?!)
(You do need an amateur radio license for this, but in the USA at least the technician one is very easy to get.)
the harmonics are filtered by a LPF, and the broadband noise is filtered by a BPF [...] a buffer amp is provided for isolation. This also provides a boost to the TX signal
And this project ties in an RTL-SDR for receiving: https://github.com/ha7ilm/qtcsdr mentioning AM/NFM/WFM/LSB/USB [...] although NFM/WFM works as expected, the AM/SSB modes need a much higher level of filtering
This is typically limited to a 50-100 foot radius without amplification, right?
reversing the LEDs of the screen to become an input, the LED screen works as a basic light sensor
(only the very tiniest bit related, for the BBC micro:bit)
I rent a VPS at a nearby datacenter, and I could maybe ask for a tour. It would be interesting if I could pick up these signals from their server racks by running the code on my VM.
But as things are, I don't THINK so, due to indeterminate scheduling. The likelihood is very low. (Translation: I really do want this to work because it would be cool :P - but the VM world has already been turned upside down this year....)
If you have a spare machine lying around you could maybe spin up the same VM software on that and see if anything interesting happens. After establishing very very good radio transmissions off the bare metal (and finding all potential frequencies etc), of course.
The other good question is what sort of transmission frequency would be used by the hardware your VPS is running on. That would be fun to find out about...
It will be a sad time when the AM bands are discontinued or moved to digital modes (where this technique will no longer work).
https://www.youtube.com/watch?v=EPk8MVEmiTI
You can see the 1401 demo'd on Wednesdays and Saturdays -- although they don't do this in the regular demo, just read cards and print on the line printer.
Uses the monitor to generate an AM signal.
After a bit of experimentation, I was able to produce two or three distinct tones of discordant buzzing with loops.
Computer music!
In the labs, there were IBM Selectric terminals dedicated to APL.
And there was a BASIC dialect over at what was then "Ryerson Polytechnic." There was a room with terminals and acoustic couplers, no security to keep you out.
You need a username and password to use the terminals, but the username and password for each class was posted on a corkboard, so you would write your own programs as long as you didn't get in the way of actual students trying to finish their assignments.
I don't doubt that "most" programming was done in assembler, but there was no shortage of higher-level programming going on.
Bill Gates was confounded and astounded, and described it as, "the best demo program I've seen for the Altair…". He could not figure out how the computer could broadcast to the radio.
You can read more about it here => https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists
Here's a video of a minicomputer generating AM radio music in 1971:
https://www.youtube.com/watch?v=akvSE5Z474c&lc=D5Mdy7u7Cxwsk...
PDP-8 music here => https://www.youtube.com/watch?v=vfx5H7ikA7Y
DECUS documentation entry for "PDP-8 MUSIC PLAYING PROGRAM" available on punch tape, 1976; written in assembly (PAL8) and fit in 4K words (12 bit word) of core memory. Worth a read. => http://www.pdp8online.com/miscdocs/DECUS/Decus%208-804_MUSIC...
Edit: I just saw lovelearning's explanation - https://news.ycombinator.com/item?id=16168969
"In this case, the copper traces connecting CPU to RAM on that particular computer are emitting EM radiation at a frequency of 1580 kHz."
I think 1580kHz could just be one of the harmonics.
I'm curious what defines the carrier, if it's a factor of the length of copper on the memory bus, clock frequencies etc?
I know there’s a story about US and Russian intelligence using this at an embassy or something, but I can’t find it.
These EM fluctuations are the emmissions we are talking about here.
Another likely source is the power supply, which has coils by the dozens and will react to varying loads of computational work. The cheap ones are already all over the radio spectrum even when you don’t want them to be.
Choosing which part of the computer is a matter of choosing the frequency which dictates the length of wire necessary and which parts can oscillate at that frequency.
This sentence from the linked paper is informative - "When data is exchanged between the CPU and the RAM, radio waves are emitted from the bus's long parallel circuits."
For some background:
Digital circuits like computer motherboards have components called oscillators that switch voltage on and off a number of times every second. This is what "clock speeds" refers to - 2.8 GHz CPU clock speed means voltage to CPU is being switched on and off 2.8x10^9 times per second.
All components like the processors, IO buses, RAM modules, etc. synchronize their actions to the rise and falls in these voltage levels. It's a way of synchronizing their actions.
One consequence of switching voltage on and off is that electrical fields build up and collapse (voltage is a measure of the electrical field), and cause magnetic fields to build up and collapse. We lay people call "oscillating electromagnetic fields" as "radio waves". This is the origin of radio waves from motherboards.
The missing link for transmission is that like any radio transmission, it requires an "antenna" - that is a conductor of some length. There are conductors on a circuit board in the form of copper traces through which current passes. These start acting like antennas.
In this case, the copper traces connecting CPU to RAM on that particular computer are emitting EM radiation at a frequency of 1580 kHz.
So far, all there is is some EM radiation with certain frequency and an antenna to transmit it. This is just the "carrier wave". But for transmitting useful information, some kind of modulation is necessary to encode data over that carrier wave. This project uses an SSE2 CPU instruction called MOVNTDQ or _mm_stream_si128 to write to memory, with the data to be transmitted encoded as sequences of 1s and 0s with certain frequency (rate) and for a certain time period. This act of at writing at a certain rate for some time period results in switching on and off of voltages on the traces between CPU and RAM which in turn creates modulated EM radiation.
TBH, I didn't understand the details of how this project modulates the binary data over a square wave and how it gets treated as amplitude modulation by a regular radio receiver, and I request another ELI5 from somebody else to explain it to me :)
Due to this limitation, this radio can only transfer a single tone at a time. Music must be monophonic.
To transfer a 60htz tone we just switch between the on and off state at 60htz. The On state will be at some random amplitude that we can't control.
What are these states? In the On state, we write to a memory address repeatedly very very fast (as fast as the computer allows). And in the off state we sleep.
Your two statements "This radio has no control over the exact amplitude. On state will be at some random amplitude that we can't control" were exactly the missing gaps I needed to clear my confusion. Very well explained, thank you very much!
https://news.ycombinator.com/item?id=16168317
Which I don't think is monophonic, but I could be wrong?
You may be right if that you tube clip is any indication. Neat!