Back

The NSA Selector

302 points9 monthsgithub.com
ChuckMcM9 months ago

This is pretty cool. I believe it was Bob Metcalf at PARC who had a device in his office that was hooked up to the 3Mbs Ethernet cable and would essentially do the same thing. He built and installed it to get a feel for how much of an issue "collisions" would really be on the network. At the time, the idea that you could just back off when you detected a collision and re-transmit was considered heresy of the highest order and the "experts" all believed that once you got to a certain small number of clients the wire would be overwhelmed with collisions and the network would be unusable. His gizmo proved that wasn't the case.

jll299 months ago

In NSA parlance, a "selector" primarily is a string that semi-uniquely identifies and addresses a persons intercepted data, such as

- an IP address,

- an email address,

- a phone number,

- a SIM card's MSIN

- a person's social security number,

- a national ID card number,

- a passport number,

- a social media handle etc.

(elsewhere also known as "accessor", "key", "handle" or "index")

jonathanstrange9 months ago

They are interesting because combining and updating them is a non-trivial problem, as I've realized today while implementing a user ban system.

Terr_9 months ago

There's a certain system I work with where random unauthenticated visitors on the internet end up supplying data like name/phone/email, with no validation... And of course, the business wants to somehow convert that into a list of "real people" and start correlating it to other records.

I've been trying to stop anything too terrible from happening by asking them to clarify their business requirements, e.g. what should happen when there is malicious impersonation, or the expected result should be when inconsistencies and overlaps exist.

It's not like there's no value to the data... but I'm afraid they don't really understand the problem are are hoping the magic computer can somehow *poof* garbage into fine cuisine.

transcriptase9 months ago

“Enrichment” is what they actually want. People think it’s Google, Amazon, Facebook etc selling their data when in reality they are simply letting people target based on it.

On the other hand there are hundreds of companies nobody has ever heard of that do buy, collate, clean, and sell access to the data that apps, browser extensions, windows apps, loyalty card programs, branded credit cards, retailers, and companies that scrape LinkedIn etc will happily sell.

You provide what you have and for a price these “enrichment” services will provide what is essentially a dossier of everything that can be even remotely inferred from the thousands of datapoints they have based on your email/name/phone.

What most people think big tech is doing is actually being done in ways that are far more unsettling by companies with cutesy names and vague services that major companies sign contracts with to improve their signal to noise ratio.

grues-dinner9 months ago

Everyone in countries with data protection laws: concern.

dylan6049 months ago

Since he's building a sequencer, I'm almost disappointed it wasn't named Selecta.

Rewind Bo Selecta!!

tantalor9 months ago

That doesn't tell me why this is called selector.

Fnoord9 months ago

> In CSS, selectors are patterns used to match, or select, the elements you want to style. Selectors are also used in JavaScript to enable selecting the DOM nodes to return as a NodeList.

From [1]. This nomenclature was also used way before CSS even existed; in SQL.

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selecto...

tantalor9 months ago

That doesn't help at all. What do SQL or CSS have to do with it

salawat9 months ago

My guess is it is meant tongue-in-cheek seeing as it is a way to render into audio all network traffic. The idea being that if you are being targeted by some nefarious, infamous 3 letter agency who has gotten something nefarious running on your system, this could, in theory, be used to identify traffic you didn't intend to have happen.

Realistically speaking, it's hogwash because you'd have to profile all "loopback" traffic and whatnot, but in theory, with enough time and effort, that dastardly stream of bits could be heard, I guess. The circuit board itself though has quite a bit of punning in it.

Also... If they really want on your databus, they will get on your databus. After a certain point, cost is not an issue.

aa-jv9 months ago

Probably as a piss-take? After all, the NSA is a wholesale subjugator of human rights - why not take the piss out of it?

riknos3149 months ago

> if possible disable encryption, then you can profit from not only timing pattern (of white noise), but also listen in on the plaintext payload. the NSA loves plaintext.

Haha, incredible.

On a more serious note this is a really cool idea. Would be interesting to listen to the same origin traffic in different network conditions to hear things like TCP rate control.

neuralkoi9 months ago
cole-k9 months ago

