网传Tor浏览器的网桥WebTunnel存在被流量识别问题

“暗网下/AWX”希望精通技术的网友帮忙核实下该说法,是否真的可以轻易识别Tor网桥的流量。

网传Tor浏览器的网桥WebTunnel存在被流量识别问题

近日,有网友向“暗网下/AWX”表示,Tor浏览器的网桥WebTunnel存在被审查机构的流量识别的潜在问题,原因是:

一是传输的TLS是Go语言的crypto/tls库。通过测试发现,网桥的TLS Client Hello长度是317字节,而正常浏览器流量的长度是517-650字节。前者相比被普遍认为是正常流量的后者短很多,暴露了Go普遍使用的TLS库不规范的短板。

二是大多数用于WebTunnel网桥的服务器普遍使用Nginx。Nginx服务器未配置的情况下会出现默认页面,并没有任何伪装,很容易被识别。

该网友建议的解决办法是换用比较规范的Rust,其TLS Client Hello长度达到517字节。或直接使用C语言的TLS库,如Chromium的tls.h,以达到伪装浏览器流量的目的。

该网友还建议将crypto/tls库替换为uTLS亦可缓解此TLS指纹。uTLS 是“crypto/tls”的一个分支,它提供了 ClientHello 指纹识别、握手的低级访问、伪造会话票证和一些其他功能。握手仍然由“crypto/tls”执行,该库仅更改其中的 ClientHello 部分并提供低级访问。

tls.go的代码:

package tls

import (
“crypto/tls”
“errors”
“net”
)

type Config struct {
ServerName string
}

func NewTLSTransport(config *Config) (Transport, error) {
return Transport{kind: “tls”, serverName: config.ServerName}, nil
}

type Transport struct {
kind string
serverName string
}

func (t Transport) Client(conn net.Conn) (net.Conn, error) {
switch t.kind {
case “tls”:
conf := &tls.Config{ServerName: t.serverName}
return tls.Client(conn, conf), nil
}
return nil, errors.New(“unknown kind”)
}

暗网下/AWX”希望精通技术的网友帮忙核实下该说法,是否真的可以轻易识别Tor网桥的流量。

Anwangxia.com原创文章,作者:anwangxia,如若转载,请注明出处:https://www.anwangxia.com/3179.html

Leave a Reply

Your email address will not be published. Required fields are marked *