이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 30874|회답: 1

[네트워크 프로토콜] ShadowsocksR과 Shadowsocks의 차이점

[링크 복사]
게시됨 2017. 11. 10. 오후 12:41:35 | | |

SS는 오리지널이고, SSR은 오리지널에서 파생된 서드파티 버전으로, 원래 프로토콜과 호환되며, 오리지널보다 위장 기능과 혼동이 더 많습니다.

인터넷에서는 SSR에 대한 찬반 양측이 많지만, 일반 사용자들을 위한 논의도 많습니다. SS든 SSR든, 현재로서는 벽을 넘는 데 도움이 될 수 있습니다.

어떤 버전의 클라이언트를 다운로드하느냐는 SS가 구매한 SS 계정의 서버에 설치되어 있는지에 따라 다릅니다. 가장 독창적인 SS 기능은 어떤 클라이언트를 다운로드하든 사용할 수 있지만, SSR의 기능(프로토콜과 혼동)을 사용하려면 SSR 클라이언트를 다운로드해야 합니다.

하지만 걱정 마세요, 저희가 제공하는 모든 노드는 SS와 SSR 호환성을 지원합니다. SSR 사용을 권장합니다. 조화를 피하기 위해 더 빨라져야 해!
한동안 섀도우삭스에 대한 많은 논란이 있었고, 최근에는 많은 초보자들이 이른바 '섀도우삭스 강화'(ShadowsocksR)에 끌리고 있음이 분명해졌습니다. C++/Qt로 Shadowsocks를 구현하는 아마추어 개발자로서, 이 두 가지 프리드 치킨에 대해 간단히 제 의견을 말씀드리고 싶습니다.


섀도우삭스R

개발자가 배경이나 팀이 있는지는 모르겠지만, 제가 아는 것은 제작자가 Shadowsocks C# 클라이언트를 GPL 위반으로 2차 개발을 위해 클로즈 소스를 제공했다는 점입니다. 다른 요소들은 여기서 다루지 않겠습니다. 사실 GPL은 명확히 명확합니다. 위반은 위반입니다. 하지만 저자는 코드베이스를 오픈소스화했는데, 이는 사건의 종료로 볼 수 있어 더 이상 추적할 필요가 없다.

클로윈디가 섀도우삭스 코드스토어를 비운 후 상황이 바뀌었습니다. 다음은 단지 사실 목록일 뿐입니다:

ShadowsocksR 저자는 Shadowsocks와 관련 없는 새로운 프록시 도구를 처음부터 작성하고 싶다고 밝혔으며, 더 이상 ShadowsocksR을 업데이트하지 않을 것입니다
이틀, 사흘 후, ShadowSocks는 삭제 명령을 받았고, 원래의 Shadowsocks 프로젝트는 사실상 사라졌습니다
ShadowsocksR의 저자는 원래 Shadowsocks 프로토콜이 결함이 있었다고 말했고(다음 섹션에서 다룹니다), 다시 초점을 맞췄습니다
ShadowsocksR 저자는 Google+ 그룹을 만들고 ShadowsocksR 관련 코드를 업데이트했습니다
섀도우삭스 보안

이제 ShadowsocksR 저자가 주장하는 Shadowsocks 프로토콜 결함이 대부분의 경우 IV 길이가 16바이트라는 점에 대한 설명부터 시작해 보겠습니다. 후반부는 맞습니다. 많은 암호화 알고리즘이 16바이트 길이의 IV를 사용합니다(특히 인기 있는 AES와 RC4-MD5), 그래서 어쩌라고요? 이로 인해 이른바 '결함'은 다음과 같은 이유로 발생하지 않습니다:

