Передача данных по радиоканалу
Идея для этой статьи зародилась, когда мы проводили анализ защищенности в удаленном районе в условиях отсутствия Интернета и любых средств связи. У нас были только рации, через которые мы переговаривались. Но нам также нужно было удаленно обмениваться небольшими файлами. Так у нас появилась идея проверить, возможно ли передавать информацию с одного ноутбука на второй, используя рации.
Важно! Здесь не будет информации о юридических особенностях использования радиосвязи, а также о частотах, мощности передачи, позывных и т. п. Применение радиосвязи имеет ограничения и регулируется Федеральным законом N 126-ФЗ «О связи».
Для решения этой задачи мы использовали подручные средства:
Две портативные рации, работающие по протоколу AX.25, с разъемом для гарнитуры и функцией VOX
Два кабеля APRS
Два ноутбука со звуковой картой (встроенной или USB) и разъемом для наушников и микрофона
Программное обеспечение direwolf, выступающее в качестве виртуального пакетного контроллера (TNC).
AX.25 (Amateur X.25) — протокол канала передачи данных для сетевого уровня, первоначально полученный из второго уровня набора протоколов X.25, что соответствует канальному уровню сетевой модели OSI, и предназначенный для использования операторами-любителями. Широко используется в любительских сетях пакетной радиосвязи.
Direwolf — это программный модем / TNC и кодер / декодер APRS со звуковой картой. Его можно использовать автономно для приема сообщений APRS, в качестве дигипитера, шлюза APRStt или интернет-шлюза (IGate). Также его можно использовать в качестве виртуального TNC для других приложений, таких как APRSIS32, UI-View32, Xastir, APRS-TW, YAAC, UISS, Linux AX25, SARTrack и многих других.
Настройка рации
Мы использовали рации Retevis RA685 и Quansheng UV-R50 с разъемом для гарнитуры стандарта Kenwood. Вообще для этой задачи подойдет абсолютно любая рация с разъемом для гарнитуры и функцией VOX, например, популярная Baofeng UV-5R.
Функция VOX автоматически переключает радиостанции в режим передачи, как только оператор начинает говорить в микрофон, и возвращает в режим приема, когда оператор заканчивает говорить. Включить описанную функцию достаточно просто — для этого меню настроек рации находим пункт VOX и выбираем уровень чувствительности, как показано на рисунке:
Рисунок 1. Меню рации с активированной функцией VOX
Изготовление кабеля APRS
Далее нам нужен был кабель APRS для подключения рации к аудиовыходу ноутбуков. Кабель можно купить готовый, например, APRS-k1, но мы изготовили его самостоятельно. Для этого мы использовали кабель с гарнитурным разъемом рации (можно взять у проводной гарнитуры или тангенты), пару аудиокабелей и несколько резисторов и конденсаторов. Мы использовали следующую схему:
Рисунок 2. Схема кабеля APRS
Рисунок 3. Набор для сборки
Рисунок 4. Готовый кабель
Про операционную систему
Выбор упал на Linux-подобные операционные системы, так как ядро Linux включает встроенную поддержку AX.25. Для ноутбуков обязательным требованием было наличие звуковой карты с возможностью подключения наушников и микрофона.
В рамках нашего эксперимента мы собрали тестовый стенд с использованием ОС Raspberry Pi Desktop и Kali Linux, установленных на нетбуках Asus Eee PC 901 и Asus Eee PC 1015 соответственно.
Рисунок 5. Тестовый стенд
Настройка программного обеспечения
Для настройки программного обеспечения нужно выполнить следующие шаги:
1. Удалить Pulseaudio:
apt‑get remove ‑purge pulseaudio*
apt‑get autoremove
reboot now
2. Установить инструменты direwolf:
apt install alsa-utils ax25-tools direwolf
3. Добавить в файл конфигурации »/etc/ax25/axports» строку:
NODE-ID1 NODE-ID1 0 255 7 HF
4. Перечислить аудиоустройства и запомнить номер нужной звуковой карты:
aplay -l
arecord -l
Рисунок 6. В нашем случае Card 0, Deviсe 0
5. Создать файл конфигурации direwolf.conf и добавить следующие строки:
#Use Card 0, Deviсe 0
ADEVICE plughw:0,0
#Half Duplex Mode
ACHANNELS 1
CHANNEL 0
MYCALL NODE-ID1
#Delay before TX in N*10ms (for VOX)
DWAIT 255
6. Запустить direwolf со следующими параметрами:
direwolf -p -c ./direwolf.conf -B 1700
7. В выводе команды найти и запомнить расположение до виртуального TNC.
8. Открыть второй терминал и ввести команды:
modprobe -v ax25
kissattach /dev/pts/1 NODE-ID1
kissparms -p NODE-ID1 -t 600 -l 20 -s 100 -r 80 -f n -c 1
ifconfig ax0 44.0.0.1/30
arp -H ax25 -s 44.0.0.2 NODE-ID2
9. В итоге получаем такой вывод в терминале direwolf:
Рисунок 7. Терминал direwolf
На этом настройка связи между ноутбуками завершена. Теперь передавать информацию можно как по обычной компьютерной сети.
Рисунок 8. подключение по ftp
Чтобы не перегружать звуковую карту и микрофонную линию рации, нужно настроить уровни звука. Сделать это можно при помощи alsamixer и регулятора громкости рации. При настройке нужно ориентироваться на стабильность передачи и предупреждения в консоли direwolf.
Рисунок 9 Предупреждение о высоком уровне громкости
Рисунок 10. Консоль AlsaMixer
Тестирование канала передачи
На высокую скорость передачи данных рассчитывать не стоит. В нашем примере скорость обмена составила 1700 бит/с. Реальная скорость, с учетом задержек и полудуплексного режима передачи, составила около 80 байт/с.
Рисунок 11 Скорость передачи
Так как передача ведется через радиоэфир, то любой, у кого есть устройства прослушивания эфира, может перехватить передаваемые по радиоканалу пакеты и декодировать их.
В качестве демонстрации такой возможности, радиосигнал был перехвачен, сохранен в виде аудиофайла и расшифрован встроенными инструментами direwolf.
Рисунок 12. Консоль SDRSharp
Рисунок 13. Декодированные пакеты
Конечно, можно для защиты передаваемых файлов использовать шифрование, но в этом случае и без того невысокая скорость обмена информацией будет еще ниже.
Скорость передачи можно увеличить, но для этого нужно будет использовать совершенно иную схему кабеля и способ переключения рации в режим передачи.
Вывод
Организовать передачу данных по радиоканалу оказалось возможно при помощи подручных средств.
Дальность такой связи теоретически ограничена только сложностью рельефа, а также характеристиками рации и антенны. При этом дальность связи может варьироваться от десятков метров до нескольких десятков, а может и сотен километров.
Обнаружить источник такого канала передачи несложно. Для обнаружения достаточно использовать метод триангуляции с применением направленных антенн и специализированных инструментов, таких как средства прослушивания радиоэфира и/или анализа радиочастотного спектра. Правда, описанный способ применим только в момент передачи сигнала по радиоканалу.
Рисунок 14. Сигнал рации на анализаторах спектра.
Автор: Георгий Козлов, специалист по анализу защищенности УЦСБ