Nombres de dominio sin riesgos
También vi muchos tweets en los últimos dos días, en el sentido de que antes de ver una película corta, debes prestar atención a si la URL es HTTPS, porque HTTPS está encriptado y otros no lo sabrán. .
Después de ver la pregunta anterior, no pude evitar querer preguntar (este circuito cerebral también es...):
En resumen, ¿pescas online durante el horario laboral? ? Incluso si existe permiso HTTPS, si la empresa lo sabe, ¿por qué medios?
[Error en la carga de la imagen...(Picture-ab58e 2-161469 2093957)]
Este artículo habla de mis opiniones, que se dividen principalmente en los siguientes aspectos:
HTTPS, también conocido como HTTP sobre TLS, TLS era anteriormente SSL y existen varias versiones.
La figura anterior describe la relación entre TLS (subprotocolo) y HTTP en la pila de protocolos TCP/IP HTTP+TLS también es HTTPS.
Ventajas de HTTP en comparación con http:
La figura anterior es una introducción aproximada al proceso de protocolo de enlace HTTPS. Los estudiantes interesados pueden usar WireShark para tomar la bolsa y ver cada paso en detalle, lo que les ayudará a comprender el proceso completo de HTTPS. No entraré en detalles aquí.
En términos generales, el cliente y el servidor negocian un algoritmo de cifrado y los parámetros aleatorios correspondientes admitidos por ambas partes a través de una "reunión de apretón de manos" para obtener un par de claves y utilizar esta clave para procesar transmisiones posteriores. y descifrado.
Este par de llaves es una pasada. Por ejemplo, el mensaje de transmisión "tangleithu" está cifrado, el cliente transmite el texto cifrado "xyyaabbccdd" obtenido mediante cifrado de clave pública y el servidor utiliza su propia clave privada para descifrar el texto cifrado para obtener "tangleithu".
No se pueden cometer errores en el medio, garantizando la integridad y privacidad de los datos. Este proceso es relativamente complicado, por lo que no entraré en detalles en este artículo.
Entonces, cuando accedes a un sitio web a través de HTTPS, incluso si el tráfico es interceptado y monitoreado, la información que obtienes está cifrada y no puedes ver ningún contenido sustancial.
Por ejemplo, como se muestra en la figura siguiente, cuando visito un sitio web, solo puedo obtener algunas direcciones IP de comunicación a partir de la información obtenida por Wireshark.
¿Estás aliviado? Durante el proceso de phishing, ¿no parece importar incluso si conoces la dirección IP? De hecho, se puede obtener mucha información con una sola dirección IP.
Afortunadamente, se encontró que esta IP era Github, no...
[Error en la carga de la imagen...(Imagen-5b 829 a-161469 2093957)]
Es posible que le agradezca no poder ver ni siquiera el nombre de dominio de un sitio web, por lo que podrá pescar con confianza. ¿Pero es esto cierto?
[Error en la carga de la imagen...(Imagen-795 ebb-161469 2093957)]
¿HTTPS es realmente completamente seguro? ¿Ni siquiera puedes obtener el nombre de dominio que visitaste? La respuesta es no. El HTTPS anterior tiene algo muy importante en la fase de protocolo de enlace: el certificado.
SNI: Rayado de nombres de dominio
Cuando visitas un sitio web HTTPS, primero establecerás una conexión SSL con el servidor y el primer paso es solicitar el certificado del servidor.
Es muy conveniente cuando la IP de un servidor sólo corresponde a un nombre de dominio (sitio). Cualquier cliente que lo solicite le devolverá automáticamente el certificado correspondiente al nombre de dominio (servicio).
Pero las direcciones IP (IPv4) son limitadas. ¿Qué debo hacer si varios nombres de dominio reutilizan la misma dirección IP?
Cuando el servidor envía el certificado, no sabe a qué nombre de dominio está accediendo el navegador, por lo que no puede enviar diferentes certificados basados en diferentes nombres de dominio.
Por lo tanto, se actualizó el protocolo TLS y se agregó SNI, la indicación del nombre del servidor, para resolver la extensión SSL/TLS de un servidor que utiliza múltiples nombres de dominio y certificados.
Ahora los clientes principales admiten este protocolo. No me preguntes cómo sé esto.
Debido a esto, encontré muchos problemas en el trabajo...
El principio es: antes de establecer una conexión SSL con el servidor, envíe el nombre de dominio del sitio que desea visitar, para que el El servidor devolverá un certificado adecuado en función de este nombre de dominio. No hay forma de cifrar o descifrar en este momento, por lo que al menos este nombre de dominio está disperso.
Como se muestra en la imagen siguiente, la captura de pantalla anterior es en realidad una captura de pantalla de mi blog personal (www.tanglei.name). Cuando el cliente envía una solicitud de protocolo de enlace, conscientemente trae su propio nombre de dominio.
Por lo tanto, incluso si se utiliza HTTPS, la información del nombre de dominio a la que se accede está desnuda. Visita pequeños sitios web de películas en el trabajo y deja rastros. Si se conecta a la red de la empresa, naturalmente quedará atrapado.
Además de la fuga de nombres de dominio, en realidad existe un riesgo más grave: el ataque de intermediario.
Ataque de intermediario
Como se mencionó anteriormente, la clave de HTTPS en realidad reside en este certificado.
Como sugiere el nombre, un ataque de intermediario consiste en agregar un "intermediario" entre el cliente y el servidor. El "intermediario" se disfraza como la otra parte entre el cliente y el servidor. servidor.
Como se muestra en la siguiente figura, este "MitmProxy" actúa como intermediario y se engaña entre sí:
Ataque de intermediario, fuente evil0x
Puedes instalar software de captura de paquetes como MitmProxy o Fiddler. Pruébalo y enciende el proxy.
En este momento, cuando utilice su teléfono móvil para acceder a Baidu, obtendrá la siguiente información:
Antes del certificado de confianza
Consejos: la conexión es no es una conexión privada, de hecho, el navegador reconoce el certificado incorrectamente y no confía. Si el certificado Fiddler está instalado en el teléfono en este momento, el acceso será normal.
Una vez que el certificado sea confiable, podrá acceder a él normalmente.
Entonces, cuando confías en el certificado, todo es fluido frente al intermediario.
Y si estás utilizando un ordenador de la empresa, se estima que tienes el correspondiente certificado de confianza de funcionamiento, ¿o tienes instalado un software cliente similar en tu teléfono móvil?
Tómate un momento para mirar los detalles de instalación del certificado en un teléfono móvil (como el mío):
Mi empresa anterior era muy cautelosa con la seguridad de la información. El teléfono tendrá un número que funcione y no se podrán instalar aplicaciones no autorizadas. ¿Quién sabe qué hará la aplicación silenciosamente? (El último punto de acceso, QQ escanea el historial del navegador, ¿lo sabía?)
Por supuesto, todo tipo de aplicaciones definitivamente no son vegetarianas y no permitirán que se realicen "ataques de intermediario". tener éxito tan fácilmente. Sigamos buscando.
Como se mencionó anteriormente, la clave para un ataque de intermediario es si el certificado es confiable. El comportamiento del navegador es que el certificado permite al usuario autorizar si confía en él, y el propio desarrollador puede controlar la aplicación.
Por ejemplo, intenté descifrar HTTPS de forma similar en una comunidad anónima, pero finalmente fracasó. ¿Por qué?
Se trata de la tecnología "SSL Pinning". La aplicación puede comprobar si el certificado devuelto por el servidor durante el protocolo de enlace SSL es legítimo. La tecnología de "fijación SSL" significa que en la aplicación sólo se confía en un certificado fijado o una clave pública.
Dado que el certificado del servidor debe devolverse al cliente durante la fase de protocolo de enlace, si el cliente coloca el certificado del servidor localmente al empaquetarlo y lo compara durante el proceso de verificación del protocolo de enlace, el certificado devuelto por el servidor será el El certificado creado localmente antes de realizar la solicitud de red es exactamente el mismo.
En caso contrario, se desconectará directamente y no estará disponible. Por supuesto, en general, el uso de esta técnica también evitará que se descifren los mensajes HTTPS.
Sin embargo, existen otras tecnologías que pueden descifrar este método, como algunas tecnologías Hook en Android, que evitan específicamente la lógica de la verificación fuerte de certificados locales.
Los estudiantes interesados pueden estudiarlo con el propósito de aprender. Sin embargo, se dice que este método requiere sistema raíz, jailbreak, etc. y requiere algunas configuraciones de permisos más altas.
Por lo tanto, también se nos advierte que no instalemos algún software al azar. Si no tienes cuidado, puedes caer en la trampa y correr desnudo por Internet.
Por un lado, se filtra información de privacidad personal y, por otro lado, también se pueden robar algunas cosas muy importantes, como las contraseñas de las cuentas.
Por supuesto, el ordenador de la oficina debe estar conectado a la red de la empresa. A través de la introducción anterior, también deberías saber qué sitios web visitaste y cuándo. De hecho, la empresa lo sabe todo.
Si tu teléfono móvil está conectado a la red de la empresa, es exactamente igual (ni siquiera necesitas instalar el software proxy). Esto nos recuerda que los usuarios privados de Internet deberían intentar utilizar sus propias redes móviles.
Como se mencionó anteriormente, si alguna información confidencial relacionada con la privacidad, como algún software de PC, aplicaciones móviles, etc., se transmite internamente, no hay problema en que el cifrado del contenido (incluido, entre otros, HTTPS) no se agrietará.
Sin embargo, esto definitivamente depende del nivel de estos diseñadores de software. Por ejemplo, la identificación mostrada por el mismo usuario anónimo no puede ser la misma. Si son iguales, solo expone una laguna lógica.
Por supuesto, no tentemos a la suerte. Según los requisitos de supervisión, si hay algunos comentarios ilegales e inapropiados, todavía hay formas de encontrarlo.
Es más, los ordenadores de oficina en general vienen con algún software de seguridad empresarial preinstalado. En cuanto a lo que hacen estos software y si toman capturas de pantalla legendarias, varía de persona a persona (empresa). (No discutiré si un comportamiento similar implica una infracción de la privacidad de los empleados, etc.)
Sin embargo, personalmente creo que no necesito preocuparme demasiado. Por lo general, las empresas no buscarán ocasionalmente a usted, ni navegarán en Taobao ni en Weibo solo porque usted esté en el trabajo. Después de todo, no hay necesidad de "hacer un escándalo" por algo tan pequeño.
¿Pero no sería mejor consultar el manual del empleado para ver si hay conductas prohibidas? ¿Son tus acciones tan atroces que no puedes evitar que te atrapen? Como dice el refrán: "No se puede caminar junto al río sin los zapatos mojados" y "Si quieres aumentar tu culpa, siempre podrás encontrar una solución".