News for hackers. Stuff that matters.
Re:Open source laser microphone picks up laptop keystrokes by spondylosaurus on Tuesday August 13, 2024 @12:33AM (#41232272)
Re. "every key stroke has a unique sound signature": is this because each key in a keyboard has subtle differences/defects unique to that particular device, or because of where the key sits within a QWERTY keyboard, geometry-wise?

I'm trying to understand whether this requires a "decoder ring" recording ahead of time (in the case of the former—okay, on this keyboard an A sounds like this, a B sounds like this...), or whether you'd be able to pull this off with no prep work because an A always sounds like an A and a B always sounds like a B.

Re:Open source laser microphone picks up laptop keystrokes by travisjungroth on Tuesday August 13, 2024 @12:49AM (#41232363)
Your question is off a bit. It isn’t exactly either of those.

Each combination of room, mic, keyboard, and letter is going to have a unique sound signature. But, you don’t need prep work.

If you can just record enough keystrokes, it’s possible to figure out what sounds go with what letters. This is the “substitution cipher” the other comment mentioned.

For example, the sound that comes every 2-10 letters or so but rarely twice is spacebar. The one that sometimes comes between two spaces is I. It’s obviously more advanced, but just to give you an idea.

Re:Open source laser microphone picks up laptop keystrokes by spondylosaurus on Tuesday August 13, 2024 @02:04AM (#41232740)
Ahhh that makes sense! And sounds a lot less convoluted than either of the methods I envisioned :P
Re:Open source laser microphone picks up laptop keystrokes by account42 on Tuesday August 13, 2024 @05:04AM (#41233659)
> The one that sometimes comes between two spaces is I

A convenient theory but not a fact.

Re:Open source laser microphone picks up laptop keystrokes by allannienhuis on Tuesday August 13, 2024 @08:43AM (#41234904)
Why does it need to be perfectly accurate? These are examples intended to communicate the principle, not instructions on how to do frequency analysis. This description may be incomplete, but it does make it pretty clear how frequency analysis works in general terms. This criticism seems misplaced to me.
Re:Open source laser microphone picks up laptop keystrokes by travisjungroth on Tuesday August 13, 2024 @11:00AM (#41236153)
> These are examples intended to communicate the principle, not instructions on how to do…

Thank you. A lot of people don’t get these are two different things. I’m not going for perfect, I’m going for “oh I get it.”

Re:Open source laser microphone picks up laptop keystrokes by joncrocks on Tuesday August 13, 2024 @05:29AM (#41233793)
I believe this approach in general is known as https://en.wikipedia.org/wiki/Frequency_analysis

It would be trickier however if looking at raw keystrokes, as one has to consider several confounding factors:

* The caret can be moved both by keystrokes and mouse * You don't know what is being typed. If someone is typing people's names all day, or writing software then the analysis of letter/key frequency will be shifted

Not impossible, but makes the process harder.

Re:Open source laser microphone picks up laptop keystrokes by lrschaeffer on Tuesday August 13, 2024 @12:51PM (#41237140)
Yeah, lots of different uses for a keyboard with wildly different frequency distributions. Writing an English letter != text chat in Spanish != data entry != league of legends. It's also not quite a substitution cipher due to modifiers (shift), toggles (caps lock), non-printable characters (escape, volume up/down), and deletion (backspace/delete).

It's an interesting problem you'd probably try to solve with Markov chains back in the day, but now you'd just throw machine learning at.

Re:Open source laser microphone picks up laptop keystrokes by lrschaeffer on Tuesday August 13, 2024 @01:07PM (#41237265)
As other commenters have said, you're just going to learn the decoder ring from context, but I'm also curious. If I take off the keycaps to clean the keyboard and then put them back, do I need to relearn the defects? If I rip out all the switches and rearrange them, do the defects follow the switches or is it more about the position of the key? Is there some resonance that could change if I move the keyboard onto a desk pad. If I switch to Dvorak in software, obviously the key presses mean something different, but also I'll type completely differently. How much does user cadence/timing matter? To what extent is user cadence/timing identifying?

Anyway, I assume the answers aren't known because it would be an ethics/privacy nightmare to run these kinds of experiments on anyone but yourself.