Идея для этой статьи зародилась, когда мы проводили анализ защищенности в удаленном районе в условиях отсутствия Интернета и любых средств связи. У нас были только рации, через которые мы переговаривались. Но нам также нужно было удаленно обмениваться небольшими файлами. Так у нас появилась идея проверить, возможно ли передавать информацию с одного ноутбука на второй, используя рации.
Важно! Здесь не будет информации о юридических особенностях использования радиосвязи, а также о частотах, мощности передачи, позывных и т. п. Применение радиосвязи имеет ограничения и регулируется Федеральным законом 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 Рисунок 1. Меню рации с активированной функцией VOX](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/653/1e7/5f5/6531e75f590ea30bd628f5ab6ffce725.png)
Изготовление кабеля APRS
Далее нам нужен был кабель APRS для подключения рации к аудиовыходу ноутбуков. Кабель можно купить готовый, например, APRS-k1, но мы изготовили его самостоятельно. Для этого мы использовали кабель с гарнитурным разъемом рации (можно взять у проводной гарнитуры или тангенты), пару аудиокабелей и несколько резисторов и конденсаторов. Мы использовали следующую схему:
![Рисунок 2. Схема кабеля APRS Рисунок 2. Схема кабеля APRS](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/111/60c/5c1/11160c5c1bfd1f8f31d8d1f791595a8c.png)
![Рисунок 3. Набор для сборки Рисунок 3. Набор для сборки](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/224/003/b29/224003b2957025a3b82045651224b9a3.jpg)
![Рисунок 4. Готовый кабель Рисунок 4. Готовый кабель](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/458/515/238/458515238ed2c5cb5aeecc7af64a1f3d.jpg)
Про операционную систему
Выбор упал на Linux-подобные операционные системы, так как ядро Linux включает встроенную поддержку AX.25. Для ноутбуков обязательным требованием было наличие звуковой карты с возможностью подключения наушников и микрофона.
В рамках нашего эксперимента мы собрали тестовый стенд с использованием ОС Raspberry Pi Desktop и Kali Linux, установленных на нетбуках Asus Eee PC 901 и Asus Eee PC 1015 соответственно.
![Рисунок 5. Тестовый стенд Рисунок 5. Тестовый стенд](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/6af/bd6/4aa/6afbd64aa08bbbb89b70d89afff5ae8c.jpg)
Настройка программного обеспечения
Для настройки программного обеспечения нужно выполнить следующие шаги:
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 Рисунок 6. В нашем случае Card 0, Deviсe 0](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/181/75e/2f2/18175e2f20f88cea01efe9f543c2bb85.png)
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 Рисунок 7. Терминал direwolf](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/8e4/441/d46/8e4441d46b0b6ca7b98addcc183fd236.png)
На этом настройка связи между ноутбуками завершена. Теперь передавать информацию можно как по обычной компьютерной сети.
![Рисунок 8. подключение по ftp Рисунок 8. подключение по ftp](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/dc7/1e2/b37/dc71e2b379da44028457af31621f73f2.png)
Чтобы не перегружать звуковую карту и микрофонную линию рации, нужно настроить уровни звука. Сделать это можно при помощи alsamixer и регулятора громкости рации. При настройке нужно ориентироваться на стабильность передачи и предупреждения в консоли direwolf.
![Рисунок 9 Предупреждение о высоком уровне громкости Рисунок 9 Предупреждение о высоком уровне громкости](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/9a8/b9f/509/9a8b9f509e5dbced0161f49c60b8f3fc.png)
![Рисунок 10. Консоль AlsaMixer Рисунок 10. Консоль AlsaMixer](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/1de/604/4aa/1de6044aa4ae91e8f7fb414d4fdfd525.png)
Тестирование канала передачи
На высокую скорость передачи данных рассчитывать не стоит. В нашем примере скорость обмена составила 1700 бит/с. Реальная скорость, с учетом задержек и полудуплексного режима передачи, составила около 80 байт/с.
![Рисунок 11 Скорость передачи Рисунок 11 Скорость передачи](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/031/d30/a42/031d30a420e6ce038c1f78a7d775d7fc.jpg)
Так как передача ведется через радиоэфир, то любой, у кого есть устройства прослушивания эфира, может перехватить передаваемые по радиоканалу пакеты и декодировать их.
В качестве демонстрации такой возможности, радиосигнал был перехвачен, сохранен в виде аудиофайла и расшифрован встроенными инструментами direwolf.
![Рисунок 12. Консоль SDRSharp Рисунок 12. Консоль SDRSharp](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/9c6/c26/38d/9c6c2638d3acb0b3fd3c4166eb53189a.png)
![Рисунок 13. Декодированные пакеты Рисунок 13. Декодированные пакеты](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/3c4/583/ef8/3c4583ef84ce011100ce31bab670a762.png)
Конечно, можно для защиты передаваемых файлов использовать шифрование, но в этом случае и без того невысокая скорость обмена информацией будет еще ниже.
Скорость передачи можно увеличить, но для этого нужно будет использовать совершенно иную схему кабеля и способ переключения рации в режим передачи.
Вывод
Организовать передачу данных по радиоканалу оказалось возможно при помощи подручных средств.
Дальность такой связи теоретически ограничена только сложностью рельефа, а также характеристиками рации и антенны. При этом дальность связи может варьироваться от десятков метров до нескольких десятков, а может и сотен километров.
Обнаружить источник такого канала передачи несложно. Для обнаружения достаточно использовать метод триангуляции с применением направленных антенн и специализированных инструментов, таких как средства прослушивания радиоэфира и/или анализа радиочастотного спектра. Правда, описанный способ применим только в момент передачи сигнала по радиоканалу.
![Рисунок 14. Сигнал рации на анализаторах спектра. Рисунок 14. Сигнал рации на анализаторах спектра.](https://webcf.waybackmachine.org/web/20240208090801/https://habrastorage.org/getpro/habr/upload_files/1fd/681/cd9/1fd681cd9cba54f476ad2f1febe04a4a.png)
Автор: Георгий Козлов, специалист по анализу защищенности УЦСБ