1 puan yazan GN⁺ 2024-10-23 | 1 yorum | WhatsApp'ta paylaş
  • LTESniffer, LTE baz istasyonu ile akıllı telefon arasındaki downlink ve uplink kablosuz mesajlarını yakalayan; önce PDCCH üzerinden DCI ve RNTI bilgilerini elde edip ardından PDSCH ve PUSCH'u decode ederek veri trafiğini analiz eden açık kaynaklı bir araçtır
  • Şifrelenmiş mesajların şifresini çözemaz; yalnızca MAC ve fiziksel katman başlıkları gibi şifrelenmemiş kısımları, baz istasyonunun broadcast mesajlarını ve bağlantının ilk aşamasındaki düz metin mesajlarını analiz edebilir
  • Güvenlik araştırmaları için sunulan API, identity mapping, IMSI collecting ve UE capability profiling olmak üzere 3 özelliği destekler; mevcut LTE güvenlik araştırmalarının varsaydığı pasif sniffer gereksinimini PDSCH ve PUSCH protokol paketlerini decode ederek tamamlamayı amaçlayan bir uygulamadır
  • Özellik kapsamı LTE Advanced ve LTE Advanced Pro, uplink ve downlink için en fazla 256QAM, FDD, en fazla 20MHz baz istasyonu, DCI formats 0/1A/1/1B/1C/2/2A/2B ve transmission modes 1~4 desteğini içerir
  • Gerçek zamanlı decode için çoklu fiziksel çekirdeğe sahip CPU ve SDR kurulumu gerekir; uplink trafiği toplamada UE sinyali zayıf olduğundan sniffer'ın akıllı telefona yakın olması ya da yönlü anten, RF front-end ve amplifikatör gibi donanımlarla güçlendirilmesi gerekir

LTESniffer ne yapar

  • LTESniffer, LTE downlink ve uplink'i birlikte yakalayan açık kaynaklı bir dinleme aracıdır
  • Çalışma akışı önce PDCCH'u decode ederek aktif kullanıcıların DCI ve RNTI bilgilerini elde eder, ardından bunları kullanarak PDSCH ve PUSCH'u ek olarak decode edip uplink ve downlink veri trafiğini alır
  • Genel kullanıcı açısından bakıldığında, baz istasyonu ile bağlı akıllı telefon arasında gidip gelen LTE kablosuz mesajlarını çift yönlü olarak yakalayan bir araçtır
  • Şifrelenmiş mesajların şifresi çözülemez
    • Şifrelenmiş mesajlarda MAC ve fiziksel katman başlıkları gibi şifrelenmemiş kısımlar analiz edilebilir
    • Düz metin olarak iletilen baz istasyonu broadcast mesajları veya bağlantının ilk aşamasındaki mesajlar tamamen analiz edilebilir

Güvenlik araştırma API'si ve araştırma amacı

  • LTESniffer, güvenlik uygulamaları ve araştırmaları için 3 API özelliği sunar
    • identity mapping
    • IMSI collecting
    • UE capability profiling
  • Birçok LTE güvenlik araştırması havadan gizlilikle ilgili paketleri yakalayabilen pasif bir sniffer varsayar; ancak mevcut açık kaynaklı sniffer'ların PDSCH ve PUSCH protokol paketlerini decode edemediği ve bu yüzden gereksinimleri karşılamadığı belirtilir
  • Ayrıntılar makalede özetlenmiştir
  • LTESniffer'ın temel amacı, hücresel ağ güvenlik ve analiz araştırmalarını desteklemektir
    • Uplink ve downlink kullanıcı verisi topladığı için LTE trafik sniffing ile ilgili yerel düzenlemelere uyulmalıdır
    • Kullanıcı mahremiyetiyle ilgili bilgileri kasıtlı olarak toplamak gibi yasa dışı amaçlarla kullanımda geliştirici sorumluluk kabul etmez

