¿Qué tan seguro es proteger el contenido confidencial mediante la URL con el hash MD5 y sin otra autorización?

4

Supongamos que tenemos un sitio web que utiliza hash MD5 en una URL como esta:

http://somewebsite.com/XXX/

donde XXX es hash MD5.

El contenido de este sitio web puede tener información confidencial, como detalles de transacciones con datos personales.

No hay otra autorización para este sitio web, por lo tanto, si tiene una URL, puede acceder a ella.

¿Qué tan seguro es? Quiero decir, si nadie compartirá la URL con nadie, ¿puedo asumir que nadie accederá a ella?

¿Cuánto tiempo puede tomar el rastreador web para rastrear todas las combinaciones de dicha URL?

Lo pregunto porque estoy usando una tienda web, que almacena los detalles de las transacciones con datos personales de esa manera, les digo que no es seguro y que alguien puede ver los datos confidenciales de sus clientes, pero no están convencidos. Para crear un rastreador web es simple para mí, sé cómo hacerlo, pero no sé cuánto tiempo pasará entre todas las combinaciones, tal vez en la tienda estén en lo correcto. No se trata de mi sitio web, soy el usuario final de esa tienda y debo convencerlos de que están equivocados.

    
pregunta BlueMark 17.09.2014 - 23:58
fuente

2 respuestas

6

Hay un par de problemas a considerar con las URL "secretas".

Primero, ofrecen un nivel diferente de seguridad contra el descubrimiento cuando se sirve a través de HTTP frente a HTTPS. A través de HTTPS, la ruta está protegida. A través de HTTP, no lo es. Esto significa que cuando se usa HTTP, cualquier persona que se encuentre en la ruta del tráfico (las personas que detectan el tráfico inalámbrico, los servidores proxy, los servidores de almacenamiento en caché) tienen acceso a la ruta y, por lo tanto, pueden descubrirla. A través de HTTPS, solo el nombre de host está expuesto, la ruta está protegida de escuchas ilegales.

En segundo lugar, se pueden marcar o guardar de muchas maneras. Debe considerar si el mal uso de las URL marcadas es una amenaza importante para su aplicación.

Tercero, no hay forma de caducar el acceso a una URL válida. Si tiene un sistema de autenticación, puede hacer cumplir los tiempos de espera de sesión de alguna forma. Si no lo hace, siempre que la URL sea válida, cualquier persona que la tenga podrá acceder a ella.

Cuarto, y más específico para esta aplicación específica, es la pregunta de Izam en los comentarios. ¿Qué se está procesando para crear las URL? Si es algo así como un ID de transacción basado en enteros incremental, u otra fuente para la cual un algoritmo puede generar fácilmente entradas y hash candidatos, no, no sería seguro porque un atacante podría generar un conjunto de hashes potencialmente válidos y probarlos. todos. Puede que no todos funcionen, pero si algunos lo hacen, el esquema se rompe. Particularmente si es algo así como un entero incremental, porque si descubren entradas válidas, todas las URL válidas se pueden determinar y exponer fácilmente.

Por lo tanto, las URL secretas pueden ser una herramienta válida en algunos casos. Con información personal en juego, particularmente información financiera, no confiaría en este mecanismo. Es demasiado débil.

    
respondido por el Xander 18.09.2014 - 00:17
fuente
0

No necesita rastrear TODAS las combinaciones, solo necesita encontrar UNA a la que no tiene autorización para acceder. Eso prueba que el método está roto. Debido a que es un hash MD5, también es probable que tenga la misma longitud cada vez, lo que hace que sea más fácil restringir un enlace válido.

Creo que un rastreador tomaría menos de aproximadamente 5 líneas de código y menos de una hora para encontrar un enlace al que no debería tener acceso.

    
respondido por el schroeder 18.09.2014 - 00:56
fuente

Lea otras preguntas en las etiquetas