This went over my head at first, but I really like it. So for those like me: it converts network traffic into audio output.

YouTube explainer: https://youtu.be/vfgySTaM1TI

tobyjsullivan9 months ago

For those interested in hearing some beats, the terminal demo starts at 4:34 https://youtu.be/vfgySTaM1TI?t=274

zelon889 months ago

It really starts getting good at 15:00 when he starts losing packets.

jojohohanon9 months ago

Those who recall cars with fm radios and gsm phones will have heard something similar if their car had a random compartment right below the stereo.

When a call came in, before the phone would ring, the radio would emit this very clear tri di di dit dah dah. But only when the phone was very near the radio.

grayfaced9 months ago

Yes kinda, I would say network activity rather then traffic. Audio signal is going to be in scale of 48Khz while measuring ethernet signal at scale of 100Mhz. At that rate it wouldn't even get more then 1 sample from a full size packet. So really it's polling 48Khz whether or not there was activity during that period. The gimmick is that it uses some analog components. Fully digital you could craft a meaningful audio signal that represents traffic.

echelon9 months ago

This is a fun demonstration of the principle.

"every website sounds different" - that's super cool.

The bitmap images sent at the end of the video also sound really cool.

tptacek9 months ago

There used to be a thing on SunOS (I think) where you'd get `ping` to write to /dev/audio so you could diagnose network stuff by sound.

schoen9 months ago

You can "ping -a" nowadays to get beeps for each reply, but it's not quite as cool!

monster_truck9 months ago

You can still do this with /dev/dsp or similar. Might need sudo these days

`cat /dev/urandom > /dev/dsp`

rfl8909 months ago

For a more modern approach, try ffplay: cat /dev/urandom | ffplay -f s16le -

jdthedisciple9 months ago

thanks this almost crashed my pc

dylan6049 months ago

some people learn the hard way that blindly copying and pasting things from the interweb directly to a terminal is not always the best of ideas. some times, they're bloody brilliant

+1
dgfitz9 months ago
fuddy9 months ago

One of the funnier parameters to encounter in the snoop manpage.

hottakesbun9 months ago

The joke is on him - I used to get this functionality for free way back in the day when (what I presume was) RF noise generated during the processing of ethernet traffic would get picked up by my cheap ISA sound card and sent to the speakers. I never built a sequencer out of it though.

sevensor9 months ago

Back in college, I would listen to AM radio while I worked on my computer. The radio would pick up electrical noise from the keyboard and the mechanical mouse. I wonder if this sounds anything like it.

anjel9 months ago

TRS-80s were famous for bleeding over AM band. The entire AM band.

sterlind9 months ago

I read that the FCC really started cracking down on EM interference because early microcomputers were serious offenders. I'm guessing that's why there's a humongous RF shield inside my Amiga 1200.

ww5209 months ago

Good for network wiring diagnostic. It would be great if it can pipe the noise to Bluetooth audio. I can pair a headphone to it, plug this into the network in another room and still can hear it while checking the line connections on the switch/router.

hnuser1234569 months ago

That audio port is blasting out a total bandwidth of 100 Mbps (4 bits at 25 MHz) versus 768 Kbps for BT audio, assuming a high quality codec (16 bits at 48 KHz), so not without loss.

ww5209 months ago

Can be downsampled for the purpose. It's just noise after all.

Xx_crazy420_xX9 months ago

It would be nice to compare all packets dumped by system and check if there are any unmatching packets running from your computer that were not sent by OS but a closed source hardware inside like Intel ME

rurban9 months ago

Don't forget the GHCQ which installs a mirror on each UK modem. I don't think the NSA goes to these extremes

dekhn9 months ago

The NSA worked with GHCQ to tap Google's fiber between data centers, which at the time, was not encrypted. You can see several presentations including "SSL added and removed here" (reference to the SSL connection being terminated at the Google front end and then transmitted unencrypted to the backend in another data center), as well as an actual BigTable packet from tcpdump that included a user identifier.

If you read The Idea Factory, it shows that AT&T leadership worked closely with NSA and other governmental agencies (on a "secret schedule" so nobody would know who the execs were meeting with) to help them access US phone data.

