GotaTun является форком инструментария BoringTun, развиваемого компанией Cloudflare и применяемого в приложении WARP. GotaTun отличается от BoringTun наличием полноценной поддержки платформы Android, оптимизациями производительности и дополнительными возможностями для защиты конфиденциальности.
В GotaTun интегрирована поддержка технологии DAITA (Defense Against AI-guided Traffic Analysis) для защиты от анализа шифрованного транзитного трафика, проводимого с использованием инструментов на базе систем машинного обучения. DAITA нормализует размер отправляемых пакетов, примешивает случайный фоновый трафик и искажает шаблоны типовых потоков данных. В GotaTun также реализован Multihop-режим, позволяющий обращаться к VPN-серверам не напрямую, а через серию транзитных узлов, что, например, позволяет организовать прохождение трафика по более оптимальным маршрутам.
Для повышения производительности в GotaTun реализована многопоточная обработка и задействована стратегия
работы с памятью в режиме zero-copy, без промежуточной буферизации, используя только изначально предоставленный буфер.
Раннее в приложениях компании Mullvad использовался форк реализации WireGuard на языке Go — wireguard-go, расширенный поддержкой DAITA и Multihop. По статистике Google 85% от всех отправленных пользователями отчётов об аварийных завершениях Android-клиента Mullvad были связаны с кодом wireguard-go, поэтому компания Mullvad решила заменить реализацию WireGuard на более надёжный вариант.
Реализация на языке Rust была выбрана так как приложение Mullvad VPN написано на языке Rust, за исключением кода wireguard-go, взаимодействие с которым было организовано через усложнённый и использующий блоки unsafe интерфейс FFI (foreign function interface). В опубликованном в конце ноября выпуске Android-клиента Mullvad реализация wireguard-go была заменена на GotaTun, что решило проблемы с надёжностью работы — по сравнению с прошлыми версиями, метрика, отражающая число аварийных завершений, изменилась с 0.40% до 0.01%.
Источник: http://www.opennet.ru/opennews/art.shtml?num=64457
