Ru-WireGuard

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Ru-WireGuard — былинный отечественный импортозамещённый форк некогда хипстерского, а ныне почти мейнстримного VPN-протокола WireGuard. Запилен в содружестве сумрачных гениев из BI.ZONE (эти которые типа секьюрити-эксперты и киберполигоны строят) и НПК «Криптонит» (эти которые совсем крипто-гики и научные сотрудники, возможно, в шарашке). Представляет собой попытку скрестить ежа с ужом, а именно — минималистичный и шустрый WireGuard с тяжеловесной, но сертифицированной отечественной криптографией.

Рождение Чуда[править]

Как гласит официальная легенда, где-то в конце декабря 2020 года, аккурат под ёлочку, исследовательское подразделение BI.ZONE и научные умы из «Криптонита» возжелали странного. Вместо того чтобы спокойно пить шампанское и резать оливье, они решили, что миру (читай: российскому регулятору и госзаказчику) не хватает ещё одного велосипеда, на этот раз криптографического.

Дескать, буржуйский WireGuard хорош всем: и код короткий (какие-то жалкие 3800 строк на тот момент, по сравнению с монстрами типа OpenVPN или IPsec), и дизайн простой, и от DoS-атак вроде как защищён, и даже формально верифицирован (что бы это ни значило для конечного юзера), и быстрый, аж сам Линус в ядро принял. Но есть один нюанс — использует он криптографию нескрепную, заморскую: Curve25519, ChaCha20-Poly1305, BLAKE2s… Сплошная бездуховность и криптоколониализм!

А тут как раз импортозамещение шагает по стране, санкции крепчают, Чебурнет не за горами. Ну как тут без отечественного аналога? Партия сказала «надо», комсомол ответил «есть»! За три месяца ударного труда (или сколько там они реально пилили?) спецы BI.ZONE наваяли черновик спецификации и даже несколько реализаций на разных языках, а «Криптонит» выступил в роли экспертов-консультантов, подсказав, какие именно ГОСТы куда прикрутить, чтобы компетентные органы одобрили.

Техномагия под грифом «Сделано у нас»[править]

Вместо изящных эллиптических кривых от DJB и потоковых шифров, в Ru-WireGuard завезли суровый набор отечественных криптоалгоритмов:

  • ГОСТ Р 34.10-2012 для согласования ключей (алгоритм VKO, он же «Выработка Ключа Общего», на эллиптических кривых, конечно же, из ГОСТа).
  • Блочный шифр «Кузнечик» (ГОСТ Р 34.12-2015). Just google it, как говорится. Звучит мило, но криптоаналитики спорят.
  • Режим аутентифицированного шифрования MGM (Р 1323565.1.026-2019) для «Кузнечика». Потому что просто шифровать — неинтересно, надо ещё и аутентифицировать.
  • Хеш-функция «Стрибог» (ГОСТ Р 34.11-2012). Тоже звучит грозно.
  • HMAC и KDF (функция диверсификации ключей KDF_TREE) на базе всё того же «Стрибога». Чтобы два раза не вставать.

Особо доставляет раздел «Константы» в спецификации, где вместо лаконичных строк оригинала красуются монстры вроде `Noise_IKpsk2_GC256A_GOST_R_341112_256_WITH_KUZNYECHIK_MGM` (57 байт!) или `RU WireGuard v1 2020 zx2c4 Jason@zx2c4.com` (а вот автор оригинала в курсе, что его именем тут размахивают?). Сразу видно — серьёзный подход.

Кроме базовой версии, разработчики зачем-то осилили и пороговую (threshold) версию протокола. Это когда для расшифровки нужно собрать кворум из нескольких участников. Зачем это нужно в VPN — вопрос открытый. Возможно, для особо параноидальных сценариев, или просто потому что могли (и грант освоили?). Сами авторы туманно намекают на уязвимости HSM/TPM/SGX и что их пороговая криптография — это типа труъ альтернатива.

Реакция и Перспективы[править]

Результаты титанического труда были выложены на GitHub (спека, реализация на Go, клиент под Окошки). Все желающие могут форкнуть, изучить и даже запулить реквест. Правда, в README к Go-реализации честно предупреждают:

Warnings

  • Maturity: The code is experimental. You must not use this in production
  • Audit: The code is not audited
  • Stability: Breaking changes are expected
  • Performance: elliptic curve and MGM implementations are extremely slow

То есть, пользоваться этим (особенно в проде) категорически не рекомендуется, оно не аудировано, может сломаться в любой момент, а главное — ЧРЕЗВЫЧАЙНО МЕДЛЕННОЕ. Вся хвалёная производительность оригинального WireGuard помножена на ноль неоптимизированными реализациями ГОСТов на Go. Классика!

