mertbingol
  • About
  • Achievements
  • Archive
  • Resume
  • About
  • Achievements
  • Archive
  • Resume

Telekomunikasyon Güvenliği: Bir Baz İstasyonu Nasıl Çalışır ve Fake Station Hususları - #1

Bu yazımda birini aradığınızda arka tarafta ne gibi işlemler döndüğünü a’dan z’ye açıklama gayretinde bulundum. Yazının içeriğine değinip cağrı süreçlerini anlatmaya başlayalım. Ardından, part 2'de bir çağrının nasıl dinlenebileceğiyle ilgili hususlara değineceğim.

Table of Contents

  • CID Nedir, Nasıl Çalışır?
  • CID Kapsamına Giriş Yapıldığında Yaşanan Olaylar
  • IMEI ve IMSI Nedir?
  • Kanal Tahsis Edilmesi
  • İletisim Özelinde Güvenlik
  • Çağrı Yönlendirme

CID Nedir?

CID (Cell ID), hücre kimliği anlamına gelmektedir. "Hücre" sözcüğünün bize pek bir şey çağrıştırmadığının farkındayım. Bu sebeple öncelikle "hücre"nin tanımlamasını yapalım. (Hücre olarak kullanılan terim "Cell id"dir ve yazımızın devamında bu hususa "Cell ID" veya "CID" şeklinde değineceğiz).

CID, kısaca bir baz istasyonunun sinyal cinsinden kapsadığı coğrafi konumu ifade etmektedir. Bir baz istasyonunun CID kapsamından çıktığınız takdirde başka bir baz istasyonunun CID kapsamına girmiş olursunuz. Zaten bunun tersi bir durumda yani herhangi bir kapsamı olmayan bir konumdaysanız, bir baz istasyonuna bağlanamayacağınızdan mütevellit hattınız hiç çekmeyecektir.

Aşağıdaki şemada 3 adet baz istasyonunun kapsadığı alan ve ilgili cihazın bağlı olduğu baz istasyonunun (Cell0) kapsama alanından yani CID'sinden çıkış yaptığı anda Cell2 adlı baz istasyonunun CID kapsamına gireceği görülmektedir:

Bu noktada yukarıda da anlattığım gibi ilgili kapsam içerisindeki baz istasyonuna bağlanılır. Aynı konumda ve aynı kapsamda birden fazla baz istasyonu varsa en güçlü bağlantıyı hangisi sağlıyorsa onunla iletişim sağlanır.

Şu ana kadar öğrendiklerimize bakıldığında ofansif tarafta bu bilgileri kullanabileceğimiz bir örnek senaryo oluşturalım:

Eğer biz sahte bir istasyon oluşturmak istiyorsak, bunun ilgili cihazın kapsamı içerisinde bulunan baz istasyonlarından daha iyi bir sinyal gücünde olması gerekir. Böylece ilgili cihaz, baz istasyonu ihtiyacını giderebilmek adına bizi tercih edebilir. Bizi tercih ettiği noktada ise artık o cihaza gelen ve o cihazdan çıkan tüm bilgileri alabiliyor oluruz. Bir nevi MITM (Man-in-the-Middle) ve evil twin saldırıları gibi bir yapıdadır denebilir.

Fake bir istasyon oluşturma hususlarına değinmeden önce, normal bir baz istasyonuna bağlanan bir cihazın bağlantı sağlandığı takdirde baz tarafında neler olduğunu anlatmak istiyorum.

CID Kapsamına Giriş Yapıldığında Yaşanan Olaylar

Bir cihazın baz istasyonuna bağlanabilmesi adına öncelikle bir CID kapsamında olması gerekir. Ve CID kapsamında olduğu anda baz istasyonları ilgili cihazın sinyal isteğini duyar ve istenen bağlantı sağlanıp o cihaza uygun sinyaller yönlendirilmiş olur. Yani cihazımızın sürekli olarak bir yayında bulunduğunu ve bu yayın sonucunda baz istasyonlarının onun bağlantı talebine cevap vermesi gibi bir durumu düşünmemiz yanlış olmaz.

Şu ana kadar senaryomuzda cihazımız CID kapsamına girdi ve uygun bir baz istasyonuyla iletişime geçti. Şimdi ise bu iletişime geçme süreçlerine değinelim.

Cihaz Kimliginin Dogrulanmasi

Baz istasyonlarinin bagli olan bir cihaza ozel sinyalleri yonlendirebilmesi icin o cihazi tanimlayabildigi bir degere ihtiyac duyar. Bu noktada da devreye IMEI ve IMSI degerleri girer. Bu degerler sayesinde kimlik dogrulama islemi yapilir ve o cihaza ozel olan sinyaller bu degerler uzerinden yonlendirilir.

IMEI ve IMSI Nedir?

