a muffin with purple glowing regions where a 3d vornoi function using chebychev distance exceeds some threshold

metamuffin's personal website


Spying on microphones through electrical interference (or something along those lines)

Today I was using my rtl2832u-based software defined radio to listen to air traffic control and such. At some point when I was scanning around in 6m Ham-Band I noticed two pretty strong signals. I was suprised to even find anything with an antenna only 50cm of length. However when I frequency-demodulated any of the two signals I was able to hear myself speak. At that point I got slightly creeped out and started investigating.

I was able to confirm that the audio was what is being recorded by my laptop's built-in microphone. My first hypothesis was that this was not actually broadcast but just interference because the SDR is in the same electrical circuit as the rest of my laptop.

Later I tried to check if this is a problem in laptops in general by my friend testing it on their laptop. This did yield an audio signal, however the one of my laptop! (They were positioned about 1m apart.)

When I arrived at home I tried spying on my laptop's mic but wasn't able to reproduce this behaviour if it was not in the same circuit.

I would really like to know why this is happening. I still can't explain why the signal is frequency modulated and why it is carried by such a high frequency (around 50MHz). In case you want to reproduce, here are some details about the setup:

In the scenario where this can actually be received from nearby, this is a somewhat critical security problem since even keystrokes might be recovered from the audio.

Also if you have any expertise or clues please contact me.

Update: I have done some research and recognized that this is actually a very common problem and that it also occcurs on otther machines. People were even able to decode emission vom VGA and DVI cables to recover the pictures that is sent. Crazy!

Screenshot of GQRX

Article written by metamuffin, text licenced under CC BY-ND 4.0, non-trivial code blocks under GPL-3.0-only except where indicated otherwise