Кому же нужен этот Ru-WireGuard? Сами создатели говорят про «отечественные перспективные сетевые, распределенные и облачные технологии», «проекты в условиях импортозамещения». На практике это, скорее всего, означает тендеры, госконтракты и обязательное использование в госконторах и компаниях с госучастием, где ФСБ или ФСТЭК требуют сертифицированную криптографию.

Обычному анонимусу, желающему просто скрыть свой IP от провайдера или зайти на заблокированный сайт, этот ГОСТ-овый WireGuard нафиг не упал. Он медленный, почти проприетарный по духу (несмотря на открытые исходники, стандарт-то закрытый), и Большой Брат наверняка имеет к нему особый интерес. Так что продолжаем сидеть на оригинальном WireGuard или OpenVPN, пока РКН и до них не добрался.

А BI.ZONE и «Криптонит»? А они молодцы, освоили бюджеты, отчитались об успехах, получили профит. Капитализм, счастье, зашибись.

См. также[править]

App.png Весьма полезная вещь, позволяет машинам работать с помощью коммандычей
МетаПрограммаDRM (SecuROMStarForceАналоговая дыра) • БагБот (Автоответчик) • Варез (Repack) • ГлюкГуйДонатКопирайт (By design) • ЛогНюкРут (Не работай под рутом) • Спортивное программированиеМегапиксельКомпьютерВерсия 2.0КодОбфускацияСкриншотДатамайнПлагинТекстовый файлБольшие данныеАльфа и бета-тестыТаймстампКэшШаблоныHello WorldНейросетиФайлИнсталляцияВидеоМощный сбой Microsoft 19 июля 2024 годаCrowdStrikeПроект GNUUserscriptDxvkVkd3dБратан хорош давай давай впередКонечный автоматLumenЗаступник (приложение)NeeUnreal MCP
ФичиБагрепорт12309BSODCookiesEmbrace, extend and extinguishFL StudioSheep.exeWinlogon.exeБубенЗащита от дуракаКостыльМашинный переводПасхальные яйцаСвистелки и перделкиСм. рис. 1Съешь ещё этих мягких французских булокTermuxGNU MetroИндусский кодНескучные обои • Сжатие (За сжатие ДжипегаШакалШкала) • Работает — не трогайРандомайзерPDF (Распознавание PDF) • Дело Google в ФАСЧат-ботXMLМакросКритическая ошибкаФреймворкСинонимайзерSourceТрёхмерное отслеживаниеТрассировка фотоновHZB OcclusionДаунгрейд RTX 4070TressFXАвтопереводчикVSCodiumThorium Browser
ВредоносноеБотнетБрутфорсВинлокЗвонилкаКитайские пингвиныПиксель смертиТроянЧервь МоррисаBonziBuddyMediaGetBrowser hijackingTinderМиссис МажорУтечка буфера обменаWin 10 TweakerОпараш Mozilla FirefoxЯндекс.МузыкаКрэкерБезопасность через умолчаниеGrifter.aviTrojan.Winlock.DeathМиссис МажорСредаDirectStorageDriverpackГенератор случайных чиселDisable Core 0РомхакингDDrawCompatWingetCreateWinGetCoowonЯндекс МессенджерVCPkgSELinuxXfireYouTube Auto-ResumeTape OperatorBotFatherMTProtoSignalDoubleClickFixGitee
КомпанииApple / Apple (AppleScript) • GoogleMicrosoftSAPЯндексExiled Exchange 2BraveAdNauseamСкурвление FirefoxCafe BazaarAMD FEMFXPPSSPPАвтохукQuick machine recoveryMAXBypassNROWizTreeJTubeGallium NineFalconRu-WireGuardМобильное приложениеWebRenderСмс-бомбер
Движения8-bitOpen source (КрасноглазикиЛинуксоиды) • Вирусная сценаДаунгрейдДемосценаМоддингMMDDirectDrawЛагиБлокировка Дискорда в РоссииOpera GXНесоответствие MIME-типаRenoisePygameLs (UNIX)МетаданныеПатчNginxПиксельЭмуляторSearxТамТамMallocСвязный списокSOLIDGreasemonkeyПлатные сообщенияFlatpakNouveauFuse.js
Офис3DS MAXGIMPGNU EmacsMovie MakerMS Paint • OpenOffice • PowerPointviMicrosoft WordExcelБлокнотФотошопАнтивирус КасперскогоAvast!TikZShareXAlternativeToСкрепышMicrosoft OfficeТекстовый редакторWeChatZoomДиспетчер задачMicrosoft CortanaWinampBallonTranslatorKerish DoctorОбщая ошибкаFirefox: Как один баг сломал весь YouTubeМеждулициеMeld StudioLadybirdCheat EngineTotal Commander
ОСAndroidBSDDOSMenuetOSReactOSWindows (Phone 7Phone 878Vista) / МаздайЛинуксРусская ОСФантом ОСIndex.phpCompassУход мэйнтейнера NouveauБойкот лаунчеровAria2cNoiceMinecraft-Installer.exe
БраузерыInternet ExplorerОпера / Opera • Тормозилла (ОгнелисLolifoxMozilla FirefoxFirefoxFirefox Klar) • Хром (шпионаж) • SafariЯндекс.БраузерУведомления в браузереVivaldiTor-браузерЗосимаФронтенд
ИнтернетAdobe Systems (Flash) • I2PLow Orbit Ion CannonTorTunatic • Чат−клиенты (MirandaQIPSkypeЖабберDiscordVIPole) • HTTPSПрокси-сервер (Proxifier) • Торрент (Magnet-ссылкаΜTorrent) • JavaScriptCSSHTMLБаннермейкерИзменение TTL сетевых пакетовКапчаICQFiddlerViberZonaSteamSillyTavernWickr Me
РазработкаBrainFuckCC++C#JavaHaskellАссемблерChaos ConstructionsBATMySQLGitHubAutoHotKey (AutoHotInterception) • Sublime TextAPK (APKPureзапрет) • BASICPerlPythonPHPФоркUnity3DSAISIPСАПРФлагUTAUФласк макросАуработRaidCallAdobe MingОфициальный™ список кошерных программDevOpsНиколай Дуров
ЛюдиВеб-мастерLovinGODБалмерГейтсГенерал ФейлорДжобсМитникПоттерингде РаадтСпольскиСтоллманТорвальдсШахиджанянAche666Марк ЦукербергЕвгений ПоповДенис КумпонМассовая компьютерная безграмотность
КостылиCygwin • PunkBusterT9WineWishmasterАнтивирусыХакинтошСборки WindowsDenuvoЧистая установкаКалькулятор Consul WarMicrosoft StoreUBlock OriginLightshotAdBlockSearchApp.exeCPU-ZГуглPhotoshopКаптча с пчёламиВзлом Windows через MetasploitЩЩ Мессенджер
Команды^H^WAlt+F4Ctrl+Alt+Delman/me/quitrm -rf
T 443.webp Хроники санкций и импортозамещения
ОсновыСанкции (Страны по числу санкций) • Импортозамещение (сайтов) • Экономические санкцииОтказ от санкцийОтмена РоссииСанкции за признание Л/ДНРПакеты санкций ЕСРоссия как страна-изгойАналогов нетРоссийское программное обеспечениеУжесточение санкций при ТрампеСанкции Трампа против России
СанкцииСанкции против РоссииСанкции от БайденаЗападные санкции против КрымаЕвропейские санкции против РоссииОтключение России от западных компанийОтключение от SwiftОтключение России от SWIFTАрест золотовалютных резервовПоломка Северных потоковБлокировка российских танкеровРепарации России УкраинеДевятый пакет санкцийЗапрет карт МирАрест евро при выезде из ЕСПотолок цен на российскую нефтьОдиннадцатый пакет санкцийБлокировка Windows в РоссииПрямые перелёты из РоссииПоезда через границу РоссииДвенадцатый пакет санкцийЧто не работает в КрымуИзоляция Калининградской области
КонтрсанкцииБлокировка YouTubeПродажа газа за рублиЗапрет на выезд из РФОтмена копирайта в РоссииЖелезный занавес 2.0Безопасные для российских самолётов страныРоссийский The SimsGarantexДвижуха в ГазпромеRu-WireGuard
ИмпортозамещениеПереименования брендов в РоссииРоссийские аналоги Google Play (RuMarketNashStoreRuStore) • Российские аналоги ИнстаграмаРуниверсалисРоссграмГрустнограмNow (социальная сеть)LimbikoЧебуграмMusicgramВкусно и точкаБольшая российская энциклопедияLOOKYTwittyКомпьютеры Ворон и БобёрТыквенный СпасКрасный автомобиль ИспытанияКола Черноголовка
СобытияЕгор Холмогоров против ВикипедииПутин рассказал о пользе санкций для РоссииВозврат России в G8Западное давление на БеларусьПоставки российской нефти в Евросоюз и Китай рухнулиЭффект от санкций в РФ