¿Cuáles son las implicaciones de seguridad de permitir el pago de un invitado utilizando un correo electrónico vinculado a una cuenta conocida?

0

Para una tienda web, permitimos que los clientes realicen un pedido ya sea como usuario registrado o como invitado.

La comprobación de invitados en sí misma es una característica bastante común para las tiendas web. La tienda en línea en cuestión está vendiendo bienes físicos, por lo que los clientes aún deberán completar su nombre, correo electrónico e información de dirección. Como tal, una orden de invitado no es de ninguna manera una orden anónima.



El análisis del tráfico web ha demostrado que incluso si el cliente ha creado previamente una cuenta, es posible que, por varios motivos, no desee iniciar sesión cuando realiza una compra. En estos casos, el hecho de que hayan creado una cuenta en una fecha anterior, constituye un obstáculo para lo que desean lograr: realizar un pedido.


Debido a que nos gustaría minimizar las barreras (para optimizar la conversión), alguien sugirió que podríamos permitir a los clientes el pago con una dirección de correo electrónico, incluso si la dirección de correo electrónico se ha utilizado anteriormente para registrar una cuenta. Las cuentas registradas están vinculadas a una dirección de correo electrónico. Esta funcionalidad de registro ya proporciona un atacante con una superficie de ataque para la enumeración de direcciones de correo electrónico.

En otras palabras: incluso si una dirección de correo electrónico está vinculada a un cliente registrado, se debe permitir a un cliente que realice el pago como invitado, con dicha dirección de correo electrónico, sin iniciar sesión.
Los pedidos realizados de esta manera se tratarían de manera idéntica a cualquier otro pedido de invitados, lo que significa que no serán visibles en el historial de pedidos, etc., que está disponible para los usuarios que realizaron pedidos mientras estaban conectados.

Por lo tanto, mi pregunta es:
¿El escenario anterior abrirá alguna implicación de seguridad inesperada?

    
pregunta Jacco 26.06.2018 - 17:58
fuente

3 respuestas

1

De ninguna manera soy un experto en tales sistemas, pero me gustaría compartir algo que me venga a la mente con este enfoque, tal vez sea de alguna utilidad.

Dependiendo de cómo se implemente este sistema dual, creo que el concepto de anonimato PODRÍA recibir un impacto de este enfoque. Por ejemplo, un cliente ingresa una dirección de correo electrónico, [email protected] . Ahora, usted dice que desea que el sistema pueda realizar el pago como invitado, incluso si [email protected] pertenece a un consumidor existente. Bueno, eso está bien, pero eso significa que debe existir alguna lógica interna que tuvo que informar este hecho a la aplicación. Por consiguiente, es posible que alguien que esté "observando" esta interacción ahora deduzca que en realidad hay un cliente en su base de datos con un correo electrónico de este tipo, y tal vez decida intentar y autenticarse como usuario. Obviamente, esto podría no importar, pero quizás valga la pena considerarlo.

    
respondido por el mertmumtaz 26.06.2018 - 19:38
fuente
1

No hay ninguna preocupación si no está revelando información a usuarios anónimos. Cuando la dirección de correo electrónico de un pedido de un invitado coincide con una cuenta existente, debe proceder como si esa cuenta no existiera. Solicitar un inicio de sesión después de obtener esa información puede indicar que la cuenta existe.

Guíe siempre a los usuarios hacia el flujo de trabajo ideal. El uso de una cuenta establecida facilitará la auditoría tanto para usted como para el cliente. La disponibilidad del estado del pedido y el historial suelen ser útiles por razones que no están directamente relacionadas con su seguridad. Si el cliente está esperando el historial de pedidos, un recordatorio de inicio de sesión es realmente útil.

En caso de duda, pregunte. Le daré al cliente la opción de iniciar sesión o pagar como invitado como la primera opción después de proceder al proceso de pago. Esta opción debe darse antes de solicitar información de identificación, como nombre, dirección o detalles de pago. Puede animar a los usuarios a iniciar sesión llenando la información de facturación / envío de su cuenta, si así lo desea.

Mitigue los ataques de fuerza bruta. Independientemente de si implementa una opción de invitado, su proceso de recuperación de cuentas registradas no debe indicar si ese usuario / correo electrónico está registrado. Esto es algo tangencial para el pago de invitados, pero está relacionado ya que los usuarios pueden realizar el checkout como invitados porque olvidaron sus credenciales. Personalmente, preferiría restablecer mi contraseña y utilizar la información guardada que desenterrar mi tarjeta de crédito.

Por ejemplo, solicite la dirección de correo electrónico asociada a la cuenta, luego muestre el mismo mensaje independientemente de si existe o no, por ejemplo: "Estamos buscando en nuestra base de datos una cuenta asociada con la dirección de correo electrónico [email protected]. Si encontramos una cuenta, le enviaremos instrucciones para restablecer la contraseña de esa dirección. Esto puede demorar unos minutos ".

El correo electrónico puede explicar / vincular el proceso de restablecimiento de la contraseña en una coincidencia, o puede recomendarles que elijan entre crear una cuenta o retirar como invitado en ausencia de una coincidencia. Mientras la existencia de la cuenta solo se divulgue en un correo electrónico al propietario de la cuenta, no existe un riesgo apreciable.

    
respondido por el DoubleD 26.06.2018 - 20:11
fuente
0

El escenario explicado no puedo verlo abriendo implicaciones inesperadas siempre y cuando el nuevo sistema se despliegue correctamente.

¿El punto principal a considerar sería qué UID es el que une los pedidos de los clientes registrados? Es probable que si un cliente existente no puede realizar un pedido como invitado con la dirección de correo electrónico con la que ya se ha registrado, esto podría resaltar que la dirección de correo electrónico es el UID utilizado, lo que le impide avanzar con sus planes antes de cualquier cambio. cambios.

    
respondido por el RT Security 26.06.2018 - 18:03
fuente

Lea otras preguntas en las etiquetas