HackRF ile Sahte GPS Sinyali Üretmek (GPS Spoofing)

LightAPRS ve diğer gpsli takip cihazlarını tasarlarken, en çok zorlandığım konu; Chip anten ile evde gps sinyallerini alıp, cihazı test etmekti. Araştırırken sahte gps sinyali üreten labaratuvar cihazları olduğunu gördüm. Onların da maaliyeti orta halli bir daire fiyatıydı 🙂 Basit ve ucuz olduğu için aliexpress den 12$ a gps sinyali tekrarlayıcı cihaz aldım. Alıcı anteni balkona verici antenini odaya koyup bir süre kullandım. Çokda verilmi değildi. Bazen sebepsiz yere saatlerce sinyal bulamadığı oluyordu. Kısa bir süre çalışıp sonra bozuluyordu.  Üçüncü cihazı da bozduktan sonra bu yöntemden vazgeçtim. En son HackRF i buldum.

Türkiye’ de 2500 TL fiyatı varken, gümrük vergisi uygulanmaya başlamadan önce, aliexpress den 700 TL ye klon ürün aldım. İyiki de almışım 🙂 HackRF aslında rx ve tx özelliği olan 8 bitlik Yazılım Temelli Radyo (SDR). Çeşitli araçlarla gps datası oluşturarak bu datayı HackRF üzerinden iletmek mümkün. Burada en önemli nokta, HackRF üzerinde mutlaka uygun bir TCXO olmalı. Eğer tcxo olmazsa frekansta kayma oluyor ve gps gibi hassas sistemlerde başarılı sonuç alınamıyor.

Uyarı! GPS sinyalleri halka açık olarak kullanılmaktadır. Kötüye kullanımında kişilerin zarar görmesi ihtimali bulunmaktadır. Bu yazıda belirtilen testler kapalı ortamlarda ve minimum çıkış gücüyle yapılmıştır. Yazıda belirtilen yöntemin yanlış yada kötü niyetli olarak kullanılmasından doğacak zararlardan kişinin kendisi sorumludur.

HackRF ile gps spoofing örneklerine baktığınızda genelde linux üzerinden yapıldığını görürsünüz. Pek çok kişi linux bilmediği yada sorunla karşılaştığında çözüm bulamadığı için linuxu tercih etmiyor. Bende bu yazıda windows uygulamalarını anlatacağım.

Öncelikle gps datalarını oluşturmak için https://github.com/osqzss/gps-sdr-sim/releases adresinden gps-sdr-sim.zip dosyasını indirin ve arşivi açın. Bu aşamada gps datası oluşuracağız. “maps.google.com” üzerinden bir konum seçerek Enlem ve Boylam (Latitude, Longitude) değerlerini not edin. Ben örnek olarak Eminönünde bir nokta seçiyorum.

Komut satırından uygulamanın bulunduğu dizine giderek “gps-sdr-sim -e brdc3540.14n -b 8 -l 41.017154,28.975567,10” komutunu yazarak çalıştırın. “-l” parametresiyle az önce tespit ettiğimiz konumu sonuna yükseklik bilgisi girerek yazdık. Buradaki en önemli nokta da “-b 8” parametresi. HackRF 8 bitlik olduğu için mutlaka bunu komut satırında belirtmemiz gerekiyor. Aksi durumda uygulama default olarak 16 bitlik data üretecektir.

Uygulamanın bulunduğu dizinde “gpssim.bin” isimli dosya oluşturuldu. Default olarak 300 saniyelik data oluşturuluyor eğer 300 saniyeden daha uzun süren bir data oluşturmak istiyorsanız “-d” parametresiyle saniye cinsinden süreyi belirtebilirsiniz.

Hazırladığımız datayı HackRF ile yayınlamak için gerekli olan PothosSDR ın güncel sürümünü https://downloads.myriadrf.org/builds/PothosSDR/ adresinden indirerek kurun.

Kolaylık olması için “gps-sdr-sim” klasöründe oluşturduğumuz “gpssim.bin” dosyasını “C:\Program Files\PothosSDR\bin” klasörüne taşıyın.

Komut satırından “C:\Program Files\PothosSDR\bin” dizinne geçin veşağıdaki kodu çalıştırın. “hackrf_transfer.exe -t gpssim.bin -f 1575420000 -s 2600000 -a 0 -x 0 -R 100”

Yukarıda gördüğünüz üzere HackRF ile gönderim yapılmaya başlandı. Artık gps alıcı cihazınızla testlere başlayabilirsiniz.

U-blox7 gps alıcısı ile aldığım dataları hem u-center hemde google earth pro programıyla görselleştirdim. Ankara’da olduğum halde gpsden eminönünde belirttiğim konumu görüyorum.

Burada yine önemli bir noktayı belirtmek istiyorum. Cep telefonu gibi şebeke, wifi vb yardımlı konum belirleyen cihazları, artık bu yöntemle aldatmak pek mümkün olmuyor. GPS farklı bir konumda olduğunu söylesede baz istasyonlarının konumu yada wifi ağlarının konumu değişmediğinden, işletim sistemi bunun gps spoofing atağı olduğunu algılayabiliyor. Bu sebeple testlerinizi pasif cihazlarla yapmanızı tavsiye ediyorum.

Bir Cevap Yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.