Статьи ⇒ Аутентификация ⇒ Слабые секретные вопросы приводят к взлому счето

Слабые секретные вопросы приводят к взлому счетов

Опубликовано: 8 май 2011 в 13:35
Перевод: freeeeez 

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

Хотя уже каждый, кто хоть немного знаком с компьютерной безопасностью, понимает всю ненадежность использования простых (шаблонных) паролей, я до сих пор вижу, как пользователи используют что-то вроде "password", "QWERTY" и "12345". Использование надежного и довольно длинного пароля должно остановить злоумышленников, ведь использование атаки грубой силы сейчас легко пресечь. Под надежным, я понимаю пароль, состоящий из букв разных регистров, цифр и специальных символов.

Злоумышленники довольно ленивы и пойдут по пути наименьшего сопротивления, чтобы достичь своей цели. И пока на многих сайтах ответом на секретный вопрос является очевидное слово или имя, ненадежность данного модуля аутентификации остается слабым звеном. Нет смысла использовать надежный пароль "a8#Dk932sEjk@", если ответом на вопрос "Какой ваш родной город?" является "Москва".

Итак, какие же основные проблемы систем восстановления паролей:

  • Чтобы упростить пользователям процедуру восстановления пароля, многие сайты преобразуют ответ на контрольный вопрос к нижнему регистру, так что "МоСкВа" превратиться в "москва";
  • Часто количество попыток ответа на контрольный вопрос не ограничено, что позволяет перебирать возможные варианты и даже использовать атаки грубой силы;
  • После успешного ответа некоторые сервисы тут же предлагают ввести новый пароль и продолжить работу с сервисом;
  • В завершение, некоторые веб-сайты даже не посылают пользователю письмо на электронную почту, что пароль был изменен.
Теперь я хотел бы сосредоточиться на пяти классах секретных вопросов и описать их проблемы:
  1. Вопросы с ограниченным набором ответов: это вопросы, ответы на которые не являются уникальными для пользователя. На вопрос "Какой ваш любимый цвет?" подавляющее большинство пользователей будет отвечать красный, синий, зеленый, черный. Конечно, некоторые из них ответят бирюзовый или аквамарин, но в любом случае, количество ответов будет ограничено;
  2. "Личная" информация: ответы на вопросы, вроде "Девичья фамилия матери?" или "Ваша дата рождения?" легко найти в социальных сетях и эта категория приближается к третей;
  3. Вопросы, которые легко обнаружить: в интернете можно найти ответы на такие вопросы, как "Друг отца?" или "Имя лучшего друга?";
  4. Пользовательские вопросы: вам предлагают самому ввести контрольный вопрос, ответ на который, предположительно, знаете лишь вы. Однако большинство пользователей выбирают вопросы, попадающие под первые три категории;
  5. Динамические вопросы: это вопросы, на которые вы не давали ответа, но только вы в состоянии на них ответить. Например, "Дата сдачи баланса?" (для бухгалтера компании). Но, к сожалению, многие из них так же слабые.
При поиске ответов на секретные вопросы, взломщик просматривает личные страницы пользователя в социальных сетях, последние из которых бездумно оставляют огромное количество лишней информации в своих профилях. Не далее как на прошлой неделе один хакер был признан виновным во взломе более 230 почтовых аккаунтов, используя ответы на секретные вопросы, которые он нашел в профилях на Facebook.

Решение для пользователей

Тривиальным решением данной проблемы для пользователей будет использование менее очевидных ответов на контрольные вопросы системы. К примеру, на вопрос о родном городе сам ответ можно записать задом наперед "авксоМ" или использовать добавление слова перед ответом "городМосква". Думаю логика действий понятна, а примеры вы и сами придумаете. Хотя этот вариант далек от идеала и незначительно увеличивает безопасность, вы также можете использовать MD5-хэш ответа.

Более надежным будет использование программ хранения паролей. Под маком я пользуюсь Keychain Access и всякий раз, когда мне необходимо ввести ответ на контрольный вопрос, я ввожу совершенно случайный текст. Тем самым и пароль и ответ на контрольный вопрос составляют надежную связку, вопрос преодоления которой должен поставить злоумышленника в тупик.

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

Решение для разработчиков

Если ваша система аутентификации далека от идеальной и описанные выше проблемы секретных вопросов в ней присутствуют, думаю вам помогут следующие дружеские советы:
  1. Попробуйте подобрать список неочевидных вопросов, у которых не будет ограниченного набора ответов;
  2. Предоставьте пользователям не менее 5 контрольных вопросов. Дайте им возможность отказаться от тайного вопроса, если они осознают риск безопасности;
  3. Проходя процедуру восстановления пароля, пользователи должны вводить логин/почту вместе с ответом на вопрос;
  4. При попытки ответа на контрольный вопрос пользователю обязательно должно быть выслано сообщение на почту, для предотвращения несанкционированных действий;
  5. При удачном ответе пользователю должна быть отправлена ссылка на восстановления пароля. Срок действия ссылки должен быть ограничен;
  6. Ограничьте количество смен пароля. Например, два раза в неделю;
  7. При переходе по ссылке, для восстановления пароля, пользователь должен быть подвергнут повторной аутентификации, посредством 3 последовательных вопросов. Динамические вопросы должны быть уникальными для каждого из посетителей;
  8. Страница восстановления пароля должна содержать средство защиты от автоматических запросов (например, captcha);
  9. Всегда отправляйте оповещение о смене пароля на почту пользователя (не следует передавать пароль в письме);

Источник: Security Generation внешняя ссылка
Нет комментариев
5 670 просмотров


Оставить комментарий:

Имя:
Email:
Сайт:
Комментарий:

Допустимые теги: <em> • <strong> • <u> • <sub> • <sup> • <blockquote>

Проверочный код:

Введите проверочный код, для подтверждения, что вы не робот.
P.S. Если вы робот, то, к сожалению, вы
не сможете прочитать символы с картинки.