Несколько компаний недавно признали, что хранят пароли в текстовом формате. Это похоже на сохранение пароля в Блокноте в виде файла .txt. Пароли нужно солить и хешировать в целях безопасности, так почему же этого не происходит в 2019 году?
Почему не следует хранить пароли в виде обычного текста
Когда компания хранит пароли в виде обычного текста, любой, у кого есть база данных паролей или любой другой файл, в котором хранятся пароли, может их прочитать. Если хакер получит доступ к файлу, он сможет увидеть все пароли.
Хранение паролей в виде обычного текста - ужасная практика. Компаниям следует солить и хэшировать пароли, что является еще одним способом сказать «добавление дополнительных данных к паролю, а затем их шифрование таким образом, чтобы его нельзя было отменить». Обычно это означает, что даже если кто-то украдет пароли из базы данных, их невозможно будет использовать. Когда вы входите в систему, компания может проверить, соответствует ли ваш пароль сохраненной зашифрованной версии, но они не могут «работать в обратном направлении» из базы данных и определить ваш пароль.
Так почему компании хранят пароли в виде открытого текста? К сожалению, иногда компании не относятся серьезно к безопасности. Или они хотят поставить под угрозу безопасность во имя удобства. В остальных случаях компания все делает правильно при хранении пароля. Но они могут добавить чрезмерные возможности ведения журнала, которые записывают пароли в виде обычного текста.
Некоторые компании неправильно хранят пароли
Возможно, вы уже столкнулись с плохой практикой, потому что Робин Гуд , Google , Facebook , GitHub, Twitter и другие хранили пароли в виде простого текста.
В случае с Google компания адекватно хэшировала и подбрасывала пароли для большинства пользователей. Но Пароли аккаунтов G Suite Enterprise хранились в виде обычного текста. Компания заявила, что это осталась практика, когда она предоставила администраторам домена инструменты для восстановления паролей. Если бы Google правильно хранил пароли, это было бы невозможно. Только процесс сброса пароля работает для восстановления, если пароли правильно сохранены.
Когда Facebook также допущен к хранению паролей в текстовом виде не указывается точная причина проблемы. Но вы можете сделать вывод о проблеме из более позднего обновления:
… Мы обнаружили дополнительные журналы паролей Instagram, хранящиеся в читаемом формате.
Иногда компания делает все правильно, изначально сохраняя ваш пароль. А затем добавьте новые функции, вызывающие проблемы. Помимо Facebook, Робин Гуд , Github , а также Twitter случайно зарегистрированные пароли в виде обычного текста.
Ведение журнала полезно для поиска проблем в приложениях, оборудовании и даже системном коде. Но если компания не проверит тщательно эту возможность ведения журнала, это может вызвать больше проблем, чем решить.
В случае Facebook и Robinhood, когда пользователи указывали свое имя пользователя и пароль для входа в систему, функция регистрации могла видеть и записывать имена пользователей и пароли по мере их ввода. Затем он сохранил эти журналы в другом месте. Любой, у кого был доступ к этим журналам, имел все необходимое для создания учетной записи.
В редких случаях такая компания, как T-Mobile Australia, может игнорировать важность безопасности, иногда во имя удобства. В обмен в Twitter с момента удаления , представитель T-Mobile объяснил пользователю, что компания хранит пароли в виде простого текста. Такое хранение паролей позволило представителям службы поддержки видеть первые четыре буквы пароля для подтверждения. Когда другие пользователи Twitter уместно указали, насколько плохо было бы, если бы кто-то взломал серверы компании, представитель ответил:
Что, если этого не произойдет, потому что наша безопасность на удивление хороша?
Компания удалила эти твиты, а позже объявила, что все пароли скоро будут засолены и хешированы . Но это было не так давно, прежде чем компания кто-то взломал его системы . T-Mobile заявила, что украденные пароли были зашифрованы, но это не так хорошо, как хеширование паролей.
Как компаниям следует хранить пароли
Компании никогда не должны хранить пароли в виде обычного текста. Вместо этого пароли должны быть соленый, затем перемешанный . Важно знать, что такое засол, и чем отличается шифрование и хеширование .
Соление добавляет дополнительный текст к вашему паролю
Использование паролей - это простая концепция. По сути, этот процесс добавляет дополнительный текст к введенному вами паролю.
Думайте об этом, как о добавлении цифр и букв в конец вашего обычного пароля. Вместо использования «Пароль» в качестве пароля вы можете ввести «Пароль123» (никогда не используйте ни один из этих паролей). Похожая концепция соления: прежде чем система хеширует ваш пароль, она добавляет к нему дополнительный текст.
Таким образом, даже если хакер взломает базу данных и украдет данные пользователя, будет намного сложнее определить настоящий пароль. Хакер не будет знать, какая часть - соль, а какая - пароль.
Компании не должны повторно использовать соленые данные от пароля к паролю. В противном случае его могут украсть или сломать и, таким образом, сделать бесполезным. Соответствующим образом изменяющиеся данные с солью также предотвращают столкновения (подробнее об этом позже).
Шифрование не подходит для паролей
Следующим шагом к правильному хранению пароля является его хеширование. Не следует путать хеширование с шифрованием.
Когда вы шифруете данные, вы слегка их трансформируете на основе ключа. Если кто-то знает ключ, он может изменить данные обратно. Если вы когда-нибудь играли с кольцом декодера, которое говорило вам «A = C», значит, вы зашифровали данные. Зная, что «A = C», вы можете узнать, что это сообщение было просто рекламой Ovaltine.
Если хакер взломает систему с зашифрованными данными и ему удастся украсть и ключ шифрования, то ваши пароли также могут быть в виде обычного текста.
Хеширование превращает ваш пароль в треп
Хеширование паролей в корне преобразует ваш пароль в строку неразборчивого текста. Любой, кто посмотрит на хэш, увидит чушь. Если вы использовали «Password123», хеширование может изменить данные на «873kldk # 49lkdfld # 1». Компания должна хешировать ваш пароль, прежде чем хранить его где-либо, чтобы у нее никогда не было записи о вашем фактическом пароле.
Такой характер хеширования делает его лучшим методом хранения пароля, чем шифрование. В то время как вы можете расшифровать зашифрованные данные, вы не можете «расшифровать» данные. Поэтому, если хакер взломает базу данных, он не найдет ключа для разблокировки хешированных данных.
Вместо этого им придется делать то, что делает компания, когда вы отправляете свой пароль. Подберите пароль (если хакер знает, какую соль использовать), хешируйте его, а затем сравните с хешем в файле на соответствие. Когда вы отправляете свой пароль в Google или в свой банк, они выполняют те же действия. Некоторые компании, например Facebook, могут даже дополнительные «догадки» для объяснения опечатки .
Основным недостатком хеширования является то, что если у двух человек будет одинаковый пароль, они получат хеш. Такой исход называется столкновением. Это еще одна причина добавить соли, которые меняют пароль на пароль. Правильно обработанный и хешированный пароль не будет совпадать.
Хакеры могут в конечном итоге прорваться через хешированные данные, но в основном это игра, в которой проверяются все мыслимые пароли и надеются на совпадение. Процесс по-прежнему требует времени, что дает вам время защитить себя.
Что вы можете сделать для защиты от утечки данных
Вы не можете помешать компаниям использовать ваши пароли ненадлежащим образом. И, к сожалению, встречается чаще, чем следовало бы. Даже если компании правильно хранят ваш пароль, хакеры могут взломать системы компании и украсть хешированные данные.
Учитывая эту реальность, никогда не следует повторно использовать пароли. Вместо этого вы должны предоставить другой сложный пароль к каждой службе, которую вы используете. Таким образом, даже если злоумышленник найдет ваш пароль на одном сайте, он не сможет использовать его для входа в ваши учетные записи на других сайтах. Сложные пароли невероятно важны, потому что чем проще ваш пароль угадать, тем быстрее хакер сможет взломать процесс хеширования. Усложняя пароль, вы выигрываете время, чтобы минимизировать ущерб.
Использование уникальных паролей также минимизирует этот ущерб. В лучшем случае хакер получит доступ к одной учетной записи, а изменить один пароль проще, чем десятки. Сложные пароли сложно запомнить, поэтому мы порекомендуйте менеджер паролей . Менеджеры паролей генерируют и запоминают пароли для вас, и вы можете настроить их так, чтобы они соответствовали правилам паролей практически любого сайта.
Некоторые, как LastPass а также 1Пароль , даже предлагают услуги, которые проверяют, не взломаны ли ваши текущие пароли.
Еще один хороший вариант - включить двухэтапную аутентификацию . Таким образом, даже если хакер скомпрометирует ваш пароль, вы все равно сможете предотвратить несанкционированный доступ к своим учетным записям.
Хотя вы не можете помешать компании неправильно использовать ваши пароли, вы можете свести к минимуму последствия, должным образом защитив свои пароли и учетные записи.
СВЯЗАННЫЕ С: Почему вам следует использовать менеджер паролей и с чего начать