Considere a un usuario que accede a un sitio que usa HTTPS para todo su tráfico.
Un pirata informático está tratando de usar un hombre en el medio para espiar al usuario. ¿Qué información puede recoger?
Obviamente, el contenido está cifrado, y asumiremos que no puede descifrarlo, pero ¿qué puede aprender sin tener que hacer eso?
El tipo de cosas en las que estoy pensando son:
-
El hecho de que el usuario vaya al sitio en absoluto. Supongo que es probable que hubiera una solicitud de DNS para el nombre de dominio y que esa solicitud no se hubiera cifrado, por lo que el pirata informático sabe al menos que el usuario está accediendo a este sitio específico.
-
URL: ¿Están las URL reales de la solicitud cifradas, así como el contenido? De lo contrario, algunas URL pueden contener información útil para el atacante (es decir, qué páginas se han solicitado, los números de identificación de los datos solicitados, etc.)
-
El tamaño de los datos transmitidos: si el pirata informático sabe lo que hace el sitio y lo que se espera que se descargue o publique en él, supongo que él podría averiguar aproximadamente lo que está haciendo el usuario solo por el tamaño de los datos de cada solicitud / respuesta https. Por ejemplo, si el propósito del sitio es permitir a los usuarios descargar documentos protegidos, el pirata informático podría deducir cuál de los documentos del sitio ha descargado el usuario.
-
Tiempos de solicitud / respuesta: similar al anterior, si el pirata informático tiene conocimiento del sitio y sabe que una página en particular tiene un tiempo de respuesta lento, podría deducir cuándo el usuario fue a esa página .
La mayoría de lo anterior se basa en que el pirata informático tiene algún conocimiento existente del sitio, por lo que no estamos hablando de un pirata informático casual; esta es la orientación específica del sitio y / o la persona.
¿Cuánto de lo anterior es realmente factible? ¿Tendría razón en preocuparme por ellos si estoy desarrollando un sitio sensible? ¿Hay otros ángulos que no haya pensado?