¿Cómo debo determinar si una aplicación transmite mis credenciales de forma segura?

6

Necesito saber sobre qué base puedo evaluar la confiabilidad del uso de la aplicación (acceso a cuentas privadas) en redes públicas.

Como ejemplo, me gustaría jugar a Diablo 2 LoD mientras estoy en un cibercafé, pero me preocupa que alguien esté olfateando el tráfico de mi red y capturando mis credenciales de battle.net. ¿Cómo puedo saber si la contraseña se está enviando de forma segura o en texto simple?

    
pregunta LanceBaynes 21.09.2011 - 10:23
fuente

4 respuestas

12

Una forma de verificar esto sería ejecutar una herramienta de rastreo de paquetes como wireshark , ya que puede brindarte información sobre los protocolos. se usa y puede mostrarle información similar a lo que otra persona vería si está olfateando su conexión.

Supongo que Battle.NET utiliza HTTP (S) para la autenticación, por lo que, en esencia, estarías buscando la diferencia entre una conexión HTTP de texto sin formato y una conexión HTTP (S).

En términos prácticos, una buena forma de hacerlo es cerrar tantos otros programas antes de ejecutar el sniffer, para minimizar el ruido y facilitar el aislamiento del tráfico relevante. Si puede identificar en qué direcciones IP se ejecutan los servidores, puede configurar un filtro de captura en Wirehark solo para esas direcciones IP, lo que lo haría aún más fácil.

Luego, inicie el sniffer e inicie sesión en Battle.NET. Una vez que haya iniciado sesión, detenga el rastreador y examine la salida.

lo que está buscando es el protocolo que está en uso para la conexión si ve las conexiones mediante HTTP y puede ver el contenido de la conexión (haga clic con el botón derecho en uno de los paquetes que se envía al servidor en Wirehark y use el "follow TCP Stream" debería mostrarle algunos detalles.)

Si la conexión está utilizando HTTP (S), no debería ver ningún texto sin formato una vez que se establezca la conexión, mientras que si está usando HTTP, verá detalles en texto sin formato del tráfico que se envía de un lado a otro.

Otra verificación rápida y sucia sería guardar el archivo de captura de paquetes desde su inicio de sesión y usar una herramienta de búsqueda de cadenas (como findstr en windows o grep en linux) para verificar su contraseña o nombre de usuario. Si los ve, entonces se envían de forma clara, si no los ve, al menos se les confunde y pueden estar cifrados.

Todavía hay algunos otros riesgos, especialmente si está usando la computadora de otra persona en un cibercafé, ya que podrían instalar keyloggers si quisieran y / o modificar las autoridades de certificados de confianza que podrían permitirles interceptar el tráfico enviado a través de SSL.

La conclusión es que si utiliza un sistema controlado por otra persona en su red, es probable que pueda obtener acceso a los datos que procesa en ese momento.

    
respondido por el Rоry McCune 21.09.2011 - 17:35
fuente
9

"Credenciales" y "Internet Cafe" en la misma oración ...

Cualquier computadora disponible públicamente es susceptible de ser el host de un keylogger. Desde un punto de vista ligeramente paranoico, sus credenciales se brindan tan pronto como las escribe en el teclado, independientemente de lo que suceda en la red.

Ahora, si trae su propia máquina (por ejemplo, el "Internet Cafe" es un punto de acceso WiFi, en una empresa comercializadora de bebidas calientes, si lo desea, y tiene su computadora portátil consigo), entonces puede considerar la El acceso no puede ser peor que internet en general. Por supuesto, los rastreadores de redes se encuentran más a menudo en un punto de acceso público a WiFi, pero eso no cambia realmente las cosas a un nivel fundamental: si hay una debilidad de protocolo que puede explotarse en esa situación, entonces también podría explotarse cuando te conectas desde tu casa.

    
respondido por el Thomas Pornin 21.09.2011 - 17:36
fuente
8

No hay una buena respuesta a tu pregunta.

La respuesta obvia no funciona. La forma obvia de probar esto es simplemente rastrear el cable y ver si su contraseña la encuentra. Puedes ejecutar herramientas simples como 'ngrep' o 'Snort' para buscar en la red por ti, para que no tengas que lidiar con herramientas complicadas.

Pero esto no funciona. Esto solo le dice si la aplicación ha cometido un error obvio. El problema es que la mayoría de los sistemas no cometen errores obvios, sino sutiles.

Tomemos Diablo2 LoD como ejemplo. Utiliza un mecanismo de desafío / respuesta para iniciar sesión, de modo que su contraseña no se envíe a través del cable.

Pero un pirata informático puede oler el cable y capturar tanto el desafío como la respuesta. El hacker que prueba un billón de contraseñas por segundo para ver si coinciden con el desafío / respuesta. Si ha elegido una contraseña fácil de adivinar, el hacker la descubrirá rápidamente.

Lo que estoy diciendo es que Diablo2 LoD es seguro contra el tipo más obvio de rastreo de contraseñas, pero no lo es adecuadamente contra un pirata informático dedicado, a menos que elija una contraseña larga / compleja que no puedan adivinar, incluso a mil millones intentos por segundo.

Lo mismo ocurre con casi todos los protocolos. Todos ellos son "inseguros" después de una moda. Simplemente es una cuestión de cuánto esfuerzo han dedicado los piratas informáticos a resolverlo. Retrocedí a Diablo2 LoD por ingeniería inversa en el pasado, pero no lo he jugado durante 10 años, así que no sé cuál es el estado del arte. Puede haber una herramienta de pirateo informático simple para rastrear y descifrar contraseñas, o puede que no. Si existe una herramienta así, estarías en peligro jugando en un café. Si esa herramienta no existe, es probable que esté seguro.

    
respondido por el Robert David Graham 21.09.2011 - 19:23
fuente
2

No estoy tratando de entrar en el mantra "el código abierto es bueno", pero este es un lugar donde tiene sentido. Si la aplicación es de código abierto, puede evaluar fácilmente su comportamiento. Una aplicación de código cerrado es mucho más difícil, y diría que una con algún tipo de sistema anti-trampas es aún más difícil. D2, por ejemplo, tenía tanto un mecanismo anti-trampa como un mecanismo cd-drm (si mi memoria es correcta). ¿Donde empezar? La detección de paquetes podría ser un buen punto de partida. Aún así, creo que te quedarás algunas noches si quieres terminar con una buena conclusión ...

    
respondido por el Christian 22.09.2011 - 12:16
fuente

Lea otras preguntas en las etiquetas