God, Sex, Love and Secret: самые популярные пароли в соцсетях
На модерации
Отложенный
Пользователи не любят напрягаться и многие разработчики смирились с этим. Вспомните последние 10 сайтов на которых Вы регистрировались, многие ли из них проверяли Ваш пароль на сложность? А ведь какие бы меры безопасности не придумывали создатели системы, они могут быть бессмысленны, если пользователь сам облегчит злоумышленнику работу.
В этой статье приведён результат анализа ~100 000 паролей. Надеюсь этот анализ будет интересен и пригодится многим хабралюдям.
Маленькое отступление
Нет, мы не храним пароли в открытом виде, статистика получена в ходе эксперимента на одной из социальных сетей, путём анонимного сбора данных и увы, я не смогу выложить полученный словарь и назвать эту сеть.
Что делалось
Все пароли проверены по критериям наличия цифр, специальных символов, регистра а также устойчивости посредством методов cracklib.
Данные
Распределение по длине
Самый короткий пароль — 1 символ, самый длинный — 63 символа.
Свыше 15 символов совсем несущественные значения.
Сложные и простые пароли
По результатам прогона cracklib — легко взламываемыми оказались 35.5% паролей
Присутствие спец. символов, цифр и букв
Спец. символы — 3%
Только цифры — 33%
Только буквы — 24.7%
Букво-цифры — 39.3%
Регистр
91.5% — в нижнем регистре
3% — в вехнем регистре
5.5% — разный регистр
Наиболее популярные пароли
Что это может значить в реальности
Предположим, что некий злоумышленник имеет базу 5 самых распространнённых паролей и использует её для подбора всех аккаунтов вашего сервиса. Топ 5 паролей — это 2.9% вероятность успешного подбора за 5 попыток, а это 290 человек при общем количестве пользователй в 10 000 (маленький такой стартапчик).
Надо ли говорить, что эти люди лишатся сразу же и icq, и почты…
Если учесть все распространённые пароли(встречающиеся более 5 раз), которых всего 381, то они позволяют получить доступ к ~9.2% аккаунтов. Вдумайтесь, практически 10 часть Ваших пользователей может быть взломана малюсеньким словарём меньше чем в 400 паролей.
Топ 10 паролей
Самое вкусное, увы, звонких вариантов как во всем известном фильме тут нет, всё тривиально, и у большинства хабрачеловек не вызовет удивление.
- 1145 1234567
- 871 123456
- 332 7777777
- 303 password
- 292 12345
- 278 1111111
- 261 123456789
- 221 qwerty
- 216 111111
- 179 1234
Выводы
Пользователи - идиоты
Без проверки пароля на сложность никуда. Минимальный набор правил определяющий длину пароля, наличие в нём одновременно букв и цифр, а также разного регистра должен быть внедрён в любую форму регистрации(а ещё лучше — генерите пароль для пользователя сами). Форма должна иметь порог попыток после которого пользователя перестаёт пускать без ввода капчи(очень-очень сложной капчи). Мой совет — ограничивайте это число тремя попытками. Хорошей идеей будет добавление счётчика неудачных попыток в профиль пользователя, для дальнейшего введения задержки между попытками входа для каждого аккаунта в отдельности. Тут правда стоит помнить о том, что пользователя могут начать ддосить чтобы он не мог войти в систему, но состояние недоступности гораздо лучше состояния утечки персональных данных.
Очень надеюсь, что эта информация поможет Вам делать свои сервисы лучше и безопаснее.
Комментарии