Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 30874|Отговор: 1

[Мрежов протокол] Разлика между ShadowsocksR и Shadowsocks

[Копирай линк]
Публикувано в 10.11.2017 г. 12:41:35 ч. | | |

SS е оригиналът, SSR е версия на трета страна, произлязла от оригинала, съвместима с оригиналния протокол и има повече камуфлажни функции (протокол и объркване) от оригинала.

Има и много дискусии за SSR в интернет, както за, така и против, но за обикновени потребители. Независимо дали е SS или SSR, в момента може да ви помогне да се катерите по стената нормално.

Що се отнася до това коя версия на клиента ще изтеглиш, всичко зависи дали SS или SSR е инсталиран на сървъра на SS акаунта, който си закупил. Най-оригиналната SS функция може да се използва независимо от клиента, който е изтегли, но ако искате да използвате функциите на SSR (протокол и объркване), трябва да изтеглите SSR клиента.

Но не се притеснявайте, всички възли, които предоставяме, поддържат съвместимост с SS и SSR. Препоръчва се използването на SSR. По-бързо, за да не бъдеш хармонизирана!
Преди време имаше много шум около Shadowsocks, а напоследък е ясно, че голям брой начинаещи са привлечени от т.нар. "Shadowsocks Enhanced" (ShadowsocksR). Като аматьор разработчик на имплементирането на Shadowsocks на C++/Qt, бих искал накратко да изразя мнението си за тези две пържени пилета.


ShadowsocksR

Не знам дали разработчикът зад него има опит или екип, но това, което знам, е, че авторът е затварял източника на клиента на Shadowsocks C# за вторичната му разработка в нарушение на GPL. Няма да говорим за други фактори тук, фактът е, че GPL е много ясен в черно на бяло, нарушаването е нарушение. Но авторът след това е открил кодовата база, което може да се счита за край на инцидент и няма нужда да се преследва повече.

Нещата се промениха, след като Clowwindy изпразни своя магазин за кодове на Shadowsocks. По-долу е просто списък с факти:

Авторът на ShadowsocksR каза, че иска да започне от нулата, за да напише нов прокси инструмент, който не е свързан със shadowsocks, и вече няма да обновява ShadowsocksR
Два или три дни по-късно ShadowSocks беше наредено да бъде изтрит, а оригиналният проект Shadowsocks практически изчезна
Авторът на ShadowsocksR каза, че оригиналният протокол на shadowsocks е дефектен (обсъдено в следващия раздел) и се върна към фокуса
Авторът на ShadowsocksR създаде Google+ група и актуализира кода, свързан със ShadowsocksR.
Сигурност на Shadowsocks

Сега, нека започнем с описанието на твърдението на автора на ShadowsocksR, че недостатъкът на протокола Shadowsocks е, че дължината на IV в повечето случаи е 16 байта. Втората половина е вярна, много криптографски алгоритми използват IV с дължина 16 байта (особено популярните AES и RC4-MD5), и какво от това? Това не въвежда така наречените "дефекти" по следните причини:

IV на всяка TCP връзка на етапа на ръкостискане се генерира на случаен принцип, а не от паролата, така че IV е непредсказуем.
Без ключа, дори ако тази част от IV бъде прихваната, шифротекстът не може да бъде декриптиран. И всяка нова TCP връзка използва случайно генериран IV, тоест данните, прихванати от различни TCP връзки, имат малко общо. Декриптирането на шифротекста изисква както правилния IV, така и шифъра, а всяка връзка няма характеристики на шифъра.
Повечето IV са с дължина 16 байта, което е възможна комбинация от 256 към степен 16, и е невъзможно да се пробие с груба сила, когато всички IV са еднакви, камо ли да добавиш втора точка.
Според подхода на ShadowsocksR е безполезно да се добавя т.нар. обфускационен заглавен елемент преди първата връзка, неговите собствени характеристики са очевидни и това изобщо не променя същността на по-късния IV или фиксираната дължина. Тъй като четвъртият байт ви показва дължината на случайно запълнените данни, стига да пропуснете предишната купчина при извършване на т.нар. "пробване", все още можете да прихванете IV. И както казах преди няколко точки, безполезно е, ако получиш тази случайна венозна система. Ако се използва за откриване, фиксираната първа версия на логото е голата функция, изпратена за идентификация.
Авторът на ShadowsocksR в момента предоставя активен скрипт за откриване, който може да се използва за откриване дали сървърът използва shadowsocks, и според текущите онлайн тестови доклади процентът на успех не е нисък (но не е 100%). В тази връзка Clowwindy вече е предоставил автоматично решение за забрана в оригиналната версия, което автоматично блокира тези злонамерени IP адреси. Току-що добавих пач в libQtShadowsocks и този пач блокира откриването на този метод, който връща случайни низове с произволна дължина според случайната вероятност.
Въпреки това, това не означава, че протоколът на Shadowsocks е перфектен, а че "решението" на ShadowsocksR е криво, защото фокусът му е крив. Моята лична идея е да използвам публични и частни ключове за подобряване на сигурността, макар че това не е много приятелско за начинаещи, но сигурността ще бъде подобрена, характеристиките ще бъдат намалени (няма нужда да се изпращат IV на етапа на ръкостискане), а протоколът shadowsocks трябва да се развие в посока CCA сигурност.

Актуализирано на 05-септември-2015

След като бъде открита грешката в заглавието (която не може да бъде разрешена), грешният IV и IP адрес ще бъдат добавени към списъка с неуспешни IV и IP адреси, ако IV вече съществува в списъка с неуспешни IV, IP-то, което е изпратило заявката за връзка, ще бъде добавено към черния списък и IP адресът в черния списък директно ще отхвърли връзката. За най-актуални подробности относно антидетекцията, моля, вижте този брой, а тази статия няма да актуализира контрамерките за антидетекция.

Актуализирано на 06-септември-2015

Тази статия просто иска да ви каже да не се притеснявате прекалено за сигурността на Shadowsocks – настоящият протокол все още няма сериозни уязвимости, а сървърите на основните портове също се обновяват, за да се коригират потенциални заплахи. Също така съм комуникирал добре с автора на ShadowsocksR и ще мине известно време, преди да пристигне белият списък.

Актуализирано на 24 септември 2015 г.

Сигурността на Shadowsocks, спомената в тази статия, се отнася повече до сигурността на сървъра, а настоящият протокол крие риска да изложи сървъра на откриване чрез brute force и след това да бъде блокиран от защитните стени (въпреки че цената на откриването е много висока). Сигурността на предаваното съдържание не трябва да се тревожи, всички от които са индустриални алгоритми за криптиране с висока сила (с изключение на RC4 и TABLE), и е почти невъзможно да се разбие предаваното съдържание.

Актуализирано на 18 ноември 2015 г.

Shadowsocks подобри сигурността си срещу CCA, като добави една единствена проверка, а големите портове вече са завършили поддръжката си. Важно е да се подчертае, че целта на Shadowsocks не е да бъде 100% без бъгове или 100% устойчива на куршуми, а да гарантира, че връзката е лека и бърза, като същевременно прави основните методи за атака твърде скъпи за реализация.





Предишен:.net/c# реализира изходния код за отвличане на DNS
Следващ:[VS2017] Настройте агента на Nuget
Публикувано в 9.08.2019 г. 8:32:59 ч. |
Научих! Благодаря!
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com