Является ли однобуквенное имя пользователя небезопасным? - PullRequest
0 голосов
/ 11 февраля 2011

Мы создаем безопасное приложение и обсуждали проверку, необходимую для имени пользователя. Понятно, что для пароля должны быть установлены правила сложности, но для имени пользователя это также верно? Это небезопасно принимать однобуквенное имя пользователя? Какие проблемы безопасности?

Ответы [ 4 ]

2 голосов
/ 05 октября 2012

Контекст всегда актуален («защищен от чего?»), Но как человек, который профессионально просматривает приложения для обеспечения безопасности, почти всегда плохая идея сделать имена пользователей предсказуемыми, а односимвольные имена пользователей, безусловно, предсказуемы.Если имена пользователей непредсказуемы для злоумышленника, это увеличивает энтропию для злоумышленника.Пароли должны обеспечивать всю энтропию, которая вам когда-либо понадобится, но пользователи невероятно плохо выбирают пароли с достаточной энтропией.Даже при наличии требований к сложности пароля обычный пользователь просто приложит минимальные усилия для проверки («P @ ndab34R!» Не является хорошим паролем).

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

Если у вас слабыйтребования к именам пользователей. Вы можете попытаться компенсировать это, повысив безопасность аутентификации в других областях, таких как:

  • требования к надежным паролям
  • назначайте пароли пользователям, а не позволяйте им выбирать свои собственные
  • надежные механизмы блокировки учетных записей и / или системы проверки человеком для предотвращения атак методом перебора
2 голосов
/ 11 февраля 2011

обсуждали проверку, необходимую для входа пользователя в систему

Прежде всего, вы говорите о проверке, а не проверке. Различия между проверкой и подтверждением.

Безопасно ли принимать однобуквенный логин

Не особенно небезопасно (так как имя пользователяредко держится в секрете), однако это несколько ограничивает вашу заявку.Сколько комбинаций одной буквы?Если вы используете английский алфавит и цифры 0 - 9, у вас есть 36 возможных имен пользователей (не так много).

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

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

2 голосов
/ 20 мая 2011

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

Должно ли это пройти какое-либо тестирование на соответствие?например, pci?

Редактировать: Короче говоря, да, вы должны требовать, чтобы имя пользователя было определенной длины, я бы сказал, минимум 5 символов.Мое любимое занятие - это написать им имя пользователя

2 голосов
/ 11 февраля 2011

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

Однако , позволяющий 1-символьный идентификатор пользователя, фактически более безопасен, чем, скажем, минимум 10 символов, так как пространство поиска злоумышленника увеличивается. Другими словами, атакующий должен проверить все возможности от 1 до 9 символов _ в дополнение к этим 10 или более символам.

Основная проблема с 1-символьным идентификатором заключается в том, как вы различаете Адама, Аллана, Аарона и Александру: -)

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