Идея для этой статьи зародилась, когда мы проводили анализ защищенности в удаленном районе в условиях отсутствия Интернета и любых средств связи. У нас были только рации, через которые мы переговаривались. Но нам также нужно было удаленно обмениваться небольшими файлами. Так у нас появилась идея проверить, возможно ли передавать информацию с одного ноутбука на второй, используя рации.
Важно! Здесь не будет информации о юридических особенностях использования радиосвязи, а также о частотах, мощности передачи, позывных и т. п. Применение радиосвязи имеет ограничения и регулируется Федеральным законом 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 и выбираем уровень чувствительности, как показано на рисунке:

Изготовление кабеля APRS
Далее нам нужен был кабель APRS для подключения рации к аудиовыходу ноутбуков. Кабель можно купить готовый, например, APRS-k1, но мы изготовили его самостоятельно. Для этого мы использовали кабель с гарнитурным разъемом рации (можно взять у проводной гарнитуры или тангенты), пару аудиокабелей и несколько резисторов и конденсаторов. Мы использовали следующую схему:



Про операционную систему
Выбор упал на Linux-подобные операционные системы, так как ядро Linux включает встроенную поддержку AX.25. Для ноутбуков обязательным требованием было наличие звуковой карты с возможностью подключения наушников и микрофона.
В рамках нашего эксперимента мы собрали тестовый стенд с использованием ОС Raspberry Pi Desktop и Kali Linux, установленных на нетбуках Asus Eee PC 901 и Asus Eee PC 1015 соответственно.

Настройка программного обеспечения
Для настройки программного обеспечения нужно выполнить следующие шаги:
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

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:

На этом настройка связи между ноутбуками завершена. Теперь передавать информацию можно как по обычной компьютерной сети.

Чтобы не перегружать звуковую карту и микрофонную линию рации, нужно настроить уровни звука. Сделать это можно при помощи alsamixer и регулятора громкости рации. При настройке нужно ориентироваться на стабильность передачи и предупреждения в консоли direwolf.


Тестирование канала передачи
На высокую скорость передачи данных рассчитывать не стоит. В нашем примере скорость обмена составила 1700 бит/с. Реальная скорость, с учетом задержек и полудуплексного режима передачи, составила около 80 байт/с.

Так как передача ведется через радиоэфир, то любой, у кого есть устройства прослушивания эфира, может перехватить передаваемые по радиоканалу пакеты и декодировать их.
В качестве демонстрации такой возможности, радиосигнал был перехвачен, сохранен в виде аудиофайла и расшифрован встроенными инструментами direwolf.


Конечно, можно для защиты передаваемых файлов использовать шифрование, но в этом случае и без того невысокая скорость обмена информацией будет еще ниже.
Скорость передачи можно увеличить, но для этого нужно будет использовать совершенно иную схему кабеля и способ переключения рации в режим передачи.
Вывод
Организовать передачу данных по радиоканалу оказалось возможно при помощи подручных средств.
Дальность такой связи теоретически ограничена только сложностью рельефа, а также характеристиками рации и антенны. При этом дальность связи может варьироваться от десятков метров до нескольких десятков, а может и сотен километров.
Обнаружить источник такого канала передачи несложно. Для обнаружения достаточно использовать метод триангуляции с применением направленных антенн и специализированных инструментов, таких как средства прослушивания радиоэфира и/или анализа радиочастотного спектра. Правда, описанный способ применим только в момент передачи сигнала по радиоканалу.

Автор: Георгий Козлов, специалист по анализу защищенности УЦСБ