Projeto Osmocom: Comunicações Móveis de Código Aberto
Pontos principais
- O Osmocom é um projeto guarda-chuva de software livre que implementa padrões de comunicação móvel como GSM, TETRA e DECT.
- O OpenBSC, precursor do projeto, foi lançado em 2008 e posteriormente dividido nos projetos OsmoBSC, OsmoMSC e OsmoHLR.
- O OsmocomBB é a única implementação de firmware livre existente para processadores de banda base de telefones celulares.
- A empresa Sysmocom GmbH foi fundada em 2011 para fornecer suporte comercial ao ecossistema Osmocom.
O Osmocom (do inglês open source mobile communications) é um projeto de software de código aberto dedicado à implementação de diversos padrões de comunicação móvel. O objetivo central do projeto é criar implementações livres de protocolos de rede celular, abrangendo tecnologias como o GSM (Global System for Mobile Communications), DECT (Digital Enhanced Cordless Telecommunications) e TETRA (Terrestrial Trunked Radio), entre outros.
Histórico e Desenvolvimento
A gênese do projeto remonta a 2008, quando Harald Welte e Dieter Spaar realizaram experimentos com uma estação rádio-base (BTS) da Siemens que havia atingido o fim de sua vida útil. Eles implementaram o lado do controlador de estação rádio-base (BSC) do protocolo A-bis, o que resultou na criação do OpenBSC.

O OpenBSC foi apresentado oficialmente durante o 25º Chaos Communication Congress, em dezembro de 2008. Nos anos seguintes, o software foi amplamente utilizado em eventos de cultura hacker, como o Chaos Communication Congress, o Chaos Communication Camp e o Electromagnetic Field, para a implementação de redes celulares temporárias.
Em 2010, foi desenvolvida a OsmocomBB, uma implementação do stack GSM voltada para o lado do telefone. Com a integração do OpenBSC e da OsmocomBB, surgiu o projeto guarda-chuva Osmocom. Para viabilizar o suporte comercial às tecnologias desenvolvidas, Welte e Holger Freyther fundaram a empresa Sysmocom GmbH em 2011.
A aplicação prática do ecossistema Osmocom expandiu-se para além de laboratórios e eventos. Desde 2018, o software Osmocom e o hardware da Sysmocom têm sido utilizados na Villa Talea de Castro, no México, para fornecer conectividade celular a aproximadamente 3.500 pessoas.
Principais Projetos e Componentes
OpenBSC e a Evolução para OsmoBSC/MSC/HLR
O OpenBSC foi concebido como uma implementação de software livre do stack de protocolos GSM. Desenvolvido em linguagem C e licenciado sob a GPL (v2 ou superior), o sistema opera em Linux e requer uma interface E1 (ISDN Primary Rate Interface via mISDN).
Originalmente, o OpenBSC implementava as especificações GSM 21.12 e 08.5x, funcionando inicialmente com a Siemens BS11 MicroBTS. O projeto englobava componentes essenciais do Mobile Switching Center (MSC), incluindo:
- Protocolo A-bis: Comunicação entre a BTS e o BSC.
- AUC (Authentication Center): Centro de autenticação.
- HLR (Home Location Register): Registro de localização principal.
- VLR (Visitor Location Register): Registro de localização de visitantes.
- SMS Switching Center: Central de comutação de mensagens curtas.
Atualmente, o OpenBSC é considerado um projeto legado. Suas funcionalidades foram fragmentadas e evoluídas para projetos mais específicos: OsmoBSC, OsmoMSC e OsmoHLR.
OsmocomBB
O OsmocomBB consiste em um firmware livre para o processador de banda base (baseband) de telefones celulares. Ele gerencia a codificação e a comunicação de rádio tanto para voz quanto para dados.

Diferente de implementações de alto nível, o OsmocomBB atua nas três camadas mais baixas do modelo OSI do protocolo GSM no lado do cliente. O kernel do protocolo reside no processador de banda base, que geralmente é composto por um processador ARM e um processador de sinal digital (DSP).

O projeto oferece suporte ao chipset Calypso da Texas Instruments. Além disso, Karsten Nohl expandiu as capacidades do OsmocomBB para permitir a detecção de IMSI catchers (dispositivos usados para interceptar a identidade de assinantes de redes móveis).
Outras Iniciativas: OsmoTETRA e SDR
O projeto OsmoTETRA implementa o protocolo TETRA, focando especialmente nas camadas inferiores. Pesquisas conduzidas através deste projeto revelaram vulnerabilidades de segurança em tráfegos governamentais que não eram devidamente protegidos.
No campo de Software Defined Radio (SDR), o projeto interagiu com iniciativas como o rtl-sdr (descoberto por Steve Markgraf) e o osmo-fl2k, que acabaram por substituir o uso do OsmoSDR em diversas aplicações.
Perguntas frequentes
O que é o projeto Osmocom?
É um projeto de software de código aberto que implementa protocolos de comunicação móvel, como GSM e TETRA, permitindo a criação de redes celulares privadas e a pesquisa em telecomunicações.
Qual a diferença entre OpenBSC e OsmocomBB?
O OpenBSC (e seus sucessores) foca na infraestrutura da rede (lado do servidor/estação rádio-base), enquanto o OsmocomBB foca no firmware do aparelho telefônico (lado do cliente/banda base).
Para que serve o OsmocomBB?
Ele serve como um firmware livre para o processador de banda base de celulares, permitindo controlar a codificação e a comunicação de rádio de voz e dados, além de ser usado para detectar IMSI catchers.
O Osmocom é usado em situações reais?
Sim, além de ser usado em eventos de cultura hacker e pesquisas, é utilizado desde 2018 para fornecer rede celular em Villa Talea de Castro, no México.