Como os proxies HTTPs podem detectar pacotes HTTPs?

1

Eu conheço a teoria sobre proxies, quais são e seus propósitos.

Às vezes, os proxies HTTP (s) são usados em uma empresa para filtrar a rede de saída, por exemplo, para evitar qualquer coisa, exceto HTTP / HTTPs. Conheço uma pessoa dentro de uma empresa desse tipo e ele nem usa o SSH em nenhuma porta. Por outro lado, todas as portas parecem estar abertas, desde que ele as use para HTTP ou HTTPs (ou apenas para TLS, eu não sei).

Em teoria, se eu olhar para o modelo OSI, tudo que vem depois da camada de sessão é criptografado. Então, as únicas coisas relevantes que um proxy pode ver quando um usuário navega em um site HTTPs são IP, porta e talvez nome de domínio em certos casos, certo?

Pode ser muito burro, mas não consigo encontrar uma resposta para essa pergunta:

Como é possível que um proxy HTTPs detecte um pacote como HTTPs (e não apenas TLS), se alguma coisa após o cabeçalho TLS ser criptografado?

Eu tentei farejar minha rede local, procurar uma pista, mas não vi uma menção ao protocolo de inscrição na sessão ou nas camadas de transporte.

    
por Gui-Don 12.07.2015 / 19:13

1 resposta

3

O primeiro pacote dentro de uma conexão HTTP (a solicitação HTTP) ou uma conexão HTTPS (o TLS ClientHello) são claramente distinguíveis do primeiro pacote no SSH. A criptografia de HTTPS / TLS não ajuda aqui porque você pode detectar esse tráfego com o handshake inicial que precede a criptografia.

Mas isso não é infalível. Por exemplo, o Skype tenta vários métodos para passar por firewalls e outro é fazer com que seu tráfego pareça semelhante ao TLS que muitos firewalls permitem que ele passe, mesmo que o Skype não fale TLS real.

    
por 12.07.2015 / 22:38