31 comments

[ 2.7 ms ] story [ 86.8 ms ] thread
Nice to see someone else had one of my stray day dreams and implemented it. Albeit the version I thought of was a bit more malicious. In principle, if you know the frequency that a TV network broadcasts on, you could shape an that when broadcast happens to be coincident with a wifi packet. There was about a decade long window between when wifi was adopted to when analog TV was phased out where you could have tricked a TV station into transmitting some hack over a wide area.

Also worth noting the tempest trick should work in reverse. If you have a composite video to HDMI converter, whatever radio signal is on the video component should translate directly to pixels on screen. The hacky mans SDR.

I wonder if you could play PCM audio with this technique. I'm sure it would be very low fidelity, but it would be cool if you could make out a human voice.
THIS is what I want to see more of. These fun hacks like this are why I got into programming to begin with. Computers these days has gotten so dreadfully dull.
- Tempest for Eliza.

- Sic IRC client piped to awk (delete JOIN and QUIT msgs) and flite with a diff pitch and tone for each nick.

- Geekcode.

- Xaos.

- Nethack/Slashem. Lateral thinking it's a must.

- Recreational math books with links to old but functioning C, Basic (Just rewrite it in Perl) and Rexx. Use Gnuplot for plots.

-Fldigi+websdr+pulseaudio+preys+loopback OR sndio monitor mode under OpenBSD. Aucat and go-sstv under Obsd or qsstv under Linux.

-Minimodem hooked to icecast. Cast a random but good text adventure daily from https://if-archive.org and cast a review for it made with flite with the SLT or KAL voice. For example, Anchorhead at games/zcode.

Very cool! Although I'm curious about this part

> slowly change the frequency it's tuned to until you hear the sound. You might have to run the command a few times until finding the right frequency.

I don't really know much about this stuff, but shouldn't it be possible to calculate the frequency?

Nice. I wonder if something like this has been ever used to exfiltrate data from some air gapped computer.

Some years ago I tried the FM transmitter via GPIO hack for the raspberry pi. The range was surprisingly high, around 100m. First google result. https://linuxhint.com/turn-raspberry-pi-fm-transmitter/

It very much has been exploited since the beginning of computing https://en.wikipedia.org/wiki/Tempest_(codename)
Yeah. If you've ever wondered why, when you type in a password, it shows up as asterisks or dots, now you know. TEMPEST is why.
Does showing asterisks or dots help mask the signals from the keyboard vs not showing anything (ala most unixy auth)?

I'm pretty sure passwords are not shown to reduce shoulder surfing, especially from across the room.

The dots are just there for shoulder surfing and to give a visual feedback to the user.

If you want to steal a password, all the cool kids use a microphone or your phone's accelerometers.

https://arxiv.org/abs/1609.09359

https://www.cise.ufl.edu/~traynor/papers/marq-ccs11.pdf

https://phys.org/news/2017-04-criminals-pin-tracking-motion....

Those are much more recent attacks. We're talking about a time when CRT screens were the norm, they are noisy enough to read from quite a distance.

> A cathode-ray tube (CRT) is a vacuum tube containing one or more electron guns, which emit electron beams that are manipulated to display images on a phosphorescent screen.

https://en.wikipedia.org/wiki/Cathode-ray_tube

That causes a bit more signal than a keyboard, mic, or MEMS accelerometer, eh? :)

Definitely. All you have to do is look at American military intelligence's insistence on using SCIFs for viewing and working with sensitive electronic (and physical, but for more boring reasons) documentation.

https://en.wikipedia.org/wiki/Sensitive_compartmented_inform...

They know it's important to limit what kind of emissions make it from your equipment to the outside world because they've successfully used exactly these techniques in the past to extract information from others.

Reminds me of this watch I used to have way back in the day, maybe late 90's... It had a little eye and you would put it in some kind of programming mode and the eye would read the signals on the screen. If I recall correctly it looked a lot like this, just flashing lines on the screen.
It might be possible to train a neural network on the RF emissions vs the image displayed and make it able to reconstruct the image based on the RF emissions. Might be blurry and noisy but worth a try!
What? How do you solve computing problems without a neural network? Surely such a thing is not possible.
If the computer hasn't learned how to solve the problem on its own, is the problem really solved?
It’s true! They’re teaching kids at the local school how to build AI to help assist with their grammar and arithmetic!
It's far worse than just being able to listen to music, with the right receiver and software you can decode the image from the monitor. Here's a quick overview. https://hackaday.com/2020/05/14/tempest-comes-to-gnu-radio/

I have verified that it works with my equipment (alarmingly well), though higher resolutions are harder to get a clear image out of. It even works with multiple monitors in close proximity, you just have to select the right parameters. Having an appropriate antenna helps avoid interference and improve the quality.

Eh, wait. Tempest for Eliza works on LCD monitors too. I tried it with xvidtune to match the settings and the tune worked perfectly, and I did this over 10 years ago.
If we link an AM receiver with a machine learning model, we should be able to train the model to recognize patterns on the monitor.
That’s really neat, I recall having a computer in the late 90s (maybe 2000?) with some cheap speakers next to the monitor. When scrolling text you’d get static in those speakers, presumably for the same reason (well, the earlier CRT example of this craziness)