security - metatags - meta name keywords
Problemas de seguridad con respecto al nombre de usuario/contraseƱa frente a la URL secreta (6)
puede complementar su registro con información (no crítica, de "baja seguridad")
Es difícil imaginar qué información suministrada por el usuario es realmente de "baja seguridad"; incluso si solicita una contraseña y un nombre de usuario de sus clientes, está violando potencialmente el deber de cuidar a sus clientes; una gran cantidad de usuarios usará el mismo nombre de usuario / contraseña en múltiples sitios. Cualquier información sobre sus usuarios y potencialmente mucha información sobre transacciones puede ser utilizada por un tercero para comprometer la identidad de ese usuario.
Cualquier información sobre el usuario debe suministrarse en un formato encriptado (por ejemplo, a través de https). Y debe tomar las medidas adecuadas para proteger los datos que almacena (por ejemplo, contraseñas hash).
Su idea de utilizar una URL secreta significa que solo usted, el usuario, cualquier persona en la misma red que el usuario, en las proximidades de un usuario en wifi, conectado a cualquier red entre usted y el usuario, o quien tiene acceso a la el hardware de los usuarios sabrá la URL. Por supuesto, eso no está considerando la posibilidad de que alguien intente un ataque de fuerza bruta contra las URL.
DO.
Tengo un sitio simple con un formulario de registro. Actualmente, el usuario puede complementar su registro con información (no crítica, de "baja seguridad") no disponible en el momento del registro, a través de una URL personal (secreta).
Es decir, una vez que hacen clic en enviar, reciben un mensaje como:
Gracias por registrarte. Puede complementar su registro agregando información a través de esta URL personal:
http://www.example.com/extra_info/cwm8iue2gi
Ahora, mi cliente me pide que extienda la aplicación para permitirles a los usuarios cambiar completamente su registro , incluida información más confidencial, como la dirección de facturación, etc.
Mi pregunta: ¿Hay algún problema de seguridad al tener una URL secreta en lugar de un sistema completo de nombre de usuario / contraseña?
La única preocupación que se me ocurre es que las URL se almacenan en el historial del navegador. Esto no me preocupa mucho sin embargo. ¿Me estoy perdiendo de algo?
No es el fin del mundo si alguien cambia la información de registro de otros usuarios. (Solo implicaría un poco de trabajo manual adicional). No voy a ir a la medida de configurar https para esta aplicación.
El problema aquí es que, si bien es difícil adivinar la URL para un usuario específico, dado el número de usuarios, es relativamente fácil adivinar la URL correcta para ALGUNOS usuarios.
Este sería un ejemplo clásico de un ataque de cumpleaños .
ETA: omitió la parte sobre el tamaño del secreto, por lo que esto no se aplica realmente en su caso, pero dejará la respuesta aquí ya que podría aplicarse en el caso más general.
Este enfoque no es apropiado para la información sensible porque es parte de la URL de solicitud HTTP, que no está encriptada y aparece en muchos lugares, como el proxy y otros registros del servidor. Incluso si usa HTTPS, no puede cifrar esta parte de la carga, por lo que no es una forma adecuada de pasar el token.
Por cierto, otro problema con este esquema es si envía la URL al usuario por correo electrónico. Eso abre muchas más avenidas para el ataque.
Un mejor esquema requeriría algún pequeño secreto que no esté en el correo electrónico. Pero puede ser un desafío decidir cuál debería ser ese secreto. Por lo general, la respuesta es: contraseña.
La URL secreta no significa nada si no estás usando SSL. Si todavía está haciendo que el usuario final transmita su información de identificación a través de Internet de manera clara, entonces no importa cómo los está dejando entrar: aún están expuestos.
Otro posible problema radica en los usuarios mismos. La mayoría de la gente se da cuenta de que una contraseña es algo que deberían tratar de proteger. Sin embargo, ¿cuántos usuarios es probable que reconozcan que deberían hacer algún tipo de esfuerzo para proteger su URL secreta?
La "URL secreta" a menudo se denomina seguridad por oscuridad. El problema es que es super simple escribir un script que intente varias combinaciones de letras, símbolos y números para atacar con la fuerza bruta este esquema.
Por lo tanto, si almacena información confidencial, debe usar al menos un nombre de usuario y contraseña para protegerla.