X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/5db3924833a1f13a69fbc3c63ceeb06211bac17d..aaf3a8d6ac3f87b3060fda22f11cb474d2e37af0:/blog/archive/2017/09/index.html diff --git a/blog/archive/2017/09/index.html b/blog/archive/2017/09/index.html index d478827830..8cfddb7e8a 100644 --- a/blog/archive/2017/09/index.html +++ b/blog/archive/2017/09/index.html @@ -21,6 +21,167 @@

Entries from September 2017.

+
+
+ Visualizing GSM radio chatter using gr-gsm and Hopglass +
+
+ 29th September 2017 +
+
+

Every mobile phone announce its existence over radio to the nearby +mobile cell towers. And this radio chatter is available for anyone +with a radio receiver capable of receiving them. Details about the +mobile phones with very good accuracy is of course collected by the +phone companies, but this is not the topic of this blog post. The +mobile phone radio chatter make it possible to figure out when a cell +phone is nearby, as it include the SIM card ID (IMSI). By paying +attention over time, one can see when a phone arrive and when it leave +an area. I believe it would be nice to make this information more +available to the general public, to make more people aware of how +their phones are announcing their whereabouts to anyone that care to +listen.

+ +

I am very happy to report that we managed to get something +visualizing this information up and running for +Oslo Skaperfestival 2017 +(Oslo Makers Festival) taking place today and tomorrow at Deichmanske +library. The solution is based on the +simple +recipe for listening to GSM chatter I posted a few days ago, and +will show up at the stand of Åpen +Sone from the Computer Science department of the University of +Oslo. The presentation will show the nearby mobile phones (aka +IMSIs) as dots in a web browser graph, with lines to the dot +representing mobile base station it is talking to. It was working in +the lab yesterday, and was moved into place this morning.

+ +

We set up a fairly powerful desktop machine using Debian +Buster/Testing with several (five, I believe) RTL2838 DVB-T receivers +connected and visualize the visible cell phone towers using an +English version of +Hopglass. A fairly powerfull machine is needed as the +grgsm_livemon_headless processes from +gr-gsm converting +the radio signal to data packages is quite CPU intensive.

+ +

The frequencies to listen to, are identified using a slightly +patched scan-and-livemon (to set the --args values for each receiver), +and the Hopglass data is generated using the +patches +in my meshviewer-output branch. For some reason we could not get +more than four SDRs working. There is also a geographical map trying +to show the location of the base stations, but I believe their +coordinates are hardcoded to some random location in Germany, I +believe. The code should be replaced with code to look up location in +a text file, a sqlite database or one of the online databases +mentioned in +the github +issue for the topic. + +

If this sound interesting, visit the stand at the festival!

+ +
+
+ + + Tags: debian, english, personvern, surveillance. + + +
+
+
+ +
+
+ Easier recipe to observe the cell phones around you +
+
+ 24th September 2017 +
+
+

A little more than a month ago I wrote +how +to observe the SIM card ID (aka IMSI number) of mobile phones talking +to nearby mobile phone base stations using Debian GNU/Linux and a +cheap USB software defined radio, and thus being able to pinpoint +the location of people and equipment (like cars and trains) with an +accuracy of a few kilometer. Since then we have worked to make the +procedure even simpler, and it is now possible to do this without any +manual frequency tuning and without building your own packages.

+ +

The gr-gsm +package is now included in Debian testing and unstable, and the +IMSI-catcher code no longer require root access to fetch and decode +the GSM data collected using gr-gsm.

+ +

Here is an updated recipe, using packages built by Debian and a git +clone of two python scripts:

+ +
    + +
  1. Start with a Debian machine running the Buster version (aka + testing).
  2. + +
  3. Run 'apt install gr-gsm python-numpy python-scipy + python-scapy' as root to install required packages.
  4. + +
  5. Fetch the code decoding GSM packages using 'git clone + github.com/Oros42/IMSI-catcher.git'.
  6. + +
  7. Insert USB software defined radio supported by GNU Radio.
  8. + +
  9. Enter the IMSI-catcher directory and run 'python + scan-and-livemon' to locate the frequency of nearby base + stations and start listening for GSM packages on one of them.
  10. + +
  11. Enter the IMSI-catcher directory and run 'python + simple_IMSI-catcher.py' to display the collected information.
  12. + +
+ +

Note, due to a bug somewhere the scan-and-livemon program (actually +its underlying +program grgsm_scanner) do not work with the HackRF radio. It does +work with RTL 8232 and other similar USB radio receivers you can get +very cheaply +(for example +from ebay), so for now the solution is to scan using the RTL radio +and only use HackRF for fetching GSM data.

+ +

As far as I can tell, a cell phone only show up on one of the +frequencies at the time, so if you are going to track and count every +cell phone around you, you need to listen to all the frequencies used. +To listen to several frequencies, use the --numrecv argument to +scan-and-livemon to use several receivers. Further, I am not sure if +phones using 3G or 4G will show as talking GSM to base stations, so +this approach might not see all phones around you. I typically see +0-400 IMSI numbers an hour when looking around where I live.

+ +

I've tried to run the scanner on a +Raspberry Pi 2 and 3 +running Debian Buster, but the grgsm_livemon_headless process seem +to be too CPU intensive to keep up. When GNU Radio print 'O' to +stdout, I am told there it is caused by a buffer overflow between the +radio and GNU Radio, caused by the program being unable to read the +GSM data fast enough. If you see a stream of 'O's from the terminal +where you started scan-and-livemon, you need a give the process more +CPU power. Perhaps someone are able to optimize the code to a point +where it become possible to set up RPi3 based GSM sniffers? I tried +using Raspbian instead of Debian, but there seem to be something wrong +with GNU Radio on raspbian, causing glibc to abort().

+ +
+
+ + + Tags: debian, english, personvern, surveillance. + + +
+
+
+
Datalagringsdirektivet kaster skygger over Høyre og Arbeiderpartiet @@ -90,6 +251,29 @@ brukere med Ring, slik at jeg også bruker

Archive