Desteklenen özellikler ve uygulama temeli

  • LTESniffer, FALCON üzerine geliştirilmiştir ve srsRAN kütüphanesini kullanır
  • Başlıca destek kapsamı şöyledir
    • PDCCH, PDSCH, PUSCH kontrol ve veri kanallarının gerçek zamanlı uplink/downlink decode edilmesi
    • LTE Advanced ve LTE Advanced Pro
    • Hem uplink hem downlink için en fazla 256QAM
    • DCI formats 0, 1A, 1, 1B, 1C, 2, 2A, 2B
    • transmission modes 1, 2, 3, 4
    • Yalnızca FDD desteklenir

      • En fazla 20MHz baz istasyonu
      • Telefona göre en yüksek UL/DL modülasyon yönteminin otomatik algılanması
      • UE bazında fiziksel katman yapılandırmasının otomatik algılanması
      • RNTI-TMSI mapping, IMSI collecting, UE Capability Profiling
      • v2.1.0 güncellemesi, alt çerçeve IQ raw data dosyası kaydetme, kaydedilmiş dosyalarla çevrimdışı decode ve downlink modunda API etkinleştirmeyi ekler
      • Downlink modu API'si yalnızca identity collecting ve mapping API'si için geçerlidir
      • İlgili içerik LTESniffer-record-subframe branch'inde ve README dosyasında yer alır
      • v2.0.0 güncellemesi, uplink sniffing modunda iki adet USRP B-series kullanımını destekler ve hataları düzeltir
      • İlgili içerik LTESniffer-multi-usrp branch'inde ve README dosyasında yer alır

Donanım ve yazılım gereksinimleri

  • Kararlı çalışma için işletim sistemi Ubuntu 18.04/20.04/22.04'tür
  • Gerçek zamanlı LTE trafik decode işlemi, baz istasyonunda etkin kullanıcı sayısının fazla olduğu yoğun saatlerde çok sayıda fiziksel çekirdeğe sahip yüksek performanslı bir CPU gerektirir
    • Intel i7-9700K PC üzerinde 150 aktif kullanıcılı bir baz istasyonunun trafiğinin gerçek zamanlı decode edildiği bir örnek vardır
    • Önerilen özellikler: en az 8 fiziksel çekirdekli Intel i7 CPU, en az 16GB RAM ve 256GB SSD
  • Yalnızca downlink sniffing yapılacaksa srsRAN'ın desteklediği SDR'lerin çoğu kullanılabilir
    • Örnekler: USRP veya BladeRF
    • SDR, USB 3.0 üzerinden PC'ye bağlanmalıdır
    • transmission modes 3 ve 4 downlink mesajlarını decode etmek için 2 RX anten gerekir
    • Yalnızca 1 RX anten varsa sadece transmission mode 1 downlink mesajları decode edilir
    • GPSDO, downlink sniffing'de senkronizasyonu iyileştirmede faydalıdır ancak zorunlu değildir
  • Uplink sniffing, uplink ve downlink iki frekansını aynı anda dinlemeyi gerektirdiği için iki kurulum desteklenir
    • Tek USRP X310: 2 RX kanalı farklı uplink/downlink frekanslarına ayarlanabilir; GPSDO isteğe bağlıdır
    • 2 adet USRP B-Series: B210/B200, uplink ve downlink için ayrı ayrı kullanılır; iki USRP'yi senkronize etmek için GPSDO, clock source ve time reference olarak kullanılır
    • 2 adet USRP B-Series kurulumunda GPSDO zorunludur

Kurulum ve çalıştırma akışı

  • Kaynaktan derleme öncesinde UHD 4.0 veya üzeri kurulmalıdır ve kaynak derleme önerilir
  • srsRAN bağımlılıkları ve LTESniffer bağımlılıkları kurulduktan sonra depo klonlanır ve cmake, make -j 4 ile derlenir
  • Derleme sonrasında çalıştırılabilir dosya <build-dir>/src/LTESniffer konumunda bulunur
  • Başlıca 3 çalışma modu vardır
    • Baz istasyonundan gelen LTE downlink trafiğini sniffing
    • Akıllı telefondan baz istasyonuna giden LTE uplink trafiğini sniffing
    • Güvenlik API'si
  • Ticari ağda kullanmadan önce LTE trafik sniffing ile ilgili yerel düzenlemeler kontrol edilmelidir
  • Test akıllı telefonunun bağlı olduğu baz istasyonunu ve uplink/downlink bandını doğrulamak için Android için Cellular-Z kullanılabilir
    • LTESniffer da aynı hücreye ve frekansa bağlanmalıdır