각 TCP 연결의 핸드셰이크 단계에서의 IV는 비밀번호에서 계산되지 않고 무작위로 생성되므로 IV는 예측할 수 없습니다.
키가 없으면, 이 IV 부분이 가로채지더라도 암호문을 복호화할 수 없습니다. 그리고 새로운 TCP 연결마다 무작위로 생성된 IV를 사용하는데, 즉 서로 다른 TCP 연결에서 가로채는 데이터는 거의 공통점이 없습니다. 암호문 복호화는 올바른 IV와 암호 모두가 필요하며, 어떤 연결도 암호에 대한 특성이 없습니다.
대부분의 IV는 16바이트 길이로, 256의 16의 거듭제곱 정도의 조합이 가능하며, 모든 IV가 동일할 때 무차별 대입 크래킹은 불가능하며, 두 번째 포인트를 추가하는 것은 말할 것도 없습니다.
ShadowsocksR의 접근법에 따르면, 첫 번째 연결 전에 이른바 난독화 헤더를 추가하는 것은 무의미하며, 그 자체의 특성은 명확하며, 이후 IV나 고정 길이의 본질을 전혀 바꾸지 않습니다. 네 번째 바이트가 무작위로 채워진 데이터의 길이를 알려주기 때문에, 이른바 '프로빙'을 수행할 때 이전 더미를 건너뛰면 IV를 가로챌 수 있습니다. 그리고 몇 점 앞서 말했듯이, 이 무작위 IV를 얻으면 쓸모가 없습니다. 탐지용으로 사용될 경우, 고정된 첫 번째 버전은 식별을 위해 보내진 노출된 특징입니다.
ShadowsocksR의 저자는 현재 서버가 shadowsocks를 실행 중인지 감지할 수 있는 능동 탐지 스크립트를 제공하고 있으며, 현재 온라인 테스트 보고서에 따르면 성공률은 낮지 않지만(100%는 아닙니다). 이와 관련해 Clowwindy는 원래 버전에서 이미 자동 차단 솔루션을 제공하여 악성 IP를 자동으로 차단했습니다. libQtShadowsocks에 패치를 추가했는데, 이 패치가 이 메서드의 감지를 차단합니다. 이 메서드는 무작위 확률에 따라 랜덤 길이의 문자열을 반환합니다.
하지만 이것이 Shadowsocks 프로토콜이 완벽하다는 뜻은 아니며, ShadowsocksR의 "해결책"이 왜곡된 이유는 초점이 왜곡되었기 때문이라는 뜻입니다. 개인적인 생각은 공개키와 개인 키를 사용해 보안을 강화하는 것입니다. 초보자에게는 친절하지는 않지만 보안은 개선되고 특성도 줄어들 것입니다(핸드셰이크 단계에서 IV를 보낼 필요가 없습니다). 그리고 Shadowsocks 프로토콜은 CCA 보안 방향으로 발전해야 합니다.

2015년 9월 5일 업데이트

헤더 오류(해결 불가)가 발견되면, 잘못된 IV와 IP가 실패한 IV 및 IP 목록에 추가됩니다. IV가 이미 실패한 IV 목록에 있거나 해당 IP가 실패한 IP 목록에 이미 포함되어 있다면, 연결 요청을 보낸 IP가 블랙리스트에 추가되고, 블랙리스트에 있는 IP는 직접 연결을 거부합니다. 탐지 방지에 관한 최신 세부 사항은 이 호를 참조하시기 때문이며, 이 글에서는 탐지 방지 대응책을 업데이트하지 않습니다.

2015년 9월 6일 업데이트

이 글은 Shadowsocks의 보안에 대해 너무 걱정하지 말라는 말씀을 드리고 싶습니다. 현재 프로토콜에는 아직 심각한 취약점이 없으며, 주요 포트의 서버도 잠재적 위협을 수정하기 위해 업데이트되고 있습니다. 또한 ShadowsocksR 저자와도 잘 소통했으며, 화이트리스트가 도착하기까지는 시간이 좀 걸릴 것 같습니다.

2015년 9월 24일 업데이트

이 글에서 언급한 Shadowsocks 보안은 주로 서버의 보안을 의미하며, 현재 프로토콜은 서버를 무차별 대입 대입 공격에 노출시키고 방화벽에 의해 차단될 위험이 있습니다(탐지 비용이 매우 큽니다). 전송되는 콘텐츠의 보안은 걱정할 필요가 없습니다. 이 모든 것은 산업용 고급 고강도 암호화 알고리즘(RC4와 TABLE 제외)이며, 전송된 콘텐츠를 해킹하는 것은 거의 불가능합니다.

2015년 11월 18일 업데이트

Shadowsocks는 단일 검증을 추가하여 CCA에 대한 보안을 강화했으며, 주요 포트들은 이미 지원을 완료했습니다. Shadowsocks의 목표는 100% 버그 없거나 100% 방탄이 되는 것이 아니라, 연결이 가볍고 빠르면서도 주류 공격 방법이 구현 비용이 너무 많이 들도록 하는 데 있다는 점을 다시 한 번 강조하는 것이 중요합니다.





이전의:.net/c#은 DNS 하이재킹 소스 코드를 구현합니다
다음:[VS2017] 누겟 요원을 설정해
게시됨 2019. 8. 9. 오전 8:32:59 |
배웠어요! 감사합니다!
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com