OsmocomBB Nedir?
OsmocomBB Nedir?
OsmocomBB, bir GSM temel bant telefon yığınının yazılım uygulamasını sağlayan açık kaynaklı bir yazılım projesidir. Bir GSM baz istasyonu veya telefon oluşturmak veya GSM ağlarını analiz etmek ve izlemek için yazılım tanımlı radyolar (SDR’ler) gibi donanım cihazlarıyla kullanılmak üzere tasarlanmıştır.
OsmocomBB, mobil iletişim sistemleriyle araştırma, geliştirme ve deneylerde kullanılmak üzere kapsamlı bir araç seti oluşturmayı amaçlayan Osmocom (Açık Kaynaklı Mobil İletişim) projesinin bir parçasıdır. Proje, GSM, GPRS ve 3G dahil olmak üzere mobil iletişimde kullanılan çeşitli protokol ve standartların uygulamalarını sağlamaktadır.
OsmocomBB’yi derleme
OsmocomBB, telefon (hedef) ve ana sistem üzerinde çalıştırılması amaçlanan yazılımlardan oluşur.
Ana bilgisayar için bağımlılıklar
osmocomBB derlemek için GNU autoconf, automake, libtool, pkg-config, make ve GCC gerektirir.
Bu paketlerin adı kullanılan dağıtıma bağlıdır. Kaynaklara erişmek ve güncellemek için git’e de ihtiyacınız olacak.
Debian (ve Debian benzeri dağıtımlar) için bu paketler aşağıdakiler kullanılarak kurulabilir:
sudo apt install libtool shtool automake autoconf git-core pkg-config make gcc
Diğer bazı osmocom projelerinde olduğu gibi osmocomBB için de libosmocore’a ihtiyacınız olacaktır . Not: Git deposundan osmocom-bb alırken libosmocore dahil olsa da, ayrı olarak kurmanız gerekir. Libosmocore alt ağacı, yalnızca libosmocore’un katıştırılmış ARM sürümünü derlemek için kullanılır.
Hedef için bağımlılıklar
Hedef için osmocomBB veya SIMtrace’i derlemek üzere ARM için bir GNU araç zincirine ihtiyacımız var.
Kaynağı alma ve güncelleme
git clone https://gitea.osmocom.org/phone-side/osmocom-bb.git
cd osmocom-bb
git pull - rebase
Kaynağı oluşturma
Aşağıdaki komut ile hem hedef hem de host kodunun derlenmesi gerçekleşecektir. Arm-elf-gcc’nin geçerli yolun içinde olduğunu varsayar.
cd src
make
ARM kodu üreten GCC ikili programınızın adı arm-elf-gcc değilse, aşağıdaki ifadeyi çalıştırmanız ve *-* ile biten araç zincirinin temel adını sağlamanız gerekir.
cd src
make -e CROSS_TOOL_PREFIX=arm-OTHER_NAME-
Örneğin, gcc-arm-none-eabi paketini Ubuntu/Debian’a yükledikten sonra uygun komut şu şekilde olacaktır:
make -e CROSS_TOOL_PREFIX=arm-none-eabi-
Herhangi bir hata oluşmadıysa, Motorola C123 ile kullanılabilen src /target/firmware/board/compal_e88/*.bin konumunda üretici yazılımı ikili dosyalarına sahip olacaksınız.
Ayrıca ana makinenizde src/host/osmocon/osmocon, src/host/layer23/src/misc ve layer23/src/mobile içinde çalışacak ikili dosyalara sahipsiniz .
OsmocomBB’yi çalıştırma
Compal ve diğerlerinin orijinal önyükleyicisi, seri arabirim aracılığıyla kod yükleyecek şekilde oluşturulmuştur. Osmocon yardımcı programı bu protokolü uygular ve bellenimi yükleyebilir. Düzgün nasıl kullanılacağına ilişkin ayrıntılar için lütfen osmocon wiki sayfasına bakın.
Üretici yazılımı yüklendikten sonra, osmocon uygulaması seri konsolun çıktısını yazdıracak ve başka bir yazılım katmanının bağlanabileceği bir unix etki alanı soketi sağlayacaktır. OsmocomBB söz konusu olduğunda, bu daha yüksek katman yazılımına cth_scan adı verilir ve aslında farklı işlevler sağlayan bir ikili dosyalar grubudur. Ayrıntılar için lütfen ctch_scan’e bakın.
Osmocombb ile neler yapılır:
- Bir GSM baz istasyonu veya telefon kurma: SDR gibi bir donanım cihazı kullanarak bir GSM baz istasyonu veya telefon kurmak için OsmocomBB’yi kullanabilirsiniz. Bu, test ve deneyler için veya ticari GSM sistemlerine düşük maliyetli bir alternatif oluşturmak için yararlı olabilir.
- GSM ağlarını analiz etme ve izleme: OsmocomBB, A-bis sniffing ve OsmoNITB (kutudaki bir GSM ağı) gibi GSM ağlarını analiz etmek ve izlemek için araçlar içerir. Bu, araştırma ve geliştirme için veya GSM ağlarıyla ilgili sorunları gidermek için yararlı olabilir.
- Mobil iletişim hakkında bilgi edinme: OsmocomBB, GSM protokol yığınının ayrıntılı bir uygulamasını sağladığı için mobil iletişim sistemlerinin nasıl çalıştığını öğrenmek için harika bir kaynaktır. GSM ve diğer mobil iletişim sistemlerinin iç işleyişini öğrenmek için OsmocomBB’yi kullanabilirsiniz.
- Özel uygulamalar geliştirme: OsmocomBB, GSM veya diğer mobil iletişim teknolojilerini kullanan özel uygulamalar geliştirmek için güçlü ve esnek bir platform sağlar. Kendi uygulamalarınızı oluşturmak veya mevcut uygulamalara özel özellikler eklemek için OsmocomBB’yi kullanabilirsiniz.
Osmocombb ile GSM baz istasyonu kurma
OsmocomBB ile bir GSM baz istasyonu veya telefon kurmak için aşağıdaki adımları izlemeniz gerekir:
- Donanım edinin: SDR (yazılım tanımlı radyo) veya GSM telefon gibi OsmocomBB ile uyumlu bir donanım cihazına ihtiyacınız olacak. Anten ve kablo gibi ek bileşenlere de ihtiyacınız olabilir.
- OsmocomBB Kurun: Yazılımı bilgisayarınıza kurmak için OsmocomBB web sitesindeki talimatları izleyin. Bu, kaynak kodunu indirip derlemeyi veya önceden oluşturulmuş bir paketi kurmayı içerebilir.
- OsmocomBB’yi yapılandırın: Donanım aygıtınız için yazılımı yapılandırmak üzere OsmocomBB web sitesindeki talimatları izleyin. Bu, kullandığınız donanım türünü ve kurulumunuz için uygun yapılandırma seçeneklerini belirtmeyi içerebilir. Yapılandırma örneği:
# Hardware configuration
# Hardware type (e.g. "rtl2932u")
hw = rtl2932u
# Hardware options (e.g. "freq=869100000")
hw-options = freq=869100000
# Network configuration
# Network name (e.g. "MyGSMNetwork")
network-name = MyGSMNetwork
# Country code (e.g. "262")
country-code = 262
# Network code (e.g. "1")
network-code = 1
# Base station identity code (e.g. "1")
base-station-id = 1
# Base station location area code (e.g. "2")
base-station-lac = 2
# Base station color code (e.g. "0")
base-station-color-code = 0
# Base station channel (e.g. "1")
base-station-channel = 1
- Kurulumu test edin: OsmocomBB’yi yapılandırdıktan sonra, OsmocomBB yazılımını çalıştırarak ve OsmocomBB web sitesinde bir GSM baz istasyonu veya telefon kurmak için verilen talimatları izleyerek kurulumu test edebilirsiniz.
- Kurulumu özelleştirin: Kurulumu özelleştirmek veya ek özellikler eklemek istiyorsanız, OsmocomBB yazılımını değiştirebilir veya OsmocomBB API’lerini kullanarak kendi özel uygulamalarınızı yazabilirsiniz.
Osmocombb ile GSM ağ izleme
Bunu yapmak için, OsmoComBB yazılımı çalıştıran bir bilgisayar, bir GSM telefon veya bir GSM şebekesi ile iletişim kurabilen bir cihaz (GSM modem gibi) ve bir antenden oluşan bir OsmoComBB sistemi kurmanız gerekecektir. GSM telefon veya cihaza bağlıdır.
Bir GSM ağını izlemek için OsmoComBB’yi kurmak ve kullanmak için izleyebileceğiniz genel adımlar şunlardır:
- OsmoComBB yazılımını bilgisayarınıza kurun. Yazılımın en son sürümünü OsmoComBB web sitesinden ( https://osmocom.org/projects/osmocom-bb/wiki/OsmocomBB ) indirebilirsiniz.
- GSM telefonunuzu veya cihazınızı bir USB kablosu kullanarak bilgisayarınıza bağlayın.
- GSM telefonunuz veya cihazınız için doğru seri bağlantı noktasını kullanmak üzere OsmoComBB’yi yapılandırın. Bunu, OsmoComBB arayüzündeki “Yapılandırma” sekmesine giderek ve açılır menüden doğru seri bağlantı noktasını seçerek yapabilirsiniz.
- Anteni GSM telefonunuza veya cihazınıza bağlayın. En iyi alım için antenin doğru şekilde hizalandığından ve konumlandırıldığından emin olun.
- OsmoComBB’yi başlatın ve “Monitör” sekmesini seçin. Bu, sinyalin gücü, şebeke operatörünün kimliği ve diğer bilgiler dahil olmak üzere GSM şebekesini gerçek zamanlı olarak izlemenizi sağlar.
- OsmoComBB yazılımını SMS mesajları gönderip almak, arama yapmak ve almak ve diğer görevleri gerçekleştirmek için de kullanabilirsiniz. Bunu yapmak için OsmoComBB arayüzünde uygun sekmeyi seçin ve verilen talimatları izleyin.
Osmocombb ile istihbarat toplama
OsmoComBB ile istihbarat toplama, yazılımı kullanarak şebeke operatörünün kimliği, baz istasyonlarının yerleri ve ağa bağlı cihazların türleri gibi bir GSM şebekesi hakkında bilgi toplamak için kullanılır. Bu bilgiler, ağ planlaması, güvenlik değerlendirmeleri ve adli soruşturmalar dahil olmak üzere çeşitli amaçlar için yararlı olabilir.
OsmoComBB kullanarak istihbarat toplamak için şu adımları takip edebilirsiniz:
- Önceki yanıtta açıklandığı gibi bir OsmoComBB sistemi kurun. Sistemin doğru şekilde yapılandırıldığından ve bir GSM ağına bağlı olduğundan emin olun.
- Sinyal gücü, ağ operatörünün kimliği ve hücre kulelerinin konumları gibi ağ hakkında gerçek zamanlı bilgileri görüntülemek için OsmoComBB arayüzündeki “Monitör” sekmesini kullanın. Ağdaki tüm etkinliklerin kaydını görüntülemek için “Günlük” sekmesini de kullanabilirsiniz.
- Ağdaki cihazlara SMS mesajları göndermek ve bunların yetenekleri ve ayarları hakkında bilgi toplamak için “SMS” sekmesini kullanın.
- Ağdaki cihazları aramak ve yetenekleri ve ayarları hakkında bilgi toplamak için “Ara” sekmesini kullanın.
- Nirengi belirleme gibi teknikleri kullanarak ağdaki cihazların konumunu belirlemek için “Konum” sekmesini kullanın.
- Ağın güvenliğini test etmek ve güvenlik açıklarını belirlemek için “Güvenlik” sekmesini kullanın.
- Paket dinleyicisi ve SIM kart okuyucu gibi istihbarat toplama için yararlı olabilecek ek özelliklere ve araçlara erişmek için “Diğer” sekmesini kullanın.
GSM’de arama nasıl kurulur?
Wireshark tarafından yakalanan verileri incelememiz ve bir cep telefonu bir arama yaptığında ve bir arama yapıldığında ne olduğunu bulmamız gerektiğinden, burada tüm süreç yerine yalnızca mobil istasyon ile ağ sağlayıcısı arasında gerçekte neler olduğundan bahsedeceğiz. Cep telefonundan alınmıştır.
Cep telefonunu arama
- MS1, MS1 sağlayıcısından bir radyo kanalı isteyecek ve MS1 sağlayıcısı, anında atama yoluyla kendisine benzersiz bir radyo kanalı tahsis edecektir.
- MS1, MS1 hizmet sağlayıcısına TMSI’si ile bir CM hizmet isteği gönderecektir. VLR’de TMSI varsa, yalnızca MS1 sağlayıcısı CM hizmeti kabul edildi mesajıyla yanıt verir veya kimlik doğrulama işlemi yeniden gerçekleşir ve ardından MS1, başarılı kimlik doğrulamasının ardından yeni bir TMSI alır.
- MSC, kanalda gönderilen verilerin şifrelenmesini başlatır. BSC cep telefonuna ŞİFRELEME MODU KOMUTU gönderir. Şifreleme zaten etkinleştirilmiştir, dolayısıyla bu mesaj şifreli olarak iletilir. Cep telefonu ona CIPHERED moduyla yanıt verir.
- MS1, aranan tarafın telefon numarasını içeren bir KURULUM talebi gönderecektir.
- MS1 sağlayıcısı, MS1’e aramanın şu anda devam ettiği yanıtını verecektir.
Osmocom-bb aracılığıyla bir cep telefonu numarasını arayacağız ve paket düzeyinde neler olduğunu görebilmemiz için verileri wireshark üzerinden yönlendireceğiz.
Şimdi, gsm paketlerini Wireshark’ta analiz edeceğiz ve havadan gerçekte neler olup bittiğini kontrol edeceğiz.
- Anında atama — MS1 tarafından talep edilen radyo kanalı ve MS1 sağlayıcısı tarafından MS1’e tahsis edilen radyo kanalı. Burada kanal açıklamasında ne tür bir kontrol kanalının (SDCCH/SACCH) kullanıldığını da görebiliriz.
Acil atama
2. CM hizmeti talebi — MS1, MS1’in TMSI’sini içeren bir CM Hizmeti isteği gönderir. Bu durumda TMSI, VLR’de mevcut olduğundan yeniden kimlik doğrulaması yapmayacaktır.
Çağrı alma
- MS2 sağlayıcısı, cep telefonunun TMSI’si ile belirli bir konum alanındaki (LAI) tüm cep telefonlarına bir çağrı talebi gönderecektir. TMSI’nin ait olduğu telefon, bu görüşmeyi daha da ileri götürerek ağa tekrar bağlanacaktır.
- MS2, MS2 sağlayıcısından bir radyo kanalının tahsis edilmesini isteyecektir. MS2’ye acil atama yoluyla bir radyo kanalı tahsis edilecektir. Bir radyo kanalı aldıktan sonra, MS2 bu çağrı isteğine yanıt verecek ve ağa burada olduğunu söyleyecektir.
- Bundan sonra, tüm veriler artık şifreli olarak aktarılacak şekilde şifreleme modu komutu değiştirilecektir.
- MS2 sağlayıcısı, MS2’ye arayan taraf numarasını içerecek bir KURULUM isteği gönderecektir.
- Arama ayarlandıktan sonra MS2, MS2 Sağlayıcısına bir arama onay mesajı gönderecek ve ardından uyarı mesajını gönderecektir.
- Alıcı telefonu aldığında bağlanır ve MS2 sağlayıcısı MS2’ye bir bağlantı onay mesajı gönderir.
Osmocom-bb aracılığıyla gelen bir aramayı kabul edeceğiz ve paket düzeyinde neler olduğunu görebilmemiz için verileri Wireshark aracılığıyla yönlendireceğiz.
1. Çağrı İsteği — MS2 sağlayıcısı, cep telefonunun TMSI’si ile belirli bir konum alanındaki (LAI) tüm cep telefonlarına bir çağrı talebi gönderecektir. TMSI’nin ait olduğu telefon, bu görüşmeyi daha da ileri götürerek şebekeyle konuşacaktır.
2. Anında atama — MS2, MS2 sağlayıcısından bir radyo kanalının tahsis edilmesini isteyecektir. MS2’ye acil atama yoluyla bir radyo kanalı tahsis edilecektir. Bir radyo kanalı aldıktan sonra, MS2 bu çağrı isteğine yanıt verecek ve ağa burada olduğunu söyleyecektir. hangi frekansta konuştuğunu hesaplayabildiğimiz çağrı formumuz için ARFCN numarasını görebiliriz.