Угроза безопасности при раскрытии адресов электронной почты и имен пользователей? - PullRequest
2 голосов
/ 19 ноября 2008

Joomla имеет встроенную функцию на экране входа в систему «Я забыл свое имя пользователя», так что вы можете ввести свой адрес электронной почты и имя пользователя будет отправлено вам по электронной почте.

Я думал о том, чтобы изменить его так, чтобы имя пользователя отображалось на экране немедленно, без какой-либо формы аутентификации. Это значительно уменьшит трения для наших пользователей, которые возвращаются через долгое время, но позволит любому человеку ввести любой адрес электронной почты и увидеть соответствующее имя пользователя (хотя определенно не наоборот).

Создает ли это какие-либо угрозы безопасности? Это вообще хорошая идея?

Ответы [ 3 ]

8 голосов
/ 19 ноября 2008

Текущая реализация требует, чтобы пользователь владел адресом электронной почты и прочитал полученное письмо, чтобы получить имя пользователя.

Ваша реализация позволяет злоумышленнику сразу узнать, какое имя пользователя связано с адресом электронной почты. Так что, если злоумышленник знает имя пользователя, можно угадать адреса электронной почты.

Хуже того, предположим, что злоумышленник каким-то образом знает пароль, но не адрес электронной почты. После успешного определения адреса электронной почты можно предположить, что пароль для учетной записи электронной почты похож на пароль для вашего веб-сайта. Итак, вы помогли злоумышленнику взломать учетную запись электронной почты, которая может содержать больше информации о дополнительных учетных записях и т. Д.

В целом, изменение любой связанной с безопасностью функциональности для упрощения работы по сравнению со стандартной реализацией, вероятно, сопряжено с риском безопасности. +1 за исследование через SO перед внедрением!

3 голосов
/ 19 ноября 2008

На первый взгляд это кажется «плохой идеей», потому что вы позволяете кому-либо:

  1. подтвердите, что аккаунт существует
  2. подтверждение связи между именем пользователя и адресом электронной почты

Если имена пользователей и почтовые адреса обрабатываются как «конфиденциальная» информация на вашем сайте и еще не переданы, я бы не стал использовать функцию поиска имени пользователя по электронной почте. Фактически вы понижаете планку безопасности на 1 фактор:

  • В настоящее время для поиска имени пользователя требуются как адрес электронной почты, так и полные учетные данные пользователя (чтобы они могли получить ответ)
  • После изменения все, что им нужно, это почтовый адрес.

Возможно, что еще важнее, вы создаете проблему конфиденциальности, которую необходимо будет устранить (как упомянуто @SoapBox).

Но на самом деле ваш сайт может уже использовать «имя пользователя» в качестве публичного дескриптора или псевдонима. И у вас уже могут быть пользователи, публикующие свою электронную почту в своих профилях. В этом случае поиск имени пользователя не приводит к утечке новой информации, и вы можете утверждать, что новые проблемы безопасности или конфиденциальности не возникают.

Это сделало бы все это слишком легким, как публикация руководства по детям сценариев на Как взломать мой сайт :

  1. Получите список адресов электронной почты от вашего предпочтительного поставщика
  2. Зайдите на мою страницу самообслуживания для перевода имени пользователя и просмотрите список (простой скрипт для этого)
  3. Запуск атаки по словарю на сайт с использованием результирующего списка имен пользователей

Итог - я думаю, вам лучше оставить эту функцию как есть.

2 голосов
/ 19 ноября 2008

Я бы сказал, что это незначительный риск для безопасности ваших менее опытных пользователей. Для пользователя со слабым паролем, особенно если это связано с его именем пользователя или адресом электронной почты, раскрытие его имени пользователя оставляет его открытым для взлома его учетной записи. Кроме этого, я не могу придумать причину, по которой это будет проблемой. Если у пользователя хорошие пароли, это не должно иметь никакого значения.

Я полагаю, есть небольшая проблема с анонимностью. Например, на форуме я бы не хотел, чтобы кто-то, кто «знает» меня, узнал мое имя пользователя, не сказав мне об этом. В этом случае они могли бы взять мою электронную почту и получить ее. Но зависит ли это от вашего сайта и вашей базы пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...