IMEI çoğunuzun yabancı olmadığı bir tanım olabilir. IMEI cihazlarınızı tanımlayan belirli bir formattaki numaralardır. Baz istasyonu tarafından gerçekleştirilen bir doğrulama işlemi aşağıdaki adımları içerir:

  • IMEI kontrol listesi: Baz istasyonunda, IMEI numaralarının tutulduğu bir kontrol listesi bulunur. Bu liste, geçerli ve güvenilir IMEI numaralarını içerir.
  • IMEI Doğrulama İsteği: Cihazın bağlanma talebi üzerine baz istasyonu IMEI numarasını kontrol edebilmek için bir doğrulama isteği gönderir (bu istek kayıtlı olan IMEI kontrol listesine gönderilir). Bu istek, mesaj başlığı yani header, IMEI numarası ve isteğe bağlı birkaç ek bilgi içerir.

Örnek bir IMEI kontrol isteği aşağıdaki gibidir:

GSM Header: 03ABCD
IMEI: 354489026954123

IMEI üzerinde gerçekleştirilen doğrulama işlemleri bu şekildeydi. Şimdi ise IMSI üzerinde gerçekleştirilen doğrulama işlemlerine göz atalım.

IMSI bir mobil abonenin (Turkcell, Vodafone vb.) benzersiz tanımlayıcısıdır ve bu değer SIM kartın içerisinde tutulur. IMSI doğrulama, baz istasyonu ve mobil ağ arasında gerçekleşir. IMSI doğrulama işlemi aşağıdaki adımları içermektedir:

SIM kartından IMSI Okuma: Baz istasyonu, cihaza bağlı olan SIM karttan IMSI numarasını okur. Bunun için uygun bir istek gönderilir.

Örnek IMSI Okuma İsteği:

APDU Komutu: 00A40004023F00

