Finding a needle in a hay stack

(David Coles-Dobay) #1

A while ago I wrote a piece of code for a telemarketing company.

It detects the leave a message beep from any of the known cell phone services. This is not as easy as it sounds as there are no standards for the beep or the voice prompt.

All audio on phone calls is transmitted across the network in forms that regenerate similar sounds the DAC of the receiving hardware. So there are a few common protocols used law, alaw, pix, speex, G729 etc. But the code in the datagram to reproduce these sounds will be the same for each person speaking.

These patterns are easy to quantify they are not the sound but patterns in the RDP packet datagrams. Once you collect a sample of the speaker you can pattern match against an incoming stream.

So by coding a beep detector I also created a very interesting tool. It turns out that those patterns also will be detectable in multiplexed trunk lines.

Having a 1 second sample of a person’s speech you can use the tool to determine if a person’s voice is picked up on a group of 16000 phone calls. Subdivide and repeat down to the location of the speaker anywhere on earth. Once you have the speaker located on or near a single phone a CLEC or ILEC can request the GPS coordinates from that number. It will respond with the cell tower id numbers and it’s relative gps. From the cell tower signal strengths you can triangulate down to the mm of location.

This whole search takes .46 milliseconds .

Once I have your voice I can find you anywhere in the world.

JSON driven websites are interesting because the constant updating of content based on user input also gives you the ability to find the patterns.

For instance you can place your gateway and router in to promiscuous mode and force a split destination by listening for packets coming from and going to any ip address on the internet. With the constant updates you can capture the typing of a specific person and follow that pattern to any location on the internet. This meta pattern is easy to scan for and locate just like the voice.