Quiet.js – Transmit and receive data in the browser at 44.1kHz
quiet.github.io
quiet.github.io
I've experienced this in a couple of factories that build consumer-grade devices; I can imagine this to be even stricter on places where stakes are higher.
I can only imagine the stuff that goes on at places like the NSA and CIA where the stakes are extremely high.
This gets rid of most physical tampering attempts. The only one left is that the employee could cut the cord of the mouse and jerry-rig a small USB port. You could get around this by forcing the use of PS/2 connectors.
You bring in an entirely new machine, and the old one is securely destroyed.
You can replenish it slowly after you have just handed over a replacement.
Then I did a Google search and found that it's much more common now, which academic papers, actually developed malware and security software, and Blackhat talks on it.
So, yes, audio is used in data exfiltration, or at a minimum it's a known threat vector.
It’s a cool thought experiment. Just do it on your coworkers computer :-)
Graphics cards are also massively high bandwidth devices... You'd need to figure out how to encode a digital signal and hook up to the wire. Or just record video off the screen.
sounds like a cool project
https://github.com/ANIME-AnimeCoin/Pastel/blob/18676aa55fe0f...
https://www.pcworld.com/article/2082200/listen-up-rsa-keys-s...
It wasn't elegant, and most of the code was stolen from Planet Source Code, but it worked mostly.
Looks like any noise is the by-product of the electronics within the device, rather than anything playing through the speakers. Coil whine (or something to that effect), I imagine.
Newer digital modes do much better than this older AFSK system, but FSK does work pretty well. Some newer things to look into:
https://en.wikipedia.org/wiki/WSPR_(amateur_radio_software)
FT8: https://en.wikipedia.org/wiki/WSJT_(amateur_radio_software)
The more interesting modes (WSPR, FT8) are designed for high-loss channels, so have a lot of error correction. For example, I can use 5W of power, indoors, to communicate across the country with it. For high-bandwidth VHF channels, it doesn't matter what you use really. The goal would be to find something that already exists and is easy to integrate, and there are a lot of options.
All you need is a dtmf decoder and a small transmitter to set the off those large sirens on high poles throughout that sprinkle the country in small towns and probably large cities
(I have no relation to the library)
Receiving the audible sound did not work at all in any browser.
Receiving the ultrasonic (that is not very ultrasonic at all clearly hearable) did work in chrome and firefox.
Sometimes it figured out that there had been a message but not what it was. (saying missing packets)
Sending worked from all browsers.
I am not sure what the noise floor looks like when comparing ultrasound to the normal audible range. It does seem unlikely to me that all this street noise would only be in the audible range and not ultrasonic, but since my ears can't hear ultrasound, I have no idea. Ultrasound did work better.
I tried the image as well; no idea if it worked. I got tired of waiting.
Edit : no safari support :(
I believe it is also used for television ads.
I have a dream of a product I want to develop someday. I like to go to bars and do karaoke. But I would love to be able to open an app on my phone and submit the songs that I want to sing, then get an ETA for my next turn. To prevent abuse, the system should somehow validate that the user is in the venue. Having the user point their phone at a screen displaying a QR code would be problematic though, especially for people like me (I'm legally blind). Would an ultrasonic beacon work reliably, even in a noisy karaoke bar? Maybe a Bluetooth beacon or beacons would be better, but that would be more hardware for the venue or mobile karaoke DJ to buy and set up. Yes, I know, all of this is totally a first-world problem; I should focus on things that really matter.
Also, anybody could take a picture of the QR code and re-share it.
It reminds me the quote: "Everything that can be implemented in javascript will be implemented in javascript." And this implementation is actually pretty neat.
I'm really enjoying trying to think of good use cases for this, tbh
As an aside, you will see 96k used (or more commonly 48k), but mostly for production work where the extra information could have value (comparable to using RAW for images, even though humans can't perceive all the information "natively").
I think it's neat to experience data in different forms, audible, tangible, and maybe aromatic (smell-o-vision) data?
A .wav file is 16 bits/sample x 44,100 samples/sec ≈ 700 kbps. Thirty seconds of that is about 2.5 Mb, which is a reasonable size for a photo. However, you wouldn't be able to send nearly that much data, since you'll be limited by various kinds of noise.
You're now nyquest-limited to sending fewer symbols per second (baud), but you might be able to use a larger "vocabulary" of symbols.
This was one of the big changes in modem design. The first 300 baud modems used one 1 bit/symbol, but the V34 modems used a bigger symbol set that could send 6-10 bits/symbol (and also sent the symbols faster).
A keylogger in ultrasonic range.
Silent and effective.
This technique works at OS level and browser level.
And nobody can protect from these kind of attacks. Unless staying away from digital machines.
Just an example of why digital growth is bad unless and until humanity live in harmony.
Otherwise, this is definitely cool! Could be used like airdop.
There's also (the non-Google) chirp.io that started around the same time.
https://www.reddit.com/r/programming/comments/9zp0v0/sending...