Información del agente de usuario del flujo HTTPS

3

Estamos categorizando el tráfico de la red, como determinar si es Facebook, Yahoo, etc. ...

Ahora se me ha pedido también dispositivos móviles separados (como iPad, Nexus, iPhone). Es fácil hacerlo en HTTP con la información del agente de usuario.

Pero también necesito considerar el protocolo HTTPS. ¿Hay alguna forma de obtener información sobre un dispositivo de usuario en los mensajes de "cliente" o "certificado"?

    
pregunta Kadir Erdem Demir 14.06.2013 - 08:50
fuente

3 respuestas

5

Siempre que no estén usando algo como VPN o un Proxy, deberías poder verificar algunas cosas con una aplicación como WireShark:

  1. Las solicitudes de DNS para diferentes sitios web (antes de que los dispositivos TLS o HTTPS normalmente busquen el servidor). P.ej. Facebook está utilizando Akamai, por lo que si puede capturar un paquete DNS con destino a fb.*\.akamai\.net , obtendrá ambas direcciones IP (y la dirección MAC del cliente). Luego puede rastrear el tráfico de esa IP a través de la sesión.
  2. Búsqueda inversa de IP (puede consultar el registrante de IP de un servicio externo en un directorio como ARIN ) - whois -h whois.arin.net 8.8.8.8
  3. Puede buscar el fabricante del dispositivo a través de la dirección MAC
  4. Como decía Manishearth , puede intentar capturar a un agente de usuario navegando por la web en la misma IP durante esa misma sesión , luego casarse con el user_agent a la dirección MAC.
respondido por el AbsoluteƵERØ 14.06.2013 - 09:53
fuente
2

No directamente. El mensaje de certificado es enviado por el servidor. ClientHello puede ayudar a categorizar las cosas, ya que diferentes navegadores / dispositivos admiten diferentes algoritmos.

En cambio, puede ayudar usar el agente de usuario HTTP para asociar un dispositivo a una dirección IP y luego usar esa etiqueta para las conexiones HTTPS.

    
respondido por el Manishearth 14.06.2013 - 09:10
fuente
0

SSL está diseñado para mantener a los intrusos y, a partir de la descripción de tu problema, quieres ser un intruso ...

En el protocolo de enlace, el mensaje Certificate proviene del servidor, no del cliente, por lo que no aprenderá los detalles del cliente de ese mensaje. De todos los mensajes del cliente, solo el ClientHello puede enseñarte algunas cosas, pero esto será limitado. Básicamente, tendrá la lista de suites de cifrado admitidas (con pedidos), compatibilidad con la compresión y la presencia o ausencia de extensiones SSL (por ejemplo, servidor Indicación del nombre ). Dichos parámetros dependen del navegador y del sistema operativo, pero con pocas variaciones, así que no espere milagros. Si el navegador del cliente es Firefox, entonces tiene su propia biblioteca SSL (llamada NSS), pero no podrá distinguir entre Firefox en un teléfono inteligente Android y Firefox en una máquina con Windows. De lo contrario, puede esperar reconocer los sistemas Apple (iPad, iPhone, Mac OS X), Windows y Android / Linux como tres grupos diferentes, pero no obtendrá más detalles. Si conoce el sistema operativo del cliente y los tipos de navegador, es posible que pueda elaborar la versión aproximada en función de la presencia o ausencia de algunas opciones.

Al menos algunas personas han jugado con la idea de recopilar información de ClientHello de SSL de muchos navegadores para tratar de elaborar tipos y versiones de navegador / SO. P.ej. Consulte estas páginas de Qualys SSL Labs. Esto todavía parece estar en la etapa conceptual (y no está desarrollado activamente).

    
respondido por el Tom Leek 16.05.2014 - 23:35
fuente

Lea otras preguntas en las etiquetas