Yukarıdaki örnekte, APDU (Application Protocol Data Unit) komutu kullanılarak IMSI okuma isteği gönderildiği varsayılmıştır. Bu komut, SIM karttan IMSI numarasını okumak için kullanılır. (Gerçek bir IMSI okuma isteği daha karmaşık olabilir ve kullanılan protokole ve SIM kartın özelliklerine bağlı olarak değişebilir.)

  • IMSI Doğrulama Talebi: Baz istasyonu, bağlantı isteğini mobil ağa ileterek IMSI doğrulama sürecini başlatır. Ardından cihaz, IMSI doğrulama isteğini alır ve SIM kart üzerinde depolanan IMSI numarasını içeren bir cevap gönderir. (Bu kontroller arasında IMSI'nın doğru formatı, kayıtlı bir aboneye ait olması ve geçerli bir IMSI olması gibi kriterler yer alabilir.)
  • Doğrulama Sonucu: Mobil ağ (baz istasyonlarının oluşturduğu network), IMSI doğrulama sürecinin sonucunu belirler. Eğer IMSI doğrulaması başarılı ise, abonenin kimlik bilgileri doğrulanmış olarak kabul edilir ve ağa erişime izin verilir. Eğer IMSI doğrulaması başarısız ise, abonenin kimlik bilgileri doğrulanmamış olarak kabul edilir ve ağa erişim engellenir.

NOT: IMSI doğrulama isteği, mobil ağın abonelerin kimliklerini doğrulamak ve yetkisiz erişimleri engellemek için kullandığı önemli bir güvenlik mekanizmasıdır. Abonenin IMSI numarası, SIM kart tarafından sağlanır ve mobil ağ tarafından doğrulanır. Bu süreç, güvenli bir abonelik yönetimi ve hizmet sağlanması için kritik bir adımdır.

Kanal Tahsis Edilmesi

Kanal tahsisi, telekomünikasyon sistemlerinde baz istasyonları tarafından cihazlara iletişim için kullanılacak uygun bir kanalın atanması işlemidir. Bu süreç, sesli veya veri iletimi için kullanılan frekans bantının veya zaman diliminin belirlenmesini içerir.

Bir baz istasyonu, çevresindeki cihazlara hizmet verebilmek için belirli bir frekans bandı veya zaman dilimi aralığına sahiptir. İletişim ihtiyaçlarına bağlı olarak, baz istasyonu bu bandın içinden uygun bir kanalı seçer ve cihaza tahsis eder. Kanal seçimi, baz istasyonunun yoğunluğu, iletişim kalitesi, frekans planlaması ve diğer faktörler dikkate alınarak yapılır.

Kanal tahsisi, baz istasyonunun yönetiminde gerçekleşir ve istasyonlar arasında koordinasyon gerektirebilir. Baz istasyonları, kanal tahsisi sürecini optimize etmek için frekans planlaması ve yönetim algoritmalarını kullanır. Bu algoritmalar, iletişim trafiğini dengelemek, çakışmaları önlemek ve bant genişliğini verimli bir şekilde kullanmak için tasarlanmıştır.

Sonuç olarak, kanal tahsisi telekomünikasyon sistemlerinde önemli bir adımdır. Doğru kanal tahsisi, iletişim kalitesini artırır, çakışmaları önler ve etkin bir iletişim sağlar.

İletisim Özelinde Güvenlik

Güvenlik protokolleri, telekomünikasyon sistemlerinde iletişimin güvenliğini sağlamak amacıyla kullanılan protokol ve algoritmalardır. Baz istasyonları, iletişimin gizliliğini ve bütünlüğünü korumak için güvenlik protokollerini uygular. İşte güvenlik protokollerinin temel bileşenleri:

  • Şifreleme: Güvenlik protokolleri, iletişimin şifrelenmesi yoluyla gizliliğini sağlar. Şifreleme, iletilen verilerin anlaşılması zor hale getirilmesi işlemidir. Baz istasyonu ve cihaz arasında veri iletimi gerçekleşirken, şifreleme algoritması kullanılarak veriler şifrelenir ve yalnızca doğru anahtarla çözülebilir hale gelir. Örnek olarak, GSM (Global System for Mobile Communications) standardı, A5 şifreleme algoritması ve SIM kartları üzerindeki güvenlik özellikleriyle güvenli iletişimi sağlamak için tasarlanmıştır.
  • Anahtar Yönetimi: Güvenlik protokollerinde, güvenlik anahtarları kullanılarak şifreleme ve çözme işlemleri gerçekleştirilir. İletişimin başlatılması için baz istasyonu ve cihaz arasında güvenlik anahtarları paylaşılır. Bu anahtarlar, şifreleme ve çözme işlemlerinde kullanılır ve iletişimin gizliliğini sağlamak için güvenli bir şekilde paylaşılması ve yönetilmesi gereken kritik bileşenlerdir.
  • Kimlik Doğrulama: Güvenlik protokolleri, iletişen tarafların kimliklerini doğrulamayı sağlar. Kimlik doğrulama, bir cihazın veya kullanıcının kimliğini belirlemek ve yetkilendirilmiş bir şekilde iletişim yapmasını sağlamak amacıyla gerçekleştirilir. Bu işlem, güvenlik açıklarını önlemek ve yetkisiz erişimi engellemek için önemlidir.

Iletişim sırasında A5 sifrelemesinin nasıl çalıstığına dair örnek bir senaryo oluşturalım ve neler olduğunu görelim:

Senaryo: A ve B kullanıcılarımız, güvenli bir şekilde birbirleriyle iletişim kurmak istiyorlar. İletişimleri, baz istasyonu üzerinden gerçekleşiyor ve A5 algoritması kullanılarak şifreleniyor.

from Crypto.Cipher import ARC4

    def a5_encrypt(key, plaintext):
        cipher = ARC4.new(key)
        ciphertext = cipher.encrypt(plaintext)
        return ciphertext
    
    def a5_decrypt(key, ciphertext):
        cipher = ARC4.new(key)
        plaintext = cipher.decrypt(ciphertext)
        return plaintext
    
    # Anahtar oluşturma
    key = b"0123456789ABCDEF"  # 16 byte anahtar (128 bit)
    
    # İletilecek veri
    veri = b"Merhaba, nasılsınız?"
    
    # Cihaz A, veriyi şifreleyerek gönderiyor
    sifreli_veri = a5_encrypt(key, veri)
    print("Cihaz A'dan Şifrelenmiş Veri:", sifreli_veri)
    
    # Cihaz B, alınan şifreli veriyi çözüyor
    cozulmus_veri = a5_decrypt(key, sifreli_veri)
    print("Cihaz B'de Çözülmüş Veri:", cozulmus_veri.decode())

A5 algoritması (ARC4) kullanılarak şifreleme ve çözme işlemleri gerçekleştirilmektedir. İki cihaz arasında güvenli bir iletişim sağlamak için aynı anahtar kullanılır. Cihaz A, veriyi şifreler ve şifreli veriyi cihaz B'ye gönderir. Cihaz B, aldığı şifreli veriyi çözerek orijinal metni elde eder.

Bu sadece bir örnek olup, gerçek uygulamalar için daha karmaşık güvenlik protokollerini ve algoritmalarını dikkate almanız önemlidir. Ayrıca, güvenli anahtar paylaşımı ve anahtar yönetimi gibi diğer güvenlik önlemlerini de göz önünde bulundurmanız gerekebilir.

Cağrı Yönlendirme

Çağrı yönlendirme, telekomünikasyon sistemlerinde bir çağrının hedef cihaza doğru yönlendirilmesini sağlayan bir işlemdir. Bu işleme örnek olarak; Bir numarayı aradığınızda “cağrı yönlendiriliyor” gibi bir çıktı alırsınız. İşte bu çıktının verilme sebebi hedef cihaza yönlendiriliyor olmanızdır.

İletişim kurmak isteyen bir kullanıcı, hedef cihazı aradığında, çağrı isteği önce bulunduğu konumdaki en yakın baz istasyonuna iletilir. Ardından baz istasyonu, çağrının hedef cihazın bulunduğu baz istasyonuna yönlendirilmesini sağlar. Tabii bu tek bir yönlendirmedir hedefin daha uzak olduğu durumlarda yönlendirme işlemi birden fazla baz istasyonu arasında gerçekleşir. İletişimin hedef cihaza doğru yönlendirilmesi ve istenilen cihaza ulaşması sonucunda da çağrı isteği tamamlanmış olur ve bu noktada iletişim başlar.

Read other posts
← Classic-File Systems (Klasik Dosya Sistemleri)
mertbingol
Contact me Mert B.