wireguard-go код проверяет размер полученного пакета и отбрасывает его если он не совпадает с ожидаемым. Другие реализации не проверял, но думаю там все аналогично. Поэтому дописывать в Handshake Initiate рандомный мусор в конец пакета не получится.
case MessageInitiationType:
okay = len(packet) == MessageInitiationSize
case MessageResponseType:
okay = len(packet) == MessageResponseSize
case MessageCookieReplyType:
okay = len(packet) == MessageCookieReplySize
default:
device.log.Verbosef("Received message with unknown type")
}
if okay {
select {
case device.queue.handshake.c <- QueueHandshakeElement{
msgType: msgType,
buffer: buffer,
packet: packet,
endpoint: endpoint,
}:
buffer = device.GetMessageBuffer()
default:
}
}
Возможно, у пользователя был конфиг от Warp+. С другой стороны здесь вообще корпоративный VPN заблокировали, в отличие от того же Warp вряд ли адреса были засвечены. Может быть еще не у всех провайдеров блокировка налажена, насколько я понимаю история довольно свежая.
Согласен, можно было бы сделать Wireguard более стойким к детектированию. Но по всей видимости это вряд ли уже произойдёт. Никто не захочет ломать совместимость. А ее к слову ломает даже использование зарезервированных байтов.
Вопрос скорее к Джейсону, но вообще все кроме первого байта для DPI выглядит как произвольные бинарные данные. Основная проблема в фиксированном размере пакетов handshake и первом байте указывающем тип пакета, который 1 для initiate, 2 для response и 4 для пакетов с данными.
Возможно, здесь мы вступаем области предположений. Меня главным образом смущает, что у пользователя туннель не падал через две минуты. Так же вполне вероятно, что нужен еще и произвольный пакет в обратном направлении. А для этого придется еще и сервер модифицировать.
Возможно SOCKS - это действительно overkill и может отработать и более простой вариант. Но главное, что работает.
Если послать мусорный пакет, то сервер ничего не ответит, а DPI похоже ждет первую подходящую пару в обоих направлениях. Впрочем, наверняка сложно сказать, это только мои предположения.
Через SOCKS пробрасывается Handshake Initiate и приходит ответный Hadnshake Response, остальные пакеты ходят напрямую между клиентом и сервером WireGuard. Другими словами SOCKS используется для маскировки handshake.
Счастье - это когда тебе 20 лет и у тебя есть своя машина и квартира. По мне так, бессмысленно осуждать желание молодых людей монетизировать свои интеллектуальные способности. В конце концов, они же не "торговать в ларёк" уходят (привет 90-е), а работать по специальности. Более того, если ты всю жизнь работаешь с информацией, то 25 лет это далеко не шлагбаум для начала научной деятельности. Что, к слову, хорошо показано на примере Ваших бывших студентов, которые пришли в науку в зрелом возрасте, до этого поработав в крупных компаниях.
В целом, после прочтения статьи и комментариев, у меня сложилось впечатление, что основная проблема не в отношении российских компаний к науке или желании молодых людей к финансовой независимости, а в чрезмерной зарегулированности самой науки. И на этом фоне вполне логично, что CS постепенно смещается в сторону частных научных школ в рамках крупных компаний (Яндекс, Озон и т.д.).
"Просто я уважаю химию. Химию надо уважать." ((C) Breaking Bad)
У меня сложилось впечатление, что автора больше интересует собственная стоимость на рынке, чем собственно работа в разработке. Другими словами, для чувства самооценки ему достаточно устроиться в компанию и получить хороший оклад. А затем... Ну не царское это дело мозг кипятить...
У меня так младший брат завязал с разработкой и стал тренером по теннису. И в деньгах в целом не потерял и занимается любимым делом. Может и автору стоит задуматься о вариантах...
Плетью обуха не перешибёшь. Я честно говоря, слабо представляю, как можно исправить сложившуюся за десятилетия репутацию. К тому же эффект от статьи получился в лучшем случае нейтральный, скептические комментарии явно лидируют.
ИМХО, если компания претендует на “элитарность” FAANG, то пусть предложит соответствующие уровни оплаты труда и тогда хотя бы сможет обосновать зачем тратить столько времени и терпения.
"Создайте операционную систему, которой сможет пользоваться и дурак. И только дурак и захочет ей пользоваться."
Может новая ось и правда хороша, но только в таком виде она вряд ли кого-то заинтересует, кроме госструктур. А этот ограниченный внутренний рынок не сможет прокормить полноценную разработку и сопровождение.
Если изменение MTU помогло, то это была не намеренная блокировка, а побочный эффект фрагментации пакетов. Случается маршрутизаторы, чтобы не тратить попусту ресурсы блокируют фрагментированные пакеты.
Для обфускации постепенно появляются разные варианты, например https://github.com/dndx/phantun Что любопытно, сам незадолго до этого экспериментировал c трансформацией UDP заголовков в TCP и обратно правда без симуляции handshake и SYN-ACK.
Не вижу большой разницы, организовал ли пирамиду один человек или удачно подхватил коллектив из десяти тысяч условно "первых" инвесторов. Модель от этого не меняется... Изначальная идея была отличная, единственное, чего не смог предусмотреть архитектор это объёмов человеческой жадности. Возможно, устойчивый к асикам PoW сделал бы систему более надёжной. Но имеем что имеем...
Те же самые соображения, по которым я не не принимал и не принимаю участия в никаких финансовых пирамидах. Вы удивитесь, но не для всех вовремя войти и выйти обобрав недалеких соплеменников - цель жизни. А в текущем виде биткойн имеет все признаки финансовой пирамиды...
Она перестала ей быть с появлением первых асиков и концентрацией мощностей у производителей оных. В результате получили средненькую платежную систему с чудовищными затратами ресурсов и электроэнергии. Китайцы уже сообразили, что пора выходить с этого рынка, осталось дождаться как до остальных дойдёт…
Если ходить по преимущественно по туристическим кафе/ресторанам, то там не только кофе мерзкий, но и все остальное. Большинство таких кафе скупили китайцы и выжимают, что могут. В этом плане Тенерифе все больше напоминает Венецию. Но до сих пор есть и очень достойные варианты.
На Канарских островах популярен такой напиток как Barraquito.Слоями наливаются сгущеное молоко, кофейный ликёр и эспрессо. Бодрит и без таблеточки...
Можно использовать альтернативный BoringTun от Cloudflare. Не kernel mode, но производительность неплохая, существенно лучше чем wireguard-go.
Ссылки на пруфы разбросаны по статье. То с чего я начал этим заниматься: https://www.ntkernel.com/forums/topic/can-i-select-the-default-interface-when-using-wiresock-vpn-client-on-win10/
Еще пара ссылок, которые я нашел пока, разбирался:
https://www.reddit.com/r/Egypt/comments/lsnyk7/is_wireguard_blocked/
https://twitter.com/6h4n3m/status/1459462360003919875
Не исключено, что наличие блокировок зависит от конкретных провайдеров.
wireguard-go код проверяет размер полученного пакета и отбрасывает его если он не совпадает с ожидаемым. Другие реализации не проверял, но думаю там все аналогично. Поэтому дописывать в Handshake Initiate рандомный мусор в конец пакета не получится.
У меня не было возможности проверить, но судя по тому, что пишут, OpenVPN работает только в паре с shadowsocks.
Возможно, у пользователя был конфиг от Warp+. С другой стороны здесь вообще корпоративный VPN заблокировали, в отличие от того же Warp вряд ли адреса были засвечены. Может быть еще не у всех провайдеров блокировка налажена, насколько я понимаю история довольно свежая.
Согласен, можно было бы сделать Wireguard более стойким к детектированию. Но по всей видимости это вряд ли уже произойдёт. Никто не захочет ломать совместимость. А ее к слову ломает даже использование зарезервированных байтов.
Вопрос скорее к Джейсону, но вообще все кроме первого байта для DPI выглядит как произвольные бинарные данные. Основная проблема в фиксированном размере пакетов handshake и первом байте указывающем тип пакета, который 1 для initiate, 2 для response и 4 для пакетов с данными.
Возможно, здесь мы вступаем области предположений. Меня главным образом смущает, что у пользователя туннель не падал через две минуты. Так же вполне вероятно, что нужен еще и произвольный пакет в обратном направлении. А для этого придется еще и сервер модифицировать.
Возможно SOCKS - это действительно overkill и может отработать и более простой вариант. Но главное, что работает.
Если послать мусорный пакет, то сервер ничего не ответит, а DPI похоже ждет первую подходящую пару в обоих направлениях. Впрочем, наверняка сложно сказать, это только мои предположения.
Через SOCKS пробрасывается Handshake Initiate и приходит ответный Hadnshake Response, остальные пакеты ходят напрямую между клиентом и сервером WireGuard. Другими словами SOCKS используется для маскировки handshake.
Счастье - это когда тебе 20 лет и у тебя есть своя машина и квартира. По мне так, бессмысленно осуждать желание молодых людей монетизировать свои интеллектуальные способности. В конце концов, они же не "торговать в ларёк" уходят (привет 90-е), а работать по специальности. Более того, если ты всю жизнь работаешь с информацией, то 25 лет это далеко не шлагбаум для начала научной деятельности. Что, к слову, хорошо показано на примере Ваших бывших студентов, которые пришли в науку в зрелом возрасте, до этого поработав в крупных компаниях.
В целом, после прочтения статьи и комментариев, у меня сложилось впечатление, что основная проблема не в отношении российских компаний к науке или желании молодых людей к финансовой независимости, а в чрезмерной зарегулированности самой науки. И на этом фоне вполне логично, что CS постепенно смещается в сторону частных научных школ в рамках крупных компаний (Яндекс, Озон и т.д.).
"Просто я уважаю химию. Химию надо уважать." ((C) Breaking Bad)
У меня сложилось впечатление, что автора больше интересует собственная стоимость на рынке, чем собственно работа в разработке. Другими словами, для чувства самооценки ему достаточно устроиться в компанию и получить хороший оклад. А затем... Ну не царское это дело мозг кипятить...
У меня так младший брат завязал с разработкой и стал тренером по теннису. И в деньгах в целом не потерял и занимается любимым делом. Может и автору стоит задуматься о вариантах...
Плетью обуха не перешибёшь. Я честно говоря, слабо представляю, как можно исправить сложившуюся за десятилетия репутацию. К тому же эффект от статьи получился в лучшем случае нейтральный, скептические комментарии явно лидируют.
ИМХО, если компания претендует на “элитарность” FAANG, то пусть предложит соответствующие уровни оплаты труда и тогда хотя бы сможет обосновать зачем тратить столько времени и терпения.
"Создайте операционную систему, которой сможет пользоваться и дурак. И только дурак и захочет ей пользоваться."
Может новая ось и правда хороша, но только в таком виде она вряд ли кого-то заинтересует, кроме госструктур. А этот ограниченный внутренний рынок не сможет прокормить полноценную разработку и сопровождение.
Если изменение MTU помогло, то это была не намеренная блокировка, а побочный эффект фрагментации пакетов. Случается маршрутизаторы, чтобы не тратить попусту ресурсы блокируют фрагментированные пакеты.
Для обфускации постепенно появляются разные варианты, например https://github.com/dndx/phantun Что любопытно, сам незадолго до этого экспериментировал c трансформацией UDP заголовков в TCP и обратно правда без симуляции handshake и SYN-ACK.
Не вижу большой разницы, организовал ли пирамиду один человек или удачно подхватил коллектив из десяти тысяч условно "первых" инвесторов. Модель от этого не меняется... Изначальная идея была отличная, единственное, чего не смог предусмотреть архитектор это объёмов человеческой жадности. Возможно, устойчивый к асикам PoW сделал бы систему более надёжной. Но имеем что имеем...
Те же самые соображения, по которым я не не принимал и не принимаю участия в никаких финансовых пирамидах. Вы удивитесь, но не для всех вовремя войти и выйти обобрав недалеких соплеменников - цель жизни. А в текущем виде биткойн имеет все признаки финансовой пирамиды...
Она перестала ей быть с появлением первых асиков и концентрацией мощностей у производителей оных. В результате получили средненькую платежную систему с чудовищными затратами ресурсов и электроэнергии. Китайцы уже сообразили, что пора выходить с этого рынка, осталось дождаться как до остальных дойдёт…
Ещё один плюсик в пользу DuckDuckGo.
Если ходить по преимущественно по туристическим кафе/ресторанам, то там не только кофе мерзкий, но и все остальное. Большинство таких кафе скупили китайцы и выжимают, что могут. В этом плане Тенерифе все больше напоминает Венецию. Но до сих пор есть и очень достойные варианты.
На Канарских островах популярен такой напиток как Barraquito.Слоями наливаются сгущеное молоко, кофейный ликёр и эспрессо. Бодрит и без таблеточки...