Alice 是 Chris 的员工,Chris 通过其公司代理进行大流量监控。
Alice 希望使用 Bob 的 web 服务,同时保护隐私和机密性。她可以完全控制一miner台可以从 Chris 公司网络访问的机器。
Chris 能否将端口 443 上的 SSH SOCKS 代理流量与同一端口和 IP 对上的“普通”(不起眼且大部分被 Chris 的监控系统忽略)HTTPS 区分开来?如果是这样,可检测到的差异有多大?假设监控系统具有任意权力。
Alice 是 Chris 的员工,Chris 通过其公司代理进行大流量监控。
Alice 希望使用 Bob 的 web 服务,同时保护隐私和机密性。她可以完全控制一miner台可以从 Chris 公司网络访问的机器。
Chris 能否将端口 443 上的 SSH SOCKS 代理流量与同一端口和 IP 对上的“普通”(不起眼且大部分被 Chris 的监控系统忽略)HTTPS 区分开来?如果是这样,可检测到的差异有多大?假设监控系统具有任意权力。
是的。SSH 具有标准化且非常独特的握手数据包,因此您可以非常轻松地检测 SSH 会话启动。以下是 Wireshark 对 SSH 会话启动的捕获记录:
Encrypted request packet len=41
Encrypted response packet len=39
Client: Key Exchange Init
Server: Key Exchange Init
Client: Diffie-Hellman Key Exchange Init
Server: New Keys
Client: New Keys
Encrypted request packet len=48
Encrypted response packet len=48
如您所见,即使是 Wireshark 也可以轻松检测到它们。商业 DPI 解决方案还应该能够通过查看流量模式来检测加密隧道中的流量类型 - 即他们可以理解您正在通过隧道传输 HTTP 流量,而不仅仅是使用远程 shell。
为了避免被检测到,您可以将 SSH 流量包装到诸如obfsproxy 之类的隐写隧道中,但在这种情况下,您正在与数据包检查器进行隐写军备竞赛,除非您有权访问,否则无法知道您是否被检测到到数据包检查器控制台。