I'd love to know the extent of what NSA has done between its founding and today; I'm sure they've pulled off some astounding things, and bolluxed up other stuff badly.

cs02rm09 months ago

FWIW, as we've had this twice, GCHQ - Government Communications Headquarters.

neuroelectron9 months ago

I doubt encryption makes much of a difference, depending on the magic numbers in your implementation.

godman_89 months ago

I've worked with quite a few ISPs and exchanges. I haven't set up port mirrors for the NSA but I have setup temporary mirrors for the FBI upon request.

0xbadcafebee9 months ago

The NSA/govt gets its own dedicated floor in some DCs, esp. large interconnects

tgmatt9 months ago

This seems hard to believe, given how many different modems from different sources you can use, as well as thirdparty ones. Source?

stavros9 months ago

Oh man, I really hope they don't get all my TLS connections.

simpaticoder9 months ago

Really cool, but has anyone built software to do this locally on a PC? For example:

   sudo tcpdump -i "eth0" -w - -U | aplay -f S16_LE -r 44100
mzs9 months ago
Hypergraphe9 months ago

A good comment :)

danesparza9 months ago

The Snowden silkscreen is a nice touch. What a great hardware build!

TiredOfLife9 months ago

[flagged]

danesparza9 months ago

Wow! You taught me something new: https://en.wikipedia.org/wiki/Putler

sterlind9 months ago

I don't see any traces of Putler on the silkscreen.

cranium9 months ago

The accompanying video is really nice: https://youtu.be/vfgySTaM1TI?t=269

herewulf9 months ago

Feature request: Replace all the blinking LEDs with these to drown out the fan noise in the server room.

johnklos9 months ago

When I was young, I'd use an AM radio right next to my Sinclair ZX81 to hear what it was doing when it was running in FAST mode.

By making loops of different speeds, one could even make basic tones and crude music.

The video really brought back memories of those sounds :)

als09 months ago

Stuff like this is exactly why I come to Hacker News.

aa-jv9 months ago

Many times over the decades I have constructed a MIDI->Audio cable so that I can record MIDI signals as audio, which as a technique is very useful for measuring and fixing MIDI->Synthesizer engine latency.

Its nice to know that if I ever get around to shipping a product with RTP-Midi (MIDI over Ethernet), I can just get a ready-made Eurorack module to do that testing! :P

13179 months ago

You can also achieve something like this with a powerline networking adapter + a shortwave radio

bit evil really, they shit up almost the entire 0-30mhz

but they do work...

deadbabe9 months ago

The seller does not ship to the United States at all.. :(

How are you going to name this product after the NSA, and not ship to the US???

reaperducer9 months ago

The seller does not ship to the United States at all.. :( How are you going to name this product after the NSA, and not ship to the US???

Click through, and you'll find a more expensive version that is shipped to the US. It's called TariffBox.

deadbabe9 months ago

We should make an American version and not allow it for sale anywhere else but the US.

aa-jv9 months ago

You should make the NSA not function anywhere but within the US too, while you're at it.

+1
lazide9 months ago
desertmonad9 months ago

Imagining in a server farm. Cool project!

fnord779 months ago

So could you stream an MP4 movie, record the sound, then decode the sound back into a (probably lossy) reconstruction of the movie?

phendrenad29 months ago

Can you say "calm down my selector"?

psunavy039 months ago

Cool idea to audio-ize network traffic. Artwork is peak edgelord cringe, though . . .

lofaszvanitt9 months ago

Something like this, but with a hard drive-like sound for SSDs, would be nice.

sockp0pp3t9 months ago

Is there a plugin for Goom ?

blendo9 months ago

This seems viscerally “correct”, in some crazy sense.

amelius9 months ago

Cool, but I was hoping for some 80s era modem sounds.

Liftyee9 months ago

Great idea and +1 for excellent PCB art!

m4639 months ago

No Such Agen^H^H^H^HAttachment

yapyap9 months ago

So ridiculous, love it

TacticalCoder9 months ago

[dead]

fefawfefafds9 months ago

[dead]

fdaffeafe9 months ago

[dead]

gitroom9 months ago

[dead]

fasdfdsa9 months ago

[flagged]

rekttrader9 months ago

This is killer art