Подмена «GPS» с помощью SDR. Подмена любых передатчиков.
«Радио – изобретение, наделавшее много шуму.»
Введение
Статья приурочена к апрельскому АВИАХАКАТОНУ. Данная информация не руководство к действию злоумышленника, а скорее руководство для безопасников и привлечение внимания к данной проблеме. Все эксперименты опасны для вашей свободы!
Врядли вы узнаете что-то новое из этой статьи и неоднократно уже слышали (в году так аж 2013) с момента выхода Defcon 21 и доклада с коротким названием - AllYourRFzAreBelongtoMe:HackingtheWirelessWorldwithSoftwareDefinedRadio от Balint Seeber'a.
Так что изменилось за шесть лет, спросите вы? А ровным счетом ничего… Кроме того, что SDR значительно подешевели и позволить себе игрушку может каждый школяр и если некоторые индивидуумы думают, что ограничение продажи устройств что-то решит в этой стране, очень жаль Вас, вы некомпетентны. Протоколы безопасности не обновляются или не существуют вообще (например, свободное общение сотрудников и передача персональных данных граждан по рации ретранслятора, который есть в каждом городе, наплевав на все ФЗ, которыми нас начали тыкать последнее время), багов и лазеек все больше и больше с каждым днем.
Просто подмена сигнала
Методика подмены сигнала (практически любого) строится на трех китах и проста до безобразия. База, которая будет подменяться, глушилка (необходимо знать ТТХ твоего устройства перед применением и подбирать необходимый радиус), устройство для копирования и вещания сигнала, в нашем случае SDR. Рассмотрим одну простейшую ситуацию, а область применения широка, от диверсий и дезинформаций до взлома пультов охранных предприятий.
Пример - сигнализация типового объекта:
Код:
1) Изучаем спектр частот и находим нужный нам сигнал. Софт - SDRSharp, Gqrx, Gnu-Radio
2) Записываем кусок сигнала: hackrf_transfer -r NAME_FILE -f 473000000 -b 1750000 -s 16000000 -a 1
3) Воспроизводим сигнал: hackrf_transfer -t NAME_FILE -f 473000000 -b 1750000 -s 16000000 –a 1
Ключом -f задается частота в герцах, в этих же единицах указываются ширина записываемой полосы (-b) и частота дискретизации сигнала (-s). Ключ -a отвечает за использование встроенного усилителя. Ну, а про rx / tx вы уже должны знать к этому моменту.
Да, друг мой, все настолько просто. Сигнализация хоть и сработает, но об этом узнают слишком поздно.
Конечно же продуман скажет «Сейчас все на Симках и GSM протоколе, проводах бла бла бла» да, но это не панацея, такие сигнализации банально «залинкованы» с пультом управления и при глушении начинают «визжать» сначала по интернету, а если он не доступен СЛАТЬ СМС! О перехвате СМС и трафика есть информация в первой части
Или упрощенная методика без глушилки – наш сигнал (помеха) должен быть сильнее источника, но это дополнительные риски :smile81:
GPS
Сейчас приемник спутниковой навигации есть не только в телефоне, но и — в промышленных установках, в датчиках телеметрии, в банкоматах. Такие приемники обеспечивают навигацию в автоматически управляемых системах, от городского транспорта до военных дронов. Системы глобального позиционирования проникли в нашу жизнь и большинство людей не задумываются насколько им можно доверять.
Почему АВИАХАКАТОН? Маленький стеб. На борту самолета находится более 7 датчиков и прогноз неутешителен… от банального перенаправления судна. Общение идет так же по открытым каналам.
Гражданские квадрокоптеры имеют программе запрещенные координаты, над которыми им нельзя летать, — например, аэропортов. Используя «навигационное оружие», можно убедить квадрокоптер, что он оказался во Внуково, в результате чего он не сможет лететь дальше и сядет. Предполагается, что именно такой защитой от дронов объясняются сбои GPS вокруг Кремля. А можно и посадить в удобном месте :smile23:
Большую опасность представляет подделка сигнала спутников, в случае промышленных систем синхронизации — в энергетике или в добывающей промышленности. Для подсчета электроэнергии или для выбора схем энергоснабжения на различных участках используется синхронизация времени по данным той же системы GPS. Обман такой системы всего на несколько секунд приведет к тому, что система недосчитает мегаватты электроэнергии.
Есть яркий пример – история о немецких станках. Они были привязаны к заводу по координатам и их вынесли спокойно куда было нужно. Яхту за 80 миллионов $ направили в другое место :smile45:
Самые простые варианты - используют в угонах, дабы датчик не глушить и навести погоню на ложный след. Слышал про туристов… Поворот не туда смотрели фильм? :eek:
Реализация.
Не забудьте про наличие TCXO на вашей RF-плате :smile12:
Предварительно установить необходимый набор стандартного софта (HackRF, Lime, USRP)
blog.goo.ne.jp/osqzss - учим Японский )
Линь, тут и информация по запуску и генерации файла с координатами - https://github.com/osqzss/gps-sdr-sim
https://www.labsat.co.uk/index.php/en/free-gps-nmea-simulator-software
Вы можете создать путь с помощью Google Планета Земля и сохранить путь в KML (язык разметки а-ля XML) Используя эту программу SatGen, вы можете загрузить KML, и он покажет вам некоторые опции, которыми вы можете манипулировать, а также приблизительную картину вашего пути. Подсовывать динамичные данные спутника следует в CSV файле, которые вы конвертируете из KML.
Код:
./nmea2um output_nmea_file user_motion.csv
Вынь, Инсталятор Gnu-Radio под - http://www.gcndevelopment.com/gnuradio/downloads.htm
Запустите Visual Studio.
Создайте пустой проект для консольного приложения.
Добавьте «gpssim.c» и «getopt.c» в папку «Souce Files».
Выберите «Release» в раскрывающемся списке « Configurations».
Build.
Сгенерировать статичный сигнал на тест таким образом:
gps-sdr-sim.exe -e brdc3540.14n -s 2500000 -l 30.296403,120.0526889,100 -b 8 -d 300 -v -o 123.bin
- gps-sdr-sim.exe — это файл, который вы собрали студией.
- brdc3540.14n — это файл с эфемеридами спутников.
- 2500000 — это частота дискретизации
- 30.296403, 120.0526889— координаты
- 100 — высота
- 8 — это разрядность чисел в выходном файле (один отсчет — это IQ, два числа).
- 300 — это длительность в секундах.
- -v — это чтобы побольше писало в лог
- 123.bin — имя выходного файла.
http://webarchiv.ethz.ch/geometh-data/downloads/GPSBasics_en.pdf
Заключение
Методика обнаружения – это доплеровский радар. Система должна детектить сдвиг сигнала не только по мощности, но и положению передатчика, что даст некое подобие защиты (совместно). Добавить больше нечего…
…кроме
https://www.darkreading.com/iot/gps-spoof-hits-geneva-motor-show/d/d-id/1334147
:smile60: