![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Эффект кобры и пароли. Akchurin Sergei. Cybersecurity

Эффект кобры и пароли.
Опубликовано 7 ноября 2018 г.

Serhii Akchurin
Cybersecurity
Пароли стоят на страже наших данных. И степень их надёжности играет важную роль.
Понятно, что сложный пароль и взломать будет непросто.
Вот только личных счетов и систем, требующих авторизацию, очень много.
И помнить десятки, если не сотни различных комбинаций из символов — практически невозможно.
Эффект кобры (предистория).
Во времена Британской империи у англичан возникла маленькая проблема на Индийском субконтиненте — кобры. Оказалось, что повсюду чертовски много этих рептилий. А ещё выяснилось, что они ядовиты. Это не нравилось колонистам, некоторые из них умирали. Поэтому британские власти придумали отличный выход. За каждую убитую кобру туземцам стали выплачивать небольшое вознаграждение. Казалось бы, проблема решена.
К сожалению, индийцы иначе интерпретировали условия выплаты вознаграждений. Они посчитали это отличной причиной, чтобы разводить ядовитых змей и сдавать их за деньги. Осознав проблему в изначальной логике, британские власти отменили выплату вознаграждений. Ну, а индийцам ничего не оставалось, кроме как выпустить огромное количество кобр на свободу. В результате, их количество в индийских лесах выросло многократно.
Об эффекте кобры приходится вспоминать, глядя на некоторые меры безопасности, которые реализуются для защиты пользователей в отдельных компаниях или на сайтах. Например, сайты заставляют использовать пароли со специальными символами и цифрами, тем самым отсекая максимально надёжные парольные фразы 40-50 символов с наибольшей энтропией. Или ещё более странная «мера безопасности» — запрет на копипаст в поле ввода пароля.
В итоге сложный пароль на 10 символов выглядит примерно так: «аааааааааа».
Статистика.
Результаты исследования Университета Южного Уэльса:
4,7% пользователей используют пароль password.
8,5% пользователей выбирают один из двух вариантов: password или 123456.
9,8% пользователей выбирают один из трёх вариантов: password, 123456 или 12345678.
14% пользователей выбирают один из 10 самых популярных паролей.
40% пользователей выбирают один из 100 самых популярных паролей.
79% пользователей выбирают один из 500 самых популярных паролей.
91% пользователей выбирает один из 1 000 самых популярных паролей.
98% пользователей выбирает один из 10 000 самых популярных паролей.
Выводы простые- если у Вас в компании 50 человек, вероятность что 10 из них попадут в 91% пользователей – достаточно высока.

Проблемы паролей.
Рассмотрим основные проблемные вопросы применения паролей со стороны обычного пользователя:
1) Почему пользователи используют одинаковые или похожие пароли на многих сайтах?
Потому что этих сайтов у пользователя может быть очень много, и трудно хранить в памяти пароль каждого ресурса, если эти пароли разные и к тому же сложные. Зачастую, если продолжительное время не пользоваться каким-либо интернет ресурсом, то пароль этого ресурса в памяти успешно забывается. Как обычно, попытка авторизации на сайтах превращается в процесс перебора паролей, а количество перебора паролей может быть ограничена или сильно усложнена трудно читаемыми капчами. При этом, вы оставляете на этих сайтах все свои пароли, которые легко могут быть сохранены с использованием несложных алгоритмов владельцами сайта. Очень неудобно, когда процесс авторизации превращается в пытку и может закончиться пустыми попытками. Поэтому больше людей стараются запомнить и использовать один сложный пароль на многих ресурсах.
2) Почему пользователи не часто меняют пароли? По той же причине. Частая смена своих паролей геометрически увеличивает количество необходимых для запоминания паролей, что гарантированно увеличивает количество неудачных попыток авторизации на сайтах. Ведь нужно еще помнить, какой пароль был последним, а какие были предшествующими. К тому же большинство пользователей не могут хранить в памяти все сайты, на которых они когда-либо регистрировались за всё время пользования интернетом. А значит в интернете множество давно забытых и заброшенных аккаунтов.
Как хакеры взламывают пароли.
Открою небольшой секрет – злоумышленники всегда идут самым простым путем- используют метод брутфорса (грубый перебор паролей) с использованием «радужных таблиц» (заранее рассчитанный набор данных, который содержит хэш-функции из множества комбинации букв и цифр. Если значение хэш-функции известно, то в таблице очень быстро можно найти соответствующий пароль) и баз данных ранее скомпрометированных паролей.
Если Вы думаете что это сложно, вынужден разочаровать.
Например, база https://www.linkedin.com/redir/general-malware-page?url=Exploit%2ein содержит 805 499 391 адресов электронной почты с паролями.
База Anti Public: 562 077 488 строк, 457 962 538 уникальных почтовых адресов и ещё 96 684 629 уникальных паролей
На картинке ниже база скомпрометированных паролей Linkedin.

Энтропия пароля.
Речь идет о мере оценки времени, которое необходимо затратить на угадывание пароля или его подбор каким-либо методом либо функции от длины пароля, его запутанности и непредсказуемости.
Скорость подбора с помощью пароля можно описать нехитрой математической формулой: количество возможных символов, возведённое в степень длины пароля, поделённое на количество перебираемых паролей в секунду. В результате получается примерное время в секундах.
Впрочем, чтобы доказать, что на деле означает простой пароль, не буду грузить математикой.
Достаточно зайти на сайт howsecureismypassword.net ввести <> (слово <<пароль>> в латинской раскладке) и показать, что такой пароль сбрутится на обычном ноутбуком за 30 секунд.
Но в целом, потестить пароли довольно интересно: сразу становится видно, что длина пароля намного важнее его сложности. Для взлома "# R00t$H3ll" уйдет 195 лет, а на, казалось бы, простой «abcdefg1234567» — 5722 года.
Дело не в количестве символов, а в качестве наполнения.
Методы генерации пароля.
Завести несколько категорий паролей, примерно равных по объему, и таких, что понять вам, какой пароль из какой категории, не составит труда. В пределах категории одна константная часть и один закон шифрования (можно и сильнее дробить, но тогда есть шанс свихнуться). Если паролей мало и заморачиваться не хочется— пусть категория будет одна, но вы предупреждены выше.
Метод простой, пароль состоит из следующих частей «категория+число+уникальное слово+шифр)
1. для каждой категории придумать постоянную часть пароля. Пример: профессиональная деятельность, работа— постоянная часть «wrk»; личное, социальные сети — постоянная часть «prs»; он-лайн банки, платежные системы - постоянная часть «onl» и т.д.
2. для каждой категории придумать закон шифрования. Пример: количество символов домена до расширения (для facebook это чисто будет 8)
3. ваше личное слово пароль, которое знаете только Вы, оно используется в каждом пароле (но минимум 6 символов). Важно, что б это было не имя ребенка, либо связанное с Вами слово, возможно простая личная ассоциация.
4. шифровая текстовая часть. Пример: +первые три символа домена заглавными буквами.
Итого, пароль в фейсбук, например: prs8parol+FAC. Время на взлом этого пароля - 3 млн. лет.

Методов генерации паролей много, детальней можно почитать тут: https://habr.com/company/ua-hosting/blog/273373/
Главное, начать пользоваться какой либо схемой. Пересилить себя и начать генерировать пароли.
Если не получилось, переходим к следующему разделу.
Ресурсы по хранению паролей.
Все эти трудности порождают не менее важную проблему: где и каким образом хранить список паролей, если запомнить весь этот зоопарк паролей мы не в состоянии?
Необходимо принять решение, что важнее: максимальная защищённость от потери данных или удобство использования.
Менеджеры паролей могут хранить данные локально на компьютере или удалённо в «облаке». Достоинства облачного хранения и синхронизации очевидны: пароли доступны на всех устройствах, на которых установлен менеджер. Риск заключается в том, что если облачный сервис будет скомпрометирован, пароли окажутся в руках злоумышленников.
Локальное хранение безопаснее, но отсутствие синхронизации между устройствами может доставить много неудобств. Например, вы сохраните пароль от аккаунта на компьютере, а при попытке авторизоваться с телефона не сможете вспомнить ключ.
Недоверие к менеджерам паролей вызывает и сам факт нахождения всех ключей в одном месте. Но для большинства пользователей преимущества безопасности, которые дают сложные пароли, перевешивают этот недостаток.
Обзор вариантов по ссылке: https://coba.tools/compilation/reiting-luchshikh-menedzherov-parolei-2018
Парольная политика в бизнесе.
Почему не работает парольная политика?
Как правило, ответ лежит в типовых ограничениях парольной политики:
Что делать (советы для CISO)?
1. Поставьте в основу простое работающее правило (количество символов, например. Пользователи умеют считать и математика не даст соврать. При прочих равных условиях длинный пароль будет более рандомным, чем короткий, а значит, и более надежным).
2. Сверяйтесь со списком самых распространенных паролей (в сети есть много баз скомпрометированных паролей, достаточно проверять первую 1000).
3. Контролируйте энтропию пароля (есть много ресурсов, которые позволяют проверять значение в онлайн режиме. Установите ту величину, которая инстинктивно кажется вам подходящей. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку).
4. Отлавливайте особые типы паролей (для примера, пароль, который совпадает с именем пользователя, с e-mail, с URL сайта или именем домена, с названием приложения и т.д.)
Старайтесь мыслить, выходя за рамки поля для ввода — совсем как ваши пользователи, либо хакеры злоумышленники.

Эффект кобры и пароли.
Опубликовано 7 ноября 2018 г.

Serhii Akchurin
Cybersecurity
Пароли стоят на страже наших данных. И степень их надёжности играет важную роль.
Понятно, что сложный пароль и взломать будет непросто.
Вот только личных счетов и систем, требующих авторизацию, очень много.
И помнить десятки, если не сотни различных комбинаций из символов — практически невозможно.
Эффект кобры (предистория).
Во времена Британской империи у англичан возникла маленькая проблема на Индийском субконтиненте — кобры. Оказалось, что повсюду чертовски много этих рептилий. А ещё выяснилось, что они ядовиты. Это не нравилось колонистам, некоторые из них умирали. Поэтому британские власти придумали отличный выход. За каждую убитую кобру туземцам стали выплачивать небольшое вознаграждение. Казалось бы, проблема решена.
К сожалению, индийцы иначе интерпретировали условия выплаты вознаграждений. Они посчитали это отличной причиной, чтобы разводить ядовитых змей и сдавать их за деньги. Осознав проблему в изначальной логике, британские власти отменили выплату вознаграждений. Ну, а индийцам ничего не оставалось, кроме как выпустить огромное количество кобр на свободу. В результате, их количество в индийских лесах выросло многократно.
Об эффекте кобры приходится вспоминать, глядя на некоторые меры безопасности, которые реализуются для защиты пользователей в отдельных компаниях или на сайтах. Например, сайты заставляют использовать пароли со специальными символами и цифрами, тем самым отсекая максимально надёжные парольные фразы 40-50 символов с наибольшей энтропией. Или ещё более странная «мера безопасности» — запрет на копипаст в поле ввода пароля.
В итоге сложный пароль на 10 символов выглядит примерно так: «аааааааааа».
Статистика.
Результаты исследования Университета Южного Уэльса:
4,7% пользователей используют пароль password.
8,5% пользователей выбирают один из двух вариантов: password или 123456.
9,8% пользователей выбирают один из трёх вариантов: password, 123456 или 12345678.
14% пользователей выбирают один из 10 самых популярных паролей.
40% пользователей выбирают один из 100 самых популярных паролей.
79% пользователей выбирают один из 500 самых популярных паролей.
91% пользователей выбирает один из 1 000 самых популярных паролей.
98% пользователей выбирает один из 10 000 самых популярных паролей.
Выводы простые- если у Вас в компании 50 человек, вероятность что 10 из них попадут в 91% пользователей – достаточно высока.

Проблемы паролей.
Рассмотрим основные проблемные вопросы применения паролей со стороны обычного пользователя:
1) Почему пользователи используют одинаковые или похожие пароли на многих сайтах?
Потому что этих сайтов у пользователя может быть очень много, и трудно хранить в памяти пароль каждого ресурса, если эти пароли разные и к тому же сложные. Зачастую, если продолжительное время не пользоваться каким-либо интернет ресурсом, то пароль этого ресурса в памяти успешно забывается. Как обычно, попытка авторизации на сайтах превращается в процесс перебора паролей, а количество перебора паролей может быть ограничена или сильно усложнена трудно читаемыми капчами. При этом, вы оставляете на этих сайтах все свои пароли, которые легко могут быть сохранены с использованием несложных алгоритмов владельцами сайта. Очень неудобно, когда процесс авторизации превращается в пытку и может закончиться пустыми попытками. Поэтому больше людей стараются запомнить и использовать один сложный пароль на многих ресурсах.
2) Почему пользователи не часто меняют пароли? По той же причине. Частая смена своих паролей геометрически увеличивает количество необходимых для запоминания паролей, что гарантированно увеличивает количество неудачных попыток авторизации на сайтах. Ведь нужно еще помнить, какой пароль был последним, а какие были предшествующими. К тому же большинство пользователей не могут хранить в памяти все сайты, на которых они когда-либо регистрировались за всё время пользования интернетом. А значит в интернете множество давно забытых и заброшенных аккаунтов.
Как хакеры взламывают пароли.
Открою небольшой секрет – злоумышленники всегда идут самым простым путем- используют метод брутфорса (грубый перебор паролей) с использованием «радужных таблиц» (заранее рассчитанный набор данных, который содержит хэш-функции из множества комбинации букв и цифр. Если значение хэш-функции известно, то в таблице очень быстро можно найти соответствующий пароль) и баз данных ранее скомпрометированных паролей.
Если Вы думаете что это сложно, вынужден разочаровать.
Например, база https://www.linkedin.com/redir/general-malware-page?url=Exploit%2ein содержит 805 499 391 адресов электронной почты с паролями.
База Anti Public: 562 077 488 строк, 457 962 538 уникальных почтовых адресов и ещё 96 684 629 уникальных паролей
На картинке ниже база скомпрометированных паролей Linkedin.

Энтропия пароля.
Речь идет о мере оценки времени, которое необходимо затратить на угадывание пароля или его подбор каким-либо методом либо функции от длины пароля, его запутанности и непредсказуемости.
Скорость подбора с помощью пароля можно описать нехитрой математической формулой: количество возможных символов, возведённое в степень длины пароля, поделённое на количество перебираемых паролей в секунду. В результате получается примерное время в секундах.
Впрочем, чтобы доказать, что на деле означает простой пароль, не буду грузить математикой.
Достаточно зайти на сайт howsecureismypassword.net ввести <> (слово <<пароль>> в латинской раскладке) и показать, что такой пароль сбрутится на обычном ноутбуком за 30 секунд.
Но в целом, потестить пароли довольно интересно: сразу становится видно, что длина пароля намного важнее его сложности. Для взлома "# R00t$H3ll" уйдет 195 лет, а на, казалось бы, простой «abcdefg1234567» — 5722 года.
Дело не в количестве символов, а в качестве наполнения.
Методы генерации пароля.
Завести несколько категорий паролей, примерно равных по объему, и таких, что понять вам, какой пароль из какой категории, не составит труда. В пределах категории одна константная часть и один закон шифрования (можно и сильнее дробить, но тогда есть шанс свихнуться). Если паролей мало и заморачиваться не хочется— пусть категория будет одна, но вы предупреждены выше.
Метод простой, пароль состоит из следующих частей «категория+число+уникальное слово+шифр)
1. для каждой категории придумать постоянную часть пароля. Пример: профессиональная деятельность, работа— постоянная часть «wrk»; личное, социальные сети — постоянная часть «prs»; он-лайн банки, платежные системы - постоянная часть «onl» и т.д.
2. для каждой категории придумать закон шифрования. Пример: количество символов домена до расширения (для facebook это чисто будет 8)
3. ваше личное слово пароль, которое знаете только Вы, оно используется в каждом пароле (но минимум 6 символов). Важно, что б это было не имя ребенка, либо связанное с Вами слово, возможно простая личная ассоциация.
4. шифровая текстовая часть. Пример: +первые три символа домена заглавными буквами.
Итого, пароль в фейсбук, например: prs8parol+FAC. Время на взлом этого пароля - 3 млн. лет.

Методов генерации паролей много, детальней можно почитать тут: https://habr.com/company/ua-hosting/blog/273373/
Главное, начать пользоваться какой либо схемой. Пересилить себя и начать генерировать пароли.
Если не получилось, переходим к следующему разделу.
Ресурсы по хранению паролей.
Все эти трудности порождают не менее важную проблему: где и каким образом хранить список паролей, если запомнить весь этот зоопарк паролей мы не в состоянии?
Необходимо принять решение, что важнее: максимальная защищённость от потери данных или удобство использования.
Менеджеры паролей могут хранить данные локально на компьютере или удалённо в «облаке». Достоинства облачного хранения и синхронизации очевидны: пароли доступны на всех устройствах, на которых установлен менеджер. Риск заключается в том, что если облачный сервис будет скомпрометирован, пароли окажутся в руках злоумышленников.
Локальное хранение безопаснее, но отсутствие синхронизации между устройствами может доставить много неудобств. Например, вы сохраните пароль от аккаунта на компьютере, а при попытке авторизоваться с телефона не сможете вспомнить ключ.
Недоверие к менеджерам паролей вызывает и сам факт нахождения всех ключей в одном месте. Но для большинства пользователей преимущества безопасности, которые дают сложные пароли, перевешивают этот недостаток.
Обзор вариантов по ссылке: https://coba.tools/compilation/reiting-luchshikh-menedzherov-parolei-2018
Парольная политика в бизнесе.
Почему не работает парольная политика?
Как правило, ответ лежит в типовых ограничениях парольной политики:
- длина пароля (обычно не менее 8);
- использование символов в различных регистрах;
- использование комбинаций букв и цифр;
- использование спецсимволов;
- запрет на использование предыдущего пароля.
- требования наказывают аудиторию, с которой нужно взаимодействовать в первую очередь- так появляются пароли «ааааааааа+1».
- требования раздражают основную массу пользователей, отбивая у них охоту с соблюдать правила кибергигиены и подстегивая искать всякие «остроумные» лазейки. В результате пароли получаются менее надежными.
- требования часто ошибочны, в том смысле, что предложенный набор правил недостаточен или попросту нелеп.
Что делать (советы для CISO)?
1. Поставьте в основу простое работающее правило (количество символов, например. Пользователи умеют считать и математика не даст соврать. При прочих равных условиях длинный пароль будет более рандомным, чем короткий, а значит, и более надежным).
2. Сверяйтесь со списком самых распространенных паролей (в сети есть много баз скомпрометированных паролей, достаточно проверять первую 1000).
3. Контролируйте энтропию пароля (есть много ресурсов, которые позволяют проверять значение в онлайн режиме. Установите ту величину, которая инстинктивно кажется вам подходящей. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку).
4. Отлавливайте особые типы паролей (для примера, пароль, который совпадает с именем пользователя, с e-mail, с URL сайта или именем домена, с названием приложения и т.д.)
Старайтесь мыслить, выходя за рамки поля для ввода — совсем как ваши пользователи, либо хакеры злоумышленники.