Osmocom
The Osmocom project is an umbrella project regarding open source mobile communications. This includes software and tools implementing a variety of mobile communication standards, including GSM, DECT, TETRA and others.[2]
Original author(s) | Harald Welte |
---|---|
Developer(s) | Osmocom open source community |
Repository | git |
Written in | C, C++ |
Type | Telecommunication software |
License | Affero GPLv3 for all cellular software, GPLv2+ for some remaining software (libosmocore, OsmoPCU, OsmoSTP, OsmoGGSN)[1] |
Website | osmocom |
History and usage
In 2008 Harald Welte and Dieter Spaar experimented with a base transceiver station from Siemens that was end-of-life and implemented the BSC side of the A-bis protocol, which eventually turned into OpenBSC. After attracting more interest, support for other BTS models was added.[3] The first release of the OpenBSC project took place at the 25th Chaos Communication Congress held in December 2008.[4]
In the following years, the software has been used at various hacker cons such as the Chaos Communication Congress, Chaos Communication Camp and Electromagnetic Field to provide a cellular network.[5][6][7]
In 2010, a telephone-side implementation of the GSM stack was developed, named OsmocomBB. Together with OpenBSC, these projects became part of the new Osmocom umbrella project.[3]
The Sysmocom GmbH company was founded by Welte and Holger Freyther[8] in 2011 to provide commercial support.[9][10]
Since 2018 Osmocom software and Sysmocom hardware has been used in Villa Talea de Castro in Mexico to provide a cellular network to around 3500 people.[11][12]
Osmocom software has been used in research projects.[13]
Projects
OpenBSC
OpenBSC was a project to develop a free software implementation of GSM protocol stack and elements. It runs on Linux and requires an E1 interface (ISDN Primary Rate Interface, via mISDN). It is written in C and licensed using the GPL (≥v2) license.
The first version implemented the GSM specification 21.12 and 08.5x, and worked for a specific Base Transceiver Station (Siemens BS11 MicroBTS).
OpenBSC implemented several MSC components, including the A-bis protocol (the protocol between the BTS and the BSC), AUC, HLR, VLR (both using SQL tables), and a SMS Switching Center. OpenBSC can be accessed using telnet.
OpenBSC supported the following BTS devices:
- Siemens BS11 (microBTS) (E1 Primary Rate interface)
- ip.access nano BTS (PoE-interface)
OpenBSC is now considered legacy and the features have been split into different projects: OsmoBSC, OsmoMSC and OsmoHLR.[14]
SDR
rtl-sdr[15] was discovered by Steve Markgraf, who also created osmo-fl2k for radio transmissions. These projects deprecated the use of OsmoSDR.[16]
OsmoTETRA
The OsmoTETRA project implements the TETRA protocol.[17][18][19] Osmo-tetra implements the lower layer of the protocol.[20] Some conducted research revealed that some government traffic is not properly secured.[19]
OsmocomBB
OsmocomBB is a free firmware for the baseband processor of mobile phones which handles the encoding and radio communication of both voice and data. OsmocomBB is the only existing free implementation of baseband firmware, excluding failed projects like TSM30 from THC and MadOS.[21]
OsmocomBB implements the GSM protocol stack's three lowest OSI Layers of the client side GSM protocol and device drivers. The protocol layers forming the kernel exists on the baseband processor, typically consisting of an ARM processor and a digital signal processor.
It has support for the Calypso chipset produced by Texas Instruments.[22]
Karsten Nohl has extented OsmocomBB to be able to detect IMSI catchers.[23]
References
- "Software Licensing". Osmocom.org. Retrieved 27 May 2020.
- "Open Source Mobile Communications". osmocom.org. Retrieved 2020-05-25.
- OsmoBSC User Manual (PDF).
- "25C3: Running your own GSM network". fahrplan.events.ccc.de. 2009-01-10. Retrieved 2020-05-27.
- By (2018-08-30). "GSM Phone Network At EMF Camp Built On Raspberry Pi And LimeSDR". Hackaday. Retrieved 2020-05-25.
- By (2019-08-30). "CCCamp: 5,000 Hackers Out Standing In Their Field". Hackaday. Retrieved 2020-05-25.
- online, heise. "33C3: Hackerkongress endet mit Humba-Täterä im explodierenden Bällebad". heise online (in German). Retrieved 2020-05-25.
- "SysmoBTS: Harald Weltes Sysmocom verkauft freie GSM-Basisstation - Golem.de". www.golem.de (in German). Retrieved 2020-06-29.
- sysmocom (2016-02-28). "About sysmocom background and company culture". sysmocom.de. Retrieved 2020-05-25.
- "Sysmocom - Cellular Network Infrastructure - Open Source Mobile Communications". osmocom.org. Retrieved 2020-05-27.
- Herrmann, Boris. "Am Rande des Funklochs". Süddeutsche.de (in German). Retrieved 2020-05-27.
- "In defense of the right to communication (DeutscheWelle original video)". Vimeo. Retrieved 2020-05-27.
- Bosma, Jeffrey; Soeurt, Joris. "Eavesdropping on and decrypting of GSMcommunication using readily available low-costhardware and free open-source software in practice" (PDF). University of Amsterdam.
- "Overview - OpenBSC - Open Source Mobile Communications". osmocom.org. Retrieved 2020-05-27.
- By (2019-07-31). "RTL-SDR: Seven Years Later". Hackaday. Retrieved 2020-05-25.
- Markgraf, Steve (2019-07-31). "RTL-SDR: Seven Years Later". Hackaday. Retrieved 2020-05-27.
- "TETRA-Digitalfunk für jedermann". Heise Online (in German). Retrieved 2020-05-26.
- "Digitaler Behördenfunk: Hacker arbeiten an freier TETRA-Implementierung - Golem.de". www.golem.de (in German). Retrieved 2020-05-26.
- "OsmocomTETRA - OsmocomTETRA - Open Source Mobile Communications". osmocom.org. Retrieved 2020-05-26.
- "Osmo-tetra - OsmocomTETRA - Open Source Mobile Communications". osmocom.org. Retrieved 2020-05-26.
- Pönsgen, François (2015). GSM and GPRS Security Using OsmocomBB (PDF) (M.Sc.). Norwegian University of Science and Technology. p. 5. Retrieved 2017-05-04.
- Cooper, T. A. (2012). Integration of Open-Source GSM Networks (Doctoral dissertation, Virginia Tech).
- "GSM-Hacking: Osmocom-Patch entdeckt stille SMS und Abhöraktionen - Golem.de". www.golem.de (in German). Retrieved 2020-06-29.