Çıktı ve analiz

  • LTESniffer, çıktı olarak pcap dosyaları üretir; bunlar Wireshark ile ek analiz ve paket izleme için kullanılabilir
  • Oluşturulan dosya adları moda göre değişir
    • Downlink: sniffer_dl_mode.pcap
    • Uplink: sniffer_ul_mode.pcap
    • API: api_collector.pcap
  • pcap dosyaları, LTESniffer'ın çalıştırıldığı aynı dizinde oluşturulur
  • Wireshark'ın decode edilen paketleri doğru analiz edebilmesi için pcap_file_example/README.md içindeki yapılandırma kılavuzuna bakılmalıdır
  • Uplink pcap dosyası hem uplink hem downlink mesajlarını içerir
    • Yalnızca uplink görmek için mac-lte.direction == 0 filtresi kullanılır
    • Yalnızca downlink görmek için mac-lte.direction == 1 filtresi kullanılır

Uplink sniffing'in mesafe kısıtları

  • LTESniffer'ın uplink için etkili menzili, SDR gibi RF front-end performansı nedeniyle sınırlıdır
  • UE, pil kullanımını optimize eden taşınabilir bir cihaz olduğu için uplink sinyal gücü baz istasyonunun downlink sinyalinden çok daha zayıftır
  • Uplink trafiğini başarıyla yakalamak için alınan sinyal gücü şu yollarla artırılabilir
    • UE'ye fiziksel olarak yakın konumlanmak
    • Yönlü anten, özel RF front-end veya sinyal amplifikatörü gibi özel donanımlar kullanmak

FAQ'da belirtilen sınırlamalar ve alternatifler

  • GPSDO, daha kararlı senkronizasyon için faydalıdır; ancak downlink sniffing'de GPSDO olmadan da LTE sinyaliyle senkronize olup paketler decode edilebilir
  • Uplink sniffing'de GPSDO yalnızca 2 adet USRP B-series kullanıldığında gerekir
    • Tek USRP X310 kurulumunda GPSDO gerekmez
  • Downlink trafiği, srsRAN kütüphanesinin desteklediği BladeRF gibi SDR'lerle teknik olarak da çalıştırılabilir
    • Ancak LTESniffer'ın downlink işlevi yalnızca USRP B210 ve X310 ile test edilmiştir
  • LTESniffer kullanımının yasal olup olmadığı için şifrelenmemiş LTE trafik sniffing ile ilgili yerel düzenlemeler kontrol edilmelidir
    • Başka bir test yöntemi olarak, Faraday cage içinde srsRAN tabanlı özel bir LTE ağı kurma yöntemi önerilir
  • İki kullanıcı arasındaki mesaj içeriğinde yalnızca şifrelenmemiş kısımlar görülebilir
    • Baz istasyonu ile kullanıcı arasındaki kablosuz trafik büyük ölçüde şifrelenmiştir
  • LTE ağında TMSI, GUTI, IMSI ve RNTI gibi düz metin olarak açığa çıkan çeşitli tanımlayıcılar literatürde yer almaktadır

1 yorum

 
GN⁺ 2024-10-23
Hacker News görüşleri
  • Mobil ağ standartları kısaltmalarla dolu olduğu için güzel
    Eğer bilmiyorsanız, PHICH'teki Q "request" anlamına geliyor

    • Yukarıda ne dendiğini merak edenler için açıklayayım: PHICH, bağlantısı verilen projede geçmese de garip mobil ağ kısaltmalarına bir örnek; "Physical channel HybridARQ Indicator Channel" ifadesinin kısaltması
      İçindeki "ARQ" ise muhtemelen https://en.wikipedia.org/wiki/Automatic_repeat_request olarak açılabilir
      Bazıları "ARQ" içindeki "Q"nun aslında "query" olduğunu, bunu "request" diye açanların ise ortalama kelime dağarcığı seviyesini düşük gördüğünü söyleyebilir
      Benim kişisel görüşüm, düşününce Q'nun "request" ya da "query" değil, https://en.wikipedia.org/wiki/Q_code içindeki geleneksel opak Q kodunun bir başka kalıntısı olmasının daha muhtemel olduğu yönünde
    • Şaka yapıyor sanmıştım
      PHICH içindeki Q burada: https://github.com/srsran/srsRAN_4G/blob/master/lib/src/phy/...
      Kardeş yorumda dendiği gibi q, reQuest içindeki Q
  • Güzel görünüyor
    Yalnızca FDD destekliyor, TDD yok ve 20MHz ile sınırlı; yani bazı kısıtları var
    Bir ölçüde gerçek zamanlı çözümleme de yapabiliyor gibi görünmesi ilginç. Baz istasyonunda işlemenin büyük bir kısmını oldukça genel amaçlı işlemciler üstleniyor, ama yine de donanımla bu yazılımdan çok daha sıkı entegre durumdalar

  • Bunu çalıştıracak donanımın çok pahalı olması üzücü :'(

  • Biraz yan konu ama DSL dinleme denemiş olan var mı merak ediyorum
    Modern DSL, özellikle VDSL2, özünde korumasız bükümlü çift hat boyunca ilerleyen yüksek frekanslı bir sinyal; hatta hatta branşmanlar gibi şeyler varsa kolayca sızıp etrafa yayılıyor olmalı
    Nitekim Birleşik Krallık'taki amatör telsizcilerin bu konuda epey şikayet etmesi de bunu düşündürüyor[1]. Bu sinyalin hâlâ demodüle edilip edilemeyeceğini, yoksa spektrumda sadece can sıkıcı bir referans gürültüsü mü olduğunu merak ediyorum
    [1]: https://rsgb.services/public/publications/vdsl/measuring_and...

  • Daha az bilinen ilginç bir gerçek de, ilk nesil dijital cep telefonlarının çözme zorluğu açısından belirsiz bir noktada olması
    Hiç kolay değil ama kırılabilecek kadar da kolay. Şifreleme gerçekten kırılıyor
    Rainbow table 2TB ve üretmesi aylar sürmüş: https://github.com/0xh4di/GSMDecryption?tab=readme-ov-file
    Şimdi merak ediyorum, sonraki nesillerde de çeşitli nedenlerle ya da belirli devlet aktörleri yüzünden buna benzer şifre çözme açıkları biraz var mı

  • Eğlenceli bir çalışma ve böyle açık kaynaklı şeylerin hâlâ kullanıldığını görmek sevindirici
    Yaklaşık 10 yıl önce üniversitedeki ağ güvenliği laboratuvarında downlink dinleme denemiştim
    Projelerden biri, bahar tatili sırasında hücre etkinliğinin ne kadar azaldığını ölçmekti; bir diğeri ise bilinen bir konumdaki bilinen bir telefon numarası için zamanlama saldırısı yaparak geçici kimliği çıkarıp çıkaramayacağımızı ve tekrar aramalarla kişinin hâlâ o bölgede olup olmadığını görmeyi amaçlıyordu
    Bence o geçici kimlik yeterince geçici değildi. Yeniden kurcalayasım geldi

  • Bilgi çıkarmakta kullanılabilecek, bozuk debug modu bilinen 4G dongle'lar da var

  • LTESniffer açık kaynak deniyor ama ne üst düzey bir LICENSE dosyası ne de GitHub deposunda lisans ayarı var gibi görünüyor

    • Kaynak dosyalarının çoğunda, kodun AGPLv3 olduğunu ve üst düzey LICENSE dosyası olan mevcut projeler https://github.com/falkenber9/falcon ile https://github.com/srsran/srsRAN_Project depolarından forklandığını belirten telif hakkı başlığı var
      Derleme dosyalarını ve diğer destek dosyalarını da kapsaması için üst düzey bir LICENSE dosyası eklemek doğru olur