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

003

Понятно, что такие меры вводили для защиты. Если злоумышленнику сказать, что почтовый адрес неправильный, то он попробует другой. Если сказать, что адрес правильный, то он начнёт перебирать пароли.

По мнению разработчика и специалиста по юзабилити Кевина Бурка, это крайне глупый подход. Подразумевается, что злоумышленнику не дают узнать, зарегистрирован ли конкретный адрес электронной почты в системе. Но узнать это можно совершенно элементарно, попытавшись создать новую учётную запись с таким же адресом. Если адрес зарегистрирован, то система скажет, что он занят.

004

Так зачем же эти глупые меры безопасности, справедливо вопрошает Кевин?

Как специалист по юзабилити он знает, что такая псевдозащита создаёт лишние проблемы для обычных пользователей, которые действительно не могут вспомнить, под каким адресом они регистрировались и сомневаются, правильно ли вводят пароль. Если человек очень редко заходит на сайт, то он действительно может забыть, под каким логином регистрировался. Так почему бы прямо не сказать ему, что пароль введён правильно, а имя пользователя — нет?

В качестве меры для защиты от злоумышленников Кевин Бурк рассматривает такой вариант: при попытке регистрации с адресом электронной почты не говорить, что адрес занят, а высылать ссылку для завершения регистрации на этот адрес электронной почты. Но с точки зрения UX это не самый лучший способ. Эффективными мерами были бы задержка между попытками аутентификации (против брутфорса), разъяснение пользователям необходимости использовать надёжные пароли, интеграция с парольными менеджерами и двухфакторная аутентификация.



44 комментария

  1. 02.12.2014 at 10:39

    Бред, как система поймёт что пароль правильный от неправильного логина? Ибо нех ваще забывать свои логины/пароли. Памяти у людей вообще не осталось, или мозгов, одно из двух.

    • 02.12.2014 at 10:48

      система поймёт, но после того как определит неправильного пользователя от правильного логина

      • 02.12.2014 at 11:39

        Интересно, как система поймет, что пароль верный? Пароль от чего? От сферического коня в вакууме? Статья ни о чем — полный бред.

        • 02.12.2014 at 13:20

          Обычному пользователю для начала неплохо бы вспомнить правильный логин, и уже потом перебирать свои пароли. А если система постоянно пишет «неправильный логин, или пароль», то сделать это сложнее. Например, у пользователя есть 3 логина и 5 паролей. Если бы система писала есть такой логин, или нет, то за максимум 8 попыток можно пройти авторизацию. Когда система этого не пишет придется пробовать максимум 15 раз.
          У меня у самого такая проблема. Где-то разрешен пробел в логине, где-то нет, но разрешено нижнее подчеркивание, где-то только латинские буквы и цифры. Где-то цифры для пароля обязательны, где-то нет.

          • 02.12.2014 at 14:19

            Почему 8, если 7? Как считал?

          • 02.12.2014 at 14:22

            Слушай, будь другом, объясни. Вот ты пишешь про нижнее подчёркивание. А есть ещё где-то верхнее ПОДчёркивание? Нижнее надчёркивание? Среднее подчёркивание? Все вокруг говорят, что подчёркивание нижнее, но никто не говорит, например, что он пьёт жидкий чай, смотрит в окно в стене или едет в колёсном троллейбусе. Может быть, я чего-то не знаю о подчёркиваниях? Очень хочу это узнать, а то каждый раз чувствую, что мне чего-то недоговаривают.

            • 02.12.2014 at 17:12

              overline – верхнее подчеркивание. Используется очень редко, поскольку применяется лишь в математических выражениях для выделения средних величин.
              line-through – среднее подчеркивание или перечеркивание. Обычно обозначает текст, потерявший свою актуальность в связи с представленной на странице информацией или, другими словами, текст, требующий обновления.Есть вопросы? Гугл в помощь.

              • 03.12.2014 at 01:19

                Тебе объяснить значение приставки под? Она показывает расположение внизу чего-то, под чем-то. Сверху — надчёркивание, в середине, как ты сам написал, перечёркивание, или, если можно так сказать, прочёркивание. Ну не может быть подчёркивание наверху. Когда тебе говорят подчеркнуть нужное слово, разве ты будешь проводить черту над ним?

                • 04.12.2014 at 00:48

                  я твой друг, объясняюЕсть вопросы? Гугл в помощь.

                  Тебе объяснить значение приставки под? Когда тебе говорят подчеркнуть нужное слово, разве ты будешь проводить черту над ним?

                  Я тебе еще раз повторяю: Есть вопросы? Гугл в помощь.

                • 04.12.2014 at 23:27

                  хахах… тогда выражение вернее подчеркивание должно взорвать вам мозг)) есть разные виды подчеркиваний. всё это общепринятые выражения. и они уточняются вторым словом. как в программировании:. объекты и классы, ага.

                  • 05.12.2014 at 02:16

                    Это выражение логически неверно, примерно как сухая вода.

                    • 05.12.2014 at 08:32

                      BSOD? 🙂 Или как выражение «сухое вино». 🙂 В русском языке таких хватает. 🙂

                    • 06.12.2014 at 03:02

                      Зайдём с другой стороны. Какие ещё подчёркивания можно ввести с клавиатуры, раз нижнее заслужило отдельное название?

                    • 06.12.2014 at 14:20

                      Так.. с видами подчеркиваний, видимо, разобрались. Ответ: никак. В статье, кстати, не сказано, что кто-то хочет ввести с клавы другой вид подчеркивания кроме нижнего.

                    • 08.12.2014 at 13:16

                      Так если это человеку невозможно сделать это пальцами правой или левой руки на клавиатуре с помощью нажатия пластиковых кнопок, то зачем такое излишнее уточнение типа подчёркивания?

                    • 06.12.2014 at 14:45

                      Так.. С видами подчеркиваний, видимо разобрались. Ответ: переключаемся на английскую раскладку, зажимаем ALT, набираем 0175, отпускаем ALT. Вуаля! Получаем: ¯ Найдите статью «Alt-код» на Википедии, почитайте, погуглите: для общего развития полезно. 🙂

                    • 08.12.2014 at 13:17

                      И почему, как ты думаешь, это сработает у меня в OpenSUSE?

    • 02.12.2014 at 10:54

      Не бейте юзеров, они не виноваты. Причина явления понятна: толпы ботов ползают по сайтам —> сайты требуют регистрации —> люди упарились запоминать херову тучу паролей от сайтов, которые им нужны пару раз в месяц. Адекватного решения проблемы пока нет (менеджеры паролей пока не являются таким решением). Так пусть хотя бы юзабилити повысят.

      • 02.12.2014 at 11:58

        адекватное решение есть — записывать логины и пароли в блокнот/ворд/ексель/…. или ручкой в зап. книжку/блокнот/обрывок туалетной бумаги или запомнить пароль или придумать 1 универсальный пароль. если мне сайт нужен на 1 -2 раза и мне плевать угонят аккаунт или нет, я ввожу универсальный пароль (который ввожу на всех подобных сайтах), и если я забыл пароль (а логин помню) от сайта, которым практически не пользуюсь, я пробую универсальный пароль, т.к. с 95% он будет верным. очень важные же пароли лучше записать и спрятать (еще лучше запомнить).

        • 02.12.2014 at 12:01

          Тоже верно) Поддержу

        • 02.12.2014 at 14:24

          Не нужно забывать про BashOrgRu : Bash1234. Старички поймут, о чём я. Этот тот самый универсальный логин с паролем, который нужно заводить на всех одноразовых сайтах и сообщать остальным, кому он нужен так же на один раз, песню скачать или ещё что-то сделать. На каком ресурсе появилась эта идея, думаю, пояснять излишне?

        • 02.12.2014 at 18:10

          Очень важные пароли у меня на столько длинные и их так много, что запомнить их вряд ли под силу, а в случае если их забудешь, последствия весьма неприятны.

      • 02.12.2014 at 11:59

        Пусть заведут себе учетку «jopa123», такое же мыло и такой же пароль. Один на все сайты. Заморочки нужны тем, кому есть что скрывать. А в большинстве случаев мы ходим на форумы, болтали, интернет-магазины, где нет необходимости указывать конфиденциальную информацию. Так зачем же морочиться? Все такие секретные, просто ппц)))) Истина проста: если что-то хочешь сохранить в тайне — не 3,14зди об этом налево и направо. А если ты вконтактике вываливаешь тонны фото и все свои «переживания» и т.п., то париться насчет логинов и паролей глупо.

    • 30.12.2014 at 11:52

      Алгоритм сохранения логин+пароль таков, что создается пара из них и шифруется. При входе на сайт и вводя их снова, бот не ищет твои логины и пароли по раздельности а находит (или нет) шифрованную уникальную пару в базе. Если ее там нет, то ему по боку, что ты там ввел неправильно, о чем и сообщает.

  2. 02.12.2014 at 12:04

    «Так почему бы прямо не сказать ему, что пароль введён правильно, а имя пользователя — нет?»
    И дать список логинов с таким паролем, пусть выберет свой. Исключительно ради удобства обычного пользователя

  3. 02.12.2014 at 12:08

    «В качестве меры для защиты от злоумышленников Кевин Бурк предлагает при попытке регистрации с адресом электронной почты не говорить, что адрес занят, а высылать ссылку для завершения регистрации на этот адрес электронной почты» — вообще-то, он говорит далее «I don’t recommend this, because of the context switches, though you can implement it.» А вот что он действительно предлагает, так это использовать задержки при неправильном логине, менеджеры паролей и двухфакторную аутентификацию. Что, в общем-то, и без него известно.

  4. 02.12.2014 at 14:00

    ну здесь может возникнуть ситуация что по случайности два разных пользователя указали один и тот же пароль.

  5. 02.12.2014 at 16:30

    «Так почему бы прямо не сказать ему, что пароль введён правильно, а имя пользователя — нет?»

    Да это опечатка. Должно быть наоборот, иначе это бред.

    • 03.12.2014 at 11:31

      Нет, не опечатка. Имеется в виду система, когда для авторизации используется e-mail. Почта правильная, пароль правильный, а вот в логине мистейк. Хотя в этом случае логин вообще можно не проверять.

  6. 02.12.2014 at 19:32

    Если сказать, что адрес правильный, то он начнёт перебирать пароли.

    Вот и хорошо. Всегда нужно отвечать, что логин правильный, пусть перебирает до посинения.

  7. 03.12.2014 at 01:27

    «Так почему бы прямо не сказать ему, что пароль введён правильно, а имя пользователя — нет?»

    Большую тупость я не слышал. И где эти недостатьи авторы Хакера находят.

  8. 03.12.2014 at 03:26

    На самом деле это сделано так, чтобы писать меньше кода.
    Не if(запросить аккаунт по логину()){…if(пароль верен){}else{}}else{}, а
    if(запросить аккаунт с логином таким-то и паролем таким-то()){}else{}

  9. 04.12.2014 at 19:26

    все супер, обязательно сделать чтобы сообщалось что почтовый ящик/логин не существует, пароли хоть перебирать проще будет

  10. 12.12.2014 at 16:49

    Этого пароля уже используют пользователь user@gmail.com для аутентификации.

  11. 29.01.2015 at 03:02

    …прямо не сказать ему, что пароль введён правильно, а имя пользователя — нет?

    Да он себя слышит? Просто неудачный пример выбрали. На любой пароль в системе можно сказать что пароль введен правильно )))

  12. 10.02.2015 at 07:18

    Балда полная. восстановить акаунт нет возможности, админ молчит, сброс пароля вообще фара ничего по сути не решает. короче лажа. проще забыть про форум.

  13. 06.05.2015 at 01:43

    У меня 25 лет был ящик на майле. А последний год, дебилы придумали какое-то дерьмо. Я на почту, а мне говорят: «Ты мужик пароль забыл! » )))))))))))))) Аха! Вот видишь, и ты, блядь, дебил! Так я тебе и написал свою почту, чтобы ты, ишак, меня спамом забрасывал! ))))))))))))))

